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

Similar documents
Heuristic (Informed) Search

Are We Smart Yet? (Where we try to choose smartly) R&N: Chap. 4, Sect

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

A4B36ZUI - Introduction ARTIFICIAL INTELLIGENCE

Heuristic (Informed) Search

Sung-Eui Yoon ( 윤성의 )

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

Advanced A* Improvements

Solving Problems by Searching (Blindly)

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

Informed search strategies (Section ) Source: Fotolia

Informed Search and Exploration for Agents

Path Planning for Point Robots. NUS CS 5247 David Hsu

Route planning / Search Movement Group behavior Decision making

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

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

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday

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

Search. CS 3793/5233 Artificial Intelligence Search 1

mywbut.com Informed Search Strategies-I

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

Basic Motion Planning Algorithms

CPS 170: Artificial Intelligence Search

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

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

Informed (Heuristic) Search. Idea: be smart about what paths to try.

Artificial Intelligence

Artificial Intelligence p.1/49. n-queens. Artificial Intelligence p.2/49. Initial state: the empty board or a board with n random

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

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

INTRODUCTION TO HEURISTIC SEARCH

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

CS:4420 Artificial Intelligence

A4B36ZUI - Introduction to ARTIFICIAL INTELLIGENCE

EE631 Cooperating Autonomous Mobile Robots

CSE 473. Chapter 4 Informed Search. CSE AI Faculty. Last Time. Blind Search BFS UC-BFS DFS DLS Iterative Deepening Bidirectional Search

Set 2: State-spaces and Uninformed Search. ICS 271 Fall 2015 Kalev Kask

Outline. Informed search algorithms. Best-first search. Review: Tree search. A search Heuristics. Chapter 4, Sections 1 2 4

Lecture 3: Motion Planning (cont.)

Artificial Intelligence

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

Problem Solving and Search

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!

Informed/Heuristic Search

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

Informed Search A* Algorithm

Informed Search Lecture 5

Motion Planning. Howie CHoset

Informed search algorithms. Chapter 4

Artificial Intelligence, CS, Nanjing University Spring, 2018, Yang Yu. Lecture 3: Search 2.

Computer Game Programming Basic Path Finding

Homework #3 (Search) Out: 1/24/11 Due: 2/1/11 (at noon)

DFS. Depth-limited Search

Introduction to Artificial Intelligence. Informed Search

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

CS 771 Artificial Intelligence. Informed Search

Lecture 5 Heuristics. Last Time: A* Search

Informed search algorithms

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

Advanced Robotics Path Planning & Navigation

CS 343: Artificial Intelligence

ARTIFICIAL INTELLIGENCE. Informed search

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

Discrete Motion Planning

Week Date Lecture (W: 3:05p-4:50, 7-222)

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

A* optimality proof, cycle checking

CS 5522: Artificial Intelligence II

Informed Search. Xiaojin Zhu Computer Sciences Department University of Wisconsin, Madison

Pathfinding. Artificial Intelligence for gaming

Autonomous Robotics 6905

Problem Solving & Heuristic Search

Today. Informed Search. Graph Search. Heuristics Greedy Search A* Search

Planning Techniques for Robotics Planning Representations: Skeletonization- and Grid-based Graphs

CS 771 Artificial Intelligence. Problem Solving by Searching Uninformed search

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

Solving problems by searching

Motion Planning. Howie CHoset

A.I.: Informed Search Algorithms. Chapter III: Part Deux

A* Optimality CS4804

Informed search algorithms. Chapter 4, Sections 1 2 1

Artificial Intelligence Informed Search

Problem Solving: Informed Search

Solving problems by searching

521495A: Artificial Intelligence

Learning Objectives. c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.3, Page 1

Solving problems by searching

Informed Search and Exploration

CSCI 446: Artificial Intelligence

CMPUT 396 Sliding Tile Puzzle

1 Introduction and Examples

Chapters 3-5 Problem Solving using Search

Informed Search Methods

Lecture 4: Search 3. Victor R. Lesser. CMPSCI 683 Fall 2010

ME/CS 132: Advanced Robotics: Navigation and Vision

