Planning and Navigation. 6 Competencies for Navigation Navigation is composed of localization, mapping and motion planning – Different forms of motion.

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

Problem solving with graph search
Reactive and Potential Field Planners
Lecture 7: Potential Fields and Model Predictive Control
AI Pathfinding Representing the Search Space
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Motion Planning for Point Robots CS 659 Kris Hauser.
Searching on Multi-Dimensional Data
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.
Kinodynamic Path Planning Aisha Walcott, Nathan Ickes, Stanislav Funiak October 31, 2001.
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.
CS 326A: Motion Planning Non-Holonomic Motion Planning.
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
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Chris Allocco.
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.
Motion Planning Howie CHoset.
Dijkstra’s Algorithm and Heuristic Graph Search David Johnson.
Lab 3 How’d it go?.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
© 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.
State-Space Searches. 2 State spaces A state space consists of A (possibly infinite) set of states The start state represents the initial problem Each.
Review: Tree search Initialize the frontier using the starting state While the frontier is not empty – Choose a frontier node to expand according to search.
1 Solving problems by searching 171, Class 2 Chapter 3.
yG7s#t=15 yG7s#t=15.
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Introduction to Motion Planning
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
1 Energy-Efficient Mobile Robot Exploration Yongguo Mei, Yung-Hsiang Lu Purdue University ICRA06.
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
Path Planning Based on Ant Colony Algorithm and Distributed Local Navigation for Multi-Robot Systems International Conference on Mechatronics and Automation.
Artificial Intelligence Lecture No. 8 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Department of Computer Science Columbia University rax Dynamically-Stable Motion Planning for Humanoid Robots Paper Presentation James J. Kuffner,
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
Randomized KinoDynamic Planning Steven LaValle James Kuffner.
Autonomous Mobile Robots Autonomous Systems Lab Zürich Probabilistic Map Based Localization "Position" Global Map PerceptionMotion Control Cognition Real.
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
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,
Schedule for next 2 weeks
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
Planning and Navigation
Robotics meet Computer Science
Planning.
Classic Motion Planning Methods
Presentation transcript:

Planning and Navigation

6 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 PerceptionMotion 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 freey<5 occupiedfree

QuadTree OctTree

Work Space  Configuration Space State or configuration q can be described with k values q i 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 Example: manipulator robots

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 3. Graph Search – Identify a set edges between nodes within the free space – Where to put the nodes? 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 Source: Configuration Space for a Mobile Robot

6 - Planning and Navigation 6 16 Potential Field Path Planning Strategies 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 Khatib, 1986

Potential Fields 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 q 1 q 2 / r 2 Oussama Khatib, Model navigation as the sum of forces on the robot

attractive

repulsive

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

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

6 Repulsing Potential Field Should generate a barrier around all the obstacle – strong if close to the obstacle – not 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

6 - Planning and Navigation 6 25 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

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 –...

6 - Planning and Navigation 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 6 29 Graph Construction: Exact Cell Decomposition (2/4)

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

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

6 Graph Search Strategies: Breadth-First Search

Dijkstra’s Algorithm 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

6 - Planning and Navigation 6 35 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)

Dijkstra plus directional heuristic: A*

Graph Search Strategies: D* Search  Similar to A* search, except that th 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 ne-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 combination of multiple algorithms

6 - Planning and Navigation 6 43 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 observedobstacle v(t),  (t)

6 - Planning and Navigation 6 44 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 6 45 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