This may come as somewhat of a shock, but it's pretty apparent that most people, including ourselves, really don't know how to walk. As infants we try our best, struggle a lot, fall down a lot, and try our best to copy what we see others doing. Sooner or later we manage to stand erect and start moving around on two legs. Once we reach the point were we don't have to consciously think about walking, then we stop learning. So, when it comes time for us to teach our robots how to walk we tend to get really frustrated at how difficult the 'simple' task really is.
Since we finished assembling Gulliver, our Kondo KHR-1 based robot, just a couple of weeks ago, we are certainly far from claiming to be 'experts'. Far from it. We're learning new things every day, and constantly revising what we thought we knew before.
At the same time, we really want to document our process and learnings - even if they turn out to be wrong further down the road. Of course, we would like to avoid appearing too stupid in front of everyone, but we don't want our pride or ego to stand in the way of learning either.
So, at the risk of looking completely dumb or lame, we've put together a short list of basic bipedal robot walking principles. These are certainly not original with us. Quite the contrary. They are based on our reading, watching hours (probably days or weeks) of robot competition videos, suggestions and helpful guidance from some of our experienced friends here in Japan and overseas, and our best guesses.
So far, they seem to work fairly well, at least for Gulliver. We suspect, though we have no way to test, that the same approach will work well for other bipedal robots like the Robonova-1, Bioloid, and others.
Here's a simple Flash animation we put together to summarize the walking principles we're using so far:
Many new robot builders seem to assume that the 'home' position is the place that all movements should start and end. Our opinion is that the 'home' position is only a useful point of reference.
It allows movements to be transferred from one robot to another. For example, if you have a KHR-1 adjusted to the proper home position settings and trimmed correctly, then you can download the movement files from the Kondo website and have a pretty good chance that your robot will be able to turn cartwheels and do forward and backward rolls.
However, the recommended home position is not part of a human beings normal walking cycle. We don't walk with our backs straight and with our hips, knees, and ankles locked. We walk with our knees slightly bent. We never lock any of our joints. And, we usually swing our arms back and forth to keep our balance and momentum.
We shift our weight, or center of gravity (COG) back and forth from leg/foot to leg/foot as we move. We tend to keep our upper body (trunk) in a fairly constant orientation relative to the floor and use our lower body and legs to adjust our positioning. We keep the soles of our feet basically parallel to the surface, even when they are in the air.
We also try to keep our COG within the balance area defined by the contact our feel/soles make with the surface. Try to imagine a plumb line (weight on a string) hanging down from your sternum towards the floor. As you walk you will naturally keep the plumb bob (weight) positioned so that you don't tip over.
The most important factor?
Have fun! Make it a learning experience, not an experience in frustration. When you start to have trouble getting your robot to move the way you think it should, stand up and try making the same movement yourself. We've found that it really helps a lot.