Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Similar documents
Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment

EE631 Cooperating Autonomous Mobile Robots

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning

Robot Motion Control Matteo Matteucci

Visibility Graph. How does a Mobile Robot get from A to B?

Introduction to Mobile Robotics Path and Motion Planning. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Motion Planning for a Point Robot (2/2) Point Robot on a Grid. Planning requires models. Point Robot on a Grid 1/18/2012.

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

Informed search. Soleymani. CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2016

Autonomous Robotics 6905

Route planning / Search Movement Group behavior Decision making

Sung-Eui Yoon ( 윤성의 )

Motion Planning 2D. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Advanced Robotics Path Planning & Navigation

HW#1 due today. HW#2 due Monday, 9/09/13, in class Continue reading Chapter 3

3 SOLVING PROBLEMS BY SEARCHING

Advanced Robotics Path Planning & Navigation

Informed Search A* Algorithm

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning

Motion Planning. Howie CHoset

Path Planning for Point Robots. NUS CS 5247 David Hsu

Motion Planning. Howie CHoset

6.141: Robotics systems and science Lecture 10: Motion Planning III

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

Introduction to Mobile Robotics Path Planning and Collision Avoidance. Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Robot Motion Planning

Introduction to Mobile Robotics Path Planning and Collision Avoidance

Navigation and Metric Path Planning

Visual Navigation for Flying Robots. Motion Planning

Motion Planning, Part IV Graph Search Part II. Howie Choset

Probabilistic Methods for Kinodynamic Path Planning

Informed search strategies (Section ) Source: Fotolia

Assignment 1 is out! Due: 9 Sep 23:59! Can work in a group of 2-3 students.! NO cheating!!!! Submit in turnitin! Code + report!

Motion Planning, Part III Graph Search, Part I. Howie Choset

Unit 5: Part 1 Planning

Solving Problems by Searching

Solving Problems by Searching

A4B36ZUI - Introduction ARTIFICIAL INTELLIGENCE

Planning: Part 1 Classical Planning

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

Problem Solving and Search

Search. CS 3793/5233 Artificial Intelligence Search 1

Path Planning. Jacky Baltes Dept. of Computer Science University of Manitoba 11/21/10

Discrete planning (an introduction)

Can work in a group of at most 3 students.! Can work individually! If you work in a group of 2 or 3 students,!

mywbut.com Informed Search Strategies-I

CS 5522: Artificial Intelligence II

Metric Planning: Overview

Computer Game Programming Basic Path Finding

MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING

Today s s lecture. Lecture 3: Search - 2. Problem Solving by Search. Agent vs. Conventional AI View. Victor R. Lesser. CMPSCI 683 Fall 2004

Informed/Heuristic Search

Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS

Artificial Intelligence

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2. Problem Solving Agents. Problem Solving Agents: Assumptions

Obstacle Avoidance (Local Path Planning)

Search : Lecture 2. September 9, 2003

Heuristic Search: A* CPSC 322 Search 4 January 19, Textbook 3.6 Taught by: Vasanth

CS Path Planning

6 Planning and Navigation:

A* optimality proof, cycle checking

Robot Motion Planning and (a little) Computational Geometry

CS4733 Class Notes. 1 2-D Robot Motion Planning Algorithm Using Grown Obstacles

Searching. Assume goal- or utilitybased. Next task to achieve is to determine the best path to the goal

Solving problems by searching

Solving problems by searching

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2: Search. Problem Solving Agents

Informed Search Algorithms

CS 771 Artificial Intelligence. Informed Search

Road Map Methods. Including material from Howie Choset / G.D. Hager S. Leonard

Search with Costs and Heuristic Search

Artificial Intelligence

Chapter 3. A problem-solving agent is a kind of goal-based agent. It decide what to do by finding sequences of actions that lead to desirable states.

Last time: Problem-Solving

ME512: Mobile Robotics Path Planning Algorithms. Atul Thakur, Assistant Professor Mechanical Engineering Department IIT Patna

CS 331: Artificial Intelligence Informed Search. Informed Search

Planning in Mobile Robotics

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 19 January, 2018

CS 331: Artificial Intelligence Informed Search. Informed Search

CMU-Q Lecture 2: Search problems Uninformed search. Teacher: Gianni A. Di Caro

Discrete search algorithms

Humanoid Robotics. Path Planning and Walking. Maren Bennewitz

CSE 40171: Artificial Intelligence. Informed Search: A* Search

Blind (Uninformed) Search (Where we systematically explore alternatives)

Chapter 3: Informed Search and Exploration. Dr. Daisy Tang

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences

521495A: Artificial Intelligence

Blind (Uninformed) Search (Where we systematically explore alternatives)

Introduction to Computer Science and Programming for Astronomers

Foundations of AI. 4. Informed Search Methods. Heuristics, Local Search Methods, Genetic Algorithms. Wolfram Burgard & Bernhard Nebel

Solving Problems by Searching. Artificial Intelligence Santa Clara University 2016

Path-Planning for Multiple Generic-Shaped Mobile Robots with MCA

Robot Motion Planning

