biped stabilization by linear feedback of the variable ... · pre-definingcz(t) → λ(t) makes...

20
Biped Stabilization by Linear Feedback of the Variable-Height Inverted Pendulum Model Stéphane Caron May–August 2020 IEEE Virtual Conference on Robotics and Automation

Upload: others

Post on 17-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

Biped Stabilization by Linear Feedback of theVariable-Height Inverted Pendulum Model

Stéphane CaronMay–August 2020

IEEE Virtual Conference on Robotics and Automation

Page 2: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

height variation strategy

Rest position Ankle strategy Height variation strategy

Fext Fext

1

Page 3: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

in this video

Idea :

• Divergent Component of Motion goes 4D

Techniques :

• Variation dynamics around reference trajectory• Least-squares pole placement

2

Page 4: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

height variation strategy

Rest position Ankle strategy Height variation strategy

Fext Fext

1

1. Twan Koolen, Michael Posa et Russ Tedrake. « Balance control using center of massheight variation : Limitations imposed by unilateral contact ». In : Humanoids 2016.

3

Page 5: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

pendulum models

Linear Inverted Pendulum

• Model : c = ω2(c − z) + g• Inputs : u = z ∈ R2

Variable-Height Inverted Pendulum

• Model : c = λ(c − z) + g• Inputs : u = [z λ] ∈ R3

4

Page 6: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

balance control

Linear Inverted Pendulum

• State : ξ = c + c/ω ∈ R3

• Control : z = −k(ξd − ξ)

Variable-Height Inverted Pendulum

• State : [c c] ∈ R6

• Control : nonlinear MPC [1]

5

Page 7: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

divergent component of motion

3D DCMξ := c + c

ω

Divergent dynamicsξ = ω(ξ − z)

Convergent dynamicsc = ω(ξ − c)

ViabilityDiverges iff ξ /∈ support(z)

2

2. Johannes Englsberger, Christian Ott et Alin Albu-Schäffer. « Three-dimensional bipe-dal walking control based on divergent component of motion ». In : IEEE T-RO (2015).

6

Page 8: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

pole placement

Tracking error : ∆ξ := ξ − ξd

Error dynamics∆ξ = ω(∆ξ − ∆z)

Desired error dynamics∆ξ∗ = −kp∆ξ

Derive feedback

∆z∗ = arg min∆z

∥∆ξ∗ − ∆ξ∥

= −[1 + kp

ω

]∆ξ

3

3. Mitsuharu Morisawa, Nobuyuki Kita, Shin’ichiro Nakaoka, Kenji Kaneko, Shuuji Kajitaet Fumio Kanehiro. « Balance control based on capture point error compensation for biped walkingon uneven terrain ». In : Humanoids 2012.

7

Page 9: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

time-varying dcm

Modelc = λ(c − z) + g

Pre-defining cz(t) → λ(t) makes system LTV :

Time-varying DCMξ = c + c

ω(t)

with the Riccati equation ω = ω2 − λ.

4

4. Michael A. Hopkins, Dennis W. Hong et Alexander Leonessa. « Humanoid locomotion onuneven terrain using the time-varying Divergent Component of Motion ». In : Humanoids 2014.

8

Page 10: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

dcm in space and time

Cartesian space

Inputz

Divergent dynamicsξ = ω(ξ − z)

Convergent dynamicsζ = ω(z − ζ)

ViabilityDiverges iff ξ /∈ support(z)

Phase space

Inputλ

Divergent dynamicsω = ω2 − λ

Convergent dynamicsγ = λ − γ2

ViabilityDiverges iff ω2 /∈ [λmin, λmax]

5

5. Stéphane Caron, Adrien Escande, Leonardo Lanari et Bastien Mallein. « Capturability-based Pattern Generation for Walking with Variable Height ». In : IEEE T-RO (2020).

9

Page 11: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

interpretation

10

Page 12: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

4d dcm for the vhip

Divergent component of motionx = [ξ ω] ∈ R4 : Cartesian 3D DCM ξ + natural frequency ω

Divergent dynamics

x =[

ξ

ω

]= 1

ω

[λI3 00 ω2

]x − 1

ω

[λI3 00 ω

] [zλ

]+ 1

ω

[g0

]

11

Page 13: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

4d dcm for the vhip

Divergent component of motionx = [ξ ω] ∈ R4 : Cartesian 3D DCM ξ + natural frequency ω

Divergent dynamics

x =[

ξ

ω

]= 1

ω

[λI3 00 ω2

]x − 1

ω

[λI3 00 ω

] [zλ

]+ 1

ω

[g0

]Take its linearized error dynamics (a.k.a. variation dynamics) :

Tracking error dynamics

∆x = 1ωd

[λdI3 −cd/ωd

0 2(ωd)2

]∆x − 1

ωd

[λdI3 (ξd − zd)

0 ωd

] [∆z∆λ

]Linear system : ∆x = A∆x + B∆u.

11

Page 14: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

least-squares pole placement

Error dynamics∆x = A∆x + B∆u

Desired error dynamics∆x∗ = −kp∆x

Derive feedbackMinimize : ∥∆x − ∆x∗∥2

Subject to :

• Linearized dynamics : ∆x = A∆x + B∆u• ZMP support area : C(zd + ∆z) ≤ d• Reaction force : λmin ≤ λd + ∆λ ≤ λmax

• Kinematics : hmin ≤ ξdz + ∆ξz ≤ hmax

12

Page 15: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

behavior

https://github.com/stephane-caron/pymanoid/blob/master/examples/vhip_stabilization.py

13

Page 16: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

controller adjusts the dcm

Previously, the DCM was a measured state :

+Pole placementDCM

Now, the DCM is an output that can be adjusted :

+

ConstrainedPole Placement

The controller can vary ω (height) to maintain ξ ∈ support(z).

14

Page 17: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

force control

LIP tracking VHIP tracking

https://github.com/stephane-caron/vhip_walking_controller

15

Page 18: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

what have we seen ?

Idea :

• Divergent Component of Motion goes 4D

Techniques :

• Variation dynamics around reference trajectory• Least-squares pole placement

To go further

• Link with exponential dichotomies (Coppel, 1967) :https://scaron.info/talks/jrl-2019.html

16

Page 19: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

thanks !

Thank you for your attention !

17

Page 20: Biped Stabilization by Linear Feedback of the Variable ... · Pre-definingcz(t) → λ(t) makes system LTV : Time-varying DCM ξ = c + c˙ ω(t) with the Riccati equation ω˙ = ω2

references i

[1] Stéphane Caron, Adrien Escande, Leonardo Lanari et Bastien Mallein.« Capturability-based Pattern Generation for Walking with Variable Height ». In : IEEET-RO (2020).

[2] Johannes Englsberger, Christian Ott et Alin Albu-Schäffer. « Three-dimensionalbipedal walking control based on divergent component of motion ». In : IEEE T-RO (2015).

[3] Michael A. Hopkins, Dennis W. Hong et Alexander Leonessa. « Humanoid locomotion onuneven terrain using the time-varying Divergent Component of Motion ». In : Humanoids2014.

[4] Twan Koolen, Michael Posa et Russ Tedrake. « Balance control using center of massheight variation : Limitations imposed by unilateral contact ». In : Humanoids 2016.

[5] Mitsuharu Morisawa, Nobuyuki Kita, Shin’ichiro Nakaoka, Kenji Kaneko,Shuuji Kajita et Fumio Kanehiro. « Balance control based on capture point errorcompensation for biped walking on uneven terrain ». In : Humanoids 2012.

18