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
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:
1 DLR 02/05/2012
Dr.-Ing. Christian Ott German Aerospace Center (DLR) Institute for Robotics and Mechatronics
Folie 2
Part 0: Short overview of (biped robots at) DLR Part I: Modeling Part II: Balancing Part III: Walking Control
Folie 3
National research laboratory Part of the Helmholtz association Research fields:
~6300 researchers 13 locations 29 institutes
Institute of Robotics and Mechatronics: Former director: Prof. Hirzinger Director: Prof. Albu-Schäffer
Folie 4
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)
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
m
Robustness: Passivity Based Control Performance: Joint Torque Feedback (noncollocated)
Motor Dynamics Rigid-Body Dynamics Torque Control Environ- ment Compliance Control
ext
m
Folie 8
Anthropomorphic Hand-Arm System [Grebenstein, Albu-Schäffer et al, Humanoids 2010]
Biped Robot Joint torque sensing & control for manipulation
Folie 9
DLR-Biped (2010-2012) TORO, preliminary version (2012) TORO (2013) TOrque controlled humanoid RObot
Allow for position controlled walking (ZMP) and joint torque control!
Folie 10
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]
Folie 11
Folie 12
Part I: Modeling
Part II: Balancing Part III: Walking Control
Multi-Body-Models Conceptual Models Fixed Base Models (predefined contact state) Floating Base Models Walking Running Dynamical Models (Mechanical) Complexity Specialization
Fixed base models In each contact state the model is different:
Transition between contact states double support
single support serial kin. chain Free-floating model
Components:
underactuated
Folie 15
Fixed base models In each contact state the model is different:
Transition between contact states double support
single support serial kin. chain Free-floating model
Components:
underactuated Planning & control must ensure that the considered contact state is valid!
ground reaction force must fulfill constraints
) 3 ( SE Hb
Q q
n
1 1 1
S S S T n Configuration Space: ) 3 ( SE Q
) 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
Folie 18
) 3 (
6
se Fext
ext T F
q J q g q q q C q q M ) ( ) ( ) , ( ) ( , q
Folie 19
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
Folie 20
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
Folie 21
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!
Folie 22
ext
F
r
F
l
F
l r
q q q
6
b
x
Folie 23
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
Folie 24
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:
(single support, double support, edge contact)
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
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:
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:
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
p p
f p
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
Folie 31
[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.
Folie 32
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
ensure proper foot contact during walking
Measurement e.g. by Force/Torque Sensor Dynamics Computation
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
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
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
p
f
p
p
p p
f p
p
f
p
p
p p
f p
c
z
p c M c L c M P
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
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
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
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:
x x
Coordinate transformation:
) , ( ) , ( x x x ) (
2
p x x p x x
COM capture point
x p
System structure: Cascaded system
unstable
Dual use of the capture point for robotics
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.
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
Folie 52
Part I: Modeling Part II: Balancing
Part III: Walking Control
Folie 53
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.
Folie 54
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:
Folie 55
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
Folie 56
Part I: Modeling Part II: Balancing
Part III: Walking Control
Folie 57
completely stiff fully compliant compliant control
Folie 58
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
Folie 59
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
Balancing + Vertical Motion Balancing + Vertical Motion + Compliant Orientation
Folie 61
Part I: Modeling Part II: Balancing
Part III: Walking Control
Folie 62
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]
Folie 63
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
Folie 64
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
Folie 65
Force distribution: Similar problems!
Folie 66
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
Folie 67
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:
, z i
f
C
f
T F
G G
Folie 68
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:
, 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
Folie 69
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)
Folie 70
Force Distribution
Force Mapping Torque Control Robot Dynamics Object Force Generation
IMU
c
f q
for orientation control and COM computation
Folie 71
[Ott, Roa, Humanoids 2011, best paper award]
Folie 72
Leg perturbation setup Movable elastic platform Experimental evaluation of the robustness with respect to disturbances (frequency & amplitude) at the foot
Out of phase disturbance synchronous disturbance 2mm, up to 8 Hz
Position Based Control Torque Based Control
Position Based Control Torque Based Control
Observations: – Balancing after impact is comparable – Torque based controller does not control relative foot location
Position Based Control Torque Based Control
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
Position Based Control Torque Based Control
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
Folie 82
Part I: Modeling Part II: Balancing Part III: Walking Control
Footstep Generation Pattern Generation
c
ZMP-COM Stabilizer
d
Robot
e.g. LQR Preview Control [Kajita, 2003] Model Predictive Control [Wieber, 2006] realtime
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
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
) ( ) ( ) ( ) ( ) 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:
) (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:
) ( ) ( ) ( ) ( ) 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.
) ( ) ( ) ( ) ( ) 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.
) ( ) ( ) ( ) ( ) 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!
) ( ) ( ) ( ) ( ) ( 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:
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)
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
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
– Model predictive control (handle zmp constraints explicitely,
– Trajectory generation feedback control – Dynamic filter
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].
Footstep planning Preview Control
d
p
d
q
ref
x
Inverse Kinematics Robot Dynamics
p p
Preview Control
ref
x
Inverse Kinematics
ZMP basierte Gangregelung Präsentiert auf der Industriemesse Automatica, Juni 2010
Part I: Modeling Part II: Balancing Part III: Walking Control
– Pattern Generator for desired CoM and ZMP motion – ZMP based Stabilizer
Footstep Generation Pattern Generation
c
ZMP-COM Stabilizer
d
Inverse Kinematics Position Control
d
e.g. Preview Control [Kajita, 2003] Model Predictive Control [Wieber] realtime
Folie 102
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
(Pratt 2006, Hof 2008)
) , ( ) , ( x x x x x ,
2
p x x
unstable
Folie 103
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
(Pratt 2006, Hof 2008)
) , ( ) , ( x x x
CP control
x x ,
2
p x x
Folie 104
COM ZMP Capture Point
points towards CP
the CP on a line
Folie 105
COM ZMP Capture Point
Folie 106
COM kinematics
x x , p
CP control
[Englsberger, Ott, et. al., IROS 2011]
ZMP Control Robot Dynamics CP
q
Trajectory Generator
d
ZMP projection
Folie 107
COM kinematics
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]
Folie 108
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
Folie 109
COM kinematics
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]
– stereo vision (Hirschmüller) – visual SLAM (Chilian, Steidel) – online footstep planning, collaboration with N. Perrin (IIT)
(no angular momentum conversation! slippery)
Folie 113
Full Body Models Simplified Models
Torque based Balancing ZMP based balancing
Pattern generation Feedback control
Folie 114
christian.ott@dlr.de
Roa Johannes Englsberger Alexander Werner Gianluca Garofalo
Ott Bernd Henze