A Hexapod's Gaits - How a cockroach moves

45
A Hexapod’s Gaits or How a cockroach moves Evaluation and Implementation of a Hexapod’s moving mechanisms on the basis of Lego Mindstorms By Andreas Biri Supervisor: Thomas Roesch Kantonsschule Zug Matura project 2011/2012

description

Matura project of Andreas Biri, Kantonsschule Zug

Transcript of A Hexapod's Gaits - How a cockroach moves

Page 1: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits or

How a cockroach

moves

Evaluation and Implementation of a Hexapod’s moving

mechanisms on the basis of Lego Mindstorms

By Andreas Biri

Supervisor: Thomas Roesch

Kantonsschule Zug

Matura project

2011/2012

Page 2: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

2

Index of Contents

1. Introduction ........................................................................................... 3

1.1 My Matura project in a nutshell ........................................................ 3

1.2 Lego Mindstorms and other tools ...................................................... 4

1.3 Legged Robotics – How robots attempt to become autonomous ...... 5

2. Six legs and what they are capable of ..................................................... 8

2.1 Definition of a hexapod ..................................................................... 8

2.2 Walking – not as trivial as we might think ......................................... 9

2.3 The advantages of six legs ............................................................... 10

3. A Hexapod and its kinematics ............................................................... 13

3.1 The function of a gait ....................................................................... 13

3.2 The Wave Gait ................................................................................. 15

3.3 The Tripod Gait ................................................................................ 16

3.4 The Ripple Gait ................................................................................ 17

3.5 Gait analysis ..................................................................................... 18

4. Building hexapods ................................................................................ 26

4.1 The STARopod Family ...................................................................... 27

4.2 The Troys ......................................................................................... 32

4.3 The final robot & Programming ....................................................... 35

4.4 Testing and findings ......................................................................... 39

5. Appendix .............................................................................................. 42

5.1 Working Log .................................................................................... 42

5.2 Visual references ............................................................................. 42

5.3 Text references/ Bibliography ......................................................... 43

In order to keep the text as pleasant as possible to read, all references can be found in the Appendix at the end, corresponding to the given number.

Page 3: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

3

1. Introduction

1.1 My Matura project in a nutshell When I set out to search for a topic for my Matura project, it was certain from the very be-

ginning that it will have to be in natural sciences. Quickly, I decided to work in the field of

robotics. This sector attracted me immensely because of its multidisciplinarity: Here, physics,

engineering sciences and computer science converge to form one unifying product.

Personally, the best side of this project was the freedom to form it completely in compliance

to my wishes. I could try out something entirely new for myself and took advantage of this

fact to its fullest extent. For years, I had been extremely interested in robotics, including its

mechanical aspects, and I always intended to learn a programming language and afterwards

take it to the next level and use this acquired knowledge practically. This project enabled me

to finally fulfil these dreams and glance at a potential future as an engineer.

When I was raring to go, I aimed for something completely different than what it turned out

to be. Only one after the other, the outlines of the final idea shaped themselves and became

visible.

As it turned out, the technical implementation included a considerable amount of unex-

pected problems due to a lack of fitting material. It was because of these discoveries that I

had to abandon my plans for the construction of one robot per gait and designed an all-

rounder.

The final goal of my project is divided into two parts:

1. Theoretical research on the different moving mechanics (so-called gaits) of hexapods.

The idea was to approach the topic from a biologically inspired point of view and

therefore to explore how insects move along in nature.

2. The implementation of these gaits in one single robot. The robot should accomplish

to walk independently on six legs and change its gaits on the move, constantly adopt-

ing to the environment and thus choosing the appropriate gait.

For the project, I first advanced consciously by the means of try-and-error to gain experienc-

es. After its failure, I began with careful planning and structuring.

I succeeded in creating a hexapod with LEGO Mindstorms. The robot con-

sists of two LEGO NXT bricks as well as six LEGO motors and is pro-

grammed with specialised software called LeJOS, a Java Virtual Machine

(JVM). It offers the choice between three different gaits, the so-called tri-

pod, wave and ripple gait. Another implemented feature is curve walking.

Page 4: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

4

Image 1: The NXT System

1.2 Lego Mindstorms and other tools

When I started to look out for appropriate material in order to build a robot all by myself, I

quickly realised that Lego Mindstorms was the way to go.

Lego Mindstorms™ is a product of the LEGO Company1. It is designed for a hands-on intro-

duction for minors into the world of robotics and programming features such as loops and

conditions.

The product consists of:

The “brain”, called NXT Intelligent Brick

Three motor bricks

Four different sensors for light,

distance, sound and pressure

Hundreds of compatible Lego parts

Lego Mindstorms has multiple advantages compared to similar systems. First of all, it is very

cheap (and for this reason available for everyone) and can be comprehended and used

quickly even by beginners. Its user interface is simple and allows an easy entry into the ba-

sics of programming, but it is also able to create more sophisticated logic with loops and

conditions.

However, the biggest advantage of this system is the possibility of modification and rear-

rangement. Each part can easily be recombined and adjusted if necessary. Hence, experi-

menting and testing becomes a lot easier and takes less time than with metal constructions:

If a creation does not function properly, one can start all over again without any loss of ma-

terial.

LDD – the Lego Digital Designer™

LDD2 is a program to visualise and build your own LEGO models in 3D on your personal com-

puter. In this way, your ideas can be saved for further studies and even shared over the In-

ternet. With an add-on, the software can be expanded to include the possibility of construct-

ing models of the Lego Mindstorms robots, which can then be looked at from every desired

angle.

Page 5: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

5

1.3 Legged Robotics – How robots attempt to become autonomous During my studies, I was granted the possibility to personally talk to a few interesting scientists

and engineers. One of them was Mark Höpflinger, who researches at the Autonomous Systems

Lab (ASL) at the ETHZ. With him, I talked about their robot called StarlETH, the influence of

Mother Nature on their project and how the field of robotics will possibly evolve.

StarlETH – an engineering approach to build a legged robot

The team at the ASL set their goal to design a quadruped, a four-

legged robot, which is capable of fast movements such as run-

ning, but should also master the handling of different other gaits

like trotting, bounding or even galloping. Furthermore, it requires

the possibility to conquer obstacles and is despite all that still

energy-efficient.3

They are pioneers in two very important subjects. First of all, they

try to implement different gaits mechanically in a running robot.

In this subject, they still practise fundamental research, as hardly

anyone approached this topic before. There are lots of problems

that still have to be solved. So does as good as no robust system

about the alternation of gaits exist yet, even more so when

involving rough terrain. Position control is difficult and infor-

mation about the system’s exact condition as well as of its surroundings is often challenging to

get and to integrate. Here, the effort of collecting and processing reliable data adds to the

general complexity.

While others already did a similar project with hydraulics, this research group now tests a new

approach with electronic motors. A big advantage of these motors is their efficiency; compared

to pneumatics, electronic motors are more reliable and still need much less energy.4 Of course,

there is a reason why others do not use it: Even though hydraulics requires a large amount of

space for tanks, it can generate much bigger powers and is capable of

absorbing a heavy blow (e.g. from falling down) or collision without any

problem (see the BigDog project from Boston Dynamics, picture on the

right side), whereas this has a devastating effect on electric motors.5

In order to prevent malfunctioning, the team separates the leg into five

different parts: Motor, gear, spring, joint and the leg itself. Doing so,

they can uncouple each part from the rest and let it shift loosely. Like

that, the transduction of a blow on the leg can be prevented by simply

disconnecting it from the gear and absorbing the energy in the spring.

Still, the difficulty is that even though you need elasticity in order to

eliminate danger to others and damage to the system, one sometimes

needs inflexible tools to manipulate objects (industrial robots require this stiffness).

Image 2: StarlETH (ETHZ)

Image 3: BigDog (Boston Dynamics)

Page 6: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

6

Interestingly, the team encountered two problems where I saw clear parallels to my own LEGO

motors, even though their motors are worth nearly 100 times more. As an electric motor cannot

withstand large dynamic forces, one is quickly confronted with the problem of elongated legs, as

they function as levers and multiply the forces. This effect forced one of my earlier robots to

collapse because of the simple reason that the weight was far too much for the weak motor to

remain in its position.

Likewise, the engineers have to minimise clearance in the moving parts of the robot, as this

otherwise results in resistance during actions such as a change in the moment of force; the exact

same phenomenon I experienced with my creations.

The role of nature

Moreover, I was interested in which way they replicated nature. In this topic, the team at the

ETH states that it has advanced like the typical engineer: Trying to solve a technical problem with

knowledge based on natural examples. They did not simply copy from it, but extracted general

ideas and altered them according to their needs. It is interesting to notice that by simulating the

system virtually and comparing the calculated optimal momentum with animals, they observed

that natural characteristics are very similar to their own ones.

For instance, they took the principle of sinews and adapted them for three different areas: We

humans use them to damp an impact. At the same time, the absorbed energy in the stretched

sinews can be used to jump up again with less energy needed to invest. This simple mechanism

saves up to 60 percent of the energy input while jogging.6 With this idea in mind, the implemen-

tation in the robot saved them 70 to 80 percent in steady state (that means, while already in a

stable movement sequence). Furthermore, the deformation of the sinews was used to measure

the forces that are taking effect on the joints and delivered the engineers precise data without

any extra effort of installing sensors.

Autonomous robots and the future of robotics

When I wondered about the future developments and the role robots will be playing for future

generations, Mr. Höpflinger supported the thesis that robots will have the same destiny as

computers. First believed to be unusable, they had to be enhanced over many years and through

hard work, until they had reached a level where the common folk could use them. In the end, it

will be unthinkable to live without robots, as they will be everywhere, doing their job invisibly in

order to support us as much as possible. They will work as service robots, working next to hu-

mans and fulfilling the 3 “D” missions: Dull, dirty and dangerous; the jobs humans will be too lazy

or unwilling to do on their own. Still, the human mind in the background,

controlling the robot and manipulating it over distance, will not disappear

for a long period of time.

Robots simply cannot operate fully autonomous yet. In an experiment

called the LittleDog Project, different leading American universities at-

tempted to provide a solution with a high level of flexibility, reliability and

correct foot-placement. Then, they were told to manoeuvre a precast Image 4: LittleDog (Boston Dynamics)

Page 7: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

7

robot, equipped with their own system, over multiple given obstacles.7 After succession, it

should be further possible to adapt the system for a variety of different scenarios. After several

months however, the teams succeeded to fulfil the first requirement perfectly, jumping easily

over trenches and rocks. Sadly, this only succeeded under the following two conditions: First of

all was it necessary to have precise 3D-data of the terrain and external sensors throughout the

room, monitoring each step. Secondly was the robot incapable of replicating this result in a

second room. All the movements were simply hard-coded (pre-programmed), fitting exactly to

the specific obstacle. In the end, the programmers simply run a specific program for the corre-

sponding object and the robot executed it.

As Mr. Höpflinger continued is the process of capturing information about its surroundings via

sensory perception of central importance to robotics and can be split into three different sec-

tions. Being the first one of them, close range data is mainly collected via touch sensors. In

medium range, cameras and laser systems such as Microsoft’s Kinect™ can be used for orienta-

tion. Eventually, on long range, only colour and general structure can be determined.

With sensors, a main problem lies in the required processing time: Integrating sensory infor-

mation from cameras, touch and infrared sensors is simply too big a task to be handled by such a

limited CPU. The processing of the environment in real time poses immense problems to engi-

neers. And even if computational speed is taken for granted, how does a robot now know what it

sees? It captures an object more precisely and faster than humans do, but how to deal with this

information and define the object is still a mystery. As living beings, we know that white ground

can very well mean ice and is therefore to be handled carefully, but why should a robot treat this

as a reason to stop its run? This huge library of experiences still has to be transformed, so that

also artificial intelligences (AIs) can profit from it. One way of tackling the problem is with the

help of quantum computers, whereby the human brain and its learning ability are copied with so

called ANNs, Artificial Neuron Network.8 By the means of try-and-error, a robot simply continues

walking into a wall until it realises on its own that it cannot pass solid bricks.9 This learned behav-

iour will prevent it from doing so in the future. Already, Quinn and others have done considera-

ble advances for hexapods on this topic (e.g. WALKNET10).

While this complex method is called bottom-up approach, there is another way of tackling the

problem: With the top-down approach, scientists try to achieve common sense in robots by

sheer brute force, programming each and every behaviour by hand. One enormous project to

create such an “encyclopaedia of thought” called CYC started in 1984, but failed after decades of

hard work when the engineers simply had to confess that this way literally takes ages to com-

plete.11

This is the status quo; technologically, robots are capable of doing amazing things, outplaying

humans by far. But what distinguishes humankind from animals in this respect also differentiates

us from robots: We are capable of processing the perceptions of our environment in an entirely

different and more complex way. Humans can adapt to every possible situation, whereas a robot

needs an idealised setting as well as precise instructions in order to work. One of the big open

questions of the twenty-first century will not be whether robots will become more powerful and

sophisticated; it will be whether robots will be able to catch up in this subject.

Page 8: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

8

2. Six legs and what they are capable of

2.1 Definition of a hexapod A hexapod is by definition a robot that walks on six legs. As it can already attain a stable po-

sition with only three legs, six legs offer great flexibility. Even if one leg should get hurt and

become unusable, a hexapod still can, in contrast to other mechanical machines with two or

four legs, move without problems. Another advantage of six legs is the ability to operate an

object with two legs while still standing or even walking on the other four.

So, where can we find these six-legged creatures in nature? As mentioned before, cock-

roaches belong to this group, and they are by far the most reviewed species. But apart from

them, all insects do have these three pairs of legs in common. Bees, ants, butterflies, they all

move with them, feel with them, hold with them. How exactly they achieve this will be ex-

plained in the following pages.

Each insect can be divided into three segments: head, thorax and abdomen.12

On the middle one, the thorax, three pairs of legs are attached. Each of these

pairs serves a specific purpose for the animal and is therefore specialised:

Prothoracic: In nature, the two front legs are mostly used as sensors to get sensory infor-

mation about an animal’s surroundings. With their distinctive variability which enables to

manipulate an object, they are reminiscent of human arms.

Mesothoracic: For turning manoeuvres13 or climbing, it is the middle pair of legs that is par-

ticularly important and very flexible for this reason. They also support the back pair while

accelerating or when running.14

Metathoracic: The rear legs are pure power machines. Their function is to deliver the animal

the ability to walk or run fast. It is for that reason that insects like the cockroach some-

times even stand up and solely run on these two hind legs in order to advance as fast as

possible (the same reaction has also been observed with salamanders).15

Please note that insects are not to be mixed with spiders and scorpions, which have eight

legs and are arachnids (insects belong to the class of Hexapoda).16

Page 9: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

9

2.2 Walking – not as trivial as we might think

At first sight, it does not seem to be much of a challenge to walk. The whole process is exe-

cuted fairly autonomically without the need for cognition. Normally, we don’t need to think

consciously about how and in which way we move. It is rather the opposite: As soon as we

start to think about how we shift our joints when walking, the movement gets clumsy and

rather stiff (e.g. when we know exactly that someone is watching in our back).

In order to make the body move, our sub consciousness requires having extensive “motor

intelligence”17. First of all, as the system features more degrees of freedom than it needs, it

has to deal with redundancy. In order to walk, the system cannot simply say “forward”; it

needs to select instantaneously among different alternatives of how to move which joints in

order to use the optimal and appropriate one for a specific situation. To fulfil this require-

ment, the sub consciousness requires having some autonomy from the brain.

Furthermore, the system is not exclusively dealing with biology without any external influ-

ences, but also has to consider physical aspects when situated in an environment. These

surroundings affect its movements in complex and mostly unpredictable ways. Physical

components such as wind or water as well as general ones like gravity and friction influence

the system. Therefore, sensory information about the surroundings and, equally important,

about the result of the system’s action itself has to be gathered and integrated. Only under

these circumstances can it adapt to a real environment and react appropriately.

The task of integrating the influences and responding to them gets even more difficult with

an increasing number of legs: A hexapod has, even when only regarding the legs, at least 18

joints (three per leg) that have to be controlled and supervised. In order to process this

amount of information, cockroaches have three specific ganglia (namely thoracic ganglia T1-

3) 18, which are able to fire impulses and control walking behaviour independently from the

brain (the head ganglion).19 This is one of the reasons why a headless cockroach can still sur-

vive for more than a week.20 Using this parallel or fragmented computing method and task

sharing, an animal beats even the most modern computers in its processing speed. For in-

stance, it is able to detect the airwave of an approaching predator and react fast enough to

escape.21

However, with hexapods it is relatively easy to maintain stability; therefore, insects can walk

immediately when born.22 As we all know from personal experience, mammals are not simi-

larly gifted in their youth (and not in old age either).

So, even though we might have the illusion that we do not need a lot of thinking to walk, we

just are not aware of its complexity. In the background, multiple processes are monitoring

our environment and supplying our brain with information. After its integration, the implica-

tions are carried out, the execution being closely watched over by autologous sensors. This

cycle loops again and again and guarantees the safe arrival of the system at the desired loca-

tion.

Page 10: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

10

2.3 The advantages of six legs The wheel was one of the most important developments in human history. Due to this inven-

tion, the transportation of heavy loads was finally possible and travelling became easier and

faster. Suddenly, one did not have to sustain all of the weight, but could transfer the majority

of the power to the ground. On a paved street, fast movement was possible with small effort.

But as soon as the earth was poured with water, the ground softened and the wheels were

buried into the mud. How could heavy loads now be brought into the mountains to supply the

villages? One had to rely on the most ancient form of transportation; even Hannibal sorted

this problem out in the same way modern engineers are trying to nowadays. Only an animal

like a horse or an elephant with their four legs could now solve the situation.

Legs provide mobility and feature a lot more

This is exactly where the huge advantage of legs comes into play: With their great manoeu-

vrability and adaptability, legs can be used everywhere and anytime. With their several de-

grees of freedom, turning in extreme situations becomes a lot easier to do, more precise

weight distribution is possible and jumping is not even achievable without them. Thanks to

the big grade of alternation, there is no constant contact to the surface needed. For this rea-

son, ditches and obstacles can be passed over without any difficulty and uneven or rising

grounds can be travelled over faster and safer. 23

However, there is another major difference between the locomotion on wheels and on legs

that must be taken into consideration. With wheels, stability is granted in every moment of a

movement. Unfortunately, the same condition does not count for legged locomotion. Here,

we differ between two states while moving:

Static: Stability is guaranteed at every moment (i.e. the movement can be suddenly in-

terrupted without destabilising the system)

Dynamic: The movement cannot be intercepted instantly without a loss of stability (e.g.

the human way of walking)

While the first one can be interrupted immediately and balance is always ensured, if the same

happens to an animal with a latter gait, it is bound to fall. Humans, for example, exclusively

move dynamically (on two legs); if you froze in the middle of a step, your feet would be una-

ble to prevent you from falling.

In contrast to the bipedal system of some mammals, a fundamental prin-

ciple of legged locomotion with four or more legs is the tripod. With this

arrangement of three legs which build a triangle, the biological or artificial

system can exhibit a stable and, especially important, static pose. Simul-

taneously, the other leg(s) is used to form a new tripod and therefore

enables the system to advance.24 The only requirement to maintain sta-

bility is that the point of gravity always remains inside the triangle.25

Image 5: A tripod

Page 11: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

11

Because of this alignment, insects are very hard to turn over. A nasty bug, crawling over your

sheets, can hold its stand, even though one tries to shake it off vehemently. But when it fi-

nally falls on its back, another advantage of legs comes into play: Thanks to their flexibility,

the creature can regain its upright position and continue its path. Of course, this rarely hap-

pens to animals, as they cannot turn their legs as far (a bug on its back is helplessly lost). But

for robots, which can turn their joints fully 360 degrees, this does not pose an insuperable

handicap and they can easily carry on their mission.

Movement on six legs

Multiple factors favour six legs: Basically, one possesses the entire potential of locomotion

with four feet. The additional legs offer usage for other purposes such as the manipulation

of objects or the exploration of the environment (like cockroaches do -> see Chapt. 2.1).26

Furthermore, a robot with six legs is more stable and can carry a bigger payload.

Another important difference for industrial purposes is the system’s ability to keep its pay-

load constantly levelled when travelling over uneven terrain, something that is impossible

with wheels.

A further significant advantage is the possibility to unburden a leg. If one leg is malfunction-

ing, hurt or even broken, a quadruped cannot walk anymore. For a hexapod, even two de-

fect legs do not necessarily mean that it cannot operate anymore, as there are still four legs

left to maintain stability and advance.

So why do we not see hexapods everywhere? The answer is simple: They cost too much.

Mostly, we do not need the options two additional legs deliver. Furthermore, it is mechani-

cally a lot more complex to build a robot with this amount of legs. But where money and the

desire for two additional legs are present, for example the situation we have in space pro-

grams, hexapods are a designated tool. Due to their reliability, the NASA and the DARPA (De-

fence Advanced Research Projects Agency, USA) as well as other military institutes such as

the US Air Force have heavily invested in this sector and funded many researches.

But then why not eight or even ten legs, one may ask. With them, a robot would even have a

higher degree of flexibility and would be able to carry even more. The reason for mostly

staying with six or less feet lies in energy-consumption: Even though eight legs provide more

agility in rough terrain, more energy is needed in order to move them. Contrariwise, this

demand affects size and mobility.27 An animal with completely redundant legs was biologi-

cally less efficient than other challengers with a matched number and therefore died out. Of

course, the same counts with robots nowadays (law of parsimony28).

Probably, it is also partly because of these facts that large animals are restricted to four legs.

With their magnitude, hardly any barrier really is an insuperable obstacle. And even if they

come across one, they just search a way around. We as humans never encounter the same

place problem a fly has when it lands on a narrow, steep or moving platform such as a blade

of glass, where six feet offer a huge advantage to maintain stability. We can simply walk over

steep stones, while scorpions have to climb up these cliffs exhaustingly. It is the small insects

that have the need for this mobility; big animals just do not have the same issues.29

Page 12: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

12

Another reason is that, contrary to insects which rely on the sense of touch with their first

pair of feet, vertebrates use their superior visual senses to gather information (e.g. cock-

roaches cannot perceive red light and are only able to focus on near objects30). Therefore, an

important task gets shifted from the locomotion department to the head, which increases

the redundancy of the front leg pair for big land animals.

As of where we are now, biological systems still technically excel engineering solutions by

far, especially by the means of parallel computing.31 But it is interesting to see that this

technological gap in locomotion is not due to a lack of sufficient degrees of freedom.

Roland Siegwart, the head of research at the ETH, explained this gap of capabilities as fol-

lows: “Insects combine a small number of active degrees of freedom with passive structures,

such as microscopic barbs and textured pads that increase the gripping strength of each leg

significantly. Robotic research into such passive tip structures has only recently begun. For

example, a research group is attempting to recreate the complete mechanical function of

the cockroach leg.”32

Even though we will probably never achieve the extreme efficiency of muscles or are able to

conserve energy in such small containers as nature does, it is still remarkable what biolo-

gists, physicists and engineers produced in the last few centuries in the fields of motor and

locomotion design as well as of biological studies.

Additionally, it is to mention that not everything nature produced is therefore strictly the

only or even best way. While animals have advantages in areas such as efficiency, engineers

are able to construct a project deliberately new from scratch and possess mechanical possi-

bilities nature does not.33 When biologically inspired scientists tried to recreate an artificial

flapping machine, it ended in a disaster. Still, through totally different methods with fixed-

wing aircrafts, we are now able to fly like birds. It might be possible that once, the same rev-

olution will happen with artificial legged locomotion.

In his book “Foundation design”, the engineer Donald Coduto explained this circumstance

the following way: “Some say the cub is half empty, while others say it is half full. However,

in my opinion both are wrong. The real problem is that the cub is too big.

Sometimes, all we need is a new perspective on an old problem.”34

Page 13: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

13

3. A Hexapod and its kinematics

3.1 The function of a gait A gait is, generally spoken, the definition of the pattern in which the different limbs are

moved or simply the manner of walking or moving35. It defines the basic rhythm and se-

quences as well as the changes in the contact with the surface36 and therefore describes the

way a system walks.

For each animal, multiple gaits are existing.37 Even though the number of mathematically

possible combinations of six legs is enormous, only a few effective gaits are really used in

practice. The exact sequences differ between each individual, but the basic concepts of a

specific gait are detected over an entire race.

Distinctive characteristics can be seen in many things such as the so-called Froude number38

and the velocity the gaits are executed with: When running with wide steps, one is using

other gaits with different intervals than while walking up a hill, where the steps are rather

short. Of course, you can also run up a mountain, but you consume a much larger amount of

energy with the wrong gait: With small steps, the exertion is distributed over more steps and

is therefore easier to cope with.

The different gaits are each optimised for one particular situation. Adapting to the current

scene occurs unconsciously and depends on desired velocity, payload and terrain. For exam-

ple, try walking while constantly increasing velocity and you will automatically fall into a trot.

Stance and swing phase

In a gait, all legs are in either one or the other of two states39:

Stance movement: The leg is on the ground and supporting the body, thereby moving

backwards in respect of the body, pushing the system forward.

Swing movement: The leg is lifted off the ground, moving into the direction of walking

to begin a new stance phase; also called suspension phase.

These phases are constantly alternating and

describe a cycle. The percentages of the

particular phase are different for each gait

and each individual. A human, for example,

is during normal level walking about 60% in

stance phase and 40% in swing.40 This is easily seen as for some time, we are standing on

two legs, and hence the stance phases are overlapping. During running, the situation turns:

Here, the swing phase is larger and we truly fly for a short period.

Page 14: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

14

The transition between stance and swing phase occurs at the so-called anterior extreme po-

sition, short AEP, while the posterior transition point is abbreviated as PEP (posterior ex-

treme position).

Walking, running and leaping gaits

Generally, gaits can be divided into three different categories:

Walking gaits: In this most common division, some feet are on

the ground at any given time. These gaits are only used for rather

slow movements.

Running gaits: The characteristic feature of these gaits is the

moment of suspension. During this sequence, all feet are off the

ground and the body is actually flying, obeying the law of inertia.

As it necessarily has to be executed faster, this is a more energy-

consuming form of locomotion and in this sense inefficient.41

Leaping gaits: Also called asymmetric gaits, this section differs in

its stability. It is important to note that this does not regard left-

right symmetry; it is rather indicated that the limbs of a pair

move together and not in alternation (imagine a jumping kanga-

roo).42 Mostly, these gaits include a moment of suspension.

As we will see later, one gait can also belong to multiple groups, depending on the velocity it

is executed with. Compared to walking gaits, which are mostly static, leaping gaits often and

running gaits always occur as dynamical ones.

Symmetric and asymmetric gaits

It is interesting to know that some animals, like the cockroaches, mainly use symmetric gaits

to move. On the other hand, other insects such as mantises, grasshoppers and beetles only

use asymmetric patterns for locomotion.43 This can be easily explained, as grasshoppers ac-

complish to make great jumps and therefore need both legs of the hind pair to obtain maxi-

mal power. On the other side, the cockroach does not frequently jump and stays on the (for

this system) more profitable stable side.

The “free gait”

Even though it will be stated as such, the following gaits cannot be looked at as rigid and

homologous walking patterns. Just as nothing in nature is constant, they should rather be

considered as extreme variants of the actual leg movements. When disturbed by outside

forces, let this be artificially or by the natural environment, or when the gait does not start

from its standard position, actually very different step patterns can be observed. Therefore,

Page 15: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

15

the gait of a hexapod may be better specified by the term “free gait”. Still, these are basically

just deduced from the standard gaits and optimised for the current situation. Only in an un-

disturbed environment, tripod, wave and ripple gait appear in their original form.44

The numbering of the legs

In order to understand the work of other researchers, gaits are noted

in a specific way, whereby the different legs are given a specific num-

ber to identify them easily and fast. This numeration is done the fol-

lowing way: L1, L2 and L3 are representing the left legs, whereas R is

referring to the right half. Counting begins at the front and is contin-

ued alongside the body.

In my project, I will also refer to L[1-3] as m[0-2] and R[1-3] as mR[0-2],

as this demonstrates the notation in the program (motors and mo-

torsRemote).

3.2 The Wave Gait This artificial gait is also referred to as tetrapod gait, as four or

more legs are on the ground at any time. This of course results in a

leg pattern with significantly more stance phases, marking the

main advantage of the wave gait: maximal stability.

The disadvantage on the other hand is its slow moving rate. There-

fore, while used for slow and medium velocities as a walking gait,

it is the ripple or the tripod gait that are chosen when fast motion

is required.

For the wave gait, all legs are moved forward in succession,

beginning from the rear-most one on the left side and after

completion copied on the other side, thereby performing a wave

movement. This process cannot be speeded up very much, as

otherwise, one side of the robot would collapse due to lack of

stability when two adjacent legs are simultaneously in swing

phase.

Because of clear stability reasons, the wave gait is preferred for

walking on steep surfaces such as stairs.45

A very similar gait called metachronal wave gait exists as well. This

gait is not used very often in robotics and is therefore not a part of

this paper.

Page 16: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

16

3.3 The Tripod Gait The tripod gait46 is far and away the best-known and most common-

ly used gait when speaking of hexapod walking patterns. Most pro-

jects use this solution, as it is fast and still rather stable.47

This gait can occur in two different variations: As a walking gait,

stance and swing phase are totally balanced (in slow movements

like with the NXT). Otherwise, as seen in the graphics at the bottom,

it can also serve as a running gait with its characteristic moment of

suspension.

The concept of this gait is, as its name indicates, based on the tri-

pod; it consists of the front and back legs of one side and the middle

leg of the other one. This triangle creates the most primitive form

for a stable stand. The three legs form a phase which moves in

unison and with a 180 degrees phase shift compared to the second

tripod. During walking, the weight is constantly shifted from one

tripod to the other, just as with human feet (bipod).

In the first situation in image 6, the tripod L2R1R3 (dark feet) has just moved and ended its

swing phase. In Situation II, while Tripod Nr. 1 is pushing the system forward, the second

tripod R2L1L3 is swinging to its designated position in order to start another stance phase.

While graphic Nr. 7 displays an ordinary running

tripod gait, we can see the inconsistency of the

sequences when used in nature in image 8.

With increased frequency, the tripod begins to

spread and not all of its legs will start their

stance/swing phase at the same time.48

Image 6: Situation I Situation II Situation III

Image 8: Disrupted tripod gait

Image 7: Original tripod gait

Page 17: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

17

3.4 The Ripple Gait Even though not mentioned often, the ripple gait is a useful me-

dium between the two previous gaits and unites stability and

velocity. Compared to the tripod gait which only needs 2 “beats”

(offsets) for one cycle, this gait, completing it in 3 beats (6 mini-

beats), takes slightly more time to move one step forward. Still,

it is remarkable two times faster than the wave gait with 6 beats

required.

As before, this gait starts with L3. Then, a non-overlapping for-

ward wave is performed on this side. After just half a beat, the

other side starts with R1, performing the same movement

backwards on the right side. After L1 has ground contact, R3 needs

another half a beat to finish the cycle.

Note: Because of the unusual mechanics of the robot in this project, the ripple

gait was bound to be adapted slightly and an additional sequence had to be im-

plemented to return to the original position. Obviously, an animal will not wait

and begins a new cycle without any redundant discontinuance.

Conclusion

As it can be seen, a constant trade-off between stability and velocity has to be taken into

consideration when choosing the appropriate gait for a specific situation.

In terms of speed, the wave gait is clearly the slowest, needing twice as long as the ripple

gait and even three times longer than the tripod pattern.49

Regarding stability, the situation exactly turns. The wave gait, ideal for moving over uneven

terrain and easy to adjust during movement, scores here with only one foot in swing phase

at a time. To maintain stability, the ripple gait lifts its feet pair-wise in a diagonal matter and

is therefore instantly recovering its balance while having constantly four feet on the ground.

The tripod gait, even though extremely fast, always has half of its legs in suspension phase.

Only three motors have to withstand the entire weight, including the kinetic energy which

highly strains the capacity of electrical motors.

My own gait

For my robot, I slightly altered the tripod gait. Thereby, the first tripod is not waiting for the

second one to complete its cycle. Instead, it directly continues, still phase-delayed by 180

degrees. This way, the entire cycle gets shortened to a single beat, which is the absolute

minimum (the duration required for one turn of a motor) and the fastest possible way.

The downside of this gait lies in potential energy and electro motors. For a quarter of the

cycle, the entire body is moving downwards, changing potential energy into kinetic. This im-

pact of dynamic forces has to be withstood by the motors. However, electro motors have

great problems to do so and begin to slip, which in turn throws the entire robot off balance.

Page 18: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

18

3.5 Gait analysis After their definition, let us now take a closer look at how the gaits differ from each other.

As already mentioned before, gaits vary in their velocity, which is negatively proportional to

their stability. The trade-off between these two consists of multiple different influences.

Stability in static and dynamic situations

When talking of stability, the point of gravity is of major significance. It is essential for a sys-

tem to control the movement of this crucial point and to ensure that it never lies outside the

so-called “support pattern”. The pattern can be easily visualised as the vertical projection of

the body onto the ground. Within the polygon, the system is always stable and able to move.

As soon as the point of gravity escapes this boundary, the system collapses, as the support-

ing elements are in no condition to prevent this.

It is therefore of outmost importance to know the current situation of the system as well as

the tolerance it still has to evade falling. One of the key values in this respect is the so-called

longitudinal stability margin (LSM). This value, divided into a forward (d1) and backward (d2)

stability margin, displays the shortest and therefore most crucial longitudinal distance from

the projection of the point of gravity to the boundaries of the support

pattern.50 The smaller this value is, the greater the likelihood of skip-

ping the pattern and falling. Whereas it is positive on the inside of the

support polygon, a negative value indicates an already instable situa-

tion which should be prohibited.51

It is important to notice that the vertical projection of the point of gravity, also called centre

of mass (COM) is only an approximation during locomotion and as such has limited signifi-

cance. While moving faster, the centre of pressure (COP) can be used instead, as more forces

than the gravitational one have to be included as well (e.g. inertia). If static or while walking

slowly, however, the COM and the LSM can be used as accurate estimates.52

The most primitive stable stand a system can achieve is by means of a three-point-support.53

With three legs, the weight gets distributed between them; it is important to notice, though,

that this distribution is not bound to be even and entirely depends on the state the system is

in. For example, during the tripod gait, the single leg needs to bear the same weight as the

two other ones combined.

However, it is not possible to move with only three support elements (at least not with static

movement). An additional leg delivers the option of exchanging support and creating a new

support pattern, thereby rendering one leg unloaded. Consequently, this leg can then be

used to create another support pattern that is further into the direction of moving.

While the advantages of additional legs has been pointed out in the previous paragraphs, we

now take a look at the different gaits for a hexapod himself. Contrarily to the most impulsive

idea, the support pattern as a basic component for stability does not differ significantly

when comparing the gaits while standing, as can be seen below.

Image 9: LSM = min(d1,d2)

Page 19: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

19

The Tripod Gait The Ripple Gait The Wave Gait

This means that the minimum backward stability margin always stays the same and does not

depend on the gait. Of course, during walking, the wave gait is only once in this condition,

whereas the tripod gait is always on the minimum. Nevertheless, once a cycle is enough to

bring the system down, because of which it is not statically more stable.

Even though the gait itself does not influence the LSM when the speed is low, this changes

drastically when the system acquires speed. It is then that the support pattern itself starts to

move relatively to the body and decrease the forward stability margin. Hence, a strong line-

ar correlation between the LSM and the maximal velocity exists. This link, however, varies

significantly between systems with a different amount of legs.

This discrepancy originates from the duty factor β, which is defined as the fraction of the

cycle time a foot is in stance phase and supporting the system.54 Obviously, the larger this

factor is, the more stable the system. Unfortunately, this also bounds the system to be slow-

er as the feet need to have ground contact over a longer period of time.

Whereas quadrupeds require a duty factor of at least 75% for a statically stable walk, a hex-

apod only requires a minimum of 50%. This value is achieved when walking in the tripod gait

and always having half the feet on the ground and the other half in swing phase. For an

eight-legged system, an even lower β of minimally 37.5% is possible.

The “opposite” of the duty factor, the return time of a leg, can be noted as

( ) , T being the cycle time.

When calculating the entire vehicle speed V, one also needs to include

the distance the leg covers on the ground, also called leg stroke. The

velocity [m/s] results by dividing this distance [m] by the time [s] need-

ed to cover it:

This equation can then be used in the first one, resulting in:

( )

( )

Image 10: leg stroke R

Page 20: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

20

However, the velocity does not stay the same during the entire cycle. On the ground, the leg

requires to slow down and adapt to the speed of the system itself. After leaving its support-

ing phase, the leg starts accelerating until it reaches the maximal return speed V’max. Before

reaching ground level again, it needs to decelerate to V in order to initiate the stance phase.

The length of this return path can be calculated as:

This includes the assumption that the leg moves in two semi-circles (see Image 10).

With these preconditions, the maximal walking speed can be approximated as

( )

As V’max cannot be maintained over the entire return path, the maximal speed will in praxis

be even lower.1

When comparing the minimum LSM and Vmax, the influences of β

can be clearly evaluated in Image 11.

When walking very slowly, β is maximal and nearing the value 1. At

the same time, h is increasing as insects tend to raise their legs up

further into the air while walking. These two factors diminish V’max

and result in a slow speed as assumed. As can be seen in the graph, this low speed is being

followed by a very high minimum LSM.

Contrarily, when walking fast, h is decreased in order to minimise the return path. At the

same time, β is converging to its minimal value of 0.5 ( = 50%), as the legs spend less time on

the ground, actually supporting the body, wherefore

( )

Image 11 clearly shows that the LSM is strongly depending on the gait when mov-

ing at higher velocities. As can be seen in the illustration on the right, the point of

gravity quickly escapes the moving support pattern and can create dangerous in-

stabilities. The system is in danger of diving head first into the ground. If the sec-

ond tripod is fast enough to prevent a total collapse, it has to re-establish a stable

stand. This is already dangerous regarding a further straining of the motors and a

following reduction of speed. The robot might get uncontrollable without a fast

and robust feedback-loop. Furthermore, the resulting phase and speed difference

needs to be compensated for in the other tripod in order to maintain balance.

Moreover, the robot also starts to tip back and forth as a consequence of the con-

stant change between the tripods and may fall into a resonance movement.

In the worst case, this will keep building up until it ultimately reaches a resonance

catastrophe.2 Therefore, even a very small and short unbalance is able to disrupt

the entire movement and damage the system.

1 For further information regarding the previous formulae, please refer to the work of D.C. Kar in the references.

2 As we will see later on, this was one of the main problems with my own robot whilst in tripod gait.

max max

Image 11: Influence of β on stability

max max max

Page 21: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

21

One of the main advantages of the wave gait is its ability to flatten such disruptions and sta-

bilize the gait. Even if the point of gravity should get out of the boundaries during a step, the

support pattern is very likely to close the gap immediately afterwards and therefore pre-

vents shaking effectively. Therefore, the problem of multiplying small misbehaviours is

erased and a catastrophe can be evaded.

However, the wave gait is also significantly slower and therefore has a smaller momentum.

For a fast moving vehicle, the gait can become dynamically and therefore momentary insta-

bility is endured for the benefit of velocity. This is bound to happen as with static walking,

the system is very limited in terms of less time spent on the ground:

But with increased speed comes a larger amount of kinetic energy:

This growth is geometrically: For a doubled velocity, the energy goes up by a factor of four.

Due to this energy, the robot will be jumping for short periods of time ( ) and is

therefore also able to correct small unbalances. This happens as the momentum will main-

tain a driving force and keep the vehicle on track for a short moment, allowing the system to

regain control. The drawback of this tactic lies in its very short time span; milliseconds decide

whether the system will be able to recover or fall. This implies a very short reaction time and

therefore quick data collection of the sensors, fast algorithms (e.g. Egyptian multiplication)

and precise, mobile motors.

Figure 11 also shows that the intended maintaining velocity needs to be kept in mind when

designing a robot from scratch. If it requires being very fast and at the same time very stable,

one does not come around increasing the amount of legs. With already eight legs, the maxi-

mal speed of the motors can be put to good use without wasting critical stability. If the robot

should move fast but cannot handle strong forces on its motor, the speed can be used in

order to gain momentum and therefore maintain stability. This however calls for agile, fast

responding motor and powerful processing power.

The sloped plane

But walking fast cannot be the only danger when regarding stability. Even though it might

not seem unstable yet when moving slowly (see page 19), the projection of the point of grav-

ity quickly changes when the hexapod walks over an angled or uneven plane.

As gravitational forces always apply vertically to the ground, the projection of the point of

gravity also follows the perpendicular. The support pattern on the other side is entirely de-

pending on the legs on the ground and therefore follows the profile of the terrain.

With the point of gravity shifting in relation to the support pattern, the LSM starts decreas-

ing as well. Indicated in orange on the illustrations on page 19, this point is the crucial barrier

between stability and failure and will henceforth be called point of no return (PNR). If the

PNR is crossed, the system immediately starts tilting and may fall on its back if not corrected

Page 22: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

22

immediately. But as a leg can merely push and not pull itself,

preventing tipping becomes even more challenging.55 The

forelegs will be rendered useless, as they lift of from the

ground, and only a very swift correction with the back legs will

help preventing damage to the system.

The angle, at which the system is bound to fall as the point

of gravity crosses the PNR, can be calculated as follows:

For this approximation, merely one gradient in the direction of walking is consid-

ered. If another slope with a tilt to the right or left is influencing the robot, a col-

lapse can occur much sooner (see figure to the right). The same counts if one leg is

standing on an elevation such as a bumper.

It is interesting to see that these calculations are depending entirely on the design

of the robot and its proportions, leaving the gait choice without direct influence.

For this calculation, mainly the height influences the point of gravity and therefore

its vertical projection (vertical meaning in respect to the horizon and not orthogo-

nal to the ground). Through some simple mathematical evaluations, the stability

can be quickly calculated for slow velocities.3

Friction forces

When considering sloped planes, it is not simply the static characteristics that influence sta-

bility. Even though the supporting pattern may be well designed and is strictly adhered to,

the question raises whether the feet itself will be able to give support.

Everyone who ever watched a Formula 1 car race will have been impressed by the extreme

power these machines have. Having hundreds of horse power, they can accelerate very fast

and keep a high top speed. However, the power itself is of no use if the traction fails; even

though they sometimes use wheel-spin to warm up the tyres, loose of friction is every driv-

er’s horror. Without friction, the car remains entirely in the hands of forces such as inertia or

centrifugal force and cannot be actively controlled anymore.

Therefore, it is an essential prerequisite to have enough friction to keep the system under its

own influence and controllable. Unlike a wheeled vehicle, a legged robot has additional

problems to maintain a stable position in the first place.

In comparison to the massive area of the Formula 1 tyres, the area of contact of a legged

robot is by factors smaller. Tyres require this extensive friction to put the horse power to

good use; but unlike them, friction for rigid bodies does not depend on the enclosed area

between the bodies.56

3 For example, my own robot had an angle of around . By simply decreasing the height to

,

the angle could have been increased to .

h

ϕ

Page 23: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

23

For static friction, the force can be calculated as

| | | | , N being the normal force on the surface.

Unlike static behaviour, dynamic (or slide) friction is influenced by the elasticity of the mate-

rial in use as well, which creates a torsional moment. However, the force itself can be calcu-

lated likewise:

| | | |

As the area of contact does not influence the friction, the gait itself is irrelevant when check-

ing for enough viscous drag. In contrast, if the system is already loosing traction because of a

very steep slope or too much applied force, the used gait is essential to keep balance.

Material combination57 Static friction coefficient Dynamic friction coefficient

Steel / Steel 0.1 – 0.5 0.1 – 0.4 Steel / Ice 0.02 – 0.03 0.014 – 0.015 Steel / Teflon 0.04 0.04 Steel / Lead 58 0.95 0.95 Aluminium / Aluminium 1 1 Tyres / Street 0.7 – 0.9 0.5 – 0.8 Ski / Snow 0.1 – 0.3 0.04 – 0.2

As can be extracted from the table above, the static friction coefficient is always slightly

higher than the dynamic one. This means that one needs marginally more force to start slid-

ing than to keep on sliding. This is well-known from our every-day life experience, as if you

once started gliding on ice, even though you probably only slightly increased your walking

speed, it becomes very hard to regain control again.

Also noticeable is that the friction does not only depend on the underground, but also on the

materials used for building the robot. For example, using a coating of lead over the steel feet

leads to two improvements: First of all, both coefficients increase by a factor of 2 - 8 com-

pared to simple steel feet and therefore withstand at least twice as strong forces before

starting to slip. Secondly, due to the large density of lead, the point of gravity is lowered,

which leads to another increase in stability.

Therefore, the use of the corresponding materials is essential for any robot. The weight, the

point of gravity and material strength influence the endurance of the system. Only if abra-

sion and mechanical failures can be kept to a minimum, the system can be operated reliably.

It is of great importance to know the present ground and its consequences when walking, as

the coefficients differ greatly; velocity and stability constantly need to be reconsidered when

changing surfaces. As I already pointed out during my interview with Mr. Höpflinger, for a

robot, this task is not at all easy and requires a lot of experience and programming as well as

specific gaits to remain in control or regain stability.4

4 A very interesting video regarding this topic can be found in the references -> BigDog Reflexes 0:55 – 1:01

Page 24: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

24

Energy efficiency

The main goal of any motion is to move an object or the system from one point to another.

However, we should also achieve our target with the least possible amount of costs. Obvi-

ously, the journey should not be time-extensive and therefore happen as fast as possible.

Secondly, while travelling fast, the damage to the system through material abrasion or falling

should be kept to a minimum. Therefore, stability is needed and has been extensively dis-

cussed in the previous pages.

The third cost is mostly only apparent when we have to pay the bill at the petrol station. In

order to run, a car and any other vehicle requires an energy source. For the car owner, this

mostly means increased costs due to petrol consumption. Drivers with an ecological aware-

ness also include the CO2-output of the car into their calculations. Therefore, by driving effi-

cient motors and using the correct driving techniques, they save money and contribute less

to air pollution and global warming.

For a robot, energy-efficiency has many more consequences. As weight transportation in-

creases the consumption, the less fuel needed the better and faster the system. Due to the

heat that is created in combusting engines and through friction, the body starts to warm up.

This wasted energy needs to be conducted to the surface, as it may otherwise damage the

inner parts such as the sensors and the cables. With more heat generated, the heat compen-

sation gets increasingly difficult. Thirdly, place is very rare in a robot where the capacity is

kept to a minimum. Therefore, substances with a higher energy density and better motors

reduce the space needed and simplify designing.

There are multiple ways to increase energy-efficiency and decrease con-

sumption. As explained previously, animals can cut their losses by using

sinews to reuse the energy when running. Of course, mechanical aspects

such as well-designed motors and force transmission also have strong

influences.

Higher velocity always results in larger total energy consumption due to

increased friction. Nevertheless, the energy needed to travel at a certain

speed differs strongly. As can be seen in Figure 12, one needs almost 3

times as much fuel for travelling 35 kilometres per hour with a car in the

first gear when comparing to the 4th one.59

Even though wheels have an efficiency which legs are incapable of, the

same still counts for gaits on legged robots. Similar to the gears in a car,

every gait has its maximal efficiency when travelling at a gait-specific

speed. The adaption of such knowledge can prove extremely valuable

when using in praxis: With the exact same metabolic cost for the ani-

mal, it can move between 1 and 8 metres per second. Figure 13 impres-

sively shows that by simply adapting the gait choice to the velocity, the

energy can be put to much better use.

Image 13: Gait optimum with quadrupeds

Image 12: Consumption of petrol

Page 25: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

25

Please note that the data in Figure 13 corresponds to a four-legged robot and therefore can-

not be simply transported to hexapods. Nevertheless, efficiency optimums can be seen eve-

rywhere with each transportation method possible. Simply remember the next time you will

go biking that by choosing a higher gear, your efforts will prove much more effective on a

straight path than by driving in the lowest gear and at a ridiculously high frequency.

Another thing everybody knows from cycling is muscle cramps. When attacking a high hill,

the legs are persistently turning and using their entire power to turn the wheel. This con-

stant strain will eventually force the muscles to contract vehemently and stop working.

The same behaviour counts for hexapods. When walking in the wave gait, only a single leg is

not supporting the body, because of which all the other five ones can distribute the weight

equally. This prohibits a large strain on the muscles. A leg can even relax one sixth of the

time when it needs to acquire a new position. Having said that, it also needs to accelerate

and then decelerate once a cycle, which gets increasingly inefficient when walking and

therefore also rushing forward to start a new cycle with a higher velocity.

The tripod, on the other hand, is under constant strain. Only three legs need to raise the

body, nearly doubling the pressure on one leg. Even though it can afterwards relax for half a

cycle while the other tripod is burdened, the stress is much higher; during this short period,

the energy reservoirs cannot be replenished completely, but the strain is still constantly

high. However, with increasing speed, the pressure on the legs gets constantly smaller as the

system gains momentum. Because the tripod alternate all the time, there is no need for ac-

celeration and deceleration such as with the wave gait. As the strain lessens and the move-

ment gets more and more fluent, the tripod gait with its dynamic walking is experiencing a

much better energy efficiency than the wave or ripple gait at such velocities. However, tim-

ing and the coordination of the legs is of most importance, otherwise these advantages will

be lost. Especially the transition phase between stance and swing phase needs to be regard-

ed in this aspect, as it is in this phase that the relief takes place.60

For roboticists, stability as well as efficiency is essential, especially for delicate scenarios such

as the Mars rover. Therefore, Katie Byl stated61:

“Incorporating both stability and efficiency into a practical

robot is certainly the ultimate goal in legged robotics.“

Page 26: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

26

4. Building hexapods

When I approached the challenge of building a hexapod with Lego Mindstorms, the first

thing to reason about was how to transmit the motor energy to the leg itself. The rotational

movement of the motors had to be converted into an up-and-down movement of the legs.

Additionally, the leg has to move horizontally in order to create the forward movement of

the system (only up and down would not result in a step forwards).

In practice, an industrial robot needs three or more degrees of free-

dom (DOFs). This means that for each leg, three motors are needed

to turn it into three different directions, the three dimensions of our

environment (image 14). A natural cockroach possesses even seven

degrees of freedom per leg (image 15: The feet are excluded), which

would result in a total of 42 motors for one single system.

With at least three DOFs per leg needed, the resulting number of

18 motors was impossible to reach for my project. One NXT can

only command three own motors, wherefore six sets would have

been required. Costs, size, communication difficulties and ulti-

mately weight buried this thought in no time. For my own project,

at most one motor per leg could be allowed. This means that for

the entire robot, I could maximally afford to use a smaller amount

of DOFs than a cockroach has in a single leg.

The moving mechanism

With a single motor per leg, the moving mechanism is rather primitive and simple. On the

other hand, this is ideal for a robot, as too complex mechanisms, especially in combination

with cheap material (LEGO is basically plastic), tend to be fragile and easily disturbed.

As it can be seen in the images to the left,

the wheel is spinning, powered by the mo-

tor. The leg is attached to the pinion but still

able to swing. Therefore, when the wheel is

turning, the leg moves up and down,

dragged down by gravity (in practice, the

friction forces between the different parts

were too large and hence prohibited this).

This raised the problem of how to stabilize the leg itself. When it touches the ground, the

point of gravity (of this small system) lies directly under the wheel and not linearly under the

leg. Therefore, an unguided leg would simply tilt away. There are different ways of tackling

this problem, as we will see in the development of the project.

Image 15: 5 degrees of freedom

Image 14: 3 degrees of freedom (DOF)

Page 27: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

27

4.1 The STARopod Family

Image 16: STARopod Ia STARopod Ib STARopod IIa STARopod IIb

With one LEGO set and three motors outputs available on the NXT, I quickly came up with

the idea of using one motor per side and therefore maintaining balance. The NXT brick

should build the core of the robot, as it is the heaviest and inflexible part. For this reason,

the point of gravity of the system clearly had to be in the centre of this brick. On its side,

different pins could be plugged in. Connected through them, the rest of the system was built

around the brick. The advantage of this principle was that no extra skeleton was needed,

which decreased size, complexity and width of the entire system.

The motors should be placed on top of the NXT brick, where space is easily

available and the power can be directly transmitted to the legs. Another

advantage of this position is that gravity automatically drags the motor pin-

ion (Nr 1. in image 17) downwards and generates a natural pressure on the

second pinion. This lessens the probability that it will spin with loss of traction.

The arrangement of the pinions is especially important in this drive mechanism:

For pinion Nr. 2 (see image 17), the pinion’s diameter is obliged to be large enough,

as a smaller diameter would reduce leg movement and shorten the steps. On the

other hand, if this diameter is disproportional, the leverage force of the leg is too big and will

stall any motor movement. Furthermore, the required space for this method would exceed

the robot’s capacity.

Having said that, pinion Nr.1 needs to be as small as possible. Through that, the motor pow-

er gets translated optimally: From the small to the big wheel, just as in a bicycle. Thanks to

this, the power of one revolution is divided over only eight jabs (see image 17). For one rota-

tion of the larger pinion, forty jabs need to be moved, requiring five revolutions of the small-

er one. Therefore, even though it is slower, the stored energy is five times larger. Because

the motor’s speed can be greatly incremented, this trade-off can be used with a gain.

The principal idea was to create a separate robot for each of the three gaits. This was neces-

sary due to the following restriction: As only one motor should propel the three legs of one

side, the power has to be transmitted from the motor to the first leg, from there to the sec-

ond and then to the third. In order to do so, I used pinions as they were the most convenient

variant and took as good as no extra space. For the tripod gait, the legs had to be exactly 180

degrees out-of-phase with each other, something that was easily managed by simple posi-

tioning of the pinions. Of course, this arrangement could not be altered during action and

was therefore created specifically for one gait only.

Image 17

1.

2.

Page 28: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

28

The first generation

STARopod Ia :

The general look and bodywork was quickly found and

remained largely the same throughout the series. In the

first generation, three pinions were used to steer the

legs. Each of them was directly adjoined to its neigh-

bours and turned in the opposite direction.

Already since this first version, the biggest sticking point to be mastered was the possibility

to guide the legs. Non-directed, the legs would just collapse and block each other. In this

version, the middle leg had too much freedom and constantly blocked the entire moving

system. Against my hopes, guidance through the other legs was too loose.

STARopod Ib :

Following the observations and experiences with its predecessor, the main concern when

designing version Ib was to have reliable and constant leg movements. For this reason, the

robot was altered in three points:

1. The two outer legs became directly linked and formed an inflexible frame. Thus they

always reached ground contact in the correct position. As this design was laid out for

the tripod gait where the outer legs always begin their stance phases together, this

did not pose any problem.

2. The middle leg’s component of a bent hook (similar to an L) had been exchanged by a

straight one. The reason for this adjustment can be seen in the position of the point

of gravity, which was now located directly below the leg and did not result in an over-

turning movement as in the other model; there, the point of gravity had been linearly

Page 29: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

29

under the straight part. This had caused a collapse of the particular leg as soon as it

had touched ground.

3. Due to the strong channelling of the middle legs movement, the locomotion became

