08 Trajectoryoptimization1 Slides
08 Trajectoryoptimization1 Slides
08 Trajectoryoptimization1 Slides
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
❑ (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
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)