whole-body dynamic motion planning with centroidal ... - iros14_ws-wbc.pdf · figure: solving...

21
Whole-body dynamic motion planning with centroidal dynamics and full kinematics Hongkai Dai, Andr ´ es Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of Technology Sep. 18. 2014 Introduction Linear Inverted Pendulum •compute ZMP with point-mass model •linear system, analytical solution •co-planar contact •solve kinematics separately Full body trajectory optimization Complexity Accuracy Our approach dynamic constraint for EVERY degrees of freedom dynamic constraint for 6 under-actuated DoF Overview whole body robot model admissible contact regions nonlinear optimization solver robot state trajectory robot actuator input contact wrench profile inverse dynamics task constraint Code can be downloaded from Drake https://drake.mit.edu Results Atlas playing monkey bars Atlas running Little Dog running Hongkai Dai, Andr ´ es Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of Technology Whole-body dynamic motion planning with centroidal dynamics and full kinematics

Upload: others

Post on 15-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Whole-body dynamic motion planning with centroidal dynamics and full kinematicsHongkai Dai, Andres Valenzuela and Russ Tedrake

Robot Locomotion Group, Massachusetts Institute of Technology

Sep. 18. 2014

Introduction

Linear Inverted Pendulum•compute ZMP with point-mass model•linear system, analytical solution•co-planar contact•solve kinematics separately

Full body trajectoryoptimization

Complexity

Accuracy

Our approach

dynamic constraint for EVERY degrees of freedom

dynamic constraint for 6 under-actuated DoF

Overview

whole body robot model

admissible contact regions

nonlinear optimizationsolver

robot state trajectoryrobot actuator input

contact wrench profile

inversedynamics

task constraint

Code can be downloaded from Drake https://drake.mit.edu

Results

Atlas playing monkey bars Atlas running Little Dog runningHongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Page 2: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Dynamic constraint

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Consider a robot interacting with the environment, with foot and hand contact. The red dot r is theCenter of Mass location.

Go back

Page 3: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Dynamic constraint

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

The robot is in contact with the envinronment at point ci, subject to contact wrench [Fi, τi] and thegravitational force mg at the CoM.

Go back

Page 4: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Dynamic constraint

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

The rate of centroidal linear and angular momentum should equal to the total wrench at the CoM.

The rate of centroidal linear momentum is mr . The centroidal angular momentum can be computedfrom the robot posture and velocity. [D.E.Orin et al]

mr =∑

j

Fj + mg Newton’s law on CoM acceleration

L =∑

j

(cj − r )× Fj + τj rate of centroidal angular momentum equals to external torque

r = com(q) compute CoM from postureL = A(q)v compute angular momentum from robot state

Go back

Page 5: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Kinematic Constraint

Accommodate a variety of kinematic constraintsPosition of an end-effectorOrientation of an end-effectorGaze at a pointCollision avoidanceQuasi-static

Figure: Solving inverse kinematics problem with differenttypes of kinematic constraints.

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 6: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Unscheduled contact sequenceHard to specify the contact sequence when mulitple contact points can be active. Exploit the complemen-tarity constraint on normal contact force F n and distance to contact φ(c). [M.Posa]

< φj(cj),F nj >= 0

φj(cj) ≥ 0F n

j ≥ 0 Figure: Illustration of the contact point cj, its distance φj to thecontact surface Sj, and the local coordinate frame on thetangential surface, with unit vector tx, ty. Thecomplementarity condition holds between contact distanceφj and the normal contact force Fn

j .

8 9 10 11 12 13 14l_foot_l_heel

l_foot_r_heel

l_foot_l_toe

l_foot_r_toe

r_foot_l_heel

r_foot_r_heel

r_foot_l_toe

r_foot_l_toe

knot

Contact sequence BEFORE optimizing with complementarity constraints

active contact

inactive contact

8 9 10 11 12 13 14knot

Contact sequence AFTER optimizing with complementarity constraints

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go backGo back

Page 7: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Trajectory optimization