Graphs vs trees up front; use grid too; discuss for BFS, DFS, IDS, UCS Cut back on A* optimality detail; a bit more on importance of heuristics,

Discrete Motion Planning

521495A: Artificial Intelligence

Recap A Search Optimality of A. Search: A. CPSC 322 Search 5. Textbook 3.6. Search: A CPSC 322 Search 5, Slide 1

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Motion Planning 1 Retraction and Cell Decomposition

Transcription:

Marcello Restelli Dipartimento di Elettronica e Informazione Politecnico di Milano email: restelli@elet.polimi.it tel: 02 2399 3470 Path Planning Robotica for Computer Engineering students A.A. 2006/2007

What is Required to Navigate? Cognition/Reasoning the ability to decide what actions are required to achieve a certain goal in a given situation decisions ranging from what path to take to what information on the environment to use Industrial robots operate without cognition since they work in static and very structured environments In mobile robotics cognition is mainly concerned to which path is better to reach a given location knowledge is partially known and uncertain requires hybrid solutions running in parallel global path planning local obstacle avoidance 2

Global Path Planning Assumption there exists a good enough map Goal find the optimal geometrical path optimal = minimum distance, minimum rotations First step use an environment representation that allows to apply standard planning algorithms Road Map visibility graphs Voronoi graphs Cell decomposition Potential Field... 3

Path Planning as a Graph Search Problem For graph based maps Search problem <S, G, s 0, {O 1, O 2,..., O k }> S: set of states G: goal states s 0 G: initial state {O 1, O 2,..., O k }: finite set of available operators. If an operator O j may be applied to a state it returns the state Succ j (s) with a cost c j (s) 0 Solution each sequence that allows to pass from s 0 to a goal state Optimal solution a solution is optimal if its cost is not greater than that of any other solution 4

Search Solution Methods To solve a search problem we need to explore a portion (possibly small) of the state space We need to build a search tree The general algorithm is Initialize root node with the initial state REPEAT IF there is not any node to be extended THEN RETURN failure ELSE choose a node n IF n is a goal state THEN RETURN solution ELSE extend n and add the produced nodes to the search tree 5

Evaluation of Different Search Strategies The main difference between the different search strategies is the way in which they put new nodes into the frontier (the set of nodes that have been generated but still not expanded) Properties of a search strategy completeness: it found a solution if at least one exists optimality: the found solution has minimum cost complexity: time and memory requirements Parameters of a search strategies b: branch factor, i.e. max number of successor states d: depth of the goal state nearest to the root node 6

What Search Methods can be Used for? Good solution methods exist for problems static full observable discrete deterministic Examples Eight game automatic assembly path planning 7

Search Strategies Uninformed search strategies breadth first uniform cost depth first depth limited iterative deepening depth first bidirectional Informed search strategies best first greedy A* 8

Informed Search Strategies Informed search strategies exploit specific knowledge that is not contained in the problem formulation The next node to be evaluated is chosen according to an evaluation function f(n) Evaluation function tells how much a node is promising According to the way f(n) is computed we have different search strategies For convention nodes with low values for f(n) are better it is typically implemented through a priority queue the node with the lowest value is extracted to be extended 9

Best First Greedy Search The evaluation function is equal to a heuristic function h(n) f(n) = h(n) = estimated cost of the shortest path between node n and one of the goal nodes h(n) is an estimate not the real cost (otherwise is trivial) Best first greedy search is not optimal suffers from local minima temporal and spatial complexity O(b m ) b is the branch factor m is the maximum search depth (may be ) 10

A* Search A* is a kind of best first search The evaluation function is the sum of the cost to reach the node n (g(n)) and the value of a heuristic function h(n) f(n) = g(n) + h(n) f(n) is an estimate of the most convenient solution among those the pass through n g(n): cost of the path from the root node to n h(n): estimate of the cost of the path from n to the nearest goal node A* is complete optimal (under some hypotheses on h(.) ) optimally efficient 11

Best First Greedy vs A*: An Example h(n): Manhattan distance Best-First Greedy A* 12

Path Planning Overview Road Map, Graph construction identify a set of routes within the free space where to put the nodes? Cell decomposition discriminate between free and occupied cells where to put the cell boundaries Potential field imposing a mathematical function over the space 13

Visibility Graph Shortest path length Grow obstacles to avoid collisions 14

Obstacle Oriented Maps Obstacles are stored as a graph of vertexes Grow obstacles to avoid them use the radius if the robot is cylindrical use half diagonal if the robot is rectangular This works if there are wide free zones Otherwise we need different maps according to the heading of the robot 15

Growing Obstacles Consider a point R among the vertexes of the polygon that defines the robot shape Consider the polygon obtained through central symmetry with respect to the point R Make R overlap with all the vertexes of each obstacle and add the obtained robot vertexes to the list of vertexes Join all the external vertexes (obtaining the convex hull) 16

Planning with Visibility Graphs Once grown the obstacle for a given heading, we build the visibility graph The graph contains all the paths between start and goal Planning can be made with the A* algorithm The visibility graph is not suitable for dynamic words The paths are close to the obstacles 17

