Time-optimal trajectory planning under dynamics constraints Old - - PowerPoint PPT Presentation

time optimal trajectory planning under dynamics
SMART_READER_LITE
LIVE PREVIEW

Time-optimal trajectory planning under dynamics constraints Old - - PowerPoint PPT Presentation

Time-optimal trajectory planning under dynamics constraints Old algorithm, new applications Quang-Cuong Pham Department of Mechano-Informatics University of Tokyo November 29th, 2012 Workshop on Generating Optimal Paths at


slide-1
SLIDE 1

Time-optimal trajectory planning under dynamics constraints Old algorithm, new applications

Quang-Cuong Pham

Department of Mechano-Informatics University of Tokyo

November 29th, 2012 Workshop on “Generating Optimal Paths” at Humanoids’2012 Osaka, Japan

slide-2
SLIDE 2

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Time-optimal motion planning

◮ In the literature : minimum energy, minimum torque, maximum

  • smoothness. . . planning algorithms

◮ But what is the most important in industry is time

1 / 20

slide-3
SLIDE 3

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Dynamics constraints

◮ In the literature : time-optimal motion planning under velocity and

acceleration limits (e.g. Hauser and Ng-Thow-Hing 2010)

◮ These are kinematics constraints ◮ But what physically constraints the performance of the robot is the

torque limits (= dynamics constraints)

◮ This case is much harder because of the nonlinearity !

2 / 20

slide-4
SLIDE 4

Outline

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

slide-5
SLIDE 5

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Outline

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

2 / 20

slide-6
SLIDE 6

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Time-optimal path parameterization algorithm under torque limits

◮ If the path is fixed, very nice algorithm developed in the 80’s and 90’s

by Bobrow, Dubowsky, Gibson, Shin, McKay, Pfeiffer, Johanni, Slotine, Shiller, Zlajpah, Kunz, Stilman. . . and others

◮ Why this algorithn is great:

◮ Fast (= iterative optimization) ◮ Exact: true time-optimal solution is attained (= iterative optimization) ◮ No need to recheck collisions

◮ Extension to the non-fixed path case: ongoing topic of research

3 / 20

slide-7
SLIDE 7

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Path parameterization algorithm

◮ Inputs :

◮ Manipulator equation

M(q)¨ q + ˙ q⊤C(q)˙ q + g(q) = τ,

◮ Torque limits for each joint i

τ min

i

≤ τi(t) ≤ τ max

i

◮ A given path q(s)s∈[0,L] (set of points in the joint

space)

◮ Output : the time parameterization

s : [0, T] − → [0, L] t − → s(t) that minimizes the traversal time T

4 / 20

slide-8
SLIDE 8

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Outline of the algorithm

◮ Time minimal ⇔ highest possible ˙

s (without violating the torque limits)

◮ Express the manipulator equations in terms of s, ˙

s,¨ s

◮ The torque limits become

α(s, ˙ s) ≤ ¨ s ≤ β(s, ˙ s), where

◮ α(s, ˙

s) is the minimum acceleration at (s, ˙ s)

◮ β(s, ˙

s) is the maximum acceleration at (s, ˙ s)

◮ If α(s, ˙

s) > β(s, ˙ s) : no possible acceleration ¨ s

◮ Maximum velocity curve defined by α(s, ˙

s) = β(s, ˙ s)

5 / 20

slide-9
SLIDE 9

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Phase plane (s, ˙ s) integration

0.0 0.2 0.4 0.6 0.8 1.0

s

0.0 0.5 1.0 1.5 2.0 2.5 3.0

˙ s

maximum acceleration minimum acceleration maximum velocity curve

◮ “Bang-bang” behavior, switch points can be found very efficiently ◮ Computation time O(n2N) (= iterative optimization)

◮ n : number of dofs ◮ N : number of time-discretization steps

◮ Example: n = 4, N = 500 takes ∼ 2s in Python

6 / 20

slide-10
SLIDE 10

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Outline

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

6 / 20

slide-11
SLIDE 11

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

OpenRAVE

◮ OpenRAVE is “an environment for testing,

developing, and deploying robotics motion planning algorithms”, mainly developped by Rosen Diankov

◮ Very fast (C++), analytical inverse

kinematics solver (IK-fast)

◮ Very easy to use (Python bindings layer) ◮ You can start developping meaningful

robotics applications after 1 or 2 days!

◮ Industrially deployed at Mujin Inc.

7 / 20

slide-12
SLIDE 12

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Implementation architecture

◮ Open-source

(http://www.

normalesup.org/ ~pham/code.html)

◮ Modular design

intended for re-usability

◮ New problems

simply inherit from MintimeProblemGeneric and override robots- and constraints-specific methods

MintimeProfileIntegrator

  • Integrate the limiting curves
  • Integrate the optimal velocity

profile MintimeProblemGeneric

  • Compute max velocity profile

caused by velocity limits

  • Find switch points

MintimeProblemTorque

  • Compute dynamics of

manipulators

  • Compute max vel profile

caused by torque limits MintimeProblemZMP MintimeProblemXYZ

  • Compute dynamics of

humanoids

  • Compute max vel profile

caused by ZMP constraints

  • ...
  • ...
  • ...

Inheritance Execution flow Time-optimal path parameterization under kinematics and dynamics constraints

8 / 20

slide-13
SLIDE 13

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Other features of our implementation

◮ Consideration of velocity limits (correction from Kunz and Stilman 2012

based on Zlajpah 1996)