1 Sample the whole trajectory into N knot points.

2 In k th point, assign the posture q[k ], velocity v[k ], contact wrench F[k ], τ [k ] and time duration h[k ] asdecision variables.

3 Solve a nonlinear optimization problem.

minq[k ],v[k ],h[k ]r[k ],r[k ],r[k ]

cj[k ],Fj[k ],τj[k ]L[k ],L[k ]

N∑k=1

|q[k ]− qnom[k ]|2Qq+ |v[k ]|2Qv

+ |r[k ]|2 +∑

j

(c1∣∣Fj[k ]

∣∣2 + c2|τj[k ]|2)

h[k ]

s.t Dynamic constraint

mr[k ] =

∑j Fj[k ] + mg

L[k ] =∑

j(cj[k ]− r[k ])× Fj[k ] + τj[k ]L[k ] = A(q[k ])v[k ]r[k ] = com(q[k ])

Backward-Euler integration

{q[k ]− q[k − 1] = v[k ]h[k ]L[k ]− L[k − 1] = L[k ]h[k ]

Quadratic interpolation on CoM

{r[k ]− r[k − 1] = r[k ]+r[k−1]

2 h[k ]r[k ]− r[k − 1] = r[k ]h[k ]

Kinematic constraint for contact

{cj[k ] = pj(q[k ])cj[k ] ∈ Sj[k ]

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 8: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Trajectory optimization

1 Sample the whole trajectory into N knot points.2 In k th point, assign the posture q[k ], velocity v[k ], contact wrench F[k ], τ [k ] and time duration h[k ] asdecision variables.

3 Solve a nonlinear optimization problem.

minq[k ],v[k ],h[k ]r[k ],r[k ],r[k ]

cj[k ],Fj[k ],τj[k ]L[k ],L[k ]

N∑k=1

|q[k ]− qnom[k ]|2Qq+ |v[k ]|2Qv

+ |r[k ]|2 +∑

j

(c1∣∣Fj[k ]

∣∣2 + c2|τj[k ]|2)

h[k ]

s.t Dynamic constraint

mr[k ] =

∑j Fj[k ] + mg

L[k ] =∑

j(cj[k ]− r[k ])× Fj[k ] + τj[k ]L[k ] = A(q[k ])v[k ]r[k ] = com(q[k ])

Backward-Euler integration

{q[k ]− q[k − 1] = v[k ]h[k ]L[k ]− L[k − 1] = L[k ]h[k ]

Quadratic interpolation on CoM

{r[k ]− r[k − 1] = r[k ]+r[k−1]

2 h[k ]r[k ]− r[k − 1] = r[k ]h[k ]

Kinematic constraint for contact

{cj[k ] = pj(q[k ])cj[k ] ∈ Sj[k ]

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 9: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Trajectory optimization

1 Sample the whole trajectory into N knot points.2 In k th point, assign the posture q[k ], velocity v[k ], contact wrench F[k ], τ [k ] and time duration h[k ] asdecision variables.

3 Solve a nonlinear optimization problem.

minq[k ],v[k ],h[k ]r[k ],r[k ],r[k ]

cj[k ],Fj[k ],τj[k ]L[k ],L[k ]

N∑k=1

|q[k ]− qnom[k ]|2Qq+ |v[k ]|2Qv

+ |r[k ]|2 +∑

j

(c1∣∣Fj[k ]

∣∣2 + c2|τj[k ]|2)

h[k ]

s.t Dynamic constraint

mr[k ] =

∑j Fj[k ] + mg

L[k ] =∑

j(cj[k ]− r[k ])× Fj[k ] + τj[k ]L[k ] = A(q[k ])v[k ]r[k ] = com(q[k ])

Backward-Euler integration

{q[k ]− q[k − 1] = v[k ]h[k ]L[k ]− L[k − 1] = L[k ]h[k ]

Quadratic interpolation on CoM

{r[k ]− r[k − 1] = r[k ]+r[k−1]

2 h[k ]r[k ]− r[k − 1] = r[k ]h[k ]

Kinematic constraint for contact

{cj[k ] = pj(q[k ])cj[k ] ∈ Sj[k ]

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 10: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Trajectory optimization

1 Sample the whole trajectory into N knot points.2 In k th point, assign the posture q[k ], velocity v[k ], contact wrench F[k ], τ [k ] and time duration h[k ] asdecision variables.

3 Solve a nonlinear optimization problem.

minq[k ],v[k ],h[k ]r[k ],r[k ],r[k ]

cj[k ],Fj[k ],τj[k ]L[k ],L[k ]

N∑k=1

|q[k ]− qnom[k ]|2Qq+ |v[k ]|2Qv

+ |r[k ]|2 +∑

j

(c1∣∣Fj[k ]

∣∣2 + c2|τj[k ]|2)

h[k ]

s.t Dynamic constraint

mr[k ] =

∑j Fj[k ] + mg

L[k ] =∑

j(cj[k ]− r[k ])× Fj[k ] + τj[k ]L[k ] = A(q[k ])v[k ]r[k ] = com(q[k ])

Backward-Euler integration

{q[k ]− q[k − 1] = v[k ]h[k ]L[k ]− L[k − 1] = L[k ]h[k ]

Quadratic interpolation on CoM

{r[k ]− r[k − 1] = r[k ]+r[k−1]

2 h[k ]r[k ]− r[k − 1] = r[k ]h[k ]

Kinematic constraint for contact

{cj[k ] = pj(q[k ])cj[k ] ∈ Sj[k ]

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 11: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Trajectory optimization

1 Sample the whole trajectory into N knot points.2 In k th point, assign the posture q[k ], velocity v[k ], contact wrench F[k ], τ [k ] and time duration h[k ] asdecision variables.

3 Solve a nonlinear optimization problem.

minq[k ],v[k ],h[k ]r[k ],r[k ],r[k ]

cj[k ],Fj[k ],τj[k ]L[k ],L[k ]

N∑k=1

|q[k ]− qnom[k ]|2Qq+ |v[k ]|2Qv

+ |r[k ]|2 +∑

j

(c1∣∣Fj[k ]

∣∣2 + c2|τj[k ]|2)

h[k ]

s.t Dynamic constraint

mr[k ] =

∑j Fj[k ] + mg

L[k ] =∑

j(cj[k ]− r[k ])× Fj[k ] + τj[k ]L[k ] = A(q[k ])v[k ]r[k ] = com(q[k ])

Backward-Euler integration

{q[k ]− q[k − 1] = v[k ]h[k ]L[k ]− L[k − 1] = L[k ]h[k ]

Quadratic interpolation on CoM

{r[k ]− r[k − 1] = r[k ]+r[k−1]

2 h[k ]r[k ]− r[k − 1] = r[k ]h[k ]

Kinematic constraint for contact

{cj[k ] = pj(q[k ])cj[k ] ∈ Sj[k ]

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 12: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Trajectory optimization

1 Sample the whole trajectory into N knot points.2 In k th point, assign the posture q[k ], velocity v[k ], contact wrench F[k ], τ [k ] and time duration h[k ] asdecision variables.

3 Solve a nonlinear optimization problem.

minq[k ],v[k ],h[k ]r[k ],r[k ],r[k ]

cj[k ],Fj[k ],τj[k ]L[k ],L[k ]

N∑k=1

|q[k ]− qnom[k ]|2Qq+ |v[k ]|2Qv

+ |r[k ]|2 +∑

j

(c1∣∣Fj[k ]

∣∣2 + c2|τj[k ]|2)

h[k ]

s.t Dynamic constraint

mr[k ] =

∑j Fj[k ] + mg

L[k ] =∑

j(cj[k ]− r[k ])× Fj[k ] + τj[k ]L[k ] = A(q[k ])v[k ]r[k ] = com(q[k ])

Backward-Euler integration

{q[k ]− q[k − 1] = v[k ]h[k ]L[k ]− L[k − 1] = L[k ]h[k ]

Quadratic interpolation on CoM

{r[k ]− r[k − 1] = r[k ]+r[k−1]

2 h[k ]r[k ]− r[k − 1] = r[k ]h[k ]

Kinematic constraint for contact

{cj[k ] = pj(q[k ])cj[k ] ∈ Sj[k ]

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 13: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Trajectory optimization

1 Sample the whole trajectory into N knot points.2 In k th point, assign the posture q[k ], velocity v[k ], contact wrench F[k ], τ [k ] and time duration h[k ] asdecision variables.

3 Solve a nonlinear optimization problem.

minq[k ],v[k ],h[k ]r[k ],r[k ],r[k ]

cj[k ],Fj[k ],τj[k ]L[k ],L[k ]

N∑k=1

|q[k ]− qnom[k ]|2Qq+ |v[k ]|2Qv

+ |r[k ]|2 +∑

j

(c1∣∣Fj[k ]

∣∣2 + c2|τj[k ]|2)

h[k ]

s.t Dynamic constraint

mr[k ] =

∑j Fj[k ] + mg

L[k ] =∑

j(cj[k ]− r[k ])× Fj[k ] + τj[k ]L[k ] = A(q[k ])v[k ]r[k ] = com(q[k ])

Backward-Euler integration

{q[k ]− q[k − 1] = v[k ]h[k ]L[k ]− L[k − 1] = L[k ]h[k ]

Quadratic interpolation on CoM

{r[k ]− r[k − 1] = r[k ]+r[k−1]

2 h[k ]r[k ]− r[k − 1] = r[k ]h[k ]

Kinematic constraint for contact

{cj[k ] = pj(q[k ])cj[k ] ∈ Sj[k ]

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 14: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Trajectory optimization

1 Sample the whole trajectory into N knot points.2 In k th point, assign the posture q[k ], velocity v[k ], contact wrench F[k ], τ [k ] and time duration h[k ] asdecision variables.

3 Solve a nonlinear optimization problem.

minq[k ],v[k ],h[k ]r[k ],r[k ],r[k ]

cj[k ],Fj[k ],τj[k ]L[k ],L[k ]

N∑k=1

|q[k ]− qnom[k ]|2Qq+ |v[k ]|2Qv

+ |r[k ]|2 +∑

j

(c1∣∣Fj[k ]

∣∣2 + c2|τj[k ]|2)

h[k ]

s.t Dynamic constraint

mr[k ] =

∑j Fj[k ] + mg

L[k ] =∑

j(cj[k ]− r[k ])× Fj[k ] + τj[k ]L[k ] = A(q[k ])v[k ]r[k ] = com(q[k ])

Backward-Euler integration

{q[k ]− q[k − 1] = v[k ]h[k ]L[k ]− L[k − 1] = L[k ]h[k ]

Quadratic interpolation on CoM

{r[k ]− r[k − 1] = r[k ]+r[k−1]

2 h[k ]r[k ]− r[k − 1] = r[k ]h[k ]

Kinematic constraint for contact

{cj[k ] = pj(q[k ])cj[k ] ∈ Sj[k ]

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 15: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Monkey bars

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go backGo back

Page 16: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Atlas running

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 17: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Monkey bars

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go backGo back

Page 18: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Little dog running

Playback in 1/8x speed

Playback in real speed.

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 19: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Little dog walking

Side view

Front view

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 20: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Little dog bounding

Playback in 1/4x speed

Play back in real speed.

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back

Page 21: Whole-body dynamic motion planning with centroidal ... - IROS14_WS-WBC.pdf · Figure: Solving inverse kinematics problem with different types of kinematic constraints. Hongkai Dai,

Little dog rotary

Playback in 1/4x speed

Play back in real speed.

Hongkai Dai, Andres Valenzuela and Russ Tedrake Robot Locomotion Group, Massachusetts Institute of TechnologyWhole-body dynamic motion planning with centroidal dynamics and full kinematics

Go back