robotics motion generation for legged robots · nicolas mansard gepetto team 2 robotics as a ml...

93
GEPETTO PROJECT – LAAS-CNRS Robotics Motion generation for agile robots Nicolas Mansard

Upload: others

Post on 27-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

GEPETTO PROJECT – LAAS-CNRS

RoboticsMotion generation for

agile robots

Nicolas Mansard

Page 2: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 2

Robotics as a ML problem?

AlphaGo, The Movie

Page 3: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 3

Page 4: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 4

Page 5: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 5

Page 6: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 6

Page 7: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 7

End-to-end control?

mincontrol sequence

s.t.

Preview cost

Geometry constraint

Dynamic constraint

Past measurementsknowing

Page 8: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 8

End-to-end control?

Coders

Inertial U

Forces

Vision

Proxyms

Tactile

Actuators

most-

likely

state

actuator

actuator

actuator

actuator

actuator

actuator

Page 9: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 9

Simulation VS embodiment

Simulation

End-to-end learning

Few priors

Robot

State+sensor feedback

Expert-tuned controller

Hees et al, Deep Mind Atlas, Boston Dynamics

Page 10: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 10

Sense – plan – act

sensorssensorssensorssensorssensors

motorsmotorsmotorsmotors

Sensing Control

Planning

Page 11: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 11

Sense – plan – act

Long-term preview

Mid-term trajectory

Instantaneous

feedback

planning

