momentum control for balance
We demonstrate a real-time simulation system capable of automatically balancing a standing character, while at the same time tracking a reference motion and responding to external perturbations. The system is general to non-human morphologies and results in natural balancing motions employing the entire body (for example, wind-milling). Our novel balance routine seeks to control the linear and angular momenta of the character. We demonstrate how momentum is related to the center of mass and center of pressure of the character and derive control rules to change these centers for balance. The desired momentum changes are reconciled with the objective of tracking the reference motion through an optimization routine which produces target joint accelerations. A hybrid inverse/forward dynamics algorithm determines joint torques based on these joint accelerations and the ground reaction forces. Finally, the joint torques are applied to the free-standing character simulation. We demonstrate results for following both motion capture and keyframe data as well as both human and non-human morphologies in presence of a variety of conditions and disturbances.
physics-based animation character animation