Real-time planning

Real-Time Motion
Planning
B659: Principles of Intelligent Robot Motion
Spring 2013
Kris Hauser
Execution Issues
• Paths are never executed exactly
• Disturbances, modeling errors
• Constraints change
• New information, unpredictable agents, user input
• Planning is not instantaneous
Reactive Replanning
• Basic reactive approach
1.
2.
3.
Detect changes
Update the model of the world
Plan a new path
• … But replanning can be computationally expensive …
Forward Prediction
How much time?
Predicted start of plan
Responsiveness
Disturbance detection & response
takes up to 2 cycles
Desired qualities
• Responsiveness
• Completeness
• Safety
• In “hard” domains, cannot meet all three criteria
simultaneously
Conservative Approaches to
Safety
• Offset obstacles by a safety margin
• Workspace X time obstacles that grow over time
• Requires planning with time as a state variable
• Cannot plan too far in the future!
t
t
O(t)
O(t) CO(t)
y
y
O(tc)
tc
O(tc)
tc
x
x
Known velocity
Bounded velocity
Safety in Dynamic Systems
• From some feasible states, cannot instantaneously stop
without hitting obstacles
• Inevitable collision states
• Solution: enforce that all executed paths end in zero velocity
Completeness vs
Responsiveness
• Ideal case: precompute a policy (map from states->actions)
that has fast lookup and will eventually bring every state to
the goal
• A probabilistic roadmap approximates this
• Relies on a known environment, which is mostly constant over
time
• Best suited for handling
state disturbances and
changing goals
Approaches to Partial
Information Reuse
• Reuse the path or planning tree from the prior step. Can
make planning faster if only small changes are needed, but
can be significantly slower if a large detour is needed
• Use good maneuvers/only a subset of useful variables.
Reduce load on the planner using better domain knowledge.
• Plan with greater local detail and refine over time (any-time
approach)
Dimensionality/Branching
Reduction Approaches
• Plan with small library of control primitives
• Make larger jumps in C-space
• Need a small library of carefully designed, reusable
primitives
Local Replanning Approaches
• Sacrifice completeness on a single planning step
• Make detailed local plans, coarser global plans
• Make corrections on the next time step
• Multiple ways of doing this
• Limit computation time
• Limit time horizon (receding horizon planning, aka
model predictive control)
• Limit # of decision points
• Both (maneuver sets)
Maneuver Sets
• Used successfully in DARPA challenges
• Plan coarse 2d path (A* search)
• Pick dynamic maneuver that makes most progress along path
Replanning Success Criteria
• Convergence: is the robot driven to the goal over time?
• Optimality of resulting paths
• Short time horizon: prone to local minima
Handling minima
• Replanning has been demonstrated to work in practical
examples, but can we guarantee global progress?
• Two approaches:
• Forbidding past failure states
• Increase planning time/horizon
Questions to think about
• How do limitations in computational resources affect
completeness, responsiveness, and safety of the system?
• How would you tune the time step/horizon?
• Can you construct pathological cases?