Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm...

53
Space robots, Walking robots, Optimal Control 1 Pierre-Brice Wieber INRIA Grenoble

Transcript of Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm...

Page 1: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Space robots, Walking robots, Optimal Control

1

Pierre-Brice WieberINRIA Grenoble

Page 2: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Efficient computation of the dynamics

2

Page 3: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Lagrangian dynamics

M(q) =X

k

JTtk mk Jtk + JT

Rk Ik JRk

N(q, q) =X

k

JTtk mk Jtk + JT

Rk Ik JRk � JTRk (Ik JRk q)⇥ JRk

F =X

k

JTtk fk + JT

Rk ⌧k

M(q) q +N(q, q) q = F

3

Page 4: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Recursive Newton-Euler Algorithm

• Forward recursion: differential kinematics

• Backward recursion: inertial effects (Newton and Euler equations)

xk, !k, xk, !k

4

Page 5: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Let’s consider a simple example

5

Page 6: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

SCARA robots

6

Page 7: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

P2

P0

P1

x

y

q1

q2

1 m

1m

Kinematic model

7

Page 8: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Direct Kinematics Cartesian position

x1

y1

�=

0

0

�+

cos(q1) � sin(q1)

sin(q1) cos(q1)

� 1

0

�=

cos(q1)

sin(q1)

x2

y2

�=

0

0

�+

cos(q1) � sin(q1)

sin(q1) cos(q1)

✓1

0

�+

cos(q2 � q1) � sin(q2 � q1)

sin(q2 � q1) cos(q2 � q1)

� 1

0

�◆

=

cos(q1) + cos(q2)

sin(q1) + sin(q2)

8

Page 9: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Cartesian speed Jacobian matrix

x2

y2

�=

� sin(q1)q1 � sin(q2)q2

cos(q1)q1 + cos(q2)q2

=

� sin(q1) � sin(q2)

cos(q1) cos(q2)

� q1

q2

9

x1

y1

�=

� sin(q1) 0

cos(q1) 0

� q1

q2

Page 10: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Kinetic Energy

K =m1

2

x1

y1

�T x1

y1

�+

m2

2

x2

y2

�T x2

y2

10

Page 11: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Kinetic Energy

K =

m1

2

x1

y1

�T x1

y1

�+

m2

2

x2

y2

�T x2

y2

=

m1

2

q1

q2

�T 1 0

0 0

� q1

q2

�+

m2

2

q1

q2

�T 1 cos(q1 � q2)

cos(q1 � q2) 1

� q1

q2

11

Page 12: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Space robots, Walking robots, Optimal Control

12

Pierre-Brice WieberINRIA Grenoble

Page 13: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

The dynamics of space robots

13

Page 14: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

And yet it moves

< 1 degree/step14

Page 15: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Structure of the minimal coordinates

• Joint positions

• Position and orientation with respect to the environment

q =

2

4qx0

�0

3

5

15

Page 16: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Structure of the kinematics

xk = Jtk(q) q

!k = JRk(q) q

xk = x0 + R0(xk � x0) +R0 Jtk˙q

Rk !k = R0 !0 +R0 JRk˙q

Jtk =hR0 Jtk I3⇥3 �(xk � x0)⇥R0 JR0

i

JRk =h

JRk 03⇥3 R

Tk R0 JR0

i

16

Page 17: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Structure of the Lagrangian dynamics

M(q) =X

k

JTtk mk Jtk + JT

Rk Ik JRk

N(q, q) =X

k

JTtk mk Jtk + JT

Rk Ik JRk � JTRk (Ik JRk q)⇥ JRk

F =X

k

JTtk fk + JT

Rk ⌧k

17

M(q) q +N(q, q) q = F

Page 18: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Newton & Euler equations (again)

X

k

mk

⇣Jtk q + Jtk q

⌘=

X

k

mkxk =X

k

fk

18

X

k

(xk � x0)⇥mkxk +Rk Ik !k +Rk!k ⇥ (Ik !k) =

X

k

(xk � x0)⇥ fk +Rk ⌧k

Page 19: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Holonomy and nonholonomy

m c = 0

d

dt

hX(xk � c)⇥mkxk +RkIk!k

i= 0

19

c =1

m

X

k

mkxk

Page 20: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Skylab Gym

20

Page 21: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Nonholonomy for dogs

Etienne-Jules Marey (1830-1904)

21

Page 22: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

And yet it moves

< 1 degree/step22

Page 23: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

The dynamics of walking

23

Page 24: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Kerry Skarbakka

24

Page 25: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Avoiding to fallViability considerations 58

fall

fall

fall

fall

25

Page 26: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Lyapunov stability

8 " > 0, 9 � > 0 s.t. kx(t0)� x0k � ) 8 t � t0, kx(t)� x0k "

