Feedback control of humanoid robots: balancing and walking Dr.-Ing. - - PowerPoint PPT Presentation

feedback control of humanoid robots balancing and walking
SMART_READER_LITE
LIVE PREVIEW

Feedback control of humanoid robots: balancing and walking Dr.-Ing. - - PowerPoint PPT Presentation

Feedback control of humanoid robots: balancing and walking Dr.-Ing. Christian Ott German Aerospace Center (DLR) Institute for Robotics and Mechatronics DLR 02/05/2012 1 Overview Part 0: Short overview of (biped robots at) DLR Part I:


slide-1
SLIDE 1

1 DLR 02/05/2012

Feedback control of humanoid robots: balancing and walking

Dr.-Ing. Christian Ott German Aerospace Center (DLR) Institute for Robotics and Mechatronics

slide-2
SLIDE 2

Folie 2

Overview

Part 0: Short overview of (biped robots at) DLR Part I: Modeling Part II: Balancing Part III: Walking Control

slide-3
SLIDE 3

Folie 3

German Aerospace Center (DLR)

National research laboratory Part of the Helmholtz association Research fields:

  • aerospace,
  • space technologies,
  • energy and traffic

~6300 researchers 13 locations 29 institutes

Institute of Robotics and Mechatronics: Former director: Prof. Hirzinger Director: Prof. Albu-Schäffer

slide-4
SLIDE 4

Folie 4

Institute of Robotics & Mechatronics

LBR-II 1999/2000 ROKVISS 2007-2010 LBR-I,199x

Space Robotics Manipulation

ROTEX 1993 GETEX ESS

Torque sensors at the power output after the bearings Torque sensors after the gears, but before the last bearings Modular design, load/weight ratio ~ 1:1

LBR-M, 2003

Commercial torque controlled arm (KUKA)

slide-5
SLIDE 5

Compliant Manipulation

Joint torque sensing & control for manipulation

Robustness: Passivity Based Control Performance: Joint Torque Feedback (noncollocated)

Motor Dynamics Rigid-Body Dynamics Torque Control Environ- ment Compliance Control

ext

 q  u

m

slide-6
SLIDE 6

Compliant Manipulation

Robustness: Passivity Based Control Performance: Joint Torque Feedback (noncollocated)

Motor Dynamics Rigid-Body Dynamics Torque Control Environ- ment Compliance Control

ext

 q  u

m

slide-7
SLIDE 7
slide-8
SLIDE 8

Folie 8

2009-2013

Anthropomorphic Hand-Arm System [Grebenstein, Albu-Schäffer et al, Humanoids 2010]

  • Compliant actuation
  • Antagonistic actuation for fingers
  • Variable stiffness actuation in arm
  • Robustness to shocks and impacts

Biped Robot Joint torque sensing & control for manipulation

slide-9
SLIDE 9

Folie 9

Bipedal Walking Robots at DLR

DLR-Biped (2010-2012) TORO, preliminary version (2012) TORO (2013) TOrque controlled humanoid RObot

  • Drive technology of the DLR arm

 Allow for position controlled walking (ZMP) and joint torque control!

  • Small foot design: 19 x 9,5 cm
  • Sensors:
  • joint torque sensors
  • force/torque sensors in the feet
  • IMU in the trunk
slide-10
SLIDE 10

Folie 10

First experiments with DLR-Biped

First experiment at Automatica Fair in 06-2010: ZMP preview control [Kajita, 2003] Current approach: Walking control based on the Capture Point [Englsberger, Ott, Roa, et al. IROS 2011]

slide-11
SLIDE 11

Folie 11

TORO

slide-12
SLIDE 12

Folie 12

Overview

Part I: Modeling

  • Multibody dynamics
  • ZMP
  • Simplified models for control
  • Capture Point
  • Centroidal Moment Pivot

Part II: Balancing Part III: Walking Control

slide-13
SLIDE 13

Models of Legged (Humanoid) Robots

Multi-Body-Models Conceptual Models Fixed Base Models (predefined contact state) Floating Base Models Walking Running Dynamical Models (Mechanical) Complexity Specialization

slide-14
SLIDE 14

Free-Floating vs. Fixed Base Models

Fixed base models In each contact state the model is different:

  • Single support (right, left)
  • Double support
  • Heel Off
  • Toe Touch Down

Transition between contact states double support

  • ver-contrained

single support serial kin. chain Free-floating model

Components:

  • Lagrangian dynamics
  • Constraints due to contact forces
  • Transition equations (impacts)

