Planning and Navigation

Slides:



Advertisements
Similar presentations
Problem solving with graph search
Advertisements

Reactive and Potential Field Planners
Lecture 7: Potential Fields and Model Predictive Control
AI Pathfinding Representing the Search Space
Sensor Based Planners Bug algorithms.
Motion Planning for Point Robots CS 659 Kris Hauser.
CSE 380 – Computer Game Programming Pathfinding AI
University of Amsterdam Search, Navigate, and Actuate - Quantitative Navigation Arnoud Visser 1 Search, Navigate, and Actuate Quantative Navigation.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song and Nancy M. Amato Department of Computer Science Texas A&M University College Station,
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
Navigation and Motion Planning for Robots Speaker: Praveen Guddeti CSE 976, April 24, 2002.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
Robot Motion Planning Bug 2 Probabilistic Roadmaps Bug 2 Probabilistic Roadmaps.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Solving problems by searching
Planning and Navigation Where am I going? How do I get there?
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini.
Dijkstra’s Algorithm and Heuristic Graph Search David Johnson.
Lab 3 How’d it go?.
© Manfred Huber Autonomous Robots Robot Path Planning.
Representing and Using Graphs
Path Planning for a Point Robot
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
yG7s#t=15 yG7s#t=15.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Administration Feedback on assignment Late Policy
Robotics Club: 5:30 this evening
Navigation & Motion Planning Cell Decomposition Skeletonization Bounded Error Planning (Fine-motion Planning) Landmark-based Planning Online Algorithms.
Robotics Chapter 5 – Path and Trajectory Planning
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
Path Planning Based on Ant Colony Algorithm and Distributed Local Navigation for Multi-Robot Systems International Conference on Mechatronics and Automation.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Artificial Intelligence Lecture No. 8 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Planning and Navigation. 6 Competencies for Navigation Navigation is composed of localization, mapping and motion planning – Different forms of motion.
Randomized KinoDynamic Planning Steven LaValle James Kuffner.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
2.1 Introduction to Configuration Space
Optimal Acceleration and Braking Sequences for Vehicles in the Presence of Moving Obstacles Jeff Johnson, Kris Hauser School of Informatics and Computing.
Review: Tree search Initialize the frontier using the starting state
Rapidly-Exploring Random Trees
Chapter 5.4 Artificial Intelligence: Pathfinding
Shortest Path Problems
Graphs Representation, BFS, DFS
CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe,
ECE 448 Lecture 4: Search Intro
Schedule for next 2 weeks
Artificial Intelligence
Mathematics & Path Planning for Autonomous Mobile Robots
Motion Planning for a Point Robot (2/2)
Path Planning in Discrete Sampled Space
Last lecture Configuration Space Free-Space and C-Space Obstacles
Craig Schroeder October 26, 2004
Graphs Representation, BFS, DFS
Day 29 Bug Algorithms 12/7/2018.
Day 29 Bug Algorithms 12/8/2018.
Chapter 11 Graphs.
Probabilistic Map Based Localization
Sept, 19, 2007 NSH 3211 Hyun Soo Park, Iacopo Gentilini
Path Planning in Discrete Sampled Space
Sept, 19, 2007 NSH 3211 Hyun Soo Park, Iacopo Gentilini
Robotics meet Computer Science
Planning.
Classic Motion Planning Methods
Presentation transcript:

Planning and Navigation

Competencies for Navigation Navigation is composed of localization, mapping and motion planning Different forms of motion planning inside the cognition loop from R. Siegwart "Position" Global Map Perception Motion Control Cognition Real World Environment Localization Path Environment Model Local Map

Outline of this Lecture Motion Planning State-space and obstacle representation Work space Configuration space Global motion planning Optimal control (not treated) Deterministic graph search Potential fields Probabilistic / random approaches Local collision avoidance BUG VFH ND ...

The Planning Problem (1/2) The problem: find a path in the work space (physical space) from the initial position to the goal position avoiding all collisions with the obstacles Assumption: there exists a good enough map of the environment for navigation. Topological Metric Hybrid methods

