Walking motion Control: theory and implementation Pierre-Brice Wieber INRIA Grenoble
Who am I ? • Master thesis on biped robots in 1997 • PhD thesis on biped robots in 2000 • My algorithms implemented in HRP-2, Nao and tested on other robots • Never participated to any RoboCup
What are we going to see today ? • Dynamics of legged locomotion • Generation of dynamic walking motions • Motion and force control • Numerical implementation details
Milestones in legged robotics • 1960s : Walking Truck (R. Mosher) • 1970s : Waseda university (I. Kato) • 1980s : Adaptive Suspension Vehicle (R. McGhee) • 1980s : MIT LegLab (M. Raibert) • 1996 : Honda P2 (K. Hirai, T. Takenaka...)
The walking truck
The adaptive suspension vehicle
MIT LegLab
The Honda P2
The dynamics of legged locomotion
Structure of the minimal coordinates • Joint positions • Position and orientation with respect to the environment ˆ q q = x 0 θ 0
Structure of the Lagrangian dynamics ¨ 0 2 3 2 3 1 2 3 ˆ 0 q u i ( q ) T f X 5 + A + n ( q, ˙ 5 + M ( q ) ¨ q ) = 0 x 0 g C i @ 4 4 5 4 ¨ 0 0 θ 0 i X m (¨ c + g ) = f i i ˙ X L = ( p i − c ) × f i i X L = ( x k − c ) × m k ˙ x k + I k ω k k
And yet it moves < 1 degree/step 12
Structure of the Lagrangian dynamics ¨ 0 2 3 2 3 1 2 3 ˆ 0 q u i ( q ) T f X 5 + A + n ( q, ˙ 5 + M ( q ) ¨ q ) = 0 x 0 g C i @ 4 4 5 4 ¨ 0 0 θ 0 i X m (¨ c + g ) = f i i ˙ X L = ( p i − c ) × f i i X L = ( x k − c ) × m k ˙ x k + I k ω k k
On a flat ground, the Center of Pressure c + g ) + ˙ m c × (¨ P i p i × f L i = c z + g z ) i f z m (¨ P i i p x,y i f z c z P 1 c x,y + g x,y ) + L x,y = c z + g z ) S ˙ c x,y − i c z + g z (¨ i f z ¨ m (¨ P i
On a flat ground, the Center of Pressure f z 3 f z 4 f z 2 f z 1 p 2 p 3 z z p 1 p 4 y x
On a flat ground, the Center of Pressure i p x,y i f z c z P 1 c x,y + g x,y ) + L x,y = c z + g z ) S ˙ c x,y − i c z + g z (¨ i f z ¨ m (¨ P i 1 c z c x,y + g x,y ) = ( c x,y − z x,y ) + c z + g z ) S ˙ c z + g z (¨ L x,y ¨ m (¨
On a flat ground, the Center of Pressure x,y β S ˙ L − α g x,y c x,y c x,y α ¨ z x,y
On a flat ground, the Center of Pressure i p x,y i f z c z P 1 c x,y + g x,y ) + L x,y = c z + g z ) S ˙ c x,y − i c z + g z (¨ i f z ¨ m (¨ P i 1 c z c x,y + g x,y ) = ( c x,y − z x,y ) + c z + g z ) S ˙ c z + g z (¨ L x,y ¨ m (¨
Walking horizontally 1 c z c x,y + g x,y ) = ( c x,y − z x,y ) + c z + g z ) S ˙ c z + g z (¨ L x,y ¨ m (¨ c x,y − c z c x,y = z x,y g z ¨ Not just a «Linear Inverted Pendulum Model»
The dynamics of falling a CoM a T ( c x,y ( t ) − c x,y ( t 0 )) ≥ a T ˙ c x,y ( t 0 ) sinh ( ω ( t − t 0 )) ω 20
Viability fall fall fall fall 21
The dynamics of falling a CoM a T ( c x,y ( t ) − c x,y ( t 0 )) ≥ a T ˙ c x,y ( t 0 ) sinh ( ω ( t − t 0 )) ω 22
Viability, capturability fall fall Z ∞ � � � c ( n ) ( t ) � dt � � t 0 fall fall 23
The Capture Point ξ = c + 1 ω ˙ c c = ω ( ξ − c ) ˙ ξ x,y = ω ( ξ x,y − z x,y ) ˙
The Capture Point 1 c x,y ω ˙ ξ x,y c x,y 1 x,y ˙ 1 ξ c x,y ω 2 ¨ ω z x,y
Generation of dynamic walking motions
Early offline schemes • Trajectory optimization • Artificial synergy synthesis & ZMP approach 1 c z c x,y + g x,y ) = ( c x,y − z x,y ) + c z + g z ) S ˙ c z + g z (¨ L x,y ¨ m (¨ • Templates & anchors
Online motion generation • Necessary for reactivity • How to make sure you are stable in the long term?
Viability, capturability fall fall Z ∞ � � � c ( n ) ( t ) � dt � � t 0 fall fall 29
Optimal and Model Predictive Control
Optimal feedback x k +1 = f ( x k , u k ) ∞ X V ∗ ( x 0 ) = min l ( x k , u k ) u 0 ,... 0 • is asymptotically stabilizing if the u ∗ 0 ( x 0 ) system is controllable • as Lyapunov function V ∗ ( x 0 )
Terminal constraint • Keerthi 1988 JOTA N − 1 X N ( x 0 ) = min l ( x k , u k ) with x N = 0 V ∗ u 0 ,... 0 V ∗ N ( x 0 ) ≥ V ∗ N +1 ( x 0 ) ≥ · · · ≥ V ∗ ( x 0 ) V ∗ N ( x 0 ) ≥ l ( x 0 , u ∗ 0 ) + V ∗ N ( f ( x 0 , u ∗ 0 )) • as Lyapunov function N ( x 0 ) V ∗
Feasibility is sufficient • Alamir 1999 EJC find u 0 , . . . such that x N = 0 • Compute a new plan only in case of a diverging perturbation
Horizon long enough • Alamir 1995 A N − 1 X N ( x 0 ) = min l ( x k , u k ) V ∗ u 0 ,... 0 N , u ⇤0 V ⇤ N ( x 0 ) = l ( x 0 , u ⇤ 0 ) + V ⇤ N ( f ( x 0 , u ⇤ 0 )) − l ( x 0 N ) N , u ⇤0 ∀ N ≥ N ε , l ( x 0 N ) < ε • You can do without explicit terminal cost and constraint with a horizon long enough
Predefined footsteps, Capturability constraint
Waseda University P m i (¨ i + g z ) c x,y c x,y c z − m i c z i ¨ → z x,y i i P m i (¨ − ref c z i + g z ) • Must always be able to stop within 2 steps.
Waseda University
TUM Johnny/Lola P m i (¨ i + g z ) c x,y c x,y c z − m i c z i ¨ ≈ z x,y i i P m i (¨ ref c z i + g z ) c x,y ( t + ∆ T ) = c x,y ref
TUM Johnny/Lola
Honda Asimo P m i (¨ i + g z ) c x,y c x,y c z − m i c z i ¨ ≈ z x,y i i P m i (¨ ref c z i + g z ) ξ x,y ( t + ∆ t ) = ξ x,y ref
ToDaï H7 & Toyota c x,y − m c z ¨ c x,y − ˙ L x,y → p x,y − c z + g z ) i m (¨ c x,y ( t + ∆ T ) = c x,y ref
Sony QRIO 2 � c x,y − c z X � � c x,y − p x,y � � min g z ¨ � � i � c x,y ( t + ∆ T ) = c x,y ref , ˙ c x,y ( t + ∆ T ) = 0
Predefined footsteps, NO capturability constraint
Kawada HRP-2 2 � � c x,y + S ˙ � c x,y � c z L x,y k ... � � c x,y k 2 + β X mg z � p x,y min g z ¨ � � i � � �
A korean variant 2 � � c x,y + S ˙ � c x,y � c z L x,y k ... � � c x,y k 2 + β X mg z � p x,y + γ k L x,y k 2 min g z ¨ � � i � � �
Nao omniwalk k ... X c x,y k 2 min c x,y − c z c x,y ∈ conv { p x,y } g z ¨ i
EuroGraphics 2 � c x,y − c z ¨ c x,y � � ⌘ 2 X ⇣� � � c x,y,z − p x,y,z c z + g z − p x,y � � � − l ref min + � � � � i i k ¨ �
Adaptive footsteps
Nao’s future algorithm 2 X � � c x,y c x,y − ˙ min � ˙ � � ref � c x,y − c z c x,y ∈ conv { p x,y } g z ¨ i
Walking without thinking about it
Vision feedback
Todaï ξ x,y ( t + ∆ t ) = ξ x,y ref
Todaï
Todaï
Key ingredients ? • Viability & Capturability • Artificial synergy synthesis • Model Predictive Control
Boston Dynamics ?
Don’t want/have computing resources ?
Combining simple rules (MIT LegLab) • Control vertical oscillations • Control upper body attitude • Adaptive step placement, «neutral position»
Combining simple rules (biomimetic) • Central Pattern Generators (oscillators) • Control upper body attitude • Adaptive step placement
Motion and Force Control
Whole body motion • Inverse Kinematics + joint control • Virtual Model Control • Task Function Approach • Operational Space Control
CoM motion control 1 c x,y ω ˙ ξ x,y c x,y 1 x,y ˙ 1 ξ c x,y ω 2 ¨ ω z x,y
CoM motion control c = ω ( ξ − c ) ˙ ξ x,y = ω ( ξ x,y − z x,y ) ˙ z x,y = c x,y ref + k ( ξ x,y − c x,y ref ) ξ x,y = ω ( k − 1)( c x,y ˙ ref − ξ x,y )
Contact force control • Damping oscillations z = ω z ( z d − z ) ˙ z x,y = c x,y ref + k ( ξ x,y − c x,y ref ) + k 0 ( z x,y − c x,y ref ) d
Contact force control
Numerical implementation
People who are really serious about software should make their own hardware. Alan Kay (invented Object Oriented Programming at Xerox PARC)
People who are really serious about control algorithms should make their own numerical solver. Pierre-Brice Wieber (invented not much yet at INRIA Grenoble)
Discretized trajectories • Nishiwaki 2002 IROS: 52–104 samples over 3 steps, 2.6–5.2 s / 50 ms • Buschmann 2007 ICHR: 20–30 pieces of cubic spline over 3 steps ≈ 100 ms period • Morisawa 2006 ICHR: 7 pieces of quartic or quintic + exponential over 2 steps ≈ 300 ms
Discretized trajectories • Takenaka 2009 IROS: 14 pieces of line + exponential over 2 steps ≈ 70–130 ms • Pratt 2006 ICHR: 2 pieces of exponentials over 1 step
Discretized trajectories • Van de Panne 1997 EG: 2 pieces of cubic spline over 2 steps • Kajita 2003 ICRA: 320–640 pieces with constant jerk over 2–4 steps, 1.6–3.2 s / 5 ms • Herdt 2010 RSJAR: 16 pieces with constant jerk over 2 steps, 1.6 s / 100 ms
Recommend
More recommend