Announcements. CS 188: Artificial Intelligence

Outline. Best-first search

Overview. Path Cost Function. Real Life Problems. COMP219: Artificial Intelligence. Lecture 10: Heuristic Search

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

Artificial Intelligence

Transcription:

Motion Planning for a Point Robot (/) Class scribing Position paper 1 Planning requires models Point Robot on a Grid The Bug algorithms are reactive motion strategies ; they are not motion planners To plan its actions, a robot needs a (possibly imperfect) predictive model of its actions, so that it can choose among several possible courses of action 3 Assumptions: - The robot perfectly controls its actions - It has an accurate geometric model of the environment (i.e., the 4 obstacles) Point Robot on a Grid 8-Puzzle Game 1 3 4 1 8 How can the robot find a collision-free path to the goal? Assumptions: - The robot perfectly controls its actions - It has an accurate geometric model of the environment (i.e., the obstacles) Initial state Goal state State: Any arrangement of 8 numbered tiles and an empty tile on a 3x3 board 1

8-Puzzle: Successor Function State Graph and Search Tree SUCC(state) subset of states 3 4 The successor function is knowledge about the 8-puzzle game, but it does not tell us which outcome to use, nor to which state of the board to apply it. 3 4 1 3 4 Search is about the exploration of alternatives State graph Note that some states may be visited multiple times 8 Search Nodes and States If states are allowed to be duplicated, 3 4 the search tree may be infinite even when the state space is finite Node expansion The expansion of a node N of the search tree consists of: 1) Evaluating the successor function on STATE(N) ) Generating a child of N for each state returned by the function N 8 4 3 9 8 4 3 10 Fringe of Search Tree The fringe is the set of all search nodes that haven t been expanded yet 3 4 8 4 3 11 1

Search Strategy The fringe is the set of all search nodes that haven t been expanded yet The fringe is implemented as a priority queue FRINGE INSERT(node,FRINGE) REMOVE(FRINGE) The ordering of the nodes in FRINGE defines the search strategy 13 Search Algorithm SEARCH(Start, Finish) 1. INSERT(Start,FRINGE) Start. Repeat: a. If FRINGE is empty then return failure b. q REMOVE(FRINGE) c. If q = Finish then return a path from Start to Finish FRINGE d. For every new state q in SUCCESSORS(q) i. Install q as a child of q in the search tree ii. INSERT(q,FRINGE) 14 Blind Search Strategies Breadth-first New positions are inserted at the end of FRINGE What is the effect? Depth-first New positions are inserted at the beginning of FRINGE What is the effect? 1 Point Robot on a Grid How can the robot find a collision-free path to the goal? Assumptions: - The robot perfectly controls its actions - It has an accurate geometric model of the environment (i.e., the 1 obstacles) Now, the robot can search its model for a collision-free path to the goal 1 10001000 grid 1,000,000 configurations In 3-D 10 9 configurations In -D 10 18 configurations!!! Need for smart search techniques or sparse discretization 18 3

Smart Search Smart Search SEARCH(Start t,finish) 1. INSERT(q start,fringe). Repeat: a. If FRINGE is empty then return failure b. q REMOVE(FRINGE) c. If q = Finish then return a path from Start to Finish d. For every new state q in SUCCESSORS(q) i. Install q as a child of q in the search tree ii. INSERT(q,FRINGE) SEARCH(Start t,finish) 1. INSERT(q start,fringe). Repeat: a. If FRINGE is empty then return failure b. q REMOVE(FRINGE) c. If q = Finish then return a path from Start to Finish d. For every new state q in SUCCESSORS(q) i. Install q as a child of q in the search tree ii. INSERT(q,FRINGE) What can smart search be? How can it be done? 19 Smart ordering of the configurations in FRINGE (best-first search) 0 Evaluation function f : node N real positive number f(n) For instance f(n) may be the Euclidean distance (straight-line distance) to the goal Sort the fringe by increasing value of f Application f(n) = Euclidean distance to the goal 1 Application Another Example f(n) = Manhattan distance to the goal 3 4 4