• Continuity of distance between trajectories

• Local concept

• Since 1892

26

Page 27: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

• Stability implies local positive invariance

Positive invariance

27

Page 28: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Positive invariance

x(t0) 2 S ) 8 t � t0, x(t) 2 S

28

Page 29: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Obstacle avoidance

• Largest set that doesn’t intersect obstacles

• Largest invariant set that doesn’t intersect obstacles

• Largest set that doesn’t intersect obstacles and CAN be made invariant : the Viability Kernel

29

Page 30: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Michael Jackson

30

Page 31: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Contact forces

(m(c+ g) =

Pfi

d

dt

hX(xk � c)⇥mkxk +RkIk�k

i=

P(pi � c)⇥ fi

mc⇥ (c+ g) + L

m(cz + gz)=

Ppi ⇥ fiPfzi

31

Page 32: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

On a flat ground, the Center of Pressure

• Let’s focus on the horizontal momenta

mc⇥ (c+ g) + L

m(cz + gz)=

Ppi ⇥ fiPfzi

cx,y � mcz cx,y � ˙Lx,y

m(cz + gz)=

Ppx,yi

fz

iPfz

i

⇥ conv {px,yi

}

32

Page 33: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Flat walking

• Let’s consider walking “flat”:

appears to be a linear Differential Inclusion

33

cx,y � cz

gzcx,y 2 conv {px,y

i

}

Page 34: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

The dynamics of fallinga

CoM

Fig. 6. An example of convex hulls Z(t) in dotted line and Z(t) in plainline for five steps of biped walking. When the CoM lies on the edge of theset Z(t), it lies on a line (in red) defined by an orthogonal vector a (in blue)

such that the whole set Z(t) lies on one side of this line.

leading to the unavoidable conclusion that the CoM is diverg-

ing infinitely away from the set Z(t) in the direction of thevector a,

limt→+∞

aT xG(t) = +∞.

Every locomotion can be considered to start with a CoM at

rest within the set Z(t), and as soon as this CoM leaves this

set, it diverges infinitely away from it. We can observe that

such a divergence to infinity of this Cart-Table approximate

model corresponds in fact to a fall for the original legged robot

(Figure 5): avoiding the legged robot to fall means therefore

avoiding the Cart-Table model to diverge to infinity. From the

point of view of the Viability analysis discussed in section II-

B, the undesirable states for this Cart-Table model appear

therefore to be the states “at infinity”.

This viability analysis could be led further, and approxima-

tions of the corresponding viability kernel may be obtained,

but it is time now for Model Predictive Control to come into

play.

C. Minimizing the derivatives of the position of the Center of

Mass

One point of interest in the previous analysis is that when

diverging to infinity, the CoM diverges at a pace greater than

exponential, what implies that all its derivatives, velocity,

acceleration, jerk, etc... diverge at the same pace, greater than

exponential. Integrals of norms of these derivatives such as∫ +∞

tk

∥x

(n)G

(t)∥

2dt (10)

appear therefore to have infinite values for all diverging

motions, and finite values for all motions ending up in finite

time at an equilibrium state, the kind of locomotion we’re

generally interested in. Minimizing such integrals implicitly

selects therefore a non-diverging motion whenever possible,

what solves exactly the problem discussed in section II-B of

selecting viable states out of non-viable states. This is quite

a striking discovery that minimizing any derivative of the

position of the CoM always generates a safe legged locomotion

whenever possible!

On top of that, the exponential rates in the divergence of

the CoM also imply that the values of the same integrals but

over finite time intervals,

∫ tk+T

tk

∥x

(n)G

(t)∥

2dt, (11)

raise exponentially as well, allowing to discard most of the

non-viable states with the same minimization process even on

finite time intervals. Of course, the longer the time interval T ,the more non-viable states can be discarded.

Now, the minimization of these integrals can obviously be

put in the form of a Model Predictive Control scheme as

discussed in section II-C, leading directly to an exact viable

feedback in the case of the infinite integrals (10) (exact with

respect to the Cart-Table model) or to an approximate viable

feedback in the case of the finite integrals (11). The specificity

of this MPC scheme is that the viability property need not

be expressed and checked explicitly, it is satisfied implicitly

when minimizing the cost functions. And interestingly enough,

it appears that with such an MPC scheme, considering short

prediction horizons, no more than 1 s, what implies lookingonly one step ahead, is already enough in preserving viability

and generating safe locomotion even in the presence of strong

perturbations [15].

The fact that minimizing the jerk of the CoM generates sta-

ble walking motions has already been acknowledged in [12],

but through an optimal Linear Quadratic Regulator scheme

only related to Lyapunov stability and therefore inducing

viability only locally. This scheme would be unable therefore

to face properly strong perturbations such as in Figure 3. This

minimization of the jerk of the CoM has been generalized then

in [15], following the MPC scheme presented here, minimizing

the cost function (11) with respect to the dynamics (9).

The strong connection between this scheme and the viability

property that we presented here wasn’t discussed there, but

numerical simulations were proposed, demonstrating its ability

to face strong perturbations properly.

In these previous works, the foot steps and therefore the

convex hulls Z(t) were considered to be fixed in advance andimpossible to change. This limits of course the possibilities for

the legged system to maintain viability and avoid falling (this

is exactly the situation of Figure 2 with respect to Figure 3).

We can observe in the analysis presented here that the set-

valued function Z(t) can be included in the control variableswithout any other modification of the feedback scheme: modi-

fying foot placement in order to minimize the jerk of the CoM

will continue to generate stable walking motions whenever

possible.

IV. DISCUSSION

We have seen in the previous section how an exact viable

feedback control law can be designed for an approximate

model of legged locomotion through a very simple Model

Predictive Control scheme. We have seen that accurate and

perfectly tractable approximations can also be obtained very

easily by varying the length of the corresponding horizon of

prediction.

ha, cx,y(t)� cx,y(t0)i � ha, cx,y(t0)ir

cz

gsinh

✓rg

cz(t� t0)

34

Page 35: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

The Viability kernelViability considerations 58

fall

fall

fall

fall

35

Page 36: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Viability

• Avoiding to fall is a Viability objective

• Anticipation is the key

36

Page 37: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

The dynamics of fallinga

CoM

Fig. 6. An example of convex hulls Z(t) in dotted line and Z(t) in plainline for five steps of biped walking. When the CoM lies on the edge of theset Z(t), it lies on a line (in red) defined by an orthogonal vector a (in blue)

such that the whole set Z(t) lies on one side of this line.

leading to the unavoidable conclusion that the CoM is diverg-

ing infinitely away from the set Z(t) in the direction of thevector a,

limt→+∞

aT xG(t) = +∞.

Every locomotion can be considered to start with a CoM at

rest within the set Z(t), and as soon as this CoM leaves this

set, it diverges infinitely away from it. We can observe that

such a divergence to infinity of this Cart-Table approximate

model corresponds in fact to a fall for the original legged robot

(Figure 5): avoiding the legged robot to fall means therefore

avoiding the Cart-Table model to diverge to infinity. From the

point of view of the Viability analysis discussed in section II-

B, the undesirable states for this Cart-Table model appear

therefore to be the states “at infinity”.

This viability analysis could be led further, and approxima-

tions of the corresponding viability kernel may be obtained,

but it is time now for Model Predictive Control to come into

play.

C. Minimizing the derivatives of the position of the Center of

Mass

One point of interest in the previous analysis is that when

diverging to infinity, the CoM diverges at a pace greater than

exponential, what implies that all its derivatives, velocity,

acceleration, jerk, etc... diverge at the same pace, greater than

exponential. Integrals of norms of these derivatives such as∫ +∞

tk

∥x

(n)G

(t)∥

2dt (10)

appear therefore to have infinite values for all diverging

motions, and finite values for all motions ending up in finite

time at an equilibrium state, the kind of locomotion we’re

generally interested in. Minimizing such integrals implicitly

selects therefore a non-diverging motion whenever possible,

what solves exactly the problem discussed in section II-B of

selecting viable states out of non-viable states. This is quite

a striking discovery that minimizing any derivative of the

position of the CoM always generates a safe legged locomotion

whenever possible!

On top of that, the exponential rates in the divergence of

the CoM also imply that the values of the same integrals but

over finite time intervals,

∫ tk+T

tk

∥x

(n)G

(t)∥

2dt, (11)

raise exponentially as well, allowing to discard most of the

non-viable states with the same minimization process even on

finite time intervals. Of course, the longer the time interval T ,the more non-viable states can be discarded.

Now, the minimization of these integrals can obviously be

put in the form of a Model Predictive Control scheme as

discussed in section II-C, leading directly to an exact viable

feedback in the case of the infinite integrals (10) (exact with

respect to the Cart-Table model) or to an approximate viable

feedback in the case of the finite integrals (11). The specificity

of this MPC scheme is that the viability property need not

be expressed and checked explicitly, it is satisfied implicitly

when minimizing the cost functions. And interestingly enough,

it appears that with such an MPC scheme, considering short

prediction horizons, no more than 1 s, what implies lookingonly one step ahead, is already enough in preserving viability

and generating safe locomotion even in the presence of strong

perturbations [15].

The fact that minimizing the jerk of the CoM generates sta-

ble walking motions has already been acknowledged in [12],

but through an optimal Linear Quadratic Regulator scheme

only related to Lyapunov stability and therefore inducing

viability only locally. This scheme would be unable therefore

to face properly strong perturbations such as in Figure 3. This

minimization of the jerk of the CoM has been generalized then

in [15], following the MPC scheme presented here, minimizing

the cost function (11) with respect to the dynamics (9).

The strong connection between this scheme and the viability

property that we presented here wasn’t discussed there, but

numerical simulations were proposed, demonstrating its ability

to face strong perturbations properly.

In these previous works, the foot steps and therefore the

convex hulls Z(t) were considered to be fixed in advance andimpossible to change. This limits of course the possibilities for

the legged system to maintain viability and avoid falling (this

is exactly the situation of Figure 2 with respect to Figure 3).

We can observe in the analysis presented here that the set-

valued function Z(t) can be included in the control variableswithout any other modification of the feedback scheme: modi-

fying foot placement in order to minimize the jerk of the CoM

will continue to generate stable walking motions whenever

possible.

IV. DISCUSSION

We have seen in the previous section how an exact viable

feedback control law can be designed for an approximate

model of legged locomotion through a very simple Model

Predictive Control scheme. We have seen that accurate and

perfectly tractable approximations can also be obtained very

easily by varying the length of the corresponding horizon of

prediction.

ha, cx,y(t)� cx,y(t0)i � ha, cx,y(t0)ir

cz

gsinh

✓rg

cz(t� t0)

37

Page 38: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Regulate the Center of Mass

• Any derivative of the motion of the Center of Mass allows discriminating falling motions

• Optimal Control may be a solution to the Viability objective

38

Z 1

t

���c(n)���2dt

Page 39: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Optimal Control

39

Page 40: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Dynamics of manipulator robots

M(q) q +N(q, q) q +G(q) = ⌧

Gravity and joint torques

40

Page 41: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

State space representation

x = f(x, u)

M(q) q +N(q, q) q +G(q) = ⌧

41

Page 42: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

State space representation

x =

q

q

�, u = ⌧

x =

q

q

�=

q

M(q)�1(u�N(q, q)q �G(q))

�= f(x, u)

42

Page 43: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Continuous or discrete time

x = f(x, u)

xk+1 = f(xk, uk)

43

Page 44: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Optimal control

• is asymptotically stabilizing if the system is controllable

xk+1 = f(xk, uk)

V

⇤(x0) = minu0,...

1X

0

l(xk, uk)

u

⇤0(x0)

44

Page 45: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Optimal control

• is asymptotically stabilizing if the system is controllable

• as Lyapunov function

xk+1 = f(xk, uk)

V

⇤(x0) = minu0,...

1X

0

l(xk, uk)

u

⇤0(x0)

V

⇤(x0)

45

Page 46: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Linear Quadratic Regulator (LQR)

xk+1 = Axk +B uk

V (x0) = minu0,...

1X

k=0

x

TkQxk + u

TkRuk

46

Page 47: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Hamilton-Jacobi-Bellman Dynamic Programming

V (x0) = minu0,...

1X

k=0

x

TkQxk + u

TkRuk

= minu0

x

T0 Qx0 + u

T0 Ru0 + V (x1)

47

Page 48: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

LQR? PD!

V (x) = x

TP x

x

T0 P x0 = min

u0

x

T0 Qx0 + u

T0 Ru0 + x

T1 P x1

= minu0

x

T0 Qx0 + u

T0 Ru0 + (Ax0 +Bu0)

TP (Ax0 +Bu0)

Ru0 +B

TPB u0 +B

TPAx0 = 0

u0 = �(R+B

TPB)�1

B

TPAx0 = K x0

48

Page 49: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Algebraic Ricatti equation

x

T0 P x0 = x

T0 (Q+A

TPA�A

TPB(R+B

TPB)�1

B

TPA)x0

49

Page 50: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Biped walking

50

Page 51: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Flat walking

• Let’s consider walking “flat”:

appears to be a linear Differential Inclusion

51

cx,y � cz

gzcx,y 2 conv {px,y

i

}

Page 52: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Kajita 2003 ICRA

2

4ck+1

ck+1

ck+1

3

5 =

2

41 T T 2/20 1 T0 0 1

3

5

2

4ckckck

3

5+

2

4T 3/6T 2/2T

3

5 ...c k

V (x0) = minu0,...

1X

k=0

x

Tk

2

410

�c

z/g

z

3

5 ⇥1 0 �c

z/g

z⇤xk + u

Tk uk

52

Page 53: Space robots, Walking robots, Optimal Control · 2015. 12. 14. · Recursive Newton-Euler Algorithm • Forward recursion: differential kinematics • Backward recursion: inertial

Kajita 2003 ICRA

53