Path Planning in Discrete Sampled Space

Slides:



Advertisements
Similar presentations
Review: Search problem formulation
Advertisements

Reactive and Potential Field Planners
Informed search strategies
Informed search algorithms
A* Search. 2 Tree search algorithms Basic idea: Exploration of state space by generating successors of already-explored states (a.k.a.~expanding states).
Greedy best-first search Use the heuristic function to rank the nodes Search strategy –Expand node with lowest h-value Greedily trying to find the least-cost.
Sensor Based Planners Bug algorithms.
Motion Planning for Point Robots CS 659 Kris Hauser.
Breadth-First Search David Johnson. Today Look at one version of Breadth-first search on a grid Develop Matlab version of BFS.
Review: Search problem formulation
Pathfinding Algorithms Josh Palmer Rachael Beers.
Problem Solving and Search in AI Heuristic Search
CSC344: AI for Games Lecture 4: Informed search
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Dijkstra’s Algorithm and Heuristic Graph Search David Johnson.
Lab 3 How’d it go?.
Graphs II Robin Burke GAM 376. Admin Skip the Lua topic.
1 Game AI Path Finding. A Common Situation of Game AI A Common Situation of Game AI Path Planning Path Planning –From a start position to a destination.
© Manfred Huber Autonomous Robots Robot Path Planning.
Heuristic Search In addition to depth-first search, breadth-first search, bound depth-first search, and iterative deepening, we can also use informed or.
Path Planning for a Point Robot
How are things going? Core AI Problem Mobile robot path planning: identifying a trajectory that, when executed, will enable the robot to reach the goal.
Informed search algorithms Chapter 4. Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most.
Informed search strategies Idea: give the algorithm “hints” about the desirability of different states – Use an evaluation function to rank nodes and select.
Informed Search Strategies Lecture # 8 & 9. Outline 2 Best-first search Greedy best-first search A * search Heuristics.
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.
Administration Feedback on assignment Late Policy
Informed Search I (Beginning of AIMA Chapter 4.1)
Graphs David Johnson. Describing the Environment How do you tell a person/robot how to get somewhere? –Tell me how to get to the student services building…
A General Introduction to Artificial Intelligence.
Feng Zhiyong Tianjin University Fall  Best-first search  Greedy best-first search  A * search  Heuristics  Local search algorithms  Hill-climbing.
Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most desirable unexpanded node Implementation:
Heuristic Search Foundations of Artificial Intelligence.
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
Chapter 3.5 and 3.6 Heuristic Search Continued. Review:Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
Artificial Intelligence Lecture No. 8 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
CPSC 420 – Artificial Intelligence Texas A & M University Lecture 5 Lecturer: Laurie webster II, M.S.S.E., M.S.E.e., M.S.BME, Ph.D., P.E.
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.
Review: Tree search Initialize the frontier using the starting state
Heuristic Functions.
Heuristic Search A heuristic is a rule for choosing a branch in a state space search that will most likely lead to a problem solution Heuristics are used.
Heuristic Search Introduction to Artificial Intelligence
Schedule for next 2 weeks
Abstraction Transformation & Heuristics
Informed Search and Exploration
Artificial Intelligence Problem solving by searching CSC 361
Motion Planning for a Point Robot (2/2)
The A* Algorithm Héctor Muñoz-Avila.
Discussion on Greedy Search and A*
Discussion on Greedy Search and A*
CS 4100 Artificial Intelligence
HW2 EE 562.
Informed search algorithms
Agent-Centered Search
Informed search algorithms
Lecture 8 Heuristic search Motivational video Assignment 2
Artificial Intelligence
(1) Breadth-First Search  S Queue S
Agent-Centered Search
CPSC 322 Introduction to Artificial Intelligence
Planning and Navigation
Path Planning in Discrete Sampled Space
Chap 4: Searching Techniques
Announcements This Friday Project 1 due Talk by Jeniya Tabassum
Artificial Intelligence
CS 416 Artificial Intelligence
Solving Problems by Searching
Informed Search.
Classic Motion Planning Methods
Presentation transcript:

Path Planning in Discrete Sampled Space Day 28 Path Planning in Discrete Sampled Space 11/19/2018

Spatial Decomposition represent space itself, rather than the objects in it, using discrete samples many ways to perform sampling, but the simplest is to use a grid free space occupied 11/19/2018

Uniform Spatial Sampling very general representation grid locations can represent anything if something moves then the representation does not change dramatically limited by grid resolution large cell size gives a coarse representation small cell size is storage intensive football pitch at 1cm2 resolution 105m x 68m x 100 x 100 = 71,400, 000 cells 3D is much worse 11/19/2018

Recursive Hierarchical Representations storage space can be conserved by observing that free space cells and occupied cells tend to cluster group the clusters into larger cells quadtree recursively subdivide space into 4 equal-sized cells until every cell is either uniformly free or uniformly occupied or some threshold resolution is reached 11/19/2018

Quadtree Decomposition free space occupied 11/19/2018

Quadtree Decomposition free space occupied 11/19/2018

Quadtree Decomposition free space occupied 11/19/2018

Quadtree Decomposition free space occupied 11/19/2018

Quadtree Decomposition free space occupied 11/19/2018

Quadtree Decomposition worst case performance same as uniform subdivision if most of the space is occupied or freespace then the representation is compact generalizes to N dimensions representation changes dramatically if objects move even a small amount 11/19/2018

