Dynamic Controllers
Simulation x i Newtonian laws gravity ground contact forces x i +1 . . . ∆ x degrees of freedom equations of motion
Simulation + Control x i Newtonian laws gravity ground contact forces x i +1 internal forces . . . ∆ x actuators
An Uncontrolled System current state collision handling contact force dynamic simulator next state
A Controlled System current state Control Forward Simulation collision handling contact force dynamic controller dynamic joint torque simulator next state
Feedback vs Feedforward • Feedback control takes account of the current state to adjust the output. � • Feedforward control applies a pre-defined signal without responding to the current state of the system.
General Controllers
PD Servo • Use proportional-derivative (PD) controllers to compute joint torques. � • Each joint is actuated by a PD servo to track a desired pose or trajectory τ = − k p ( x − ¯ x ) − k d ˙ x
Gain and Damping high gain high damping τ = − k p ( x − ¯ x ) − k d ˙ τ = − k p ( x − ¯ x ) − k d ˙ x x
Problems with PD Servos • Gain and damping coefficients are difficult to determine for complex articulated systems. � • High-gain feedback controllers are less stable. � • Precision and stability are often in conflict.
Track a Trajectory • Can track a sequence of poses by varying the target pose over time. � • Tuning coefficients is even harder when tracking a time sequence. τ n = − k p ( x n − ¯ x n ) − k d ˙ x n x n ¯ t
Tracking Mocap Motion Capture-Driven Simulations That Hit and React by Zordan and Hodgins
Gravity Compensation • PD control never achieves the desired joint value under gravity. � τ = − k p ( x − ¯ x ) − k d ˙ x • Adjust the target position to compensate the effect of gravity. target = desired pose gravity compensated target
Stable PD τ n = − k p ( x n − ¯ x n ) − k d ˙ x n Instead of tracking current pose τ n = − k p ( x n +1 − ¯ x n +1 ) − k d ˙ x n +1 track next pose x n +1 = x n + ∆ t ˙ x n x n +1 = ˙ x n + ∆ t ¨ x n ˙ τ n = − k p ( x n + ∆ t ˙ x n + ∆ t ¨ x n − ¯ x n +1 ) − k d ( ˙ x n )
Stable PD
Stable PD
Feedforward Control • Feedforward controller executes motor control in an open-loop manner. � • Inverse dynamics on the input trajectory is computed during motor learning. � • Explains stereotyped and stylized patterns in movements; consistent with internal model theory.
Internal Model Feedforward control, based on an internal model of the motor system and memory of object properties, is used to specify motor commands in advance of the movement.
Low-Impedance Control • 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 latency in the dynamic system. � • Explains well-trained motion exhibits low joint stiffness.
Jacobian Transpose Control • How much torque does each joint need to exert in order to result in force f at point p ? � • Use Jacobian matrix to map the force in the Cartesian space to joint torques. τ = J ( q , p ) T f point of application: p desired force: f
Generalized Force • The virtual displacement of r i can be written in terms of generalized coordinates � � δ r i = ∂ r i δ q 1 + ∂ r i δ q 2 + . . . + ∂ r i δ q n ∂ q 1 ∂ q 2 ∂ q n � • The virtual work of force F i acting on r i is ∂ r i � F i δ r i = F i δ q j ∂ q j j
Functional Controllers
Construct a Complex Controller • Build on top of basic control mechanisms to control more complex behaviors. � • Organize basic controllers in a hierarchical structure. � • Use a finite state machine to switch between different controllers.
State Machine Controller • State machine � • Control action � • PD servos
State Machine Controller • State machine � • Control action � • PD servos
State Machine Controller • State machine � • Control action � • PD servos
State Machine Controller
Standing Balance • For static balance, projection of the mass point must be within the support polygon. � • Use hip strategy or ankle strategy to maintain balance. τ = − k p ( c − ¯ c ) − k d ˙ c applied at ankle or hip
DEMO • Balance App in DART
Optimal Torques • Formulate an optimization to solve for motion and torque (sometimes contact force as well). � • Use equations of motion as constraints to ensure physical realism. � • Objective function could be defined by task goals, energy expenditure, or aesthetics preferences.
Challenges in Optimization min q , τ E ( q , τ ) subject to M ( q )¨ q + C ( q , ˙ q ) + G ( q ) = τ • Can’t handle contacts. � • Constraint is highly nonlinear in q. � • Domain is high dimensional.
Contact Constraints • Maintain balance using sustained frictional contacts with the environment. � • The character pushes against the environment and uses the resulting force to control its motion. q , τ , f E (¨ min q , τ , f ) ¨ q ) + G ( q ) = τ + J T f subject to M ( q )¨ q + C ( q , ˙ f i ∈ K i
Contact Constraints
Momentum Constraints • Control changes in linear and angular momenta to regulate the center of mass and center of pressure simultaneously.
Momentum Constraints
Balanced Locomotion • Use a simplified model to explain complex dynamic balance. � • An inverted pendulum is a mass point attached to a massless rod. � • Dynamic equation of the simple model: � τ θ = g ¨ l sin θ + � ml 2 • Compute the torque required at the pivot point to maintain a balanced position.
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
DEMO • SIMBICON demos
Low-dimensional Control • 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
Recommend
More recommend