Dynamic Controllers Simulation x i Newtonian laws gravity ground - - PowerPoint PPT Presentation
Dynamic Controllers Simulation x i Newtonian laws gravity ground - - PowerPoint PPT Presentation
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 .
xi ∆x
xi+1
Newtonian laws gravity
. . .
degrees of freedom
ground contact forces
Simulation
equations of motion
Simulation + Control
xi ∆x
xi+1
Newtonian laws gravity ground contact forces internal forces
. . .
actuators
An Uncontrolled System
dynamic simulator collision handling contact force next state current state
A Controlled System
dynamic simulator dynamic controller collision handling contact force joint torque next state current state Control Forward Simulation
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
τ = −kp(x − ¯ x) − kd ˙ x
Gain and Damping
high gain high damping
τ = −kp(x − ¯ x) − kd ˙ x τ = −kp(x − ¯ x) − kd ˙ 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 = −kp(xn − ¯ xn) − kd ˙ xn
¯ xn 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.
- Adjust the target position to compensate the
effect of gravity.
τ = −kp(x − ¯ x) − kd ˙ x
gravity compensated target target = desired pose
Stable PD
τ n = −kp(xn − ¯ xn) − kd ˙ xn τ n = −kp(xn+1 − ¯ xn+1) − kd ˙ xn+1 ˙ xn+1 = ˙ xn + ∆t¨ xn xn+1 = xn + ∆t ˙ xn τ n = −kp(xn + ∆t ˙ xn − ¯ xn+1) − kd( ˙ xn + ∆t¨ xn) Instead of tracking current pose track next pose
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
- bject 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.
desired force: f point of application: p
τ = J(q, p)T f
Generalized Force
- The virtual displacement of ri can be written in
terms of generalized coordinates
- The virtual work of force Fi acting on ri is
δri = ∂ri ∂q1 δq1 + ∂ri ∂q2 δq2 + . . . + ∂ri ∂qn δqn
Fiδri = Fi
- j
∂ri ∂qj δqj
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.
applied at ankle or hip τ = −kp(c − ¯ c) − kd ˙ c
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
- Can’t handle contacts.
- Constraint is highly nonlinear in q.
- Domain is high dimensional.
min
q,τ E(q, τ)
subject to M(q)¨ q + C(q, ˙ q) + G(q) = τ
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.
fi ∈ Ki min
¨ q,τ,f E(¨
q, τ, f) subject to M(q)¨ q + C(q, ˙ q) + G(q) = τ + JT f
Contact Constraints
Momentum Constraints
- Control changes in linear and angular momenta
to regulate the center of mass and center of pressure simultaneously.
Momentum Constraints
- 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:
- Compute the torque required at the pivot
point to maintain a balanced position.
Balanced Locomotion
¨ θ = g l sin θ + τ ml2
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
- ccur 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
- n 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
- ptimizing a low-dimensional
physical model
- To generate the plan, full-body
dynamics are approximated by a set of closed-form equations-of-motion