control`

sensorssensorssensorssensorssensors

Direct sensor

feedback

State

feedback

motorsmotorsmotorsmotors

Page 12: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 12

Main messages

How to solve robotics through IA?

Many subproblems of robotics are well understood

IA approaches (yet) hardly reproduces state-of-the-art results

We need to understand how to integrate these knowledge in IA

methods

No data directly available in robotics

Exploration/planning is difficult

Poor generalization using naïve kernel

Transferring knowledge

From planning to control … from simulation to robot

Page 13: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 13

Outline

Geometry

Model, inverse geometry/kinematics, motion planning

Dynamics

Model and algorithms, contact dynamics, simulation

Optimal control

Predictive control VS policy learning

Agile robots

Practical case study

Page 14: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 14

Geometry

Model, inverse geometry/kinematics,

motion planning

Page 15: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 15

How to construct this motion?

Page 16: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 16

Rigid-body geometry

Homogeneous notation

𝐴𝑀𝐵 =𝐴𝑅𝐵

𝐴𝐴𝐵

0 1 Placement – displacement

𝐴𝑥 = 𝐴𝑀𝐵𝐵𝑥

𝐴𝑀𝐵 represents the placement.

Other representations possible

𝐴𝑀𝐵 ~𝐴𝐴𝐵𝐴𝑞𝐵

A

B

Page 17: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 17

Joint model

Definition: a parametric function representing the

placement of the output wrt the input.

Revolute joint

𝐼𝑀𝑆 =

1𝑐𝑜𝑠 𝑠𝑖𝑛−𝑠𝑖𝑛 𝑐𝑜𝑠

1

Page 18: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 18

Joint model

Definition: a parametric function representing the

placement of the output wrt the input.

Prismatic joint

𝐼𝑀𝑆(𝑞) =

1 𝑞

11

1

Page 19: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 19

Joint model

Definition: a parametric function representing the

placement of the output wrt the input.

Ball joint

𝐼𝑀𝑆(𝑞) =𝐼𝑅𝑆(𝑞)

1

Page 20: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 20

Kinematic model

qk

Mk(qk) Displacement

due to the joint

MkPlacement of the

joint wrt its parent

Page 21: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 21

Direct geometry

The geometric model is a tree of joints and bodies

M1

M2

M1(q1)

M3

M2(q2)

M4

M3(q3)

M4(q4)

M(q) = M1 M1(q1) M2 … M4 M4(q4)

Me

Me

Page 22: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 22

Inverse geometry

Being given a desired placement M* …

what is q such that h (q) = 0ME = M*

l2

l1

0ME(q) = l1 cos(q1) + l2 cos(q1+q2)

l1 sin(q1) + l2 sin(q1+q2)

q1

q2

Page 23: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 23

Inverse geometry

Solve it using nonlinear programming

min𝑞

𝑑𝑖𝑠𝑡( 0𝑀𝐸 𝑞 ,𝑀∗)

Optimization in smooth manifold (Lie groups)

min𝑞

log( 0𝑀𝐸 𝑞 −1 𝑀∗)2

Page 24: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 24

Decreasing sequence: f(xk+1) < f(xk)

Follow the slope

Page 25: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 25

ሶ𝑀 = ×𝑀

Rigid-body kinematics

ሶ𝑅 = 𝜔 × 𝑅

=𝑣𝜔

×𝑅 𝑝0 1

Page 26: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 27

Rigid-body kinematics

Velocities are true vectors𝐴𝐴𝐵 = 𝐴𝑋𝐵

𝐵𝐴𝐵

𝐴𝐴𝐵 =𝐴𝐴𝐶+ 𝐴𝐶𝐵

A

B

Page 27: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 28

Joint kinematics

=

00000𝑣𝑞

=

000001

𝑣𝑞 =

00𝑣𝑞000

=

001000

𝑣𝑞 =

000𝑣1𝑣2𝑣𝑞

=

000100

000010

000001

𝑣𝑞

Page 28: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 29

Robot kinematics

3

2

1

𝐸 = 1 + 2 + 3 +⋯

E

= 𝐽1 𝐽2 𝐽3 …

𝑣𝑞1𝑣𝑞2𝑣𝑞3…

= J1 vq1

= J2 vq2

=J3 vq3

Page 29: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 30

Inverse kinematics

Given the current configuration q

Find the closest velocity …

min𝑣𝑞

𝐽 𝑞 𝑣𝑞 − ∗

𝑣𝑞 = 𝐽+∗

One step in inverse geometry

min𝑞

𝑟(𝑞) 2

Gradient = 𝑑𝑟

𝑑𝑞

𝑇𝑟∗ Hessian =

𝑑𝑟

𝑑𝑞

𝑇𝑑𝑟

𝑑𝑞+ ε

Gauss-Newton step = (𝑑𝑟

𝑑𝑞

𝑇 𝑑𝑟

𝑑𝑞)−1

𝑑𝑟

𝑑𝑞

𝑇

𝑟 = 𝐽+𝑟

Page 30: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 32

Control in the task space

Effector position / placement

Center of mass

Sensor orientation

Joint limits

Field of view

Balance support

position

position 6d

gaze

center of

mass

parallelism

joint

limits

relative

pose

Page 31: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 33

Redundancy and hierarchy

Page 32: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 34

Decreasing sequence: f(xk+1) < f(xk)

Follow the slope

Page 33: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 35

Explore space

Monte Carlo Tree Search

See R. Munos tomorrow

Major stakes

Discretization

Boundedness on derivatives (Lipschitz continuity)

Page 34: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 36

Collisions!

Joint 1

Join

t 2

Page 35: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 37

Random Roadmap

Page 36: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 38

Random Roadmap

Page 37: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 39

Random roadmap

Page 38: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 40

Page 39: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 41

Random roadmap

Page 40: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 42

Kinematics of advanced robots

Adept, commercial

Page 41: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 43

Dynamics

Model and algorithms, contact dynamics,

simulation

Page 42: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 44

How to construct this motion?

Page 43: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 45

Rigid-body dynamics

Body placement: 𝑀 =𝑅 𝑝0 1

Body velocity: =𝑣𝜔

Body acceleration: 𝛼 = ሶ

EARTH

MOON=

000001

𝛼=

000000

Page 44: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 46

Rigid-body dynamics

Body placement: 𝑀 =𝑅 𝑝0 1

Body velocity: =𝑣𝜔

Body acceleration: 𝛼 = ሶ

Body force: φ =𝑓𝜏

Body inertia: Y =𝑚 00 𝐼

Y: Motion Force

Velocity Momentum

Acceleration 𝛼 Force φ

Page 45: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 47

Robot dynamic model

Kinematic energy

𝐸𝑐 =1

2𝑖𝑇𝑌𝑖𝑖

=1

2𝑣𝑞𝑇 𝐽𝑖

𝑇𝑌𝑖𝐽𝑖 𝑣𝑞

( = 𝐽 𝑣𝑞)

𝑀(𝑞)

Page 46: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 48

Robot dynamic model

Kinematic energy

Lagrange principle

𝑀 𝑞 ሶ𝑣𝑞 + 𝑣𝑞𝑇𝑅 𝑞 𝑣𝑞 + 𝑔 𝑞 = 𝜏𝑞

𝐸𝑐 =1

2𝑣𝑞𝑇𝑀(𝑞)𝑣𝑞

Page 47: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 49

Dynamics with contact

𝑀 𝑞 ሶ𝑣𝑞 + 𝑣𝑞𝑇𝑅 𝑞 𝑣𝑞 + 𝑔 𝑞 = 𝜏𝑞

Joint torques?

𝜏𝑞 = 𝜏𝑚𝑜𝑡𝑜𝑟 + 𝜏𝑒𝑥𝑡

Motor torque: actuation dynamics

Example: the first 6 values are null

External forces:

𝜏𝑒𝑥𝑡 =

= 𝐽 𝑣𝑞

𝐽𝑇𝜑

P = 𝜏𝑒𝑥𝑡𝑇 𝑣𝑞

𝜑

Page 48: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 50

Simulation

𝑀 𝑞 ሶ𝑣𝑞 + 𝑣𝑞𝑇𝑅 𝑞 𝑣𝑞 + 𝑔 𝑞 = 𝜏𝑚 + 𝐽𝑇𝜑

Rewrite with steps and normal forces

𝑣+ = 𝑣0 +𝑀−1 𝐽𝑇𝑓

Constraints imposed by the contact model

Positive forces: f ≥ 0

Positive motion: J 𝑣+ ≥ 0

One or the other: 𝑓𝑇J 𝑣+ = 0

Linear complementarity problem

Page 49: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 51

Force and Lagrange multiplier

Search 𝑣+ and 𝑓

𝑣+ = 𝑣0 +𝑀−1 𝐽𝑇𝑓𝑓 ≥ 0J 𝑣+ ≥ 0𝑓𝑇J 𝑣+ = 0

KKT conditions of the Gauss “least-action” principle

min𝑣+

𝑣+ − 𝑣0 𝑀−1

s.t. J 𝑣+ ≥ 0

Page 50: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 52

From YouTube

Page 51: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 53

Task-space inverse dynamics

Wensing&Orin, Ohio Spot with arm, Boston Dynamics

Page 52: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 54

Robot actuation

HarmonicDrive, commercial

Page 53: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 55

Robot actuation

Cassie, Hurst (agility robotics), Oregon

Page 54: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 56

Optimal control

Pontryagine Belman

Predictive control Policy learning

Trajectory optim Policy optimization

VS

Page 55: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 57

How to construct this motion?

Page 56: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 58

Problem definition

X and U are functions of t:

X: t x(t) nx

U: t u(t) nu

The terminal time T is fixed

min𝑋,𝑈

𝑙𝑇 𝑥 𝑇 +න0

𝑇

𝑙 𝑥 𝑡 , 𝑢 𝑡 𝑑𝑡

s.t. ሶ𝑥(t) = f(x(t),u(t))

Page 57: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 59

Belman principle and equation

Given an optimal trajectory …

… subtrajectories are optimal too

Optimal

trajectory

Optimal too!

Page 58: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 60

Belman principle and equation

Value function Vt(x)

Best score possible from x,t

Belman principle, rewritten

𝑉 𝑥, 𝑡 = min𝑢𝑡..𝑢𝑡+∆𝑡

න𝑡

𝑡+∆𝑡

𝑙 𝑥 𝑠 , 𝑢 𝑠 𝑑𝑠 + 𝑉(𝑥 𝑡 + ∆𝑡 )

Passing to ∆𝑡0

𝑉 𝑥, 𝑡 =min𝑢

𝑙 𝑥, 𝑢 ∆𝑡

+ 𝑉(𝑥)∆𝑡 +𝑑𝑉

𝑑𝑡∆𝑡 +

𝑑𝑉

𝑑𝑥𝑓(𝑥, 𝑢)

Reordering

−𝑑𝑉

𝑑𝑡= min

𝑢𝑙 𝑥, 𝑢 +

𝑑𝑉

𝑑𝑥𝑓(𝑥, 𝑢)

Page 59: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 61

Optimality principles

Hamiltonien 𝐻 𝑥, 𝑢, 𝑝 = 𝑙 𝑥, 𝑢 + 𝑝|𝑓 𝑥, 𝑢

Hamilton Jacobi Belman equation

𝑢∗(𝑥) = argmin𝑢

𝐻 𝑥 , 𝑢 ,𝜕𝑉

𝜕𝑥𝑥

Pontryagin Maximum principle

𝑢∗(𝑡) = argmin𝑢

𝐻 𝑥 𝑡 , 𝑢 , 𝑝 𝑡

Page 60: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 62

Optimality principles

Curse of dimensionality

Solved in particular cases

Nonholonomic car-like robots

Reachability sets

Page 61: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 63

Trajectory (direct) optimization

X and U are vectors of dimension T*nx and T*nu resp.

𝑋 =𝑥1⋮𝑥𝑛

, 𝑈 =𝑢1⋮𝑢𝑛

The information in X and U is somehow redundant

min𝑋,𝑈

𝑙𝑇 𝑥𝑇 +

𝑡=0

𝑇−1

𝑙 𝑥𝑡, 𝑢𝑡

s.t. 𝑥t+1 = f(xt,ut )

Page 62: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 64

Winkler, Buchli et al, ETHZ

Page 63: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 65

Page 64: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 66

Shooting and collocation

min𝑋,𝑈

𝑙𝑇 𝑥𝑇 +

𝑡=0

𝑇−1

𝑙 𝑥𝑡, 𝑢𝑡

s.t. 𝑥t+1 = f(xt,ut)

xt := ft (x0, u0,…,ut)

Shooting formulation

Page 65: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 67

Problem definition

Page 66: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 68

Control vs estimation

Meet Zongmian Li (first author) at the coffee break

Page 67: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 69

Optimization

Solver Simulatorparameters

First order method (Hessian not available)

BFGS or sparse Gauss-Newton

~ 10000 variables ~ 1 second available

Derivatives?

Hamaleinen et al, Aalto

Page 68: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 70

Dynamic motor primitives

Optimize despite evaluation noise

While carefully exploiting each run

Righetti et al, USC (now NYU)

Page 69: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 71

Deep reinforcement learning71

Policy function

u = Π(x)

Value function

H(x,u) = l(x,u) + V(f(x,u))

Tassa, Todorov et al, UW Hees, .. , Tassa et al, Deep Mind

Page 70: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 72

The difficulty is not in learning

Optimizing a policy boils down to

Generate the example dataset (by reinforcement)

Exploiting the dataset using machine learning

The difficulty is in the exploration

Guided policy search

Provide few trajectory examples (demonstration or planning)

Reinforce “around” the trajectories

Page 71: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 73

Guided policy search

Levine et al, UCB/Google

Page 72: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 74

min𝑋=(𝑄, ሶ𝑄),𝑈=𝜏

න0

𝑇

𝑙 𝑥𝑡 , 𝑢𝑡 𝑑𝑡

so that t, ሶ𝑥 𝑡 = 𝑓(𝑥 𝑡 , 𝑢 𝑡 )

Optimal control

Optimizing a trajectory

U: t → u(t)

Motion planning

Optimizing a policy

: x → u = (x)

Reinforcement learning

Page 73: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 75

What kind of model

Autonomy

Data

needed QP-like

controllers

Data-driven

machine learning

Model-predictive

control

Generalization

From Todorov’s presentation (25 Nov 2016)

Page 74: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 76

What is next?

Planning from and for learning

Agile and dexterous robots

Page 75: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 77

Motion defined as optimal control

min𝑋,𝑈

න0

𝑇

𝑙(𝑥𝑡 , 𝑢𝑡) 𝑑𝑡 so that ሶ𝑥𝑡 = 𝑓(𝑥𝑡 , 𝑢𝑡)

Example of locomotionco

st

Algo iterations

11

Page 76: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 78

Motion defined as optimal control

min𝑋,𝑈

න0

𝑇

𝑙(𝑥𝑡 , 𝑢𝑡) 𝑑𝑡 so that ሶ𝑥𝑡 = 𝑓(𝑥𝑡 , 𝑢𝑡)

Example of locomotionco

st

Algo iterations

11

INVENTION OF WALKING

Page 77: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 79

Motion defined as optimal control

min𝑋,𝑈

න0

𝑇

𝑙(𝑥𝑡 , 𝑢𝑡) 𝑑𝑡 so that ሶ𝑥𝑡 = 𝑓(𝑥𝑡 , 𝑢𝑡)

Example of locomotionco

st

Algo iterations

``warm start’’

11

INVENTION OF WALKING

Page 78: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 80

Reachability

planner

Workflow

Sequence of

contacts

Whole-body

force control3D Pattern

generator

Page 79: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 81

Reachability-based planner

Necessary vs sufficient cond. for contact feasibility

Obstacles in reachable workspace...

… while avoiding collisions

Page 80: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 82

Reachability-based planner

Page 81: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 83

Real-time contact planner

Page 82: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 84

Whole-body “proxy” constraints

COM limits

Learned from off-line random

sampling

Footstep timings

Another variables in the OCP

No serious additional cost

Angular momentum

Model of the limits (proxy) needed

Page 83: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 85

Page 84: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 86

~500TBytes

User-definedtask

Original optimalcontrol problem

Real optimal movement

Iterative optimization

Offline generated samplesExperience-based

prior guess

Page 85: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 87

Roadmap/approximation co-training

Kino-dynamic

Probabilistic Roadmap

30-50 states, dense connect

Dataset of subtrajectories

10-100k items

Neural network

2x512 hidden units

HJB approximation

Value function as metric

Policy function as warm-start

Sampling

Regression

(stoch.grad.)

Query

Roadmap

extension

Page 86: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 88

Roadmap/approximation co-training

Kino-dynamic

Probabilistic Roadmap

30-50 states, dense connect

Dataset of subtrajectories

10-100k items

Neural network

2x512 hidden units

HJB approximation

Value function as metric

Policy function as warm-start

Sampling

Regression

(stoch.grad.)

Query

Roadmap

extension

IREPA

Iterative

Roadmap

Extension

Policy

Approximation

Page 87: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 89

IREPA: iterations

Value network

Policy network

Page 88: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 90

IREPA with MPC

Page 89: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 91

IREPA with MPC

Page 90: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 92

Page 91: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 93

Main messages

Memorization is necessary

But it is likely not so difficult

Exploration + transfer are the difficult points

Include sensing and mechanical design

Not formulated as canonical IA problems (yet)

Several well-understood excellent models

Equivalent to convolution in vision?

Fully-connected ReLU networks are not reasonable

Your algorithm on a robot: so much additional work

But so much additional fun when it works

Page 92: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 94

Justin

Carpentier

Team – join it!

Joint project with

Olivier Stasse

and

Florent Lamiraux

Steve

Tonneau

Andrea

Del Prete

Thomas

Flayols

Joan Sola

UPC LAASMathieu

Geisert

Page 93: Robotics Motion generation for legged robots · Nicolas MANSARD Gepetto Team 2 Robotics as a ML problem? AlphaGo, The Movie. Nicolas MANSARD Gepetto Team 3. ... Mid-term trajectory

Nicolas MANSARD Gepetto Team 95

Resources

Materials from master classes

http://projects.laas.fr/gepetto/

index.php/Teach/Supaero2018

Other text books

Featherstone 2009: rigid body dynamics

Liberzon 2012: optimal control

Muray 1990: fundamentals of robotics

Siciliano 2010: generic robotics