I am creating a biped robot with an arduino and I have the lower part of the body complete, the legs and hip joints. Before I am going to 3D print the top part of the body I wanted to make sure that it would walk. So when I started the walking tests I could not get the robot to go onto one foot no matter what I tried. The foot would just raise up the body and not lift the other foot here is a picture of what is happening:What is happening

and this is what I want to happen:

What I want to happen

Does it just need more weight on the top or is there a specific sequence of movements that I can do? I have two hip servo that moves left and right, a knee servo and a foot servo that move side to side.


2 Answers 2


You might be able to use the the opposite foot to begin the rotation of your chassis, but it will be dependent on your chassis and foot geometry.

Using your photos for reference, the left foot would push up beginning the chassis rotation, while the right foot would rotate simultaneously. At some point the center-of-gravity (CoG) would shift enough so that the remainder of the chassis rotation could be done only on the right root.

I have a similar robot. It has an extra DoF, but if you ignore the knee joint, it is similar to your design. These pictures show the basic idea.

Exaggerated rotation of opposite foot only:

Exaggerated Pose

Rotation of both feet simultaneously:

Normal Pose

Whether or not this will work for you is dependent on a few things:

  1. If your legs are too far apart (hip too wide), then this might not work because the opposite foot will never be able to help shift CoG enough that the primary foot can take over and keep balance.
  2. Your foot joint location and geometry must be such that it can initiate enough of the rotation.
    • Consider that you can rotate the opposite foot in either direction to start the shift, and if the joint is not centered on the foot, then the direction you rotate the foot will change the amount of much leverage available to that foot.
  3. Your opposite foot servo must have enough power to begin the chassis rotation by lifting a portion of the machine.

You got the second picture by physically manipulating the robot to get the center of mass above the rotated foot. What you need to do is to get the robot to shift its own center of mass in a similar fashion.

You should do some research into support polygons. The center of mass of the robot is not above the polygon made by the contact area between the foot and ground. In order to shift the center of mass that far, I think you'll find that you need to move the hip joints and ankle joints in tandem to shift the floor-leg-hip-leg quadrilateral from a rectangle to a parallelogram, or you'll need to make one leg shorter (e.g., bend the knee) to shift the same quadrilateral to a trapezoid.

Once the center of mass is above the foot, then you can take corrective/restorative action to finish in the pose you desire. For example, you would roll one ankle out and adduct the hip on the same leg, while simultaneously rolling the other ankle in and abducting that hip. Once the center of mass is over the foot, put the hips back in position, then put the other ankle back in position.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.