Control Systems for Human Running using an Inverted Pendulum Model and a Reference Motion Capture Sequence
Taesoo Kwon, Jessica K. Hodgins
The ACM SIGGRAPH / Eurographics Symposium on Computer Animation (SCA 2010) (2010)
teaser

{Physical simulation of characters is often proposed as a way to generate motion for interactive applications. A simulated character has the potential to adapt to changing terrain and disturbances in a realistic and robust manner. In this paper, we present a balancing control algorithm based on a simplified dynamic model, an inverted pendulum on a cart. The simplified model lacks the degrees of freedom found in human models, so we analyze a captured reference motion in a preprocessing step and use that information about human running patterns to supplement the balance algorithms provided by the inverted pendulum. At run-time, the controller plans a desired motion at every frame based on the current estimate of the pendulum state and a predicted pendulum trajectory. By tracking this time-varying trajectory, our controller creates a running character that dynamically balances, changes speed and makes turns. The initial controller can be optimized to further improve the motion quality with an objective function that minimizes the difference between a planned desired motion and a simulated motion. We demonstrate the power of this approach by generating running motions at a variety of speeds (3m/s to 5m/s), following a curved path, and in the presence of disturbance forces.

Taesoo Kwon, Jessica K. Hodgins (2010). Control Systems for Human Running using an Inverted Pendulum Model and a Reference Motion Capture Sequence. The ACM SIGGRAPH / Eurographics Symposium on Computer Animation (SCA 2010).

@article{ Taesoo:2010:SCA,
author = "Taesoo Kwon and Jessica K. Hodgins",
title = "Control Systems for Human Running using an Inverted Pendulum Model and a Reference Motion Capture Sequence",
year = "2010",
journal = "The ACM SIGGRAPH / Eurographics Symposium on Computer Animation (SCA 2010)",
},
links = "http://graphics.cs.cmu.edu/projects/run_control_IPM",
}