maxim likhachev 1
play

Maxim Likhachev 1 Motion/Path Planning Uncertainty and Planning - PDF document

Motion/Path Planning Task: 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 Two


  1. Motion/Path Planning • Task: 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 • Two types of constraints: Courtesy of Maxim Likhachev environmental constraints (e.g., obstacles) dynamics/kinematics constraints of the robot Carnegie Mellon University • 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 borrowed from www.cs.cmu.edu/~awm/tutorials CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU 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 Maxim Likhachev 1

  2. 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 single least-cost trajectory under this assumption - re-plan as new information arrives map update pose update - planning under uncertainty: - associate probabilities with some elements or everything -plan a policy that dictates what to do for each outcome of sensing/action i.e., deterministic registration and minimizes expected cost-to-goal or Bayesian update i.e., Bayesian update (EKF) - re-plan if unaccounted events happen CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Uncertainty and Planning Uncertainty and Planning • Uncertainty can be in: • Uncertainty can be in: - prior environment (i.e., door is open or closed) - prior environment (i.e., door is open or closed) - execution (i.e., robot may slip) - execution (i.e., robot may slip) - sensing environment (i.e., seems like an obstacle but not sure) - sensing environment (i.e., seems like an obstacle but not sure) - pose - pose • Planning approaches: • Planning approaches: re-plan every time sensory data arrives or - deterministic planning: - deterministic planning: robot deviates off its path - assume some (i.e., most likely) environment, execution, pose - assume some (i.e., most likely) environment, execution, pose - plan a single least-cost trajectory under this assumption - plan a single least-cost trajectory under this assumption re-planning needs to be FAST - re-plan as new information arrives - re-plan as new information arrives - planning under uncertainty: - planning under uncertainty: - associate probabilities with some elements or everything - associate probabilities with some elements or everything -plan a policy that dictates what to do for each outcome of sensing/action -plan a policy that dictates what to do for each outcome of sensing/action and minimizes expected cost-to-goal and minimizes expected cost-to-goal - re-plan if unaccounted events happen computationally MUCH harder - re-plan if unaccounted events happen CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Example Control Architecture of Boss Urban Challenge Race, CMU team, planning with Anytime D* CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 2

  3. Trajectory Pre-Computation and Representing Motion Commands Optimization • State is position, curvature, and velocity < 𝑦,𝑧,𝜄,𝜆,𝑤 > • Velocity profiles determine forward speed Pre-compute parameters for set of end points < 𝑤 ) ,𝑤 . ,𝑤 - ,𝑏 ) ,𝑏 - ,𝑢 ) ,𝑢 - > • Spline represents shape and overall time < 𝜆 ) ,𝜆 * ,𝜆 + ,𝑡 - > Optimize (fine-tune) parameters initialized via interpolation CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Predicting and Avoiding Other Vehicles Passing and Cost CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Outline U-Turns • Deterministic planning - constructing a graph - search with A* - search with D* CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 3

  4. 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 S 4 S 5 for a least-cost path S 4 S 5 for a least-cost path 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 Planning via Cell Decomposition Planning via Cell Decomposition • Approximate Cell Decomposition: • Graph construction: - construct a graph and search it for a least-cost path - lattice graph - VERY popular due to its simplicity and representation of outcome state is the center of the corresponding cell arbitrary obstacles each transition is feasible - Problem: transitions difficult to execute on non-holonomic (constructed beforehand) robots action template replicate it discretize online CSE-571: Courtesy of Maxim Likhachev, CMU CSE-571: Courtesy of Maxim Likhachev, CMU Maxim Likhachev 4

  5. Planning via Cell Decomposition Outline • Graph construction: • Deterministic planning - lattice graph - constructing a graph - pros: sparse graph, feasible paths - search with A* - cons: possible incompleteness - search with D* action template • Planning under uncertainty -Markov Decision Processes (MDP) -Partially Observable Decision Processes (POMDP) replicate it online 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 • Computes optimal g-values for relevant states at any point of time: at any point of time: an (under) estimate of the cost of a shortest path from s to s goal heuristic function g(s) g(s) the cost of a shortest path h(s) h(s) from s start to s found so far S S S 1 S 1 S start S start S goal S goal … … S 2 S 2 one popular heuristic function – Euclidean distance 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 • Computes optimal g-values for relevant states ComputePath function ComputePath function while( s goal is not expanded) while( s goal is not expanded) remove s with the smallest [f(s) = g(s)+h(s)] from OPEN ; remove s with the smallest [f(s) = g(s)+h(s)] from OPEN ; insert s into CLOSED ; insert s into CLOSED ; for every successor s ’ of s such that s ’ not in CLOSED for every successor s ’ of s such that s ’ not in CLOSED if g(s ’ ) > g(s) + c(s,s ’ ) if g(s ’ ) > g(s) + c(s,s ’ ) g(s 2 ) > g(s start ) + c(s start ,s 2 ) g(s ’ ) = g(s) + c(s,s ’ ); g(s ’ ) = g(s) + c(s,s ’ ); insert s ’ into OPEN ; insert s ’ into OPEN ; g= ¥ g= ¥ g= ¥ g= ¥ h=2 h=1 h=2 h=1 2 2 g=0 g=0 S 2 g= ¥ S 2 g= ¥ S 1 S 1 1 2 1 2 h=3 h=3 h=0 h=0 CLOSED = {} CLOSED = {} S start S start 1 1 S goal S goal OPEN = {s start } OPEN = {s start } 1 1 next state to expand: s start next state to expand: s start 3 3 S 4 S 4 S 3 S 3 g= ¥ g= ¥ g= ¥ g= ¥ h=2 h=1 h=2 h=1 Maxim Likhachev, University of Pennsylvania Maxim Likhachev, University of Pennsylvania Maxim Likhachev 5

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend