A Hexapod's Gaits - How a cockroach moves
-
Upload
andreas-biri -
Category
Documents
-
view
139 -
download
2
description
Transcript of 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
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.
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.
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.
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)
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)
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.
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
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.
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
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
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
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.
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,
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.
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
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.
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)
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
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
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
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
ϕ
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
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
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.“
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)
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.
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
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.
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
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.
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
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.
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
A Hexapod’s Gaits/How a cockroach moves Andreas Biri / 24.02.2013
35
4.3 The final robot & Programming
Look
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.
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).
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.
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
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.
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.
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
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
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
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]