Piano Mover Problem Not always the robot can move straight and then perform rotations In the example below, the robot can find a path in the first hallway, but without changing its heading there is not a path in the second one 18

Voronoi Diagram Easy executable: maximize the sensor readings Works also for map building: Move on the Voronoi edges 19

Cell Decomposition Divide space in simple, connected regions called cells Construct a connectivity graph between adjacent cells Find a path the connect the cells containing the initial and goal configuration Given the sequence of cells compute a path within each cell 20

Planning with Regular Grid Maps The grid allows to represent both obstacles and free space Consider a regular grid its dimension is given by the dimension of the robot The robot may be considered either inside the cell or on a vertex Planning can be made with A* the successor function can be 8 connected map 4 connected map orthogonal oblique 21

Planning with Regular Grid Maps: Wave Propagation Instead of A*, we can use an ad hoc method The idea is to compute for each cell its distance to the goal The algorithm propagate the distance information as a wave that starts from the goal If there is a path, the wave will reach the starting cell The algorithm (sketch) initialize the cell values (blocked = inf., goal=0, free=row*col) REPEAT Forward step (from left to right, from up to bottom, if cell c is free) c[x,y]:=min(c[x,y], c[x 1,y 1]+1, c[x 1,y]+1,c[x 1,y+1]+1,c[x,y 1]+1) Beckward step (from right to left, from bottom to up, if cell c is free) c[x,y]:=min(c[x,y],c[x+1,y 1]+1,c[x+1,y]+1,c[x+1,y+1]+1,c[x,y+1]+1) UNTIL no change 22

Wave Propagation: Considerations For the diagonal movement the cost could be 1.4 The number of iterations depends on the obstacle shape The path from start to goal is obtained by following the cells with decreasing value if the path cannot be found, it does not exist The accuracy is in trade off with the memory requirements Works in a discretized space The path planning algorithm is easy it does not suffer from local minima 23

Planning with Different Representations 24

Potential Field Robot is treated as a point under the influence of an artificial potential field goal generates attractive force obstacles are repulsive forces summing up the fields: U(q) functions must be differentiable Generate artificial force field F(q) U F q = U q = U att q U x rep U q =[ ] y Set robot speed (v x, v y ) the force drives the robot to the goal the robot is considered as a point mass 25

Potential Field: An Example Attractive parabolic function: the distance from the goal U att q = 1 2 k att q q goal 2 the force converges linearly towards 0 Repulsing strong when close to the obstacles not influence if far from the obstacles U rep q ={1 2 k rep 1 1 2 if q q q q obs 0 obs 0 0 0 if q q obs 26

Potential Field: Issues Suboptimal paths extended potential field method rotational potential field force is also a function of the orientation to the obstacle task potential field filters out tasks that should not influence the movement Local minimum problem exists harmonic potentials robot moving as a fluid particle following its stream no local minima, but complex 27

Obstacle Avoidance The goal is to avoid collisions with obstacles It is usually based on local maps Often is implemented as an independent task Efficient obstacle avoidance should be optimal w.r.t. the overall goal the actual speed and kinematics of the robot the on board sensors the actual and future risk of collisions 28

Obstacle Avoidance: Problem 1 Following along the obstacle to avoid To know which is the point closest to the goal, it is required to fully circle each encountered obstacle 29

Obstacle Avoidance: Problem 2 Following the robot always on the left or right side Leaving the obstacle if the direct connection between start and goal is crossed 30

VHF: Vector Field Histogram Environment represented in a grid (2 DOF) cell values equivalent to the probability that there is an obstacle Reduction in different steps to a 1 DOF histogram calculation of steering directions all openings for the robot to pass are found the one with the lowest cost function G is selected G = a*target_dir + b*wheel_orientation + c*previous_dir 31

VHF+ Improved version of VHF that accounts also (in a very simple way) for the moving trajectories the robot is assumed to move on arcs obstacle blocking a given direction also blocks all the trajectories going through this direction 32

Bubble Band Concept A bubble is the maximum free space which can be reached without any risk of collision generated using the distance to the object and a simplified model of the robot bubbles are used to form a band of bubbles which connects the start point with the goal point 33

Basic Curvature Velocity Methods Adding physical constraints from the robot and the environment on the velocity space (v,ω) of the robot assumption that the robot is traveling on arcs (exist extensions using lanes) c = ω/v acceleration constraints obstacle constraints obstacle are transformed in velocity space objective function to select the optimal speed 34

Dynamic Window Approach The kinematics of the robot is taken into account by searching a well chosen velocity space velocity space > some sort of configuration space robot is assumed to move on arcs ensures that the robot comes to stop before hitting an obstacle objective function is chosen to select the optimal velocity O = a*heading(v, ω) + b*velocity(v, ω) + c*dist(v, ω) 35

The Schlegel Approach Variation of the dynamic window approach takes into account the shape of the robot Cartesian grid and motion of circular arcs wave propagation planner real time performance achieved by use of a precalculated table 36

Other Approaches Behavior based Pros easy to program modular Contra difficult to introduce a precise task reachability of goal not provable Fuzzy, Neuro Fuzzy Pros handling of uncertainty automatic programming Contra learning required difficult to generalize 37