Вы находитесь на странице: 1из 45

A Hexapods Gaits How a cockroach moves

or

Evaluation and Implementation of a Hexapods moving mechanisms on the basis of Lego Mindstorms

By Andreas Biri Supervisor: Thomas Roesch Kantonsschule Zug Matura project 2011/2012

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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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 beginning 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 unexpected 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 allrounder. 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 adopting 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 experiences. After its failure, I began with careful planning and structuring. I succeeded in creating a hexapod with LEGO Mindstorms. The robot consists of two LEGO NXT bricks as well as six LEGO motors and is programmed with specialised software called LeJOS, a Java Virtual Machine (JVM). It offers the choice between three different gaits, the so-called tripod, wave and ripple gait. Another implemented feature is curve walking. 3

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

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 introduction 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
Image 1: The NXT System

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 basics 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 rearrangement. Each part can easily be recombined and adjusted if necessary. Hence, experimenting 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 material.

LDD the Lego Digital Designer


LDD2 is a program to visualise and build your own LEGO models in 3D on your personal computer. In this way, your ideas can be saved for further studies and even shared over the Internet. With an add-on, the software can be expanded to include the possibility of constructing models of the Lego Mindstorms robots, which can then be looked at from every desired angle.

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

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 Hpflinger, 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 fourlegged robot, which is capable of fast movements such as running, 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 Image 2: StarlETH (ETHZ) involving rough terrain. Position control is difficult and information about the systems 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. 5

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 Image 3: BigDog (Boston Dynamics) needs inflexible tools to manipulate objects (industrial robots require this stiffness).
A Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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 implementation 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. Hpflinger 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 humans 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 attempted to provide a solution with a high level of flexibility, reliability and correct foot-placement. Then, they were told to manoeuvre a precast
A Hexapods Gaits/How a cockroach moves

Image 4: LittleDog (Boston Dynamics) Andreas Biri / 24.02.2013

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 corresponding object and the robot executed it. As Mr. Hpflinger 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 sections. Being the first one of them, close range data is mainly collected via touch sensors. In medium range, cameras and laser systems such as Microsofts Kinect can be used for orientation. 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 information 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 engineers. 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 behaviour will prevent it from doing so in the future. Already, Quinn and others have done considerable 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 complete.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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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 position 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, cockroaches 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 explained 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 information about an animals 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 particularly 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 sometimes 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 Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

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 executed fairly autonomically without the need for cognition. Normally, we dont 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 intelligence17. 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 requirement, the sub consciousness requires having some autonomy from the brain. Furthermore, the system is not exclusively dealing with biology without any external influences, 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 systems 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 T13) 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 survive 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 instance, 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 similarly 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 implications 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 location.

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

2.3 The advantages of six legs


The wheel was one of the most important developments in human history. Due to this invention, 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.

10

Legs provide mobility and feature a lot more


This is exactly where the huge advantage of legs comes into play: With their great manoeuvrability and adaptability, legs can be used everywhere and anytime. With their several degrees 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 reason, 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 interrupted 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 unable to prevent you from falling. In contrast to the bipedal system of some mammals, a fundamental principle 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. Simultaneously, the other leg(s) is used to form a new tripod and therefore enables the system to advance.24 The only requirement to maintain stability is that the point of gravity always remains inside the triangle.25
A Hexapods Gaits/How a cockroach moves

Image 5: A tripod

Andreas Biri / 24.02.2013

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 finally 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 happens 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 systems ability to keep its payload 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 malfunctioning, hurt or even broken, a quadruped cannot walk anymore. For a hexapod, even two defect 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 mechanically 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 programs, hexapods are a designated tool. Due to their reliability, the NASA and the DARPA ( Defence 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 biologically 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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

11

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. cockroaches cannot perceive red light and are only able to focus on near objects 30). 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 follows: 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 biologists, 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 possibilities 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 fixedwing aircrafts, we are now able to fly like birds. It might be possible that once, the same revolution 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

12

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

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 sequences 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 example, try walking while constantly increasing velocity and you will automatically fall into a trot. 13

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 Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

The transition between stance and swing phase occurs at the so-called anterior extreme position, short AEP, while the posterior transition point is abbreviated as PEP (posterior extreme 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 energyconsuming 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 leftright symmetry; it is rather indicated that the limbs of a pair move together and not in alternation (imagine a jumping kangaroo).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.

14

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 accomplish to make great jumps and therefore need both legs of the hind pair to obtain maximal 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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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 undisturbed 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 number to identify them easily and fast. This numeration is done the following 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 continued 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 motorsRemote).

