User Tools

Site Tools


ece4560:biped:03com

Bipedal Robot Locomotion: Center of Mass


This week we'll continue building the Biped class and add center of mass (CoM) computations. This will be important to your ultimate goal of planar bipedal walking.

1. Add a new function to your class:

[ pos_com ] = com( obj, a_ref_frame )

This method will compute the center of mass (CoM) position of your biped robot with respect to the TORSO, LEFT_FOOT, or RIGHT_FOOT reference/stance frame (specified by a_ref_frame). The CoM position will additionally change based on the robot's current joint configuration. In order to accomplish this, you'll need to know the mass and CoM position of each individual link, with respect to the frame rigidly attached to that link. We'll assume the mass of the plastic frames, relative to the motors, is negligible; you can assume all mass comprising each link is concentrated at the center of each link's motor. Since the torso link doesn't consist of a motor, it will be massless for the time being. I suggest you create a function similar to set_geometry( … ) (as well as associated class properties) to set the mass and CoM position associated with each link; alternatively, you can just replace set_geometry( … ) with something more general.

Mechanical drawings/specifications associated with the motors and frames being used on your bipeds can be found at:

AX-12A motor specifications

PDF Drawings: AX-12A motor, FP04-F4 plastic frame, FP04-F3 plastic frame and other FP04-* plastic frames

2. Update plotTF( obj ) to additionally plot a marker (eg. green, circled 'X') at the biped's center of mass location.

Pick 3 different joint configurations for your biped. Display a new plot of the biped for each joint configuration, with CoM overlaid. Additionally, ensure the 3 plots cover all stance frames: TORSO, LEFT_FOOT and RIGHT_FOOT (ie. 3 plots total; each plot assumes a different stance/reference frame).

3. Update animateTrajectory( obj, a_time, a_joint_traj ) to also plot the CoM position of your biped over the course of the entire trajectory. As your biped joints and links move, you should see the CoM position of the biped move accordingly.

Replay the 5-10 second long joint trajectory animation you completed last week, but with CoM position overlaid. You only need to do this for a single selection of 'stance' frame.

4. Look-up the term support polygon and describe what it means. How might this concept be important to bipedal 'quasi-static' walking? Given at least one foot of your bipedal robot is in contact with the ground, how would you define the robot's support polygon?


Back Main

ece4560/biped/03com.txt · Last modified: 2023/03/06 10:31 by 127.0.0.1