Path Planning And Navigation


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Path Planning And Navigation

  1. 1. Path Planning Techniques Sasi Bhushan Beera Shreeganesh Sudhindra
  2. 2. Path Planning <ul><li>Compute motion strategies, e.g., </li></ul><ul><ul><li>Geometric paths </li></ul></ul><ul><ul><li>Time-parameterized trajectories </li></ul></ul><ul><li>Achieve high-level goals, e.g., </li></ul><ul><ul><li>To build a collision free path from start point to the desired destination </li></ul></ul><ul><ul><li>Assemble/disassemble the engine </li></ul></ul><ul><ul><li>Map the environment </li></ul></ul>
  3. 4. Objective <ul><li>To Compute a collision-free path for a mobile robot among static obstacles. </li></ul><ul><li>Inputs required </li></ul><ul><ul><li>Geometry of the robot and of obstacles </li></ul></ul><ul><ul><li>Kinematics of the robot (d.o.f) </li></ul></ul><ul><ul><li>Initial and goal robot configurations (positions & orientations) </li></ul></ul><ul><li>Expected Result </li></ul><ul><li>Continuous sequence of collision-free robot configurations connecting the initial and goal configurations </li></ul>
  4. 5. Some of the existing Methods <ul><ul><li>Visibility Graphs </li></ul></ul><ul><ul><li>Roadmap </li></ul></ul><ul><ul><li>Cell Decomposition </li></ul></ul><ul><ul><li>Potential Field </li></ul></ul>
  5. 6. Visibility Graph Method <ul><li>If there is a collision-free path between two points, then there is a polygonal path that bends only at the obstacles vertices. </li></ul><ul><li>A polygonal path is a piecewise linear curve. </li></ul>
  6. 8. Visibility Graph <ul><li>A visibility graph is a graph such that </li></ul><ul><ul><li>Nodes: q init , q goal , or an obstacle vertex. </li></ul></ul><ul><ul><li>Edges: An edge exists between nodes u and v if the line segment between u and v is an obstacle edge or it does not intersect the obstacles. </li></ul></ul>
  7. 10. Breadth-First Search Slide
  8. 11. Breadth-First Search Slide
  9. 12. Breadth-First Search Slide
  10. 13. Breadth-First Search Slide
  11. 14. Breadth-First Search Slide
  12. 15. Breadth-First Search Slide
  13. 16. Breadth-First Search Slide
  14. 17. Breadth-First Search Slide
  15. 18. Breadth-First Search Slide
  16. 19. A Simple Algorithm for Building Visibility Graphs
  17. 20. Road mapping Technique <ul><li>Visibility graph </li></ul><ul><li>Voronoi Diagram </li></ul><ul><li>Introduced by computational geometry researchers . </li></ul><ul><li>Generate paths that maximizes clearance </li></ul><ul><li>Applicable mostly to 2-D configuration spaces </li></ul>
  18. 21. Cell-decomposition Methods <ul><li>Exact cell decomposition </li></ul><ul><li>Approximate cell decomposition </li></ul><ul><ul><li>F is represented by a collection of non-overlapping cells whose union is contained in F . </li></ul></ul><ul><ul><li>Cells usually have simple, regular shapes, e.g., rectangles, squares. </li></ul></ul><ul><ul><li>Facilitate hierarchical space decomposition </li></ul></ul>Slide
  19. 22. Quadtree Decomposition Slide
  20. 23. Octree Decomposition Slide
  21. 24. Algorithm Outline Slide
  22. 25. Potential Fields <ul><li>Initially proposed for real-time collision avoidance [Khatib 1986]. </li></ul><ul><li>A potential field is a scalar function over the free space. </li></ul><ul><li>To navigate, the robot applies a force proportional to the negated gradient of the potential field. </li></ul><ul><li>A navigation function is an ideal potential field that </li></ul><ul><ul><li>has global minimum at the goal </li></ul></ul><ul><ul><li>has no local minima </li></ul></ul><ul><ul><li>grows to infinity near obstacles </li></ul></ul><ul><ul><li>is smooth </li></ul></ul>Slide
  23. 26. Attractive & Repulsive Fields Slide
  24. 27. How Does It Work? Slide
  25. 28. Algorithm Outline <ul><li>Place a regular grid G over the configuration space </li></ul><ul><li>Compute the potential field over G </li></ul><ul><li>Search G using a best-first algorithm with potential field as the heuristic function </li></ul><ul><li>Note: A  heuristic function  or simply a  heuristic  is a  function  that ranks alternatives in various  search algorithms  at each branching step basing on an available information in order to make a decision which branch is to be followed during a search. </li></ul>Slide
  26. 29. Use the Local Minima Information <ul><ul><li>Identify the local minima </li></ul></ul><ul><ul><li>Build an ideal potential field – navigation function – that does not have local minima </li></ul></ul><ul><ul><li>Using the calculations done so far, we can create a PATH PLANNER which would give us the optimum path for a set of inputs . </li></ul></ul>Slide
  27. 30. Active Sensing <ul><li>The main question to answer:”Where to move next?” </li></ul><ul><li>Given a current knowledge about the robot state and the environment, how to select the next sensing action or sequence of actions. A vehicle is moving autonomously through an environment gathering information from sensors. The sensor data are used. to generate the robot actions </li></ul><ul><li>Beginning from a starting configuration (x s ,y s ,  s ) to a goal configuration (x g ,y g ,  g ) in the presence of a reference trajectory and without it; With and without obstacles; Taking into account the constraints on the velocity, steering angle, the obstacles, and other constraints … </li></ul>
  28. 31. Active Sensing of a WMR Robot model
  29. 32. Trajectory optimization <ul><li>Between two points there are an infinite number of possible trajectories. But not each trajectory from the configuration space represents a feasible trajectory for the robot. </li></ul><ul><li>How to move in the best way according to a criterion from the starting to a goal configuration? </li></ul><ul><li>The key idea is to use some parameterized family of possible trajectories and thus to reduce the infinite-dimensional problem to a finitely parametrized optimization problem. To characterize the robot motion and to process the sensor information in efficient way, an appropriate criterion is need. So, active sensing is a decision making, global optimization problem subject to constraints . </li></ul>
  30. 33. Trajectory Optimization <ul><li>Let Q is a class of smooth functions. The problem of determining the ‘best’ trajectory q with respect to a criterion J can be then formulated as </li></ul><ul><li>q = argmin(J) </li></ul><ul><li>where the o ptimization criterion is chosen of the form </li></ul><ul><li>information part losses (time, traveled distance) </li></ul><ul><li>subject to constraints </li></ul><ul><li>l : lateral deviation, v: WMR velocity; : steering angle; d : distance </li></ul><ul><li>to obstacle </li></ul>
  31. 34. Trajectory Optimization <ul><li>The class Q of harmonic functions is chosen, </li></ul><ul><li>Q = Q(p), </li></ul><ul><li>p : vector of parameters obeying to preset constraints; </li></ul><ul><li>Given N number of harmonic functions, the new modified robot trajectory is generated on the basis of the reference trajectory by a lateral deviation as a linear superposition </li></ul>
  32. 35. Why harmonic functions? <ul><li>They are smooth periodic functions; </li></ul><ul><li>Gives the possibility to move easily the robot to the desired final point; </li></ul><ul><li>Easy to implement; </li></ul><ul><li>Multisinusoidal signals are reach excitation signals and often used in the experimental identification. They have proved advantages for control generation of nonholonomic WMR (assure smooth stabilization). For canonical chained systems Brockett (1981) showed that optimal inputs are sinusoids at integrally related frequencies, namely 2  , 2. 2  , …, m/2. 2  . </li></ul>
  33. 36. Optimality Criterion <ul><li>I = trace(WP), </li></ul><ul><li>I is computed at the goal configuration or on the the whole trajectory (part of it, e.g. in an interval ) </li></ul><ul><li>where W = MN; </li></ul><ul><li>M: scaling matrix; N: normalizing matrix </li></ul><ul><li>P: estimation error covariance matrix (information matrix or entropy) from a filter (EKF); </li></ul>
  34. 37. Trajectory (N=2 sinusoids) Lyudmila Mihaylova, Katholieke Universiteit Leuven, Division PMA
  35. 38. Point-to-point optimization
  36. 39. Implementation <ul><li>Using Optimization Toolbox of MATLAB, </li></ul><ul><li>fmincon finds the constrained minimum of a function of several variables </li></ul><ul><li>With small number of sinusoids (N<5) the computational complexity is such that it is easily implemented on-line. With more sinusoidal terms (N>10), the complexity (time, number of computations) is growing up and a powerful computer is required or off-line computation. All the performed experiments prove that the trajectories generated even with N=3 sinusoidal terms respond to the imposed requirements. </li></ul>Lyudmila Mihaylova, Katholieke Universiteit Leuven, Division PMA
  37. 40. Conclusions <ul><li>An effective approach for trajectories optimization has been considered : </li></ul><ul><li>Appropriate optimality criteria are defined. The influence of the different factors is decoupled; </li></ul><ul><li>The approach is applicable in the presence of and without obstacles. </li></ul>
  38. 41. Few Topics with related videos of work done by people around the world in the field Robot navigation <ul><li>3-D path planning and target trajectory prediction : </li></ul><ul><li>Path Planning : </li></ul><ul><li>Potential Function Method – By Leng Feng Lee : </li></ul><ul><li>Real-Time Scalable Motion Planning for Crowds - </li></ul><ul><li>Robot Potential with local minimum avoidance - </li></ul>
  39. 42. References <ul><li>Tracking, Motion Generation and Active Sensing of Nonholonomic Wheeled Mobile Robots - Lyudmila Mihaylova & Katholieke Universiteit Leuven </li></ul><ul><li>Robot Path Planning - By William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University </li></ul><ul><li>Part II-Motion Planning- by Steven M. LaValle (University of Illinois) </li></ul><ul><li>Wikipedia </li></ul><ul><li> </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.