The Planning Problem (2/2) We can generally distinguish between (global) path planning and (local) obstacle avoidance. First step: Transformation of the map into a representation useful for planning This step is planner-dependent Second step: Plan a path on the transformed map Third step: Send motion commands to controller This step is planner-dependent (e.g. Model based feed forward, path following)

Map Representations Topological Map (Continuous Coordinates) Occupancy Grid Map (Discrete Coordinates) K-d Tree Map (Quadtree) Large memory requirement of grid maps > k-d tree recursively breaks the environment into k pieces Here k = 4, quadtree

Topological Map

Topological Maps Edges can carry weights Standard Graph Theory Algorithms (Dijkstra's algorithm) Good abstract representation Several graphs for any world Assumption: Robot can travel between nodes Tradeoff in # of nodes: complexity vs. accuracy Limited information

Grid World Two dimensional array of values Each cell represents a square of real world Typically a few centimeters to a few dozen centimeters

Alternative Representations Waste lots of bits for big open spaces KD-trees x < 5 free y<5 occupied free

QuadTree OctTree

Work Space  Configuration Space Example: manipulator robots State or configuration q can be described with k values qi What is the configuration space of a mobile robot? Work Space Configuration Space: Planning in configuration space the dimension of this space is equal to the Degrees of Freedom (DoF) of the robot

Configuration Space for a Mobile Robot Mobile robots operating on a flat ground have 3 DoF: (x, y, θ) For simplification, in path planning mobile roboticists often assume that the robot is holonomic and that it is a point. In this way the configuration space is reduced to 2D (x,y) Because we have reduced each robot to a point, we have to inflate each obstacle by the size of the robot radius to compensate.

Configuration Space for a Mobile Robot

Path Planning: Overview of Algorithms 1. Optimal Control Solves truly optimal solution Becomes intractable for even moderately complex as well as nonconvex problems 2. Potential Field Imposes a mathematical function over the state/configuration space Many physical metaphors exist Often employed due to its simplicity and similarity to optimal control solutions 3. Graph Search Identify a set edges between nodes within the free space Where to put the nodes? Source: http://mitocw.udsm.ac.tz Configuration Space for a Mobile Robot

Potential Field Path Planning Strategies Khatib, 1986 Robot is treated as a point under the influence of an artificial potential field. Operates in the continuum Generated robot movement is similar to a ball rolling down the hill Goal generates attractive force Obstacle are repulsive forces 6 - Planning and Navigation

Potential Fields Oussama Khatib, 1986. Goal: Attractive Force Model navigation as the sum of forces on the robot Goal: Attractive Force Large Distance --> Large Force Model as Spring Hooke's Law F = -k X Obstacles: Repulsive Force Small Distance --> Large Force Model as Electrically Charged Particles Coulomb's law F= k q1q2 / r2

attractive

repulsive

Potential Field Generation Generation of potential field function U(q) Generate artificial force field F(q) Set robot speed (vx, vy) proportional to the force F(q) generated by the field the force field drives the robot to the goal 6 - Planning and Navigation

Attractive Potential Field q = [x, y]T qgoal = [xgoal, ygoal]T Parabolic function representing the Euclidean distance to the goal Attracting force converges linearly towards 0 (goal) 6 - Planning and Navigation

Repulsing Potential Field Should generate a barrier around all the obstacle strong if close to the obstacle no influence if far from the obstacle minimum distance to the object, ρ0 distance of influence of object Field is positive or zero and tends to infinity as q gets closer to the object obst.

Repulsive potential field

Potential Field Path Planning: Notes: Local minima problem exists problem is getting more complex if the robot is not considered as a point mass If objects are non-convex there exists situations where several minimal distances exist ® can result in oscillations 6 - Planning and Navigation

Computing the distance In practice the distances are computed using sensors, such as range sensors which return the closets distance to obstacles

Graph Algorithms Methods Breath First Depth First Dijkstra A* and variants D* and variants ...

Graph Construction: Cell Decomposition (1/4) Divide space into simple, connected regions called cells Determine which open cells are adjacent and construct a connectivity graph Find cells in which the initial and goal configuration (state) lie and search for a path in the connectivity graph to join them. From the sequence of cells found with an appropriate search algorithm, compute a path within each cell. e.g. passing through the midpoints of cell boundaries or by sequence of wall following movements. Possible cell decompositions: Exact cell decomposition Approximate cell decomposition: Fixed cell decomposition Adaptive cell decomposition 6 - Planning and Navigation

Graph Construction: Exact Cell Decomposition (2/4) 6 - Planning and Navigation

Graph Construction: Approximate Cell Decomposition (3/4) 6 - Planning and Navigation

Graph Construction: Adaptive Cell Decomposition (4/4) 6 - Planning and Navigation

Graph Search Strategies: Breadth-First Search

Dijkstra’s Algorithm Often highly inefficient Starting from the initial vertex where the path should start, the algorithm marks all direct neighbors of the initial vertex with the cost to get there. It then proceeds from the vertex with the lowest cost to all of its adjacent vertices and marks them with the cost to get to them via itself if this cost is lower. Once all neighbors of a vertex have been checked, the algorithm proceeds to the vertex with the next lowest cost. Once the algorithm reaches the goal vertex, it terminates and the robot can follow the edges pointing towards the lowest edge cost. A generic path planning problem from vertex I to vertex VI. The shortest path is I-II-III-V-VI with length 13. Often highly inefficient

Dijkstra’s Algorithm on a Grid

Graph Search Strategies: A* Search Similar to Dijkstra‘s algorithm, except that it uses a heuristic function h(n) f(n) = g(n) + ε h(n) 6 - Planning and Navigation

Dijkstra plus directional heuristic: A*

Graph Search Strategies: D* Search Similar to A* search, except that the search starts from the goal outward f(n) = g(n) + ε h(n) First pass is identical to A* Subsequent passes reuse information from previous searches For example when after executing the algorithm for a few times, new obstacles appear.

Sampling-based Path Planning (or Randomized graph search) When the state space is large complete solutions are often infeasible. In practice, most algorithms are only resolution complete, i.e., only complete if the resolution is fine-grained enough Sampling-based planners create possible paths by randomly adding points to a tree until some solution is found

Rapidly Exploring Random Tree (RRT) Well suited for high-dimensional search spaces Often produces highly suboptimal solutions

Probabilistic Roadmaps (PRM) create a tree by randomly sampling points in the state-space test whether they are collision-free connect them with neighboring points using paths that reflects the kinematics of a robot use classical graph shortest path algorithms to find shortest paths on the resulting structure.

Planning at different length-scales

Take-home lessons First step in addressing a planning problem is choosing a suitable map representation Reduce robot to a point-mass by inflating obstacles Grid-based algorithms are complete, sampling-based ones probabilistically complete, but usually faster Most real planning problems require a combination of multiple algorithms

Obstacle Avoidance (Local Path Planning) The goal of the obstacle avoidance algorithms is to avoid collisions with obstacles It is usually based on a local map Often implemented as a more or less independent task However, efficient obstacle avoidance should be optimal with respect to the overall goal the actual speed and kinematics of the robot the on boards sensors the actual and future risk of collision Example: Alice known obstacles (map) Planed path observed obstacle v(t), w(t) goal: avoid obstacles NOT path following Creates local commands, usually with goal bias 6 - Planning and Navigation

Obstacle Avoidance: Bug1 Following along the obstacle to avoid it Each encountered obstacle is once fully circled before it is left at the point closest to the goal Advantages No global map required Completeness guaranteed Disadvantages Solutions are often highly suboptimal 6 - Planning and Navigation

Obstacle Avoidance: Bug2 Following the obstacle always on the left or right side Leaving the obstacle if the direct connection between start and goal is crossed 6 - Planning and Navigation