15

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. Therefore, 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 Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

3.3 The Tripod Gait


The tripod gait46 is far and away the best-known and most commonly used gait when speaking of hexapod walking patterns. Most projects 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 tripod; 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).

16

Image 6:

Situation I

Situation II

Situation III

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.
Image 7: Original tripod gait

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 8: Disrupted tripod gait

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

3.4 The Ripple Gait


Even though not mentioned often, the ripple gait is a useful medium 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 minibeats), 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 forward 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 implemented to return to the original position. Obviously, an animal will not wait and begins a new cycle without any redundant discontinuance.

17

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 impact 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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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 system 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 supporting 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 skipping the pattern and falling. Whereas it is positive on the inside of the support polygon, a negative value indicates an already instable situaImage 9: LSM = min(d1,d2) 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 significance. 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.
A Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

18

The Tripod Gait

The Ripple Gait

The Wave Gait

19 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 linear 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 slower 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 hexapod 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] needed to cover it:
Image 10: leg stroke R

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

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

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 supporting phase, the leg starts accelerating until it reaches the maximal return speed Vmax. 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
(
max

)
max

20

As Vmax 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 Vmax Image 11: Influence of on stability 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
(
max

)
max max

Image 11 clearly shows that the LSM is strongly depending on the gait when moving 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 instabilities. The system is in danger of diving head first into the ground. If the second 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 constant 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. As we will see later on, this was one of the main problems with my own robot whilst in tripod gait. Andreas Biri / 24.02.2013

A Hexapods Gaits/How a cockroach moves

One of the main advantages of the wave gait is its ability to flatten such disruptions and stabilize 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 prevents 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 instability 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: 21

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 maintain 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 maximal 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 gravity 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 depending 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 decreasing 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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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.
h

The angle, at which the system is bound to fall as the point of gravity crosses the PNR, can be calculated as follows:

22 For this approximation, merely one gradient in the direction of walking is considered. If another slope with a tilt to the right or left is influencing the robot, a collapse 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 orthogonal 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 stability. 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 drivers 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 the angle could have been increased to
A Hexapods Gaits/How a cockroach moves

. By simply decreasing the height to .

Andreas Biri / 24.02.2013

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 material in use as well, which creates a torsional moment. However, the force itself can be calculated likewise: | | | |

As the area of contact does not influence the friction, the gait itself is irrelevant when checking 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 Steel / Steel Steel / Ice Steel / Teflon Steel / Lead 58 Aluminium / Aluminium Tyres / Street Ski / Snow Static friction coefficient 0.1 0.5 0.02 0.03 0.04 0.95 1 0.7 0.9 0.1 0.3 Dynamic friction coefficient 0.1 0.4 0.014 0.015 0.04 0.95 1 0.5 0.8 0.04 0.2

23

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 sliding 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 compared 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 abrasion 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. Hpflinger, 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

A very interesting video regarding this topic can be found in the references -> BigDog Reflexes 0:55 1:01
Andreas Biri / 24.02.2013

A Hexapods Gaits/How a cockroach moves

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. Obviously, 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 discussed 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 awareness also include the CO2-output of the car into their calculations. Therefore, by driving efficient 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 increases 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 compensation 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 consumption. 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 animal, it can move between 1 and 8 metres per second. Figure 13 impressively shows that by simply adapting the gait choice to the velocity, the energy can be put to much better use.
A Hexapods Gaits/How a cockroach moves

24

Image 12: Consumption of petrol

Image 13: Gait optimum with quadrupeds

Andreas Biri / 24.02.2013

Please note that the data in Figure 13 corresponds to a four-legged robot and therefore cannot be simply transported to hexapods. Nevertheless, efficiency optimums can be seen everywhere 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 constant 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 acceleration and deceleration such as with the wave gait. As the strain lessens and the movement 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, timing 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 regarded 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:

25

