lecture 3 intro to posture control working with dynamic models
TRANSCRIPT
The need for Posture Controllers
Joint Controllers (PD)• Generate voltage to
produce desired torque/speed
• Move links to follow generated path
Posture Controllers• Compensates for non-
idealities: Vibration Compliance in joints and
limbs Changes in mass distribution Force/torque disturbances Changes to the mathematical
model
Landing Controllers
What must be controlled?
• Angular momentum• Landing Impact Force• Landing timing• Uneven foot placement
How it’s done• Apply torque at ankle
during landing • Deflect knee joint to create
virtual shock absorber• Extend or retract landing
leg to change cycle timing• Add delay to walking cycle
until landing is achieved,
Keeping the Torso Vertical
• Tilted floors introduce pitch/roll error
• Need independent orientation data
• Correct with simple PI control to ankles/knees
d
lluu LRanklerollankleroll
1tan
Impact Force Reduction• Prescribe knee deflection as
ideal mass-spring-damper• Determine maximum
allowable force• Determine total landing
time dt• Apply 2 constraints to
determine ideal k, c
Types of Modeling Tools
AutoLev• Script-based• Can produce Inverse
Kinematics, Equations of motion, and PID control
• Relies on external solver (Matlab or C)
ADAMS• GUI based dynamics
simulation• Uses predefined joints and
rigid bodies to build system• Simulates system based on
a specified input• Difficult to interface with
external software packages
What do we model?
Should be included• Large and heavy bodies• Joints with motors• Compliant joints
virtual spring and damper
Can be sometimes be ignored • Flexure of structure under
low stress / low frequency excitement
• Lump small masses• Ignore small inertia
contributions
Joint design for Inverse Kinematics
• Need to be able to describe limbs in terms of end position
• Ball joints at hip and ankle require Euler angles
• Use gimbal joints to simplify description
2
1
Modeling Procedure
• Define rigid bodies (geometry, mass, inertia)• Define any extra reference frames• Describe geometric relationships between
bodies/frames• Define p, v, a for each mass center• Define θ, ω, α for each body• Define applied forces/torques• Use Kane’s method to produce equations of motion
Validate the model
Zero Input Behavior• Intuitive behavior:
Collapse due to gravity Swing infinitely with no
applied damping Settle with damping at joints
Static Equilibrium• Multiple inverted pendulum
has equilibria at: qi=0, all links vertical q1=pi, qi=0, (i=2..n) (All links hanging)
Equilibria w/ static Torque• Apply torque at each joint
to balance weight
T1(t)
T2(t)
T3(t)
Add PD Control to joints
Proportional Control
• Define error qerri
• Compare to reference ri
• Increase proportional gain to improve trajectory tracking
Derivative Control
erripi
iierri
qkT
qrq
,
,
• Define error qerri
• Compare to reference ri
• Increase derivative gain to damp overshoot
erripi
iierri
qkTdt
qrdq
,
,
Inputs and Initial conditions
Initial Conditions• Initial angles and velocities
must be valid• AL: Solve initial conditions
using nonlinear eq. solver• (See IC example)
Input from Inverse Kinematics• # ref inputs = #
Independent system DOF• Use IK to translate
trajectories into ri
• (see IK example )
Boundaries
• Work envelope limits possible trajectories• Choose desired trajectory within work envelope
Model Update: Taking a step
Double Support (3D)
Necessary conditions at switch time TPD(T)=PS(T)
VD(T)=VS(T)
Very simple - No collision dynamics
Single support (3D)
0),cos(),(
),sin(),(
0,0,0
0,,
3
3
00
tAtrv
htAtrp
v
yxp
hipD
N
hipD
N
footD
N
footD
N
0),cos(),(
),sin(),(
)(),(),(
)(),(),(
3
3
111
111
tAtrv
htAtrp
tztytxv
tztytxp
hipS
N
hipS
N
footS
N
footS
N