Shop OBEX P1 Docs P2 Docs Learn Events
4 Legged robot walking pattern? — Parallax Forums

4 Legged robot walking pattern?

Will__SWill__S Posts: 19
edited 2006-07-25 20:56 in Robotics
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

Comments

  • LSBLSB Posts: 175
    edited 2006-07-25 00:05
    Will,
    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.
  • Beau SchwabeBeau Schwabe Posts: 6,560
    edited 2006-07-25 03:51
    I don't think it needs to be as complex as the back legs knowing what the front legs are doing... I think the front legs could
    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.
  • AImanAIman Posts: 531
    edited 2006-07-25 20:56
    One thought for you - if all you want is the legs to move in synch simply gear everything and then speed up or slow down the drive motors for that side for turns. This is a simple way to get things to work and by staggering what foot goes down first you can get a pretty smooth walk. This method is on some of my simpler robots and is very reliable albeit not very fun in terms of complexity.
Sign In or Register to comment.