Character Animation: Dynamic Approaches
• Simulate articulated rigid body system • Feedback and feedforward control • Simple models • Optimal control
Simulation x i Newtonian laws gravity ground contact forces x i +1 . . . ∆ x degrees of freedom actuators
Simulation + Control x i Newtonian laws gravity ground contact forces x i +1 internal forces . . . ∆ x actuators
General framework current state collision handling contact force ODE integration next state
General framework current state Control Forward simulation collision handling contact force Dynamic controller ODE joint torque integration next state
Articulated bodies Maximal coordinates Reduced coordinates x, y, z, θ 0 , φ 0 , ψ 0 ( x 0 , R 0 ) θ 1 , φ 1 ( x 1 , R 1 ) θ 2 ( x 2 , R 2 ) state variables: 18 state variables: 9 • It is more intuitive to control an articulated body system is the reduced coordinates
Forward dynamics • Given current state and joint torques, compute joint acceleration via equations of motion • Compute next state from the joint acceleration via any integration method • What if there’s additional force applied to the system?
General framework current state Control Forward simulation collision handling contact force Dynamic controller ODE joint torque integration next state
Inverse dynamics • Given current state and joint acceleration, compute the joint torques • What if there’s external force applied to the system?
• Simulate articulated rigid body system • Feedback and feedforward control • Simple models • Optimal control
PD servos • A proportional-derivative servo (PD servo) generates torques when current state deviates from desired state τ = k p ( θ d − θ ) − k v ˙ θ • Each joint is actuated by a PD servo to track a desired pose or trajectory • Determine the gains and damping coefficients can be tedious
Tracking motion capture
Feedback control • Problem with feedback control • Motion precision depends on the gain • High-gain feedback controllers are less stable, especially when there is delay • Difficult to tune the gains for complex articulated system
Feedforward control • Feedforward controller executes motor control in a open-loop manner • Explains stereotyped and stylized patterns in movements; consistent with internal model theory • Inverse dynamics on the input trajectory is computed during motor learning
Low-impedance controller • Combine feedforward torques and low-gain feedback controllers • Feedback control is still necessary to deal with small deviations from desired trajectory • Feedforward torques deal with the slowness of the human nervous system • Explains well-trained motion exhibits low joint stiffness
Controlling human motion • Based on feedback or feedforward controls, we can manually construct controllers for human behaviors • Construct a finite state machine based on trial and error, intuition and heuristics, and side- by-side comparisons with video footage
Human model • 17 rigid bodies • 30 controlled dofs • body segment and density from biomechanical data • mass and inertia calculated from polygonal model
Hierarchy of control laws • State machine • Control action • Low level control
Hierarchy of control laws • State machine • Control action • Low level control
Hierarchy of control laws • State machine • Control action • Low level control
Controller framework • A framework for composing controllers • A supervisor controller determines which individual controller to activate • A controller is described by its pre-condition, post-condition, and expected performance
• Simulate articulated rigid body system • Feedback and feedforward control • Simple models • Optimal control
Inverted pendulum • A mass point is attached to a massless rod • Dynamic equation of the simple model θ = g l sin θ + m τ ¨ l 2 • Compute the torque required at the pivot point to maintain a balanced position • For static balance, projection of the mass point must be within the support polygon
Biped locomotion control • SIMBICON • Simple finite state machine • Torso and swing hip control • Balance feedback
Simple state machine • Each state consists of a pose representing target angles • All independent joints are controlled by PD servos • Transitions between states occur after fixed duration of time or foot contact events
Torso and swing-hip control • Both torso and swing-hip have target angles expressed in world coordinates • The stance-hip torque is left as a free variable τ A = − τ torso − τ B
Balance feedback • Swing-hip target angle is continuously modified based on the center of mass • This allows the character to change the future point of support
• Simulate articulated rigid body system • Feedback and feedforward control • Simple models • Optimal control
General framework current state collision torques optimization handling solve joint torques that optimizes task goals and obeys physics ODE joint torque integration next state
Optimal contacts • Maintain balance using sustained frictional contacts with the environment • The character pushes against the environment and uses the resulting force to control its motion • Contact forces are restricted by friction cones
General framework current state collision torques optimization handling solve joint torque that contact force optimizes task goals and obeys physics based on ODE contact information joint torque integration next state
Optimal momentum control • Control changes in linear and angular momenta to control the center of mass and center of pressure simultaneously
Optimal plan • Plan joint torques by optimizing a low-dimensional physical model • To generate the plan, full-body dynamics are approximated by a set of closed-form equations- of-motion
Stochastic optimal control • Automatically learn a robust control strategies under various sources of uncertainty • Use a probabilistic formulation in which all prior beliefs over unknown quantities are modeled by probability distributions • Optimize a controller that maximizes expected return, which is computed by Monte Carlo methods
Recommend
More recommend