underactuated

slide-15
SLIDE 15

Folie 15

Free-Floating vs. Fixed Base Models

Fixed base models In each contact state the model is different:

  • Single support (right, left)
  • Double support
  • Heel Off
  • Toe Touch Down

Transition between contact states double support

  • ver-contrained

single support serial kin. chain Free-floating model

Components:

  • Lagrangian dynamics
  • Constraints due to contact forces
  • Transition equations (impacts)

underactuated Planning & control must ensure that the considered contact state is valid!

 ground reaction force must fulfill constraints

slide-16
SLIDE 16

Configuration Space

) 3 ( SE Hb 

Q q

n

1 1 1

S S S T n      Configuration Space: ) 3 ( SE Q

slide-17
SLIDE 17

Configuration Space

) 3 ( SE Hb 

Q q

n

1 1 1

S S S T n      Configuration Space: ) 3 ( SE Q Using local coordinates:

n 

6

 

6

 

b

x

slide-18
SLIDE 18

Folie 18

Modeling

 

) 3 (

6

se Fext   

ext T F

q J q g q q q C q q M ) ( ) ( ) , ( ) (           , q

slide-19
SLIDE 19

Folie 19

Modeling

ext

F

ext T F

q J q g q q q C q q M ) ( ) ( ) , ( ) (         

ext

F  , q

6

 

b

x

6

 

b

F

slide-20
SLIDE 20

Folie 20

Modeling

ext

F

ext T F

q J q g q q q C q q M ) ( ) ( ) , ( ) (         

ext

F

ext T T b b b b b b qx xq x

F q J q J F q x g q x q x q C q x q M q M q M q M                                         ) ( ) ( ) , ( ) , , ( ) ( ) ( ) ( ) (           , q

6

 

b

x

6

 

b

F

slide-21
SLIDE 21

Folie 21

Modeling

ext

F

ext T F

q J q g q q q C q q M ) ( ) ( ) , ( ) (         

ext

F

ext T T bt b sb b b qb bq b

F q J q Ad W q H g q q q C q q M q M q M q M                                         ) ( ) ( ) , ( ) , , ( ) ( ) ( ) ( ) (           , q ) 3 ( ) 3 ( se x SE H x

b sb b

     

body twist Global representation!

slide-22
SLIDE 22

Folie 22

Modeling

ext

F

r

F

l

F         

l r

q q q

6

 

b

x

slide-23
SLIDE 23

Folie 23

Modeling

ext

F

r

F

l

F

l T l T bl r T r T br b b b b qx xq x

F q J q J F q J q J q x g q x q x q C q x q M q M q M q M                                                        ) ( ) ( ) ( ) ( ) , ( ) , , ( ) ( ) ( ) ( ) (                  

l r

q q q

6

 

b

x

slide-24
SLIDE 24

Folie 24

Bipedal Robot Model

r

F

l

F

l T l T bl r T r T br b b b b qx xq x

F q J q J F q J q J q x g q x q x q C q x q M q M q M q M                                                        ) ( ) ( ) ( ) ( ) , ( ) , , ( ) ( ) ( ) ( ) (                  

l r

q q q

6

 

b

x

Properties for control:

  • Underactuated
  • Varying unilateral constraints

(single support, double support, edge contact)

  • Constraints on the state & control
slide-25
SLIDE 25

Folie 25

                  

l T l T bl r T r T br b b b b qx xq x

F q J q J F q J q J q x g q x q x q C q x q M q M q M q M                                                        ) ( ) ( ) ( ) ( ) , ( ) , , ( ) ( ) ( ) ( ) ( 

p

f

p

p

c Mg

                                           

l r í i T i

F q J I u Mg q q C q c q M M

,

) ˆ ( ) ˆ , ˆ ( ˆ ˆ ) ( ˆ                p         q  ) , (  c

b

x

Bipedal Robot Model

slide-26
SLIDE 26

Folie 26

                  

l T l T bl r T r T br b b b b qx xq x

F q J q J F q J q J q x g q x q x q C q x q M q M q M q M                                                        ) ( ) ( ) ( ) ( ) , ( ) , , ( ) ( ) ( ) ( ) ( 

p

f

p

p

c Mg

                                           

l r í i T i

F q J I u Mg q q C q c q M M

,

) ˆ ( ) ˆ , ˆ ( ˆ ˆ ) ( ˆ                p         q 

 

l r i i

f Mg c M

,

  ) , (  c

b

x

Conservation of momentum:

Bipedal Robot Model

slide-27
SLIDE 27

Folie 27

                  

l T l T bl r T r T br b b b b qx xq x

F q J q J F q J q J q x g q x q x q C q x q M q M q M q M                                                        ) ( ) ( ) ( ) ( ) , ( ) , , ( ) ( ) ( ) ( ) ( 

p

f

p

p

c Mg

                                           

l r í i T i

F q J I u Mg q q C q c q M M

,

) ˆ ( ) ˆ , ˆ ( ˆ ˆ ) ( ˆ                p         q 

 

l r i i

f Mg c M

,

  ) , (  c

b

x

  

i

Mg c L  

Conservation of angular momentum: Conservation of momentum:

Bipedal Robot Model

slide-28
SLIDE 28

Folie 28

                  

l T l T bl r T r T br b b b b qx xq x

F q J q J F q J q J q x g q x q x q C q x q M q M q M q M                                                        ) ( ) ( ) ( ) ( ) , ( ) , , ( ) ( ) ( ) ( ) ( 

p

f

p

p

c Mg

                                           

l r í i T i

F q J I u Mg q q C q c q M M

,

) ˆ ( ) ˆ , ˆ ( ˆ ˆ ) ( ˆ                p         q 

 

l r i i

f Mg c M

,

  ) , (  c

b

x

  

i

Mg c L  

Conservation of angular momentum: Conservation of momentum: On a flat ground:

) ( Mg c M p Mg c L

p

         

Bipedal Robot Model

p p

f p     

slide-29
SLIDE 29

Folie 29

                  

l T l T bl r T r T br b b b b qx xq x

F q J q J F q J q J q x g q x q x q C q x q M q M q M q M                                                        ) ( ) ( ) ( ) ( ) , ( ) , , ( ) ( ) ( ) ( ) ( 

p

f

p

p

c Mg

                                           

l r í i T i

F q J I u Mg q q C q c q M M

,

) ˆ ( ) ˆ , ˆ ( ˆ ˆ ) ( ˆ      ) , (  c

b

x

On a flat ground:

) ( Mg c M p Mg c L

p

         

Bipedal Robot Model

slide-30
SLIDE 30

Zero Moment Point

slide-31
SLIDE 31

Folie 31

Zero Moment Point

[Vukobratovic and Stepanenko,1972]

) (x 

1

x

2

x F 

ZMP as a ground reference point: Distributed ground reaction force under the supporting foot can be replaced by a single force acting at the ZMP .

z x ) , ( y x  y

ZMP = CoP (Center of Pressure)

p

1

x

2

x F   p y x   0 ) , ( 

in convex hull of the support polygon.

slide-32
SLIDE 32

Folie 32

Some facts about the ZMP

Can ZMP leave the support polygon?  NO Can ZMP location be used as a stability criterion  NO If ZMP reaches the border of the support polygon  foot rotation possible. ZMP is defined on flat contact (no uneven surface). ZMP gives no information about sliding.

) (x 

1

x

2

x F 

slide-33
SLIDE 33

First usage of the ZMP

  • Motion of the legs is predefined.
  • Upper body controls the ZMP in the center of the supporting foot

 ensure proper foot contact during walking

slide-34
SLIDE 34

How to obtain the ZMP?

Measurement e.g. by Force/Torque Sensor Dynamics Computation

slide-35
SLIDE 35

How to obtain the ZMP?

Measurement e.g. by Force/Torque Sensor Dynamics Computation

s s s

f p p p       ) ( ) (

z

s

f

s

z z sy y z sz x y z z sx x z sz y x

f f p f p p p f f p f p p p          ) ( ) (  

s

p p

slide-36
SLIDE 36

How to obtain the ZMP?

Measurement e.g. by Force/Torque Sensor Dynamics Computation

s s s

f p p p       ) ( ) (

z z sy y z sz x y z z sx x z sz y x

f f p f p p p f f p f p p p          ) ( ) (  

p

f

p

p

p p

f p      

z

s

f

s

s

p p

slide-37
SLIDE 37

How to obtain the ZMP?

Dynamics Computation

p

f

p

p

p p

f p             Mg c L f Mg P  

c

 

py px

  ) ( Mg P p Mg c L

p

        

z x y z y y z y x z x x

P Mg L P p Mgc p P Mg L P p Mgc p              

slide-38
SLIDE 38

A simplified walking model based

  • n the ZMP
slide-39
SLIDE 39

Mass concentrated model

p

f

p

p

p p

f p      

slide-40
SLIDE 40

Mass concentrated model

p

f

p

p

p p

f p      

c

   

z

p c M c L c M P  

slide-41
SLIDE 41

Mass concentrated model

p

f

p

p

p p

f p      

c

z x y z y y z y x z x x

P Mg L P p Mgc p P Mg L P p Mgc p                  

z

p c M c L c M P  

z y z y y z x z x x

c g c c c p c g c c c p              

ZMP of a mass concentrated model

slide-42
SLIDE 42

Mass concentrated model

p c

z y z y y z x z x x

c g c c c p c g c c c p               g c c c p

x z x x

     

z z

c c   

x

c  

Cart-Table Model [Kajita]

x x

c p   

slide-43
SLIDE 43

Mass concentrated model

p c

g c c c p

x z x x

   

x

c  

Cart-Table Model [Kajita] Linear Inverted Pendulum Model [Sugihara]

 

x x z x

p c c g c    

p c

x x

p c   

x x

c p   

slide-44
SLIDE 44

Capture Point (Extrapolated Center of Mass) ((Divergent Component of Motion))

slide-45
SLIDE 45

Capture Point

Definition of the “Capture Point” (Pratt 2006, Hof 2008): Point to step in order to bring the robot to stand.

const  p  * x x p    p t x t x t t x )) cosh( 1 ( ) ( ) sinh( ) ( ) cosh( ) (          p t x    ) ( c p * p c c  ,

Computation of the Capture Point:

z

c g  

ZMP

 

p x x  

2

  

Can be computed exactly for simple models, e.g. linear inverted pendulum model:

slide-46
SLIDE 46

Capture Point Dynamics

  x x   

Coordinate transformation:

) , ( ) , (  x x x   ) (

2

p x x      p x x            

COM capture point

 x p

System structure: Cascaded system

  • exp. stable
  • pen loop

unstable

Dual use of the capture point for robotics

  • 1. step planning
  • 2. control
slide-47
SLIDE 47

Capture Point in Human Measurements

Linear Inverted Pendulum Human x x y y Data from [*] [*] Hof, The extrapolated center of mass concept suggests a simple control of balance in walking, Human Movement Science 27, pp.112-125, 2008.

slide-48
SLIDE 48

Centroidal Moment Pivot

slide-49
SLIDE 49

Centroidal Moment Pivot

  • Observation in human data: For normal level-ground

walking, the human body‘s angular momentum (and the angular excursions) about the COM remains small through the gait cycle.

  • The centroidal moment pivot was introduced as a

ground reference point to address the effects of angular momentum about the COM in connection with postural balance strategies.

slide-50
SLIDE 50

Centroidal Moment Pivot

Forces in the LIP model

p x z Mg x M   F

Effect of an additional hip torque

CMP

 

z g M    x M   F

 

p x z g x     

z

F p CMP   

 

Mz p x z z g x         

slide-51
SLIDE 51

Interpretation

  • The distance between CMP and ZMP corresponds to the

angular momentum about the COM.

  • While the ZMP cannot leave the support polygon (by

definition), the CMP can leave it.

  • The distance between CMP and the support polygon has

been proposed as an indicator which balance strategy should dominate (via ZMP or via angular momentum).

slide-52
SLIDE 52

Folie 52

Overview

Part I: Modeling Part II: Balancing

  • 1. Basics
  • 2. ZMP based balancing (concentrated mass model)
  • 3. Torque based balancing (multi body dynamics)

Part III: Walking Control

slide-53
SLIDE 53

Folie 53

Humanoid Balance

Vestibular system Vision Somatosensory system IMU Vision force sensors joint sensing

“Balance” is a generic term describing the ability to control the body posture in order to prevent falling.

slide-54
SLIDE 54

Folie 54

Humanoid Balance

Small push: Ankle strategy force control ZMP control angular momentum control Medium push: Hip strategy Large Push: Step strategy

Human Robot

Strategies for human push recovery:

slide-55
SLIDE 55

Folie 55

mass concentrated model

Strategies for gait stabilization: Effect of an additional hip torque

p Mg x M   F 

 

Mz p x z g x      

1. Controlling ZMP (constraints!) 2. Angular momentum control 3. Step adaptation

slide-56
SLIDE 56

Folie 56

Overview

Part I: Modeling Part II: Balancing

  • 1. Basics
  • 2. ZMP based balancing (concentrated mass model)
  • 3. Torque based balancing (multi-body model)

Part III: Walking Control

slide-57
SLIDE 57

Folie 57

Motivation for compliant control

completely stiff fully compliant compliant control

slide-58
SLIDE 58

Folie 58

ZMP based balancing

Joint Position Control Feedback Stabilization

d

x 

d

q

ref

x

ref

p

Inverse Kinematics

d

q 

Robot Dynamics

Forward Kinematics ZMP Computation

p x q

L R F

F ,

position/velocity controlled robot

p x z Mg x M   F Mg F x M z x p

ext

    

ext

F

slide-59
SLIDE 59

Folie 59

ZMP based balancing

Joint Position Control Feedback Stabilization

d

x 

d

q

ref

x

ref

p

Inverse Kinematics

d

q 

Robot Dynamics

Forward Kinematics ZMP Computation

p x q

L R F

F ,

position/velocity controlled robot

) ( ) (

ref P ref d X ref d

p p K x x K x x       

Control law for stabilization: Stability condition [* ]:

  

P X

K K 

Stability condition [* ]: [Choi, Kim, Oh, and You, Posture/Walking Control for Humanoid Robot Based on Kinematic Resolution of CoM Jacobian With Embedded Motion, TRO, 2007].

Effective Stiffness:

z Mg K K K

P X

          1 p x z Mg x M   F Mg F x M z x p

ext

    

ext

F

slide-60
SLIDE 60

ZMP Based balancing

Balancing + Vertical Motion Balancing + Vertical Motion + Compliant Orientation

slide-61
SLIDE 61

Folie 61

Overview

Part I: Modeling Part II: Balancing

  • 1. Basics
  • 2. ZMP based balancing (concentrated mass model)
  • 3. Torque based balancing (multi-body model)

Part III: Walking Control

slide-62
SLIDE 62

Folie 62

Balancing & Posture Control

Trunk orientation Control

) ( ) (

d D d P COM

c c K c c K Mg F        Mg

ext

F

COM

F

HIP

T ) 3 ( SO R ) ( ) , (

d R R HIP

D K R V T         

ext

T c

IMU measurements Compliant COM control [Hyon & Cheng, 2006]

slide-63
SLIDE 63

Folie 63

Balancing & Posture Control

Compliant COM control [Hyon & Cheng, 2006] Trunk orientation Control

) ( ) (

d D d P COM

c c K c c K Mg F        Mg

ext

F

COM

F

HIP

T ) 3 ( SO R ) ( ) , (

d R R HIP

D K R V T         

ext

T ) , (

HIP COM d

T F W 

Desired wrench:

IMU measurements

slide-64
SLIDE 64

Folie 64

Balancing & Posture Control

Compliant COM control [Hyon & Cheng, 2006] Trunk orientation Control

) ( ) (

d D d P COM

c c K c c K Mg F        ) ( ) , (

d R R HIP

D K R V T          ) , (

HIP COM d

T F W 

Desired wrench:

IMU measurements

d

W

ext

F Mg

slide-65
SLIDE 65

Folie 65

Grasping and Balancing

Force distribution: Similar problems!

slide-66
SLIDE 66

Folie 66

Force Distribution in Grasping

 

                        

   

F F G G F G F G WO

1 1 1 1

Net wrench acting on the object:

T PiO i

Ad G 

Grasp Map

i

f

) 3 ( se FC 

Well studied problem in grasping: Find contact wrenches such that a desired net wrench on the object is achieved.

FC FC  ) 3 ( se

friction cone

slide-67
SLIDE 67

Folie 67

Force distribution

HIP

T

COM

F

 

          

 

f f G G Wd       

1 1

      

i i i i

R p R G ˆ

3

 

i

f

Relation between balancing wrench & contact forces Constraints:

  • Unilateral contact: (implicit handling of ZMP constraints)
  • Friction cone constraints

,  z i

f

C

f      

T F

G G

slide-68
SLIDE 68

Folie 68

Force distribution

HIP

T

COM

F

 

          

 

f f G G Wd       

1 1

      

i i i i

R p R G ˆ

3

 

i

f

Relation between balancing wrench & contact forces Constraints:

  • Unilateral contact: (implicit handling of ZMP constraints)
  • Friction cone constraints

,  z i

f

Formulation as a constraint optimization problem

C

f

 

2 3 2 2 2 1

min arg

C C T HIP C F COM C

f f G T f G F f              

T F

G G

3 2 1

    

slide-69
SLIDE 69

Folie 69

Contact force control via joint torques

 

i

f Mg c M  

3

 

i

f c

                                           

l r í i T i

F q J I u Mg q q C q c q M M

,

) ˆ ( ) ˆ , ˆ ( ˆ ˆ ) ( ˆ     

i T i

f q J ) ˆ ( 

Multibody robot model: COM as a base coordinate  system structure with decoupled COM dynamics. [Space Robotics], [Wieber 2005, Hyon et al. 2006] Passivity based compliance control (well suited for balancing)

slide-70
SLIDE 70

Folie 70

Force Distribution

Torque based balancing

Force Mapping Torque Control Robot Dynamics Object Force Generation

IMU

c

f q

for orientation control and COM computation

slide-71
SLIDE 71

Folie 71

Uncertain Foot Contact

[Ott, Roa, Humanoids 2011, best paper award]

slide-72
SLIDE 72

Folie 72

Experiments on a Perturbation Platform

Leg perturbation setup Movable elastic platform Experimental evaluation of the robustness with respect to disturbances (frequency & amplitude) at the foot

slide-73
SLIDE 73

Out of phase disturbance synchronous disturbance 2mm, up to 8 Hz

slide-74
SLIDE 74

Comparisons

1) Impact experiments 2) Whole body interaction 3) Singularities