◮ Correct accelerations at the zero-inertia points (correction from Shiller

and Lu 1992 and generalization of Kunz and Stilman 2012)

◮ Features under development

◮ Motor dynamics ◮ Third-order limits (to avoid torque jumps) 9 / 20

slide-14
SLIDE 14

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Outline

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

9 / 20

slide-15
SLIDE 15

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Global time-optimal algorithm

◮ Find the time-optimal trajectory between given initial and final

configurations

◮ Generate paths by grid search and apply the path parameterization

algorithm on each path

Shiller and Dubowsky, 1991

10 / 20

slide-16
SLIDE 16

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Trajectory smoothing using time-optimal shortcuts

◮ Grid search does not work in higher dimensions (dof > 3) ◮ RRT works well in high-dof, cluttered spaces, but produces non optimal

trajectories

Karaman and Frazzoli, 2011

◮ Post-process with shortcuts, e.g. Hauser and Ng-Thow-Hing 2010

(acceleration and velocity limits)

◮ Here we propose to use time-optimal shortcuts with torque limits

11 / 20

slide-17
SLIDE 17

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Time-optimal shortcuts

Pham, Asian-MMS 2012

12 / 20

slide-18
SLIDE 18

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

See video at http://www.normalesup.org/~pham/videos/manipulator.m4v

13 / 20

slide-19
SLIDE 19

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

Joint angles profiles after ... 0 shortcut

0.0 0.5 1.0 1.5 2.0 Time (s)

1.0 0.5

0.0 0.5 1.0 1.5 2.0 2.5 3.0 Joint angles (rad)

14 / 20

slide-20
SLIDE 20

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

Joint angles profiles after ... 1 shortcut

0.0 0.5 1.0 1.5 2.0 Time (s)

1.0 0.5

0.0 0.5 1.0 1.5 2.0 2.5 3.0 Joint angles (rad)

14 / 20

slide-21
SLIDE 21

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

Joint angles profiles after ... 2 shortcuts

0.0 0.5 1.0 1.5 2.0 Time (s)

1.0 0.5

0.0 0.5 1.0 1.5 2.0 2.5 3.0 Joint angles (rad)

14 / 20

slide-22
SLIDE 22

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

Joint angles profiles after ... 3 shortcuts

0.0 0.5 1.0 1.5 2.0 Time (s)

1.0 0.5

0.0 0.5 1.0 1.5 2.0 2.5 3.0 Joint angles (rad)

14 / 20

slide-23
SLIDE 23

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

Joint angles profiles after ... 4 shortcuts

0.0 0.5 1.0 1.5 2.0 Time (s)

1.0 0.5

0.0 0.5 1.0 1.5 2.0 2.5 3.0 Joint angles (rad)

14 / 20

slide-24
SLIDE 24

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

Joint angles profiles after ... 5 shortcuts

0.0 0.5 1.0 1.5 2.0 Time (s)

1.0 0.5

0.0 0.5 1.0 1.5 2.0 2.5 3.0 Joint angles (rad)

14 / 20

slide-25
SLIDE 25

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

Joint angles profiles after ... 6 shortcuts

0.0 0.5 1.0 1.5 2.0 Time (s)

1.0 0.5

0.0 0.5 1.0 1.5 2.0 2.5 3.0 Joint angles (rad)

14 / 20

slide-26
SLIDE 26

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

Torques profiles of the final trajectory

0.0 0.2 0.4 0.6 0.8 1.0

Time (s)

15 10 5

5 10 15

Torque (Nm)

15 / 20

slide-27
SLIDE 27

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Computation time

◮ Time limit for one rep : 15s

◮ ∼100 shortcuts attempts ◮ ∼6 effective shortcuts

◮ No significant improvement after ∼7 effective shortcuts ◮ Choosing the best out of 10 reps (computation time: 2min30s)

approaches the best out of 100 reps (computation time: 25min) by a margin of 9%

16 / 20

slide-28
SLIDE 28

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Discussion

◮ Current limitations

◮ No guarantee of global optimality, but works well in practice ◮ Torque jumps ⇒ third-order optimization (motor model)

◮ Directions of research

◮ Heuristic for choosing the endpoints of the random shortcuts? ◮ Heuristic to choose the shortcut path between two given endpoints? ◮ Third-order limits to avoid torque jumps 17 / 20

slide-29
SLIDE 29

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Pick and place on conveyor belts

◮ Need to generate very quickly a new trajectory (minimum time under

torque constraints) for each new object arriving on the conveyor belt

◮ We propose to

◮ Deform an optimal trajectory (using e.g. affine deformations, cf. Pham

and Nakamura, RSS 2012) to reach the new target

◮ Apply time-optimal path parameterization 18 / 20

slide-30
SLIDE 30

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Simulation results

See video at

http://www.normalesup.org/~pham/videos/pick-and-place.m4v

19 / 20

slide-31
SLIDE 31

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Humanoids under ZMP constraints

20 / 20

slide-32
SLIDE 32

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Humanoids under ZMP constraints

◮ See you at Interactive Session I tomorrow 15:00-16:00!

20 / 20

slide-33
SLIDE 33

Time-optimal path parameterization algorithm Implementation in OpenRAVE Some applications

Conclusion

◮ Open-source implementation of the Bobrow algorithm in OpenRAVE ◮ Modular design intended for easy re-usability ◮ Various new features (velocity limits, zero-inertia points) ◮ Applications to

◮ trajectory smoothing using time-optimal shortcuts ◮ fast trajectory deformations

◮ Thank you very much for your attention, questions and comments!

21 / 20