fluent and without any disturbances. The leg always lined up straight and touched

ground in a perpendicular angle as it was supposed to.

When it came to test the robot, the first phase resulted in a success. The leg movements of

the two sides were extremely smooth and did not create any added resistance through

flawed gliding between the parts. Therefore, even though the pinions created friction, the

system in total did not consume a lot of redundant power and was very motor-friendly.

The negative side, however, just became visible when the finished robot was started and

aspired to the first steps. Having three pinions resulted in two different spinning directions.

While the outer legs turned in unison, the middle leg turned contrariwise and hence stepped

backwards. The resulting locomotion was a zig-zag-movement, whereby the robot stayed at

its original position. After having progressed one forward movement in the first tripod, the

single leg of the second tripod walked backwards and destroyed its predecessor’s work.

This was a fact I had not realised when designing the concept. Therefore, even though the

movements were perfect, they could not be used for locomotion.

For a new plan, a framework with five pinions had to be used, whereby all three large cogs

would spin into the same direction.

I had learned a central lesson in planning with this first generation: Even though the LEGO

systems invited to immediate building without a lot of precedent cogitation, clear plans had

to be drawn before realising any ideas with real bricks. This lesson was also applied later on

when designing the concept for the program code

1. 2.

Page 30: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

30

The second generation

STARopod IIa :

The concept of guided legs with an inflexible frame

proved to be successful, for which reason it was

retained. However, it was important to achieve

movement into one single direction. By adding two

small pinions that simply served as direction-

changer, the size of the robot could be maintained

and the aimed goal was attained.

Still, the length was extended by two pins. Even though not much, this enlargement changed

the interspaces between the parts. Hence, the guiding system had to be altered to fit the new

setting. Unfortunately, tolerance of the middle leg was increased, wherefore the leg had to be

channelled in a new, previously not existing phase just after the AEP (see Chapter 3.1). This

was managed by adding a tilted bar (highlighted in red).

However, this bar could not be aligned to completely avoid any added friction. At one point of

the cycle, the middle leg slightly bent it in order to press it out of its way. The resulting friction

forces were transmitted to the motor and caused it to stop functioning on some occasions.

The motors were already withstanding an immense amount of friction.

With the added two pins, the number of transaction points doubled from

two to four (one between each pair of pinions). With the present friction

of roughly four times the old one, these motors were overloaded and be-

gan to give warning signals, audible as a high whizzing.

Another sign of overexploitation can be seen in image 18. The rod which

transferred the motor power to the pinion system began to bend and

could not handle the pressure anymore. It started slipping and hence be-

came unreliable.

It dawned that solely two motors would not provide enough power

to turn the pinions in the desired velocity. Despite this fact, I tried

to get as much out of the motors as possible by slightly altering the

assembly.

Image 18: Bending rod

Page 31: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

31

STARopod IIb :

In an attempt to maximise power transmission and extinct the danger of

damaged material through slipping, the small motor pinion was ex-

changed by a medium one. This reduced the multiplication factor of the

motor power, but extinguished the danger of spinning. Its location

changed furthermore from the very back to in-between the second and

third large pinion. Through this repositioning, the motor pinion regained

a fixed station. In both direction, it got pulled down by one of the neigh-

bouring pinions and therefore resisted any upwards forces. This success-

fully eliminated spinning and made it possible to test the robot.

As a matter of fact, the same zig-zag-movement could be observed in this second generation

as had already occurred in the previous one. In contrast, this time the reason for it was

based on a completely different physical principle:

With the usage of a new canalisation restricted to the bottom of the legs, a flap movement

of the middle leg could be observed. Even though the turning direction of the motor was

correct and in harmony with the other legs, this flap resulted in an anew backwards move-

ment and therefore showed the same behaviour I had seen previously.

Furthermore, this system could not be adopted for the other two gaits I intended to imple-

ment (namely the wave and ripple gaits) as I detected during these series. Because of this

limited usage, I decided to test a fundamentally new basis for the robot, a principle which

resulted in the foundation of the Troy Class.

Page 32: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

32

4.2 The Troys

Image 19: Troy I Troy IIa Troy II+

The main goal of this project was not to create a robot that was either especially small or

particularly fast. Of course, as in any other engineering project, these aspects affect the sys-

tem heavily and are major factors while constructing. Nevertheless, my goal was to build a

robot that can implement the natural gaits as well as possible. The moving mechanism and

the leg placement should be clearly visible and comprehensible for the observer.

In the beginning, I had still concentrated on the fact that specialisation on one gait could be

handled easier than the construction of a generally applicable model. For matters of simplici-

ty, I decided to give the natural aspect less importance. However, the convenience proved

not to be the case and I returned to my original plans of one single robot.

As a matter of fact, legged locomotion as I intended to construct could not be achieved with

only three motors at hand. With the present setting, there was no possibility to either

change or alter the gaits in motion by means of a program, as the mechanism required being

preset manually. Therefore, I compulsorily had to raise the number of motor blocks. As one

NXT brick only provided three motor outputs, another one had to be added. With six outputs

available, the purpose of a hexapod is best served when all of them are used. Of course,

constructions with five or less motors would be feasible as well, but they are bound to be

more unbalanced and fragile and were therefore not considered.

This significant decision to double the number of major components to two NXTs and six

Motor bricks demanded a new construction. In robotics, generally two fundamentally differ-

ent approaches to a composition with six legs can be found:

For my own system, I decided to use a rectangular alignment, as it can also be found in na-

ture. Completely different gaits, mainly artificial ones, have to be used for the other variant.

Furthermore, a circle would require an entirely new structure and skeleton with at least 18

motors, whereas otherwise the original one can be preserved to a large extent.

Image 21: Rectangular alignment Image 20: Circular alignment

Page 33: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

33

Troy I :

The most visible and fundamental change was of course to increase the amount of motors,

which demanded a new way of suspension. For so many motor bricks, the old

method of planting them on top of the NXT brick could not be recycled.

Therefore, I fixated them on both sides.

Other than the advantage of gained space and improved accessibility of

the screen and the buttons, another very important aspect has to be taken

into consideration: The power is not transmitted over pinions anymore. Only

one pinion per leg remains and merely serves the purpose of increasing the

radius of circulation. Through the direct attachment of the leg on the motor

brick, friction was eliminated once and for all.

A major concern of mine had been to make use of modularity: While the STARo-

pod generation could not be disassembled, a system this big demanded the possi-

bility to transport the different parts separately. When one wheel broke off from a STARo-

pod, the entire leg system had to be rebuilt and adjusted.

This consumed a lot of time and energy. Therefore, I built

the motor section as a separate part, attached only over

four pins (see image to the right). Thus, stability was still

granted, but the robot could be taken apart in a matter

of seconds. With two separate motor blocks and one NXT

block, transportation caused no more trouble.

With the Troy family, I made great use of all the previous discoveries with the STARopods. I had

learned from my mistakes and designed the entire system before touching a single brick. By

doing so, I gained a lot of time and could make better use of the working time. Fortunately, I

was able to preserve plenty of knowledge and experiences from the robot’s predecessor.

The basic principle of locomotion has been adopted from the “failure” of STARopod II. Because

the legs still did not strike the surface perpendicularly, it resulted in the same flap mechanism.

However, the difference was that this time, the mechanism was used in all legs, so that walking

forwards was achieved by turning the motors backwards. All six feet had their own fixation and

were completely independent from each other, offering the possibility to control them one by

one. Unfortunately, this type of conversion resulted in rather small steps which could not be

lengthened any further, as otherwise this fixation system would not work as intended.

Page 34: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

34

Troy II :

Of course, the first version in this series was never meant to be able to

walk. Commanding three motors with one block, the robot needed to

have another NXT. Luckily, this additional NXT fitted exactly under

the original one and could even be used to adjust the fixation.

A supplementary advantage of this system was the rather low point

of gravity. The two NXT bricks, which make up around 70% of the

total weight of the system, are situated near the ground and form the

centre of the system, therefore granting stability.

When I arrived at testing the robot, it became obvious that the flap-

ping mechanism also had major disadvantages: Because of the fitful and fast movement of

the system in one particular phase, the robot became unbalanced and often fell.

A more advanced construction design which would also increase ground velocity by factors

would require at least six additional motors. This would offer two instead of only one degree

of freedom (see Chapt. 4) and would enable a leg to independently move forward and back-

wards as well as up and down. However, this possibility clearly had to be excluded simply

because of size and weight.

Troy II+ :

For this final version, I slightly increased the stability of the motor block to prevent shifting.

In addition, I added feet to the corner legs to avoid extreme shaking caused by the flap

mechanism. These stands possess a coat of plasticine, which improved slip resistance and

additionally cushioned the impacts and prevented the motors from damage (the same effect

the engineers at the ETH counteracted with springs -> Chapt. 1.3). Previously, the system

tended to slip back a few millimetres due to its plastic material. Because insufficient space

prevented me from adding the equipment to all legs, I simply used abrasive paper to achieve

a similar effect with the middle legs.

Image 22: Two NXTs form one robot

Page 35: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

35

4.3 The final robot & Programming

Look

Page 36: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

36

The code – Basic concept

While I relied on LEGO’s own NXT-G language for the first few prototypes, the Troys needed

to have a more complex solution and therefore required a new and more sophisticated pro-

gramming language. For this task, I chose LeJOS, a Java-based firmware for Lego Mind-

storms. Despite the fact that this so called Java Virtual Machine (JVM) is still under construc-

tion with no stable release (≥ version 1.0) out yet, it is already well built and has an excellent

reputation throughout the community.62

Java is a so-called object-oriented programming language (OOPL) and derives much of its

syntax from the famous C and C++ languages. However, this class-based language is typically

compiled to byte code, which allows it to be run on virtually any device with a JVM on it,

making it one of the most popular programming languages in use.63

The concept I used bases on a master-slave-relationship. While one NXT serves as the mas-

ter, getting all the inputs and orders, the second NXT brick only acts as a transmitter for the

master’s orders to its own motors (in doing so adding three motor outputs to the system).

With LeJOS, this can be managed in two different ways:

1. For each NXT, one separate program is written, adapted to the specific needs. The

master receives information, draws conclusions and sends its orders via Bluetooth to

the slave. This servant receives it as a number code (e.g. 10 for tripod forwards, 11

for tripod backwards, 20 for wave forwards, 100 for left turn et cetera), deciphers the

master’s commands and transmits them to its motors.

2. With LeJOS, a special possibility is opened: Via the java.remote -class, an instance of a

remote NXT can be created. After Bluetooth connection has been established, the

master can access this instance and use it as if the remote NXT’s parts were its own.

This extremely useful feature relies on LEGO’s Communication Protocol (LCP) and en-

ables easy communication. While the master of course needs to run the LeJOS firm-

ware, interaction is possible whether the slave runs yet another LeJOS operating sys-

tem or the original, official NXT software.

Having this opportunity, I chose to concentrate on the second concept. Doing so, a single

program on the master NXT was sufficient to run the robot and a lot of the network and

communication problems that would have occurred otherwise could be delegated down-

wards to the pre-programmed remote code. Constant connection checking and data con-

formation via for example parity bits are omitted.

However, this option is not technically mature yet: The syntax changed multiple times in its

