Thursday, August 6, 2009

On feet.

A lot of people ask me, mostly after seeing the robot slipping when trying to walk on smooth tile floors, wouldn't it work better with rubber pads on the feet? The answer has to do with how the robot walks and the kind of materials it's optimized for.

The little walking robot walks by moving its legs in diagonally opposed pairs, where at any time two legs are moving forwards and two are moving backwards. In theory, the two legs moving forwards are off the ground with only the two backwards-moving legs pushing against the ground. In practice, the robot makes no attempt to balance on two legs, so the reality is that while walking one leg will be raised, two will be pushing backwards against the ground, and one will be sliding forwards along the ground. The robot doesn't so much walk as flail at the ground and push itself forwards. It's cheesy, but it works.

Very early versions of the robot had big fat rubber pads for feet. These versions walked fairly well on smooth hard floors, although with a high current draw, but would bog down and get stuck on carpet. The effort to drag the rubber feet across carpet was too much for the weaker servos I was using back then. It wasn't until I tried covering the feet with electrical tape to make them more slippery that the robot was able to walk across carpet well. Traction, as it turned out, was less important than the ability to smoothly and freely move the feet, at least when moving across carpet or other high-friction materials.

The tape-covered rubber pads worked, but were an ugly solution and wore out quickly. I replaced them with hard nylon spheres. These were nearly optimal for walking on carpet, but a second problem arose. The nylon-geared servos broke developed an alarmingly high failure rate. The rubber feet had been cushioning the impacts from walking, and with hard feet I was averaging one blown servo for every ten minutes of walking. I switched to metal-geared servos, which helped but did not eliminate the problem. The latest version has spring-cushioned telescoping shock absorbers in the legs, which seems to be helping with servo reliability.

The optimal foot design depends on the surface walked on. My robot is meant for walking around convention halls, where carpeting is the most common surface. Trial and error has shown me that hard smooth feet work best with the sliding gait the robot uses. It does mean it slips a bit on hard smooth floor, and is especially hard to control when partly on carpet and partly on a hard surface.

No comments:

Post a Comment