A key component of our dynamical modeling of the biped is the use of the Reduced Dynamics Algorithm presented in Section of the Appendix. We have already mentioned that because of the contact constraints in phase one and in phase two of walking, we are faced with a differential-algebraic system. Two courses of actions are possible when it is necessary to integrate the dynamics, one being the use of specially tailored integration routines which often require the partial derivatives of the various contact constraints. The preferable approach, however, is to use a reduced unconstrained set of dynamics which evolve on the constraint manifold. Then it is possible to use standard integration procedures.
Recall that one of the primary difficulties of the Reduced Dynamics Algorithms is that the inverse kinematics must be used to solve for the dependent states. For the biped, the first task is to solve for the angle which determines the position of each leg. This is easy since our problem is equivalent to solving for the joint angles of a 2-link manipulator when its endpoints are known.
The following well-known solution comes from Spong and Vidyasagar . In Figure 9 is displayed the inverse kinematics problem. Let and be the desired joint angles, and the lengths of the upper and lower legs respectively, and and two intermediate angles. We assume that one end of the 2-link arm has been transferred to the origin while the other end has coordinates (x,y). From the Law of Cosines,
Also, . In our case, since the knees only bend in one direction, the minus sign is always used so that
Now may be obtained easily from two intermediate angles and . Let the angle while . The final expression for is
The dependent position states then are and .
Now we turn to computing the velocities along the manipulator. The velocities are known at both ends of the 2-link manipulator, so the Collision Algorithm can be used to give the joint velocities uniquely. This is done by initializing the algorithm for a 2-link manipulator with the known spatial velocity at the joint connecting the upper leg and the torso. The joint angles have been previously calculated and the joint velocities are arbitrary as there will only be one solution. The updated velocities will then correspond to the values of the states and .