Introduction l l Animate human figure on flat solid surface. Has legs, knees, torso, arms, head, hips. Mainly use inverse kinematics with some forward dynamics. Essential element of walking: leg motion
Front View
Side View
States
State 1 – Lift Right Leg
State 1
State 1
State 1 l l When sin ζ = 0, J-1 becomes singular. Avoid singularity by assigning predetermined values to Δθ and Δζ. No singularity – Use regular inverse kinematics. Get frame-by-frame angle increments.
State 2 l Left leg leans forward, right leg steps forward. l Initial position same as final position of State 1.
State 2 – Intermediate Position
State 2 – Final Position
State 2 - Math l l Tip of left leg serves as pivot. Coefficients determined from forward dynamics – moment of inertia.
State 2 - Math
State 3 l l Straighten right leg. Pull left leg forward.
State 3
State 3 - Math l l Inverse kinematics similar to State 2. Method of avoiding singularities also similar to State 2.
l l l States 4 -6 are mirror images of States 1 -3. Once leg motion done, add on torso, head, and arms. Change posture for aesthetics.
Implementation l l C++, Open. GL, GLUT Start in State 0, loop continuously through other states. Code math equations for each state. Inputs: θmax, step size, leg length.
Other Methods l Forward and inverse dynamics – – l Needs physics and biomechanics. More realistic but much more complex. Motion capture – – Subject wears sensors to capture motion data. Or build physical model.