slide-75
SLIDE 75

Comparison 1/3

1) Impact experiments

Position Based Control Torque Based Control

slide-76
SLIDE 76

Comparison 1/3

1) Impact experiments

Position Based Control Torque Based Control

Observations: – Balancing after impact is comparable – Torque based controller does not control relative foot location

slide-77
SLIDE 77

Comparison 2/3

3) Whole body interaction

Position Based Control Torque Based Control

slide-78
SLIDE 78

Comparison 2/3

3) Whole body interaction

Position Based Control Torque Based Control

Observations: – Force sensor based controller depends on a reference frame – Torque based controller does not need information about the point of contact

slide-79
SLIDE 79

Comparison 3/3

4) Singular Configurations

Position Based Control Torque Based Control

slide-80
SLIDE 80

Comparison 3/3

4) Singular Configurations

Position Based Control Torque Based Control

Observations: – Position based controller uses Inverse Kinematics, which requires singularity handling – Torque based controller uses transposed Jacobian mapping, and thus is not affected by singularities

slide-81
SLIDE 81

Balancing: Summary

 On flat floor both approaches allow for a compliant

behavior

 Torque based controller shows independence on precise

ground contact (force mapping based on IMU information)

 Admittance controller depends on a reference frame

slide-82
SLIDE 82