recent history and was therefore hard to understand at first. A further problem was the

flawed programming of this specific class, which caused a large amount of errors and misbe-

haviours: I had to invest a lot of time until I found workarounds to evade serious misfea-

tures. Nevertheless, it could still be observed that a remote leg did not stop turning after

shutting down the system and had to be separated from its electric power supply to do so.

Page 37: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

37

The code – Realisation

While the plain code can be inspected anytime as a part of the “Working Log”, I will shortly

demonstrate the general concept of the program as well as abstract the role of each class.

Please notice that the entire code, including the classes mentioned below, is my own work.

Each Java program consists of different classes, so-called objects. The most important one

among them is the main-class. As its name is indicating, this class forms the central piece of

the document and is the only one that is directly executed (this means if leaving this class

empty, nothing will be implemented). Of course, other classes can be called upon inside it.

Main()-class

When initiated, the program will first write its basic data (i.e. name, creation date et cetera)

and initialise the basic variables. Then, one after the other, it will execute the following four

classes:

RemoteCreate(), zeroing(), GaitEvaluation(), GaitExecution()

RemoteCreate()

In this class, a new object of a java.remote-class will be created, or simpler: A new remote

NXT is born (becoming our slave). When failing, handshake() will be tried once and, if suc-

cessful, another attempt to create a slave will occur.

Handshake()

Here, the connection between the two NXTs is checked. While doing so, the Bluetooth ad-

dress as well as the name of the brick are obtained; if this name is unequal to the expected

one (which means another than the intended NXT is connected), a warning will be shown.

Zeroing()

As the position of the different motors and therefore of their appending legs is unknown

after the start-up, positioning has to be done manually the first time. Each leg can be spun

until it has reached the desired position, which in this case is entirely up.

GaitEvaluation()

As its name implies, the purpose of this class is to enable the operator to choose a gait as

well as the velocity with which the gait will be executed with.

GaitExecution()

Following the decision in GaintEvaluation(), one of the following four classes will be called:

tripod(), tripod2(), wave(), ripple()

This class was mainly created for a possible change to number codes (see previous chapter).

Page 38: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

38

CheckState()

Depending on the chosen gait, the position of the legs has to be preset in a specific way. This

is done by the class at hand: Following the gaitName-variable, a situation is chosen and the

required commands are executed and afterwards checked. If the position could not be set

up correctly, an error will be displayed.

This class plays another important role after an executed curve: By calling it up, the legs are

preset for the subsequent gait, which can then continue as usual.

Tripod()

After the initialisation, handshake() and CheckState() will be executed. Different to all the

other gaits, this one, created by my own, simply commands all legs to go forward() and turn.

Then, it will settle in an infinite loop that will repeatedly call up ErrorEscape().

Tripod2() ; Wave() ; Ripple()

As opposed to the first tripod gait, these classes do not go into an infinite ErrorEscape-mode,

but will begin walking in single steps (via the rotate()-command). After one cycle, ErrorEs-

cape() will be executed, and if no error or escape attempt occurred, it will loop once again

for a new run.

ErrorEscape()

Being one of the most important classes in this program, it has to handle three different

conditions:

1. An error has occurred, because of which the motors do not turn anymore (stalled).

2. The operator intends to stop the program to choose a new gait or to shut the robot

down.

3. The operator orders the robot to make a curve

If the robot needs to stop, GoZero() will be executed and the system will be turned off. If a

curve is intended, curve(int) is called upon and after its completion, the program will be con-

tinued without further delays.

GoZero()

The system tries to reset its legs to the home position. This prevents the need to execute

zeroing() each time the robot is awoken and saves the operator a major expenditure of time.

Curve(int PressedButton)

Depending on which button has been pressed in ErrorEscape(), the system will turn either

right or left. As long as the button is pressed, the curve will be continued by letting the op-

posing outer legs execute one turn (i.e. for example for a right turn m[0] & m[2]), which push

the system into the desired direction.

Page 39: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

39

4.4 Testing and findings

Testing the different gaits

These listed results were taken on the 18.11, the 2.12, the 9.12 and the 16th of December

2012. After the first day, I evolved the system to its final version Troy II+ as I had observed a

shifting of the motor blocks as well as sliding of the plastic components on the table. To pre-

vent these circumstances, I mounted a Plasticine-coating on the corner legs (see Chapt. 4.2 :

Troy II+). Of course, this rendered the data of this day useless as the same conditions must

be maintained during testing.

All measurements are noted in minutes:seconds and describe the time the robot needed to

cover a distance of 50 cm. The velocity describes the number of degrees the motor covered

per second (e.g. 360 means one turn per second).

Velocity Tripod I Tripod II Wave Ripple

50 60 80 90 100 120 150 200 250 300 350

1:55 1:30 1:20 0:50 ; 0:55 1:00 ; 0:45 ; 0:40

2:35 ; 2:45 ; 2:50 1:55 ; 2:10 ; 2:00 1:45 ; 1:50 ; 1:45 1:30 ; 1:20 ; 1:10 ; 1:35

4:30 3:00 ; 3:10 2:45

6:15 3:20 ; 3:00 ; 3:00 2:55 ; 3:10 ; 2:45 2:40

Minimum: 0:40 with 120 d/s 1:10 with 300 d/s 2:45 with 350 d/s 2:40 with 300 d/s

Unfortunately, this table only displays merely half of the total measurements, as especially

with high velocities, the system began to draw curves and had to be guided manually, dis-

torting the results. This happened because of multiple reasons.

The main concern was a drift to the right caused by the weaker remotely-controlled motors

on this side. This effect was amplified by speed, especially when using the wave and ripple

gaits. The right side kept being out-of-phase with the other motor block and constantly

needed correction. As a matter of fact, the dephased motors increased their deviation from

the designated phase the longer they ran, as the effect multiplied itself. Therefore, already a

slightly flawed installation had grievous consequences.

I pin-pointed the problem rather quickly: The remotely controlled legs could not resist the

weight as well as the normal ones and for this reason could not maintain their position. I

assumed that this was a matter of programming: While normal motors are in the stop-mode

and resist any forces trying to displace them, remote motors seemed to be in the second

mode (float). In this state, they allow influencing forces to turn them easily. In order to pre-

vent this outcome, I manually added a motor.stop()-command after each movement to

Page 40: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

40

change the mode. This successfully altered the behaviour at low velocities as the motors

kept their position and at times could even be observed to actively withstand forces (motor

activity is easily heard because of its high-frequency sound). However, this concept failed

with higher velocities and bigger forces.

The real problem lied in the connection between the master (the NXT brick) and the remote-

ly controlled legs. This bond is created through Bluetooth, a very useful and uncomplicated

wireless connection. The downside, however, is that this technology happens to be rather

slow.

In the circle of answer and response between the motor and the master, the following ex-

changes take place:

- The master alerts the slave (remotely controlled NXT) that it needs to know when the motor stops moving (waitComplete()-command).

- The slave receives the notification from the motor that it has finished moving.

- The answer is sent to the master, where the order is given to set the motor into stop-mode (motor.stop()-command).

- This command is received by the slave and transmitted to the motor, which finally fixes its position.

Because all these transitions occur over Bluetooth and further require processing time, the

final execution is delayed by multiple milliseconds. With high speed and larger forces which

immediately influence the motors, this is already enough to bring them out-of-phase and

manipulate the entire locomotion principle.

Another reason for a right drift could be observed exemplarily with the wave

gait. After four feet have moved, the fifth one is coming down, whereby

moving forwards. When it touches the ground and encounters resistance,

the system, standing only on four feet in this moment (coloured in red), is

pushed around in a clockwise manner, resulting in a new position which is

shifted to the right.

Interpretation Because I have been forced to use an extra half cycle to return the legs to their prior position

due to the limitation on six legs, the results for the original tripod as well as wave and ripple

gaits are biased. This could not be avoided, as the system has to reset the position of the

legs and needs to do this with a complete half-turn. With another degree of freedom (added

six motors), this would not have been the case.

Still, it can be clearly shown that, as predicted, my own gait leads the field by far with 40

seconds needed to traverse 50 centimetres. The runner-up gait is the original tripod gait

which needs half a minute more but is also visibly more stable. After the ripple gait which

needed 2:40 minutes, the wave gait forms the tail with a duration of 2:45 for the track.

As the gait with the least problems and very smooth movements, I crown the original tripod

gait the winner as a fast way of locomotion which stays balanced even with higher velocities.

It is therefore no surprise that it is by far the most commonly used one by Mother Nature.

Page 41: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

41

Findings & Conclusion

In the end, I managed to create a finished product with all desired functionalities working

and optimised for a user-friendly handling. The robot is able to walk straight in a stable

manner as well as to perform curves. The desired gait and velocity can be adjusted by the

operator himself and also altered during locomotion.

However, I was not able to implement a remote controlled robot. Even though I had already

started programming for Android, the unreliable LEGO motors prevented further develop-

ment. Because of them, putting an effort into a guidance of the system via integrated sensor

or via a control with Android phones was useless.

It is fascinating to see how the robot developed during the course of this project and how

much I was able to improve it until the last bit fitted and was optimally arranged. I rose to

the challenge and was rewarded with a huge amount of interesting facts and problems: The

three different gaits, the program and the robot itself have to cooperate with each other and

be capable of working as a unit.

Sometimes, there seemed to be no way out and frustration surfaced, but to see a product of

so many hours of work is definitely worth the energy. It was inspiring to have the ability to

work on an own idea for many hours and to seek an own path through the mist. The possibil-

ities to talk with actual scientists and to read others work first-hand created an insight into

engineering that is well worth the effort and, for me, is a great leap forward to a mature

mind.

Acknowledgment

At this point, I would like to use the opportunity to thank the following persons:

Mr. Thomas Roesch, my physics teacher and guardian, for his constant support throughout

the project and his reassuring motivations in times of despair;

Mr. Ganesh Ramanathan from Siemens for his inspiration and encouragements which

founded and sharpened this project and as a helping hand whenever needed. His assistance

allowed me to tackle each problem with the required ease;

Mr. Mark Höpflinger, an electronics engineer at the ETH, for a unique insight into the work

of engineers with their project StarlETH as well as an interesting and inspiring interview;

Mr. Keith Gunura, a researcher at the IRIS (a sub-department of the ETH), for providing assis-

tance for my theoretical research and his tips and tricks which were of great use to me and

founded a strongly needed basis to work upon.

Page 42: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

42

5. Appendix

5.1 Working Log The “Working Log” documents can be found subsequent to this paper.

It contains my personal experiences while working on this paper as well as multiple photos

and the program code. Ways of thoughts as well as decisions are noted in greater depth. All

impressions and thoughts are written down in chronological order, provided with the exact

date. Please note that this document is neither reviewed nor altered after the creation and

simply serves as a display of the working process.

5.2 Visual references

Pictures

Links to all pictures and illustrations can be found in the working log in order to keep this

document as clean as possible.

Image 1: The NXT System................................................................................................................................................................................... 4

Image 2: StarlETH (ETHZ) ................................................................................................................................................................................... 5

Image 3: BigDog (Boston Dynamics) .................................................................................................................................................................. 5

Image 4: LittleDog (Boston Dynamics) .............................................................................................................................................................. 6

