dynamic controllers - georgia institute of · pdf file · 2014-11-06dynamic...
TRANSCRIPT
Dynamic Controllers
xi
∆x
xi+1
Newtonian lawsgravity
.
.
.
degrees of freedom
ground contact forces
Simulation
equations of motion
Simulation + Controlxi
∆x
xi+1
Newtonian lawsgravity
ground contact forcesinternal 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 stateControl 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)� kdx
Gain and Dampinghigh gain high damping
⌧ = �kp(x� x)� kdx ⌧ = �kp(x� x)� kdx
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 � x
n)� kdxn
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.!
• Adjust the target position to compensate the effect of gravity.
⌧ = �kp(x� x)� kdx
gravity compensated targettarget = desired pose
Stable PD⌧
n = �kp(xn � x
n)� kdxn
⌧
n = �kp(xn+1 � x
n+1)� kdxn+1
x
n+1 = x
n +�tx
n
x
n+1 = x
n +�tx
n
⌧
n = �kp(xn +�tx
n � x
n+1)� kd(xn +�tx
n)
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 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.
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)� kdc
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.
minq,⌧
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 2 Ki
minq,⌧ ,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
lsin ✓ +
⌧
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 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