08 Trajectoryoptimization1 Slides

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

16.

485: VNAV - Visual Navigation for


Autonomous Vehicles
Lecture 8: Trajectory Optimization
Luca Carlone
Planning vs. Control

desired
trajectory control robot’s
inputs state
+ Controller Robot
-

Sensors
Planning vs. Control

desired
trajectory control robot’s
inputs state
Planning + Controller Robot
-
initial
and
goal
state
Sensors
B
obstacle

obstacle obstacle

obstacle

A
Trajectory Planning vs. Path Planning
• Path vs. trajectory:
• A path usually contains a sequence of waypoints, without time label
or information about velocity or higher order of derivatives.
• A trajectory defines the path the robot should navigate as a function
of time.
• Path planning:
• “slow” systems
• Many approaches: graph-based algorithms (PRM, A* and variants),
sampling-based methods (RRT, RRT* and variants)
• Trajectory planning:
• Key for high-speed maneuvers on drones
Path / Motion Planning
• Open-source libraries
• The Open Motion Planning Library (OMPL)
• http://ompl.kavrakilab.org/
• Motion Strategy Library (MSL)
• http://msl.cs.uiuc.edu/msl/
• RRT* Library
• https://svn.csail.mit.edu/rrtstar/
• Sampling Based Planning Library
• https://svn.csail.mit.edu/smp
• References:
• Howie Choset , Kevin Lynch et al, “ Principles of Robot Motion” MIT press, 2005.
• Steven Lavalle, “ Planning Algorithms”, Cambridge University Press, 2006.
Path / Motion Planning Example

• RRT*:
Rapidly
exploring
Random
Trees
Path / Motion Planning

COMBINATORIAL PLANNING SAMPLING BASED PLANNING

❑ (resolution) complete
▪ they find the solution if ❑ Probabilistic Complete
exists, otherwise they ▪ The probability of finding
report failure
a solution if it exists tends
❑ No need for collision
checking, since is to one, otherwise it may
explicitly defined run forever.
❑ Expensive computation,
impractical for higher ❑ More practical
dimensional systems ❑ Narrow passage challenge
▪ Exploding number of cells ❑ The output path is usually
❑ The output path is usually
jagged and needs jagged and needs
smoothing smoothing
Trajectory Planning: Two Approaches
• Direct trajectory planning: plan the
path and optimize trajectory
simultaneously
• Typically slow for online planning
and fast dynamics (difficult to A
account for obstacles)
• Fast heuristics (next slide): B
motion primitives

• Decoupled trajectory planning: first


path planning then trajectory
generation
• Fast computation (only partially A
accounts for obstacles)
• Polynomial trajectory optimization B
Motion Primitives
• Input:
• A library of motion primitives: each
motion primitive is generated by
forward simulation of the system for a
given control sequence
• The current robot state
• Output: a choice of motion primitive that
minimizes a cost function while avoiding
obstacles.

• The final trajectory is usually not smooth


• More complex instantiations:
https://www.cs.cmu.edu/~maxim/files/
tutorials/robschooltutorial_oct10.pdf
Output: 1->1>4->1->1->6
Motion Primitives For Aggressive Flight

2017
Motion Primitives For Aggressive Flight

2019
Decoupled Trajectory Planning
Intermediate
waypoints
desired
trajectory control robot’s
Path Trajectory inputs state
planning optimization
+ Controller Robot
-

Trajectory Planning
Sensors

B
Trajectory Optimization

2013
Trajectory Optimization

2016-2017
Trajectory Optimization
x
x1(t1) = x2(t1) = x̄1
x· 1(t1) = x· 2(t1) x2(t2) = x3(t2) = x̄2
x··1(t1) = x··2(t1) x· 2(t2) = x· 3(t2) x3(t3) = x̄3
x··2(t2) = x··3(t2) x· 3(t3) = v̄3

x1(t0) = x̄0
x· 1(t0) = v̄0

t0 t1 t2 t3
t
x1(t) x2(t) x3(t)

You might also like