Image 5: A tripod ............................................................................................................................................................................................. 10

Image 6: Situation I Situation II Situation III ....................................... 16

Image 7: Original tripod gait ............................................................................................................................................................................ 16

Image 8: Disrupted tripod gait ......................................................................................................................................................................... 16

Image 9: LSM = min(d1,d2) .............................................................................................................................................................................. 18

Image 10: leg stroke R ...................................................................................................................................................................................... 19

Image 11: Influence of β on stability ................................................................................................................................................................ 20

Image 12: Consumption of petrol .................................................................................................................................................................... 24

Image 13: Gait optimum with quadrupeds ..................................................................................................................................... 24

Image 14: 3 degrees of freedom (DOF) ............................................................................................................................................................ 26

Image 15: 5 degrees of freedom ...................................................................................................................................................................... 26

Image 16: STARopod Ia STARopod Ib STARopod IIa STARopod IIb ......................................... 27

Image 17 .......................................................................................................................................................................................................... 27

Image 18: Bending rod ..................................................................................................................................................................................... 30

Image 19: Troy I Troy IIa Troy II+ ......................................................................................... 32

Image 20: Circular alignment ........................................................................................................................................................................... 32

Image 21: Rectangular alignment .................................................................................................................................................................... 32

Image 22: Two NXTs form one robot ............................................................................................................................................................... 34

Video

My very own video: http://www.youtube.com/watch?v=oZAQcp-xGr8

Multiple videos on Youtube show impressive demonstrations of legged locomotion:

iSprawl (Standford): http://www.youtube.com/watch?v=0Rwcxs7LzwM

BigDog (BostonDynamics): http://www.youtube.com/watch?v=cNZPRsrwumQ

BigDog Reflexes (BostonDynamics): http://www.youtube.com/watch?v=3gi6Ohnp9x8

Page 43: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

43

5.3 Text references/ Bibliography For interested readers, I can recommend to take a look at the sources Construction of a Hex-

apod Robot with Cockroach Kinematics [...] which gives a good general overview over gaits,

Physics of the Future which deals with how robots will evolve, as well as Principles of Animal

Locomotion and Design of A [...] Walking Robot: A Review, which informs the reader about

basic concepts of locomotion.

As a starting literature for Java and Object Orientated Programming in general, I can recom-

mend reading the book “Einstieg in Java und OOP” (see Secondary Literature).

At this point, I would like to thank Mr. Pirmin Jans for his help with my evolutionary thesis

(see Endnote Nr. 29) where other professional opinions were not available.

Primary Literature

Byl, Katie: Metastable Legged-Robot Locomotion. Massachusetts: The MIT Press, 2008

Cruse, Holk & Dürr, Volker et al.: Control of Hexapod Walking in Biological Systems. Bielefeld:

University of Bielefeld, 2006

Delcomyn, F. : Insect walking and robotics. Review in Advance (online), 2003, p.51-70

Ferrell, C. : Robust and adaptive locomotion of an autonomous hexapod. Massachusetts: The

MIT Press, 1994

Graham, D. : Pattern and Control of Walking in Insects. London: Academic Press Ltd., 1985

Haynes, G. & Rizzi, A. : Gait and gait transitions for legged robots. Orlando: IEEE, 2006,

p.1117-1122

Jakimovski, Bojan: Biologically Inspired Approaches for Locomotion, Anomaly Detection and

Reconfiguration for Walking Robots. Berlin: Springer, 2011

Kar, D. : Design of Statically Stable Walking Robot: A Review. Mumbay: Wiley, 2011

Pearson, Keir G. : Central programming and reflex control of walking of the cockroach. Ed-

monton, University of Alberta, 1972

Quinn, Roger & Ritzmann, Roy: Construction of a Hexapod Robot with Cockroach Kinematics

Benefits both Robotics and Biology. Connection Science, 1998

Schmitz, J. & Cruse, H. : Behaviour-based modelling of hexapod locomotion: linking biology

and technical applications. Bielefeld: University of Bielefeld, 2004

Siegward, Roland et al.: Introduction to Autonomous Mobile Robots. Massachusetts: The MIT

Press, 2004

Wilson, D. : Insect walking. Berkley: University of California, 1966

Page 44: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

44

Secundary Literature

Kaku, Michio: Physics of the Future. New York: Doubleday, 2011, p.71ff + p.90ff

McNeill, Alexander: Principles of Animal Locomotion. Princeton (NJ): University of Princeton,

2003, p.109-115

Silberbauer, Christian: Einstieg in Java und OOP. Heidelberg: Springer, 2009

Kaufmann, Stephan: Technische Mechanik (ITET). Zurich: ETHZ, 2012

Web links

LEGO MINDSTORMS: http://mindstorms.lego.com/en-us/Default.aspx

LEGO DIGITAL DESIGNER (LDD): http://ldd.lego.com/

STARLETH. http://www.leggedrobotics.ethz.ch/doku.php?id=robots:starleth:starleth

Advameg: MIND VERSUS METAL. http://www.scienceclarified.com/scitech/Artificial-Intelligence/Mind-Versus-Metal.html

Tracy Vilson: HOW COCKROACHES WORK.

http://science.howstuffworks.com/environmental/life/zoology/insects-arachnids/cockroach1.htm

HEXAPODA. http://en.wikipedia.org/wiki/Hexapoda

ARCHNID. http://en.wikipedia.org/wiki/Arachnid

Josef Kunkel: THE COCKROACH FAQ. http://www.bio.umass.edu/biology/kunkel/cockroach_faq.html#Q22

LAW OF PARSIMONY. http://en.wikipedia.org/wiki/Law_of_parsimony

ROACH ANATOMY. http://yucky.discovery.com/noflash/roaches/pg000096.html

GAIT. http://www.britannica.com/EBchecked/topic/223573/gait

GAIT. http://en.wikipedia.org/wiki/Gait

Ian Harrington: SYMPTONS IN THE OPPOSITE OR UNINJURED LEG.

http://www.wsiat.on.ca/english/mlo/symptoms_leg.htm

TERRESTRIAL LOCOMOTION. http://en.wikipedia.org/wiki/Terrestrial_locomotion

LEAPING GAITS. http://en.wikipedia.org/wiki/Leaping_gaits

Oricom Technologies: ANALYSIS OF ROBOT GAITS. http://www.oricomtech.com/projects/leg-time.htm

LEJOS : JAVA FOR LEGOS MINDSTORMS. http://lejos.sourceforge.net/

McGraw-Hill Science & Technology Encyclopedia: TENDON. http://www.answers.com/topic/tendon

PNEUMATIC PRESS VS. HYDRAULIC PRESS. http://www.ehow.com/about_5965356_pneumatic-press-vs_-hydraulic-press.html#ixzz1igoyZCOc

PROS AND CONS OF HYDRAULICS. http://science.howstuffworks.com/transport/engines-equipment/elevator2.htm

THE BEST ENGINEERING QUOTES.

http://www.boardofwisdom.com/default.asp?topic=1005&listname=Engineering

SLICKS. http://de.wikipedia.org/wiki/Slick

COEFFICIENT OF FRICTION. http://www.engineershandbook.com/Tables/frictioncoefficients.htm

Page 45: A Hexapod's Gaits - How a cockroach moves

A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013

45

End notes

The extensive references can be found in the two prior pages (35 – 36).

1 http://mindstorms.lego.com/en-us/Default.aspx [22.01.12] 2 http://ldd.lego.com/ [22.01.12] 3 http://www.leggedrobotics.ethz.ch/doku.php?id=robots:starleth:starleth [24.09.10] 4 http://science.howstuffworks.com/transport/engines-equipment/elevator2.htm [24.01.12] 5 http://www.ehow.com/about_5965356_pneumatic-press-vs_-hydraulic-press.html#ixzz1igoyZCOc [24.01.12] 6 http://www.answers.com/topic/tendon [24.01.12] 7 Byl, 2008 8 http://www.scienceclarified.com/scitech/Artificial-Intelligence/Mind-Versus-Metal.html [21.10.11] 9 Kaku, 2011, p.71ff 10 Schmitz, J. & Cruse, H., 2004 11 Kaku, 2011, p.73/74 12 http://science.howstuffworks.com/environmental/life/zoology/insects-arachnids/cockroach1.htm [19.10.11]

13 Graham, D., 1985 14 Quinn, Roger & Ritzmann, Roy, 1998 15 McNeill, 2003, p.109-115 16 http://en.wikipedia.org/wiki/Hexapoda [11.09.11]; http://en.wikipedia.org/wiki/Arachnid [11.09.11] 17 Cruse, Holk & Dürr, Volker et al., 2006 18 http://www.bio.umass.edu/biology/kunkel/cockroach_faq.html#Q22 [19.10.11]

19 Pearson, 1972 20 http://science.howstuffworks.com/environmental/life/zoology/insects-arachnids/cockroach1.htm [19.10.11] 21 http://www.bio.umass.edu/biology/kunkel/cockroach_faq.html#Q56 [22.01.12] 22 Siegward, 2004 23 Siegward, 2004 24 Kar, 2011 25 Siegward, 2004 26 Quinn, Roger & Ritzmann, Roy, 1998 27 Jakimovski, 2011 28 http://en.wikipedia.org/wiki/Law_of_parsimony [21.10.11] 29 Personal thesis confirmed in a conversation with Mr. Jans, Pirmin [24.10.11] 30 http://yucky.discovery.com/noflash/roaches/pg000096.html [19.10.11] 31 Delcomyn, 2003, p.51-70 32 Siegward, 2004 33 Kar, 2011 34 http://www.boardofwisdom.com/default.asp?topic=1005&listname=Engineering [28.01.12] 35 http://www.britannica.com/EBchecked/topic/223573/gait [17.10.11] 36 http://en.wikipedia.org/wiki/Gait [17.10.11] 37 Graham, 1985 38 McNeill, 2003, p.109-115 39 Cruse, Holk & Dürr, Volker et al., 2006 40 http://www.wsiat.on.ca/english/mlo/symptoms_leg.htm [20.10.11] 41 http://en.wikipedia.org/wiki/Terrestrial_locomotion [21.10.11] 42 http://en.wikipedia.org/wiki/Leaping_gaits [21.10.11] 43 Wilson, 1966 44 Cruse, Holk & Dürr, Volker et al., 2006 45 Haynes, G. & Rizzi, A., 2006, p.1117-1122 46 Ferrell, 1994 47 Wilson, 1966 48 Wilson, 1966 49 http://www.oricomtech.com/projects/leg-time.htm [18.07.11] 50 Kar, 2011 51 Byl, 2008 52 Byl, 2008 53 Kar, 2011 54 Kar, 2011 55 Byl, 2008 56 http://de.wikipedia.org/wiki/Slick [21.02.13] 57 Kaufmann, 2012 58 http://www.engineershandbook.com/Tables/frictioncoefficients.htm [23.02.13] 59 http://www.fahrlehrer-portal.ch/__/frontend/handler/document.php?id=104&type=42 [23.02.13] 60 Schmitz, J. & Cruse, H., 2004 61 Byl, 2008 62 http://lejos.sourceforge.net/ [multiple times, last one 17.12.11] 63 http://en.wikipedia.org/wiki/Java_%28programming_language%29 [17.12.11]