trajectory optimizationmaxim/classes/robotplanning_grad/...- explicit integration to satisfy...

25
Trajectory Optimization or “How I stopped worrying and started loving the solvers” some slides borrowed from Matthew Kelly Ramkumar Natarajan

Upload: others

Post on 30-Mar-2021

14 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Trajectory Optimizationor “How I stopped worrying and started loving the solvers”

some slides borrowed from Matthew Kelly

Ramkumar Natarajan

Page 2: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

So far in the class...

Graph SearchSampling-Based

Trajectory Optimization

Page 3: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

What is Trajectory Optimization?

?force

No actuation

Page 4: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

An Optimal Trajectory

minimize: objective functionsubject to: dynamics and constraints

control(force)

state

Page 5: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

An Optimal Trajectory

minimize: objective functionsubject to: dynamics and constraints

control(force)

state

Page 6: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

An Optimal Trajectory

minimize: objective functionsubject to: dynamics and constraints

control(force)

state

Page 7: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Basic Form

Page 8: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Transcription

Page 9: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Direct Transcription

Page 10: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Complexity

u(t)

t0

t1 t2t3 t4

vs

z(k)

Page 11: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Complexity

u(t)

t0

t1 t2t3 t4

vs

Fundamentally Scalable- Only discrete in time (ALWAYS 1D)- No discretization in space- No exponential complexity/curse of

dimensionality

Page 12: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Decision Variables

subject to

What’s weird about

this?

t0 =

Page 13: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Decision Variables

subject toWhy is x(t) a

decision variable when

you have dynamics?

t0 =

Page 14: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Single Shooting

But x(t) can be written as a function of x0, u(t), f(x, u)

Assume linear system dynamics

Page 15: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Single ShootingThe optimization can be rewritten with unrolled dynamics and NO dynamics constraint

But hold on…

There is an An - Poor numerics- Ill-conditioning- Hard to set up the solver- Can be very powerful

Page 16: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Direct Collocation - Transcription

Page 17: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Direct Collocation - Transcription

The collocation constraints are in integral form using “quadrature” method

Can also use derivative form using “finite differences”

Page 18: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Direct Collocation - Transcription

Page 19: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Direct Collocation - Transcription

Page 20: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Direct Collocation - Interpolation

Page 21: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Initializing Trajectory Optimization

Basic Idea- Solve easier problem- Construct series of easier problems

Constructing Easier Problem- Neglect dynamics- Simplify objective- Omit constraints

Page 22: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Direct Collocation

Page 23: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Variants- Single shooting- Multiple shooting- Differential Dynamic

Programming

Classification

Trajectory Optimization

Direct Transcription

Shooting methods- Simulation- Explicit integration to

satisfy dynamics- Decision variables are

controls and boundary states

Simultaneous methods- Function

approximation- Dynamics are

constraints- Decision variables are

both states & controls

Variants- Direct collocation- Orthogonal collocation- Pseudospectral

collocation

Page 24: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Comparison

Graph SearchSampling-Based

Trajectory Optimization

- Strong theoretical properties- Simple to use- Global methods- Suitable to low dimensions

- Simple to use- Global methods- Scales to high dimensions- Relies on sampling strategy

- Very powerful capabilities- Local methods- Easily scales to very high dimensions- No guarantees on convergence/quality

Courses in RI16-745: Dynamic Optimization16-748: Underactuated Robotics

Page 25: Trajectory Optimizationmaxim/classes/robotplanning_grad/...- Explicit integration to satisfy dynamics - Decision variables are controls and boundary states Simultaneous methods - Function

Transcribers

Solvers

IPOPT SNOPT FMINCON