Connectivity in Discrete Sampled Space a path on a discrete grid is a sequence of moves between connected cells for a square tiling there are two possible definitions of connectivity 4-connectivity 8-connectivity 11/19/2018

4-Connectivity on a 4-connected tiling the distance between two cells is called the taxicab distance, rectilinear distance, L1 distance, L1 norm, city block distance, or Manhattan distance 1 2 3 4 5 6 7 8 9 11/19/2018

Wave-Front Planner the wave-front planner finds a path between a start and goal point in spaces represented as a grid where free space is labeled with a 0 obstacles are labeled with a 1 the goal is labeled with a 2 the start is known 2 1 * goal 11/19/2018

Wave-Front Planner starting at the goal cell L := 2 while start cell is unlabelled for each cell C with label L for each cell Z connected to C with label 0 label Z with L+1 L := L + 1 11/19/2018

3 2 1 * goal 11/19/2018

4 3 2 1 * goal 11/19/2018

5 4 3 2 1 * goal 11/19/2018

14 13 12 11 10 9 8 7 6 5 4 3 2 1 * goal 11/19/2018

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 18 19 1 20 * goal 11/19/2018

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 18 19 1 20 21 22 37 38 23 36 24 35 25 34 33 32 29 28 27 26 30 31 50 49 48 46 45 44 43 42 41 40 39 * 47 goal 11/19/2018

Wave-Front Planner to generate a path starting from the start point L := start point label while not at the goal move to any connected cell with label L-1 L := L-1 11/19/2018

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 18 19 1 20 21 22 37 38 23 36 24 35 25 34 33 32 29 28 27 26 30 31 51 50 49 48 46 45 44 43 42 41 40 39 47 goal 11/19/2018

Another Example 3 2 * 11/19/2018

4 3 2 * 11/19/2018

7 6 5 4 3 2 * 11/19/2018

Wave-Front Planner advantage: disadvantages: will find a shortest path (in terms of connectivity) between start and goal if a path exists generalizes to higher dimensions disadvantages: path often runs adjacent to obstacles planner searches the entire space with radius R around the goal (where R is the distance between the start and goal) paths restricted by grid connectivity are longer than necessary 11/19/2018

Wave-Front Planner paths restricted by grid connectivity are longer than necessary Manhattan distance = 9 straight line distance = sqrt(16 + 25) = 6.403… 1 2 3 4 5 6 7 8 9 11/19/2018

Greedy Best-First Search to avoid searching in all possible directions we might consider searching first in a direction towards the goal idea use an estimate (called the heuristic) of how far a cell is from the goal consider the cell whose heuristic distance is the smallest first S G possible path with heuristic distance = Euclidean distance 11/19/2018

Greedy Best-First Search produces expensive paths when there are concave obstacles http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html 11/19/2018

A* A* is a common algorithm in game AI programming and robotics first described in 1968 http://theory.stanford.edu/~amitp/GameProgramming/ A* is the foundation for Theta* Daniel, Nash, Koenig. Theta*: Any-Angle Planning on Grids, Journal of Artificial Intelligence Research, 39, 2010. path planning on a grid where paths are allowed to pass through cells at any angle (not just using 4- or 8-connectivity) 11/19/2018

A* A* combines two pieces of information g(n) : the cost of the path from the starting point to n h(n) : the heuristic cost of the path from n to the goal considers the cell n with the lowest cost f(n) = g(n) + h(n) first compromise between Dijkstra’s algorithm and greedy best- first search 11/19/2018

A* the heuristic distance function h(n) affects how the algorithm performs the search h(n) = 0 equivalent to Dijkstra’s algorithm h(n) <= true cost of moving from n to the goal guaranteed to find a shortest path the smaller h(n) the more it expands the search to cells closer to the start h(n) = true cost of moving from n to the goal will find a best path with the minimal amount of searching h(n) > true cost of moving from n to the goal some of the time not guaranteed to find a shortest path but might find a path in a shorter amount of time h(n) >> true cost of moving from n to the goal behaves like greedy best-first search 11/19/2018

A* h(n) <= true cost of moving from n to the goal http://en.wikipedia.org/wiki/File:Astar_progress_animation.gif 11/19/2018

A* h(n) > true cost of moving from n to the goal http://en.wikipedia.org/wiki/File:Weighted_A_star_with_eps_5.gif 11/19/2018

Potential Functions in continuous space potential functions can be used for path planning a potential function is a differentiable real-valued function U i.e., U assigns a scalar real value to every point in space potential functions you might know gravitational potential electrostatic potential 11/19/2018

Goal Potential the goal potential should be an attractive potential small near the goal large far from the goal monotonically increasing nice too if it is continuously differentiable 11/19/2018

located at a minimum in U Goal Potential consider the quadratic potential “rolls” towards the goal goal located at a minimum in U 11/19/2018

Goal Potential “rolling towards the goal” can be accomplished using gradient descent gradient descent starting at initial configuration, take a small step in the direction opposite to the gradient F until |F| = 0 11/19/2018

Goal Potential notice that the wave-front planner basically works this way it defines a potential where there is only one minimum the minimum is located at the goal it then uses gradient descent to move towards the goal 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 18 19 1 20 21 22 37 38 23 36 24 35 25 34 33 32 29 28 27 26 30 31 51 50 49 48 46 45 44 43 42 41 40 39 47 start 11/19/2018