lecture 3 intro to posture control working with dynamic models

18
Lecture 3 Intro to Posture Control Working with Dynamic Models

Upload: lawrence-watts

Post on 14-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Lecture 3

Intro to Posture ControlWorking with Dynamic Models

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

Angular Momentum compensation

• Desired angular momentum• Compensate by applying

angular impulse

Dynamic Modeling

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

Simplification of Hubo

Actual Hubo Simplified model (10 DOF)

LLL

LUL

TSO

RLL

RUL

LFTRFT

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

Model Update: Foot Landing

Single Support (3D)

Necessary conditions @ TPS(T)=PD(T)

VS(T)≠VD(T)

HS(T)=HD(T)

Vi,n=0

Double support (3D)

0,0,0

0,, 00

footD

N

footD

N

v

yxp

)(),(),(

)(),(),(

111

111

tztytxv

tztytxpfootS

N

footS

N

1v

tv ,1

nv ,1

tt vv ,1,2

0,2 nv