Folie 82

Overview

Part I: Modeling Part II: Balancing Part III: Walking Control

  • 1. Walking pattern generation
  • 2. Feedback control
slide-83
SLIDE 83

Robot control based on conceptual models

Footstep Generation Pattern Generation

c

x p

ZMP-COM Stabilizer

d

x

  • Pos. Controlled

Robot

e.g. LQR Preview Control [Kajita, 2003] Model Predictive Control [Wieber, 2006] realtime

F

slide-84
SLIDE 84

Mass concentrated model

p c

x  

Cart-Table Model [Kajita] Linear Inverted Pendulum Model [Sugihara]

 

p x z g x    

p c

p x    x g z x p     x p   

slide-85
SLIDE 85

Mass concentrated model

p c

x g z x p     x  

Cart-Table Model [Kajita]

x p               x x x x    x u     p y  u x x                       1 1 1  x g z y         1

 

) ( / 1 ) ( ) ( 2 / 6 / ) ( 1 1 2 / 1 ) 1 (

2 3 2

k x g c k y k u T T T k x T T T k x

z

                        

Continuous time control model Discrete time model

slide-86
SLIDE 86

LQR Preview Control

How to use future information about the reference?

slide-87
SLIDE 87
slide-88
SLIDE 88

LQR Preview Control

) ( ) ( ) ( ) ( ) 1 ( k Cx k y k Bu k Ax k x     ) ( ) ( ) ( ) ( ) ( ) ( k u R k u k x Q k x k e Q k e J

T x T k e T

       

 

) 1 ( ) ( ) ( ) 1 ( ) ( ) ( ) ( ) ( ) (           k u k u k u k x k x k x k y k y k e

ref

Time-discrete system: Cost function:

  • Uses differential control input  integral action.
  • Uses the output error compared to reference signal.

) (k yref

Reference output: Assume known for N future time steps Assume (A,B) is stabilizable & (C,A) is detectable, and [* * ] [* * ] Ensures that the system has no transmission zero at z= 1.

p n

k y k x     ) ( ) ( R Qe,

positive definite.

n p I A B C rank         

Assumptions:

slide-89
SLIDE 89

LQR Preview Control

) ( ) ( ) ( ) ( ) 1 ( k Cx k y k Bu k Ax k x    

Time-discrete system:

) 1 ( ) ( ) ( ) ( ) 1 ( ) 1 (                                         k y I k u B CB k x k e A CA I k x k e

ref

Modified system representation:

) ( ) ( ) ( ) ( k u k u k x k x    

[* * ] Ensures that this system is stabilizable.

slide-90
SLIDE 90

LQR Preview Control

) ( ) ( ) ( ) ( ) 1 ( k Cx k y k Bu k Ax k x    

Time-discrete system:

) 1 ( ) ( ) ( ) ( ) 1 ( ) 1 (                                         k y I k u B CB k x k e A CA I k x k e

ref

Modified system representation:

) ( ) ( ) ( ) ( k u k u k x k x    

How to handle future reference input? System augmentation (for next N reference input values)

 

) ( , ), 1 ( ) ( N k y k y k x

ref ref d

      ) ( 1 1 ) 1 ( k x k x

d A d

d

                       

Dynamics of the new state: [* * ] Ensures that this system is stabilizable.

slide-91
SLIDE 91

LQR Preview Control

 

) ( ) ( ) ( ) ( ) 1 ( ) 1 ( ) 1 (

) ( ) 1 (

k u B CB k x k x k e A A I CA I k x k x k e

k z d d k z d

                                                

         

Modified system representation:

) ( ) ( ) ( ) ( ) ( ) ( k u R k u k x Q k x k e Q k e J

T x T k e T

       

 

Cost function:

) ( ) ( ) ( ) ( k u R k u k z Q Q k z J

T k x e T

              

 

Standard LQR Design for augmented system!

slide-92
SLIDE 92

Preview Control

 

             

) ( ) ( ) ( ) ( ) ( k x k x k e K K K k Kz k u

d d e

 

 

  

    

N i ref d k i ref e

i k y i K k x K i y i y K k u

1

) ( ) ( ) ( ) ( ) ( ) (

Control law:

slide-93
SLIDE 93

Example Application: Walking Pattern Generation

Simplified Model: Cart Table Model

           x x x x    x u    

p … ZMP (Zero Moment Point) loosely speaking: Point on the sole where the reduced contact force is acting. x … Position of the CoM

 

) ( / 1 ) ( ) ( 2 / 6 / ) ( 1 1 2 / 1 ) 1 (

2 3 2

k x g z k y k u T T T k x T T T k x                          p y 

(Kajita 2003)

slide-94
SLIDE 94

Example Application: Walking Pattern Generation

Footstep planning Walking Pattern Generator CoM IK Joint Position Control

d

p x

d

q

Preview Control: T = 5 ms N = 400 Q_x = zeros(3,3); Q_e = 1.0; R = 1e-6;

x

slide-95
SLIDE 95

Example Application: Walking Pattern Generation

Footstep planning Walking Pattern Generator CoM IK Joint Position Control

d

p x

d

q

Preview Control: T = 5 ms N = 400 Q_x = zeros(3,3); Q_e = 1.0; R = 1e-6;

x

slide-96
SLIDE 96

Properties of Preview Control

  • Efficient implementation,

controller design can be computed offline

  • Allows to incorporate predictive information
  • ZMP contstraints are not considered explicitely
  • Trajectory based approach

Extensions

– Model predictive control (handle zmp constraints explicitely,

  • ptimization over a finite control horizon)

– Trajectory generation  feedback control – Dynamic filter

slide-97
SLIDE 97

Feedback Stabilization

Footstep planning Walking Pattern Generator Joint Position Control Feedback Stabilization

d

p

d

x 

d

q

ref

x

ref

p

Inverse Kinematics swing foot trajectory

d

q 

Robot Dynamics

Forward Kinematics ZMP Computation

p x q

L R F

F ,

position/velocity controlled robot

) ( ) (

ref P ref d X ref d

p p K x x K x x       

Control law for stabilization: Stability condition [* ]:

  

P X

K K 

Stability condition [* ]: [Choi, Kim, Oh, and You, Posture/Walking Control for Humanoid Robot Based on Kinematic Resolution of CoM Jacobian With Embedded Motion, TRO, 2007].

slide-98
SLIDE 98

Dynamic filter

Footstep planning Preview Control

d

p

d

q

ref

x

Inverse Kinematics Robot Dynamics

Correction of the error due to model simplification Requires computation of the multi-body dynamics

p p 

Preview Control

ref

x

Inverse Kinematics

slide-99
SLIDE 99

DLR-Biped

ZMP basierte Gangregelung Präsentiert auf der Industriemesse Automatica, Juni 2010

slide-100
SLIDE 100

Overview

Part I: Modeling Part II: Balancing Part III: Walking Control

  • 1. Walking pattern generation
  • 2. Feedback control
slide-101
SLIDE 101

Walking Control

State of the art walking control for fully actuated robots

– Pattern Generator for desired CoM and ZMP motion – ZMP based Stabilizer

Footstep Generation Pattern Generation

c

x p

ZMP-COM Stabilizer

d

x

Inverse Kinematics Position Control

d

q

e.g. Preview Control [Kajita, 2003] Model Predictive Control [Wieber] realtime

slide-102
SLIDE 102

Folie 102

Walking Control used at DLR

c p 

[Englsberger, capture point control] Walking Stabilization Core concept: Capture point control Generalization (3D) Stairs, etc … Predictive Control (MPC) Reactive step adaptation COM capture point

 x p

  • exp. stable

(Pratt 2006, Hof 2008)

) , ( ) , (  x x x   x x  ,

) (

2

p x x    

  x x   

p x x                                       

  • pen loop

unstable

slide-103
SLIDE 103

Folie 103

Walking Control used at DLR

c p 

[Englsberger, capture point control] Walking Stabilization Core concept: Capture point control Generalization (3D) Stairs, etc … Predictive Control (MPC) Reactive step adaptation COM capture point

 x p

  • exp. stable

(Pratt 2006, Hof 2008)

) , ( ) , (  x x x  

CP control

x x  ,

) (

2

p x x    

  x x   

p x x                                       

slide-104
SLIDE 104

Folie 104

COM ZMP Capture Point

  • COM velocity always

points towards CP

  • ZMP „pushes away“

the CP on a line

  • COM follows CP

Capture Point Dynamik

slide-105
SLIDE 105

Folie 105

COM ZMP Capture Point

Capture Point Dynamik

slide-106
SLIDE 106

Folie 106

COM kinematics

Capture Point Control

 x x  , p

CP control

[Englsberger, Ott, et. al., IROS 2011]

ZMP Control Robot Dynamics CP

q

Trajectory Generator

d

ZMP projection

slide-107
SLIDE 107

Folie 107

COM kinematics

Capture Point Control

 x x  , p

CP control

[Englsberger, Ott, et. al., IROS 2011]

ZMP Control Robot Dynamics CP

q

Trajectory Generator

d

ZMP projection

MPC [SYROCO 2012]

slide-108
SLIDE 108

Folie 108

Position based ZMP Control

COM kinematics

 x x  , p

CP control ZMP Control Robot Dynamics CP

q

Trajectory Generator

d

ZMP projection

MPC

) (

2

p x x     

d

p

Desired ZMP implies a desired force acting on the COM:

) (

2 d d

p x M F   

Position based force control [Roy&Whitcomb,2002]:

) ( F F k x

d f d

   ) (

2 d f d

p p M k x    

Position based ZMP Control

slide-109
SLIDE 109

Folie 109

COM kinematics

Capture Point Control

 x x  , p

CP control

[Englsberger, Ott, et. al., IROS 2011]

ZMP Control Robot Dynamics CP

q

Trajectory Generator

d

ZMP projection

MPC [SYROCO 2012]

slide-110
SLIDE 110

Applications

1) Vision based walking

– stereo vision (Hirschmüller) – visual SLAM (Chilian, Steidel) – online footstep planning, collaboration with N. Perrin (IIT)

slide-111
SLIDE 111
slide-112
SLIDE 112

Applications

2) Optimized swingfoot trajectories: collaboration with H. Kaminaga (Univ. Tokyo)

  • stride length: 70 cm
  • speed: 0.5 m/s
  • kinematically optimized swingfoot trajectory
  • stride length: 70 cm
  • speed: 0.5 m/s
  • kinematically optimized torso motion

(no angular momentum conversation!  slippery)

slide-113
SLIDE 113

Folie 113

Summary

Modeling

Full Body Models Simplified Models

Balancing

Torque based Balancing ZMP based balancing

Walking

Pattern generation Feedback control

Part I: Part II: Part III:

slide-114
SLIDE 114

Folie 114

Thank you very much for your attention!

christian.ott@dlr.de

  • Dr. Maximo

Roa Johannes Englsberger Alexander Werner Gianluca Garofalo

  • Dr. Christian

Ott Bernd Henze