Incorporating both stability and efficiency into a practical robot is certainly the ultimate goal in legged robotics.

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

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 freedom (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 ultimately 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.
Image 14: 3 degrees of freedom (DOF)

26

The moving mechanism

Image 15: 5 degrees of freedom

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 motor. 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.
A Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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.

27

1. The motors should be placed on top of the NXT brick, where space is easily 2.
available and the power can be directly transmitted to the legs. Another advantage of this position is that gravity automatically drags the motor pinion (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 pinions diameter is obliged to be large enough, Image 17 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 robots capacity. Having said that, pinion Nr.1 needs to be as small as possible. Through that, the motor power 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 rotation of the larger pinion, forty jabs need to be moved, requiring five revolutions of the smaller one. Therefore, even though it is slower, the stored energy is five times larger. Because the motors 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 necessary 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 second 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 positioning of the pinions. Of course, this arrangement could not be altered during action and was therefore created specifically for one gait only.
A Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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 neighbours 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.

28

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 legs 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 overturning movement as in the other model; there, the point of gravity had been linearly
A Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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.

29

1.

2.

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

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

The second generation

STARopod IIa :

30 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 directionchanger, 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 began 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 became 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 Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

STARopod IIb :

In an attempt to maximise power transmission and extinct the danger of damaged material through slipping, the small motor pinion was exchanged 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 neighbouring pinions and therefore resisted any upwards forces. This successfully 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:

31

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 movement 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 implement (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 Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

4.2 The Troys

Image 19:

Troy I

Troy IIa

Troy II+

32

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 system 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 simplicity, 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 different approaches to a composition with six legs can be found:

Image 21: Rectangular alignment

Image 20: Circular alignment

For my own system, I decided to use a rectangular alignment, as it can also be found in nature. 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.
A Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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 STARopod generation could not be disassembled, a system this big demanded the possibility to transport the different parts separately. When one wheel broke off from a STARopod, 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 robots 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.

33

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

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 flapping 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 backwards as well as up and down. However, this possibility clearly had to be excluded simply because of size and weight.
Image 22: Two NXTs form one robot

34

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.
A Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

4.3 The final robot & Programming


Look

35

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

The code Basic concept


While I relied on LEGOs 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 programming language. For this task, I chose LeJOS, a Java-based firmware for Lego Mindstorms. Despite the fact that this so called Java Virtual Machine (JVM) is still under construction 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 master, getting all the inputs and orders, the second NXT brick only acts as a transmitter for the masters 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 masters 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 NXTs parts were its own. This extremely useful feature relies on LEGOs Communication Protocol (LCP) and enables easy communication. While the master of course needs to run the LeJOS firmware, interaction is possible whether the slave runs yet another LeJOS operating system 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 downwards to the pre-programmed remote code. Constant connection checking and data conformation 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 misbehaviours: I had to invest a lot of time until I found workarounds to evade serious misfeatures. 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.

36

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

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 successful, another attempt to create a slave will occur. Handshake() Here, the connection between the two NXTs is checked. While doing so, the Bluetooth address 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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

37

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, ErrorEscape() 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 continued 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 opposing 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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

38

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 16 th 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 prevent 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 50 60 80 90 100 120 150 200 250 300 350 Minimum: Tripod I 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

39

Tripod II

Wave

Ripple

6:15

4:30 3:00 ; 3:10 2:45 2:45 with 350 d/s

3:20 ; 3:00 ; 3:00 2:55 ; 3:10 ; 2:45 2:40 2:40 with 300 d/s

0:40 with 120 d/s 1:10 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, distorting 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 prevent this outcome, I manually added a motor.stop()-command after each movement to
A Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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 remotely 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 exchanges 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 stopmode (motor.stop()-command). This command is received by the slave and transmitted to the motor, which finally fixes its position.

40

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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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 development. 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 possibilities 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.

41

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 Hpflinger, 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 assistance 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 Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

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.

42

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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

5.3 Text references/ Bibliography


For interested readers, I can recommend to take a look at the sources Construction of a Hexapod 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 recommend reading the book Einstieg in Java und OOP (see Secondary Literature). 43 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 & Drr, 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. Edmonton, 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 Hexapods Gaits/How a cockroach moves Andreas Biri / 24.02.2013

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-VersusMetal.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

44

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

End notes
The extensive references can be found in the two prior pages (35 36).
1 2

http://mindstorms.lego.com/en-us/Default.aspx [22.01.12] 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 & Drr, 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 & Drr, 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 & Drr, 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]

45

A Hexapods Gaits/How a cockroach moves

Andreas Biri / 24.02.2013

Вам также может понравиться