= Add gait = From my point of view, implementing gaits is certainly the most tricky part of multi-legs robot programming. Let me explain why. Unlike wheels-based robots, feet can't slip on the ground, and must be lifted, moved, and put again on the ground in a certain order at a certain speed. This is what we call a '''gait'''. For each foot (or group of feet) of the robot, there are two phases: the '''swing''' phase (transfer), and the '''stance''' phase (support). The gait defines the order of changing between these phases, and computes all successive feet positions so the robot follows the wanted trajectory. There are many papers describing gaits, mostly found from insects studies. For 6-legs robots, '''tripod''', '''tetrapod''', '''ripple''' and '''wave''' are the most common ones (there are many site showing them). These gaits are called ''periodic'', as they reproduce the same pattern over and over. Well, not exactly... Usually, when we switch on a multi-legs robot, all legs are at ''neutral'' position: all feet are grounded, and all coxa are in mid-position. This is similar for us humans when we don't walk: our feet are side by side. But when a robot (or a human) is walking, its feet never reach that neutral position (try to walk this way, you will understand why!). So, there are special sequences to do when starting or stopping. For a 2-steps gait (like the tripod gait of an hexapod), this is easy to do: the group of swinging legs directly reaches it's target position from neutral, while the groups of stancing legs move back at the same time of the same amount, because they have the same distance to move. For gaits with a higher number of steps, this can't be done anymore! Let's see on a graph (only 1 complete step shown): (insert image) Here, swinging phases are shown by dashed rising lines, stancing phases are show by plain falling lines. We clearly see that except for the tripod gait, the feet are never at neutral position all at the same time. So, before reaching the periodic cycle, we need to use a start sequence. And to quit the periodic cycle, we need to use a stop sequence, to return to neutral. These sequences are never mentioned in the papers talking about gaits: they where described by Edgar, a friend of mine, who helped me to solve this problem. Here is the current implementation of these start/stop sequences in '''Py4bot''': (insert image). As you see, we use a swing phase for the legs out of phase in order to put them in the correct positions. Then, periodic cycle can be used. A better implementation I'm currently working on is this one: (insert image) Here, the start/stop sequences are shorter.