170 likes | 335 Views
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.
E N D
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 • 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) O(tc) tc tc x x Bounded velocity Known 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 handlingstate disturbances andchanging 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 ReplanningApproaches • 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?