Walking motion Control: theory and implementation
Pierre-Brice Wieber INRIA Grenoble
Walking motion Control: theory and implementation Pierre-Brice - - PowerPoint PPT Presentation
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
Pierre-Brice Wieber INRIA Grenoble
and tested on other robots
Vehicle (R. McGhee)
the environment
q = ˆ q x0 θ0
M(q) @ 2 4 ¨ ˆ q ¨ x0 ¨ θ0 3 5 + 2 4 g 3 5 1 A + n(q, ˙ q) = 2 4 u 3 5 + X
i
C
i(q)T f i
m (¨ c + g) = X
i
f
i
˙ L = X
i
(pi − c) × f
i
L = X
k
(xk − c) × mk ˙ xk + Ikωk
< 1 degree/step
12
M(q) @ 2 4 ¨ ˆ q ¨ x0 ¨ θ0 3 5 + 2 4 g 3 5 1 A + n(q, ˙ q) = 2 4 u 3 5 + X
i
C
i(q)T f i
m (¨ c + g) = X
i
f
i
˙ L = X
i
(pi − c) × f
i
L = X
k
(xk − c) × mk ˙ xk + Ikωk
m c × (¨ c + g) + ˙ L m(¨ cz + gz) = P
i pi × f i
P
i f z i
cx,y − cz ¨ cz + gz (¨ cx,y + gx,y) + 1 m(¨ cz + gz)S ˙ Lx,y = P
i f z i px,y i
P
i f z i
z y x z p1 p2 p3 p4 f z
1
f z
2
f z
3
f z
4
cx,y − cz ¨ cz + gz (¨ cx,y + gx,y) + 1 m(¨ cz + gz)S ˙ Lx,y = P
i f z i px,y i
P
i f z i
cz ¨ cz + gz (¨ cx,y + gx,y) = (cx,y − zx,y) + 1 m(¨ cz + gz)S ˙ Lx,y
cx,y zx,y βS ˙ L
x,y
−αgx,y α¨ cx,y
cx,y − cz ¨ cz + gz (¨ cx,y + gx,y) + 1 m(¨ cz + gz)S ˙ Lx,y = P
i f z i px,y i
P
i f z i
cz ¨ cz + gz (¨ cx,y + gx,y) = (cx,y − zx,y) + 1 m(¨ cz + gz)S ˙ Lx,y
Not just a «Linear Inverted Pendulum Model»
cx,y − cz gz ¨ cx,y = zx,y cz ¨ cz + gz (¨ cx,y + gx,y) = (cx,y − zx,y) + 1 m(¨ cz + gz)S ˙ Lx,y
20
a CoM
aT (cx,y(t) − cx,y(t0)) ≥ aT ˙ cx,y(t0) ω sinh (ω(t − t0))
fall fall fall fall
21
22
a CoM
aT (cx,y(t) − cx,y(t0)) ≥ aT ˙ cx,y(t0) ω sinh (ω(t − t0))
fall fall fall fall
23
Z ∞
t0
ξ = c + 1 ω ˙ c ˙ c = ω(ξ − c) ˙ ξx,y = ω(ξx,y − zx,y)
cx,y zx,y ξx,y 1 ω ˙ cx,y 1 ω ˙ ξ
x,y
1 ω2 ¨ cx,y
approach
cz ¨ cz + gz (¨ cx,y + gx,y) = (cx,y − zx,y) + 1 m(¨ cz + gz)S ˙ Lx,y
long term?
fall fall fall fall
29
Z ∞
t0
system is controllable
xk+1 = f(xk, uk) V ∗(x0) = min
u0,... ∞
X l(xk, uk) u∗
0(x0)
V ∗(x0)
V ∗
N(x0) = min u0,... N−1
X l(xk, uk) with xN = 0 V ∗
N(x0) ≥ V ∗ N+1(x0) ≥ · · · ≥ V ∗(x0)
V ∗
N(x0) ≥ l(x0, u∗ 0) + V ∗ N(f(x0, u∗ 0))
V ∗
N(x0)
diverging perturbation
find u0, . . . such that xN = 0
and constraint with a horizon long enough
V ∗
N(x0) = min u0,... N−1
X l(xk, uk) V ⇤
N(x0) = l(x0, u⇤ 0) + V ⇤ N(f(x0, u⇤ 0)) − l(x0 N, u⇤0 N)
∀N ≥ Nε, l(x0
N, u⇤0 N) < ε
P mi(¨ cz
i + gz)cx,y i
− mi cz
i ¨
cx,y
i
P mi(¨ cz
i + gz)
− → zx,y
ref
cx,y(t + ∆T) = cx,y
ref
P mi(¨ cz
i + gz)cx,y i
− mi cz
i ¨
cx,y
i
P mi(¨ cz
i + gz)
≈ zx,y
ref
P mi(¨ cz
i + gz)cx,y i
− mi cz
i ¨
cx,y
i
P mi(¨ cz
i + gz)
≈ zx,y
ref
ξx,y(t + ∆t) = ξx,y
ref
cx,y − m cz ¨ cx,y − ˙ Lx,y m(¨ cz + gz) − → px,y
i
cx,y(t + ∆T) = cx,y
ref
min X
gz ¨ cx,y − px,y
i
cx,y(t + ∆T) = cx,y
ref , ˙
cx,y(t + ∆T) = 0
min X k... c x,yk2 + β
gz ¨ cx,y + S ˙ Lx,y mgz px,y
i
min X k... c x,yk2 + β
gz ¨ cx,y + S ˙ Lx,y mgz px,y
i
+ γkLx,yk2
cx,y − cz gz ¨ cx,y ∈ conv {px,y
i
} min X k... c x,yk2
min X ⇣
k
− px,y,z
i
⌘2 +
cx,y ¨ cz + gz − px,y
i
cx,y − cz gz ¨ cx,y ∈ conv {px,y
i
} min X
cx,y − ˙ cx,y
ref
ξx,y(t + ∆t) = ξx,y
ref
cx,y zx,y ξx,y 1 ω ˙ cx,y 1 ω ˙ ξ
x,y
1 ω2 ¨ cx,y
˙ c = ω(ξ − c) ˙ ξx,y = ω(ξx,y − zx,y) zx,y = cx,y
ref + k(ξx,y − cx,y ref )
˙ ξx,y = ω(k − 1)(cx,y
ref − ξx,y)
˙ z = ωz(zd − z) zx,y
d
= cx,y
ref + k(ξx,y − cx,y ref ) + k0(zx,y − cx,y ref )
Alan Kay
(invented Object Oriented Programming at Xerox PARC)
Pierre-Brice Wieber
(invented not much yet at INRIA Grenoble)
3 steps, 2.6–5.2 s / 50 ms
cubic spline over 3 steps ≈ 100 ms period
300 ms
exponential over 2 steps ≈ 70–130 ms
spline over 2 steps
constant jerk over 2–4 steps, 1.6–3.2 s / 5 ms
jerk over 2 steps, 1.6 s / 100 ms
splines (piecewise constant jerk) for the CoM
zx,y zx,y
max 1
8¨ cx,y
maxδt2 ⇡ gzkzx,y cx,ykmax
8cz δt2 ⇡ 1 2δt2
... Ck = ... c k . . . ... c k+N−1 Zx
k+1 =
zx
k+1
. . . zx
k+N
= Sz cx
k
˙ cx
k
¨ cx
k
+ Uz ... C
x k
˙ Ck+1 = ˙ ck+1 . . . ˙ ck+N = Sv ck ˙ ck ¨ ck + Uv ... Ck
Sz = 1 T T 2/2 − h/g . . . . . . . . . 1 NT N 2T 2/2 − h/g Uz = T 3/6 − Th/g . . . ... (1+3N +3N 2) T 3/6 − Th/g . . . T 3/6 − Th/g
Sv = 1 T . . . . . . . . . 1 NT Uv = T 2/2 . . . ... (1+2N) T 2/2 . . . T 2/2
Fk+1 = Vk+1fk + ¯ Vk+1 ¯ Fk+1
Vk+1 = 1 . . . 1 . . . . . . ¯ Vk+1 = . . . . . . 1 . . . . . . 1 1 . . . . . . 1 ...
min α 2
C
x,y k
2
Cx,y
k+1 − ˙
Cx,y
ref
+ γ 2
k+1 − F x,y k+1
min
xk
1 2xT
k Qkxk + pT k xk
Qk = Q0
k
Q0
k
k =
αI + βU T
v Uv + γU T z Uz
−γU T
z ¯
Vk+1 −γ ¯ V T
k+1Uz
γ ¯ V T
k+1 ¯
Vk+1
... C
x k
¯ F x
k+1
... C
y k
¯ F y
k+1
min α 2
C
x,y k
2
Cx,y
k+1 − ˙
Cx,y
ref
+ γ 2
k+1 − F x,y k+1
xk = ... C
x k
¯ F x
k+1
... C
y k
¯ F y
k+1
l ≤ R(F θ
k+1)
Zx
k+1 − F x k+1
Zy
k+1 − F y k+1
l ≤ R(F θ
k+1)
✓Uz − ¯ Vk+1 Uz − ¯ Vk+1
Szˆ cx
k − Vk+1f x k
Szˆ cy
k − Vk+1f y k
◆ ≤ u
✓Z0x
k+1
Z0y
k+1
◆ = R(F θ
k+1)
Zx
k+1 − F x k+1
Zy
k+1 − F y k+1
x0
k =
Z0x
k
¯ F x
k+1
Z0y
k
¯ F y
k+1
l ≤ R(F θ
k+1)
Zx
k+1 − F x k+1
Zy
k+1 − F y k+1
min
x
1 2xT Qx + pT x Qx + p = 0
min
x
1 2xT Qx + pT x Qx + p = AT λ ✓ Q AT A ◆ ✓ x −λ ◆ + ✓p b ◆ = 0 s.t. Ax + b = 0
min
x
1 2xT Qx + pT x ¯ Q¯ x + ¯ p = 0 s.t. x + b = 0 Qx + p = ET λ (x = Ex)
83
0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 2 4 6 8 10 12 Computation time (s) Time (s) Computation time for QL, PLDP, with Warm Start (WS), with Limited Time (LT) on HRP-2 QL PLDP PLDP WS-LT