Another Example Another Example f(n) = h(n), with h(n) = Manhattan distance to the goal f(n) = Manhattan distance to the goal 8 4 3 3 4 4 3 3 8 1 0 1 4 3 3 4 4 8 4 3 3 4 4 3 3 8 1 0 1 4 3 3 4 4 Another Example f(n) = g(n)+h(n), with h(n) = Manhattan distance to goal and g(n) = distance traveled to reach N 8+3 8 +4 + +3 + 4+ 4 3+8 3 +9 3+10 3 4 + + 4+ 4 3+8 3 +1 3 +9 1+10 1 0+11 0 1 4 +0 +1 8+1 8 + +3 +4 4+ 4 3+ 3 + 3+8 3 4 A* Search f(n) = g(n) + h(n), where g(n) is the length of the path reaching N and 0 h(n) length of the shortest path from N to goal [h is called the heuristic function] FRINGE is a priority queue sorted in increasing order of f A*(Start,Finish) 1. Insert the initial-node (state = Start) into FRINGE. Repeat: a. If FRINGE is empty then return failure b. Let N be the first node in FRINGE, remove N from FRINGE c. Let s be the state of N and mark s as closed d. If s = Finish then return the path found between Start and Finish and exit e. For every state s in SUCCESSORS(s) i. If s is closed then do nothing ii. Else Create a node N with state s as a successor of N If there is a node N in FRINGE with state s then If g(n ) < g(n ) then do nothing, else remove N from FRINGE and insert N in FRINGE, Else insert N in FRINGE 8 A* Search f(n) = g(n) + h(n), where g(n) is the length of the path reaching N and 0 h(n) length of the shortest path from N to goal [h is called the heuristic function] FRINGE is a priority queue sorted in increasing order of f Both h(n) = Euclidean distance from N to goal A*(Start,Finish) 1. Insert and the initial-node (state = Start) into FRINGE. Repeat: h(n) a. If FRINGE = Manhattan is empty then return distance failure from N to goal verify b. Let N be 0 the h(n) first node length in FRINGE, remove of the N from shortest FRINGE path c. Let s be the state of N and mark s as closed from d. If s = NFinish to then the return goal the path found between Start and Finish and exit e. For every state s in SUCCESSORS(s) i. If s is closed then do nothing A* ii. search Else is guaranteed to return Create a node N as a successor of N, with state s a shortest If there is a path node N in FRINGE if a with path state s then exists If g(n ) < g(n ) do nothing, else remove N from FRINGE and insert N in FRINGE 9 Else insert N in FRINGE How to Choose h? f(n) = g(n) + h(n), where 0 h(n) length h*(n) of the shortest path from N to goal Would h(n) 0 be a good choice? Would h(n) h*(n) be a good choice? Which one is better: h(n) = Euclidean distance to goal? h(n) = Manhattan distance to goal? 30

att Attractive/Repulsive Potential Fields U (q) = q-q goal att Attractive/Repulsive Potential Fields U (q) = q-q goal Best-first search with potential fields: Sort positions in FRINGE in increasing order of potential 1 1 U rep(q) = - d obst(q) dmin Equipotential contours 31 What could be a Bug motion strategy with potential fields? 1 1 Equipotential U rep(q) = What - would be its drawback? contours d obst(q) dmin 3 10001000 grid 1,000,000 configurations In 3-D 10 9 configurations In -D 10 18 configurations!!! Need for smart search techniques or sparse discretization 33

critical events criticality-based decomposition How would you represent a bounded polygonal region? Planar sweep O(n log n) time, O(n) space Continuous space Tradeoffs Discretization Sampling-based Criticality-based Cell decomposition: precomputation of data structure Path planning: query processing for a given (Start, Finish) pair using this data structure Can the precomputation cost be amortized over several queries? What if the world changes frequently? Search 41 4

Visibility Graph Visibility Graph Finish SHAKEY (SRI, 199) Start 43 Computational complexity? 44 How would you check whether two line segments intersect? Voronoi Diagram (x,y ) (x 1,y 1 ) What is this? (x 1,y 1 ) (x,y ) 4 Advantages/drawbacks relative to visibility graph method? 4 8