Motion/Path Planning • T ask: find a feasible (and cost-minimal) path/motion from CSE-571 the current configuration of the robot to its goal configuration (or one of its goal configurations) Deterministic Path Planning in Robotics • T wo types of constraints: Courtesy of Maxim Likhachev environmental constraints (e.g., obstacles) University of Pennsylvania dynamics/kinematics constraints of the robot • Generated motion/path should (objective): be any feasible path minimize cost such as distance, time, energy, risk, … CSE-571: Courtesy of Maxim Likhachev, CMU Motion/Path Planning Motion/Path Planning Examples (of what is usually referred to as path planning): Examples (of what is usually referred to as motion planning): Piano Movers ’ problem the example above is borr owed from www.cs.cmu.edu/~awm/tutorials CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 1
Motion/Path Planning Motion/Path Planning Examples (of what is usually referred to as motion planning): Path/Motion Planner path Controller commands map update pose update Planned motion for a 6DOF robot arm CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Motion/Path Planning Uncertainty and Planning • Uncertainty can be in: - prior environment (i.e., door is open or closed) Path/Motion Planner - execution (i.e., robot may slip) - sensing environment (i.e., seems like an obstacle but not sure) path - pose • Planning approaches: Controller - deterministic planning: - assume some (i.e., most likely) environment, execution, pose commands - plan a singleleast-cost trajectory under this assumption - re-plan as newinformation arrives map update pose update - planning under uncertainty: - associate probabilities with some elements or everything -pla n apolic y that dictate s w hat to do f or eac h outc omeof sensing/ac tion i.e., deterministic registration and minimizes expected cost-to-goal or Bayesian update i.e., Bayesian update (EKF) - re-plan if una ccounted events happen CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 2
Uncertainty and Planning Example • Uncertainty can be in: - prior environment (i.e., door is open or closed) - execution (i.e., robot may slip) - sensing environment (i.e., seems like an obstacle but not sure) - pose • Planning approaches: re-plan every time sensory data arrives or - deterministic planning: robot deviates off its path - assume some (i.e., most likely) environment, execution, pose - plan a singleleast-cost trajectory under this assumption re-planning needs to be F AST - re-plan as newinformation arrives Urban Challenge Race, CMU team, planning with Anytime D* - planning under uncertainty: - associate probabilities with some elements or everything -pla n apolic y that dictate s w hat to do f or eac h outc omeof sensing/ac tion and minimizes expected cost-to-goal - re-plan if una ccounted events happen CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Uncertainty and Planning Outline • Uncertainty can be in: • Deterministic planning - prior environment (i.e., door is open or closed) - constructing a graph - execution (i.e., robot may slip) - search with A* - sensing environment (i.e., seems like an obstacle but not sure) - search with D* - pose • Planning approaches: - deterministic planning: - assume some (i.e., most likely) environment, execution, pose - plan a singleleast-cost trajectory under this assumption - re-plan as newinformation arrives - planning under uncertainty: - associate probabilities with some elements or everything -pla n apolic y that dictate s w hat to do f or eac h outc omeof sensing/ac tion and minimizes expected cost-to-goal computationally MUCH harder - re-plan if una ccounted events happen CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 3
Outline Planning via Cell Decomposition • Approximate Cell Decomposition: • Deterministic planning - overlay uniform grid over the C-space (discretize) - constructing a graph - search with A* - search with D* discretize planning map CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Planning via Cell Decomposition Planning via Cell Decomposition • Approximate Cell Decomposition: • Approximate Cell Decomposition: - construct a graph and search it for a least-cost path - construct a graph and search it for a least-cost path discretize discretize eight-connected grid (one way to construct a graph) planning map planning map S 1 S 2 S 3 S 1 S 2 S 3 S 1 S 2 S 3 S 1 S 2 S 3 search the graph search the graph convert into a graph convert into a graph S 4 S 5 S 4 S 5 for a least-cost path for a least-cost path S 4 S 5 S 4 S 5 from s start to s goal from s start to s goal S 6 S 6 S 6 S 6 CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 4
Planning via Cell Decomposition Planning via Cell Decomposition • Approximate Cell Decomposition: • Graph construction: - construct a graph and search it for a least-cost path -major problem with paths on the grid: - transitions difficult to execute on non-holonomic robots - VERY popular due to its simplicity and representation of arbitrary obstacles eight-connected grid discretize S 1 S 2 S 3 S 1 S 2 S 3 convert into a graph S 4 S 5 S 4 S 5 S 6 S 6 CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Planning via Cell Decomposition Planning via Cell Decomposition • Graph construction: • Graph construction: - lattice graph - lattice graph outcome state is the center of the corresponding cell - pros: sparse graph, feasible paths - cons: possible incompleteness each transition is feasible (constructed beforehand) action template action template replicate it replicate it online online CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 5
Outline A* Search • Deterministic planning • Computes optimal g-values for relevant states - constructing a graph - search with A* - search with D* at any point of time: an (under) estimate of the cost • Planning under uncertainty of a shortest path from s to s goal g(s) -Markov Decision Processes (MDP) the cost of a shortest path h(s) from s start to s found so far -Partially Observable Decision Processes (POMDP) S S 1 S start S goal … S 2 CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU A* Search A* Search • Computes optimal g-values for relevant states • Is guaranteed to return an optimal path (in fact, for every expanded state) – optimal in terms of the solution at any point of time: • Performs provably minimal number of state expansions heuristic function required to guarantee optimality – optimal in terms of the g(s) computations h(s) g=1 g= 3 h=2 h=1 S 2 g=0 S 2 g= 5 S 1 S 1 1 2 h=3 h=0 S start S goal … S 2 S start 1 S goal 1 3 S 4 S 3 one popular heuristic function – Euclidean distance g= 2 g= 5 h=2 h=1 CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 6
A* Search Effect of the Heuristic Function • Is guaranteed to return an optimal path (in fact, for every • A* Search: expands states in the order of f = g+h values expanded state) – optimal in terms of the solution helps with robot deviating off its path if we search with A* backwards (from goal to start) • Performs provably minimal number of state expansions required to guarantee optimality – optimal in terms of the computations g=1 g= 3 h=2 h=1 2 g=0 S 2 g= 5 S 1 s start 1 2 h=3 h=0 s goal S start 1 S goal 1 3 S 4 S 3 g= 2 g= 5 h=2 h=1 CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Effect of the Heuristic Function Effect of the Heuristic Function • A* Search: expands states in the order of f = g+h values • Weighted A* Search: expands states in the order of f = g+ ε h values, ε > 1 = bias towards states that are closer to goal for large problems this results in A* quickly solution is always ε -suboptimal: running out of memory (memory: O(n)) cost(solution) ≤ ε ·cost(optimal solution) s start s start s goal s goal CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 7
Recommend
More recommend