4 Legged robot walking pattern?
Does anyone know how to figure out the best way to make a 4 legged robot walk? I have a lynxmotion quad robot, with a psc and sx tech board. I've written a fully functional python program to assist in working out the walking pattern and I can control the servos very easily. The hard part is figuring out the best way to actually make this thing walk. I still beleive my servos may be underpowered, but I also believe that if my walking pattern is efficient it should still be able to get it to walk fairly decently.
I figure the python program will assist in optimizing it, and save me some write cycles before coding it to the sx. Once I have some decent movement I hope to transfer the program so that it can walk un-tethered.
Any ideas or suggestions?
Thanks,
Will
I figure the python program will assist in optimizing it, and save me some write cycles before coding it to the sx. Once I have some decent movement I hope to transfer the program so that it can walk un-tethered.
Any ideas or suggestions?
Thanks,
Will
Comments
I cannot presume to know the best way, but (as no one else has yet taken a stab at it) I would presume there are several gaits suitable to four legs. Since it takes at least three legs to make a stable base, I'd suggest that this would be the place to start. Hmmm... If, while one leg is up traveling forward as the other three are traveling backward in offest positions, that would make a stable gait. Ok, so left front leg moves from full forward postion to 1/3 back as left rear leg moves from 1/3 to 2/3 back. Right front moves from 2/3 back to full back as right rear moves forward a full swing. Now right rear moves from full forward to 1/3 back as left front moves to 2/3 back and left rear moves full back Right front moves up and forward... I think. Trick is the "up" leg has to move fast enough to complete a full swing forward as "down" legs make their partial (1/3) arc.
I think too that if the robot is balanced on big feet, you migt move much faster by moving diagonally opposed legs forward at the same rate opposite pair move back-- in a 'two beat' step.
I'm sure someone will fill in where I've failed-- and there are lots of resources on the web--try: four leg walking gaits or similar.
be in their own closed loop while the back legs could be in their own closed loop as well. Imagine two people carrying a heavy
piece of furniture. The only feedback that each person really needs is that the other person is moving, hopefully in a common
direction.
Now as far as each closed loop (front or back) is concerned... Suppose that the right side begins to "dip" lower than the left,
this would be a signal for the right leg to extend. At this point, the left leg would contract and move forward/backward depending
on direction, and then extend. Opposite is true for the left side, with the main object to remain level. To initialize motion simply
extend a left or right leg and contract the opposite leg while moving it forward/backward before you extend it. In a tight controlled
loop, you should only need to initiate motion from one pair of legs (front or back). The other pair, based on the leveling scheme
mentioned above, should automatically compensate with only knowing the direction being traveled.
Steering could be accomplished with small variations of the front legs having the ability to move left or right before they extend.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.