MEM380 Applied Autonomous Robots Fall Depth First Search A* and Dijkstra s Algorithm

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

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

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

Robotic Motion Planning: A* and D* Search

Sung-Eui Yoon ( 윤성의 )

Week 4 Lecture Notes Part 1 Blind Search cont. and Informed Search

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

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

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!

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

Route planning / Search Movement Group behavior Decision making

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

Best-First Search: The A* Algorithm

Discrete Motion Planning

Advanced Robotics Path Planning & Navigation

Problem Solving and Search

The big picture: from Perception to Planning to Control

Artificial Intelligence

The goal of this assignment is to implement and test Breadth-first search (BFS) on a simple navigation problem (path-finding).

Path Planning. CMPS 146, Fall Josh McCoy

Informed search strategies (Section ) Source: Fotolia

CSC263 Week 8. Larry Zhang.

CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University. Course Logistics. Instructor: Jingjin Yu

CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up. Nicki Dell Spring 2014

CS 206 Introduction to Computer Science II

Artificial Intelligence

DFS. Depth-limited Search

A* optimality proof, cycle checking

COS Lecture 13 Autonomous Robot Navigation

A* and 3D Configuration Space

PATH FINDING AND GRAPH TRAVERSAL

Motion Planning. Howie CHoset

ME/CS 132: Advanced Robotics: Navigation and Vision

Algorithms and Path Planning

Lecture 9 Graph Traversal

Graphs. Tessema M. Mengistu Department of Computer Science Southern Illinois University Carbondale Room - Faner 3131

Informed Search CS457 David Kauchak Fall 2011

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

CISC 3130 Data Structures Spring 2018

CS61BL. Lecture 5: Graphs Sorting

Outline for today s lecture. Informed Search I. One issue: How to search backwards? Very briefly: Bidirectional search. Outline for today s lecture

Graphs & Digraphs Tuesday, November 06, 2007

Search and Games. Adi Botea. ANU Summer Schools in Logic and Learning February, 2009

University of Waterloo Department of Electrical and Computer Engineering ECE 457A: Cooperative and Adaptive Algorithms Midterm Examination

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

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

Selection, Bubble, Insertion, Merge, Heap, Quick Bucket, Radix

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

Problem Solving: Informed Search

Announcements Problem Set 4 is out!

CS 206 Introduction to Computer Science II

Search EECS 348 Intro to Artificial Intelligence

Search EECS 395/495 Intro to Artificial Intelligence

Algorithm Design and Analysis

CS106X Final Review. Rachel Gardner and Jared Bitz. slides adapted from Ashley Taylor, Anton Apostolatos, Nolan Handali, and Zachary Birnholz

Motion Planning. Howie CHoset

Module 11: Additional Topics Graph Theory and Applications

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

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

Path Planning for Point Robots. NUS CS 5247 David Hsu

mywbut.com Informed Search Strategies-I

Uninformed Search. Day 1 & 2 of Search. Russel & Norvig Chap. 3. Material in part from

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

CPS 170: Artificial Intelligence Search

CSE 100: GRAPH ALGORITHMS

Principles of Autonomy and Decision Making

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

21# 33# 90# 91# 34# # 39# # # 31# 98# 0# 1# 2# 3# 4# 5# 6# 7# 8# 9# 10# #

MA/CSSE 473 Day 12. Questions? Insertion sort analysis Depth first Search Breadth first Search. (Introduce permutation and subset generation)

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

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

csci 210: Data Structures Graph Traversals

CS 1114: Implementing Search. Last time. ! Graph traversal. ! Two types of todo lists: ! Prof. Graeme Bailey.

Algorithm Design and Analysis

COMP251: Algorithms and Data Structures. Jérôme Waldispühl School of Computer Science McGill University

Pathfinding. Advaith Siddharthan

Navigation and Metric Path Planning

Robotic Motion Planning: Cell Decompositions (with some discussion on coverage and pursuer/evader)

17/05/2018. Outline. Outline. Divide and Conquer. Control Abstraction for Divide &Conquer. Outline. Module 2: Divide and Conquer

Discrete search algorithms

Algorithms and Theory of Computation. Lecture 3: Graph Algorithms

Robot Motion Planning

CS 106X, Lecture 23 Dijkstra and A* Search

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.

Announcements. CSEP 521 Applied Algorithms. Announcements. Polynomial time efficiency. Definitions of efficiency 1/14/2013

9/17/2015 7:56 AM. CSCE 625 Programing Assignment #1 due: Tues, Sep 22 (by start of class) Objective

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

Topic 1 Uninformed Search

Branch & Bound (B&B) and Constraint Satisfaction Problems (CSPs)

Uninformed Search Methods

Search. (Textbook Chpt ) Computer Science cpsc322, Lecture 2. May, 10, CPSC 322, Lecture 2 Slide 1

Basic Motion Planning Algorithms

EE631 Cooperating Autonomous Mobile Robots

CS 4407 Algorithms Lecture 5: Graphs an Introduction

Robot Programming with Lisp

2. True or false: even though BFS and DFS have the same space complexity, they do not always have the same worst case asymptotic time complexity.

Graphs and Algorithms

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

COMP3702/7702 Artificial Intelligence Week2: Search (Russell & Norvig ch. 3)" Hanna Kurniawati"

Efficient memory-bounded search methods

Transcription:

MEM380 Applied Autonomous Robots Fall Breadth First Search Depth First Search A* and Dijkstra s Algorithm

Admin Stuff Course Website: http://robotics.mem.drexel.edu/mhsieh/courses/mem380i/ Instructor: M. Ani Hsieh 159 Curtis Hall mhsieh1@drexel.edu Teaching Assistants: Bill Mather thomas.w.mather@drexel.edu Location: PISB 109 Pre-requisites: Linear Algebra Linear Differential Equations 2

Admin Stuff Cont. Main Text & Software: Principles of Robot Motion: Theory, Algorithms, and Implementations Computer Unreal Tournament 2004 (UT3 At your own discrection) USARSim (Freeware) Supplemental Texts: Introduction to Mobile Autonomous Robots Probabilistic Robotics Grading: Assignments 40% Final 40% Participation 10% Teamwork 10% Misc: Assignments must be e-mailed to MEM380.grader@gmail.com Assignments are due on Mondays @ 11:59 pm unless otherwise specified. Assignments, w/ exception of code, must be submitted in electronically via e-mail in PDF format. The file MUST BE a single PDF file and must NOT exceed 5MBs. All Matlab code submission must conform to the guidelines outlined in each assignment. If we cannot run your code, it WILL NOT be graded. Late submissions WILL NOT be accepted 3

Assignments & Office Hours Assignments are individual assignments You may work together, BUT everyone MUST submit their own work. Time & Location of Office Hours Prof. Hsieh Mon 4:00-5:00pm, 159 Curtis Hall w/ exception of Week 2, Week 2 Wed 4:30-5:30pm in Hess 10F Bill Mather Thurs 3:00-5:00pm, Hess 10F Equipment Personal Laptop w/ Wireless capabilities 4

Basic Goals of Programming Coding with a purpose Utility Usability Maintainability http://en.wikiversity.org/wiki/introduction_to_programming 5

Compiled vs Interpreted Compiled Modified into binary and permanently stored Machine-readable only Interpreted Human-readable form At run-time, an interpreter modifies the content into binary as it is run 6

Common Problems Common mistakes programmers make Utility Program does not work as it is suppose to Program does not do a job better than an alternative program Usability Too complicated or too simple to be useful Maintainability You or other people cannot understand the programming behind your program http://en.wikiversity.org/wiki/introduction_to_programming 7

Motion Planning What is Motion Planning? Determining where to go 8

Historical Perspective Searched-based AI Courtesy of Howie Choset 9

Historical Searched-based AI STRIPS Action Planning (1960) Motion Planning -> More than a search Courtesy of Howie Choset 10

Live Motion Planning Experiments Person 1 walks through some obstacles Person 1, looking at Person 2, directs Person 2 through obstacles Person 1, looking at Person 2 with eyes closed, directs Person 2 through obstacles Person 1, looking at a map and not Person 2, whose eyes are still closed, directs Person 2 through obstacles Person 1, looking at an object and Person 2, whose eyes are closed, directs Person 2 to grab an obstacle How do we do the last experiment with a map? Courtesy of Howie Choset 11

What Did We Assume? Perfect sensors? What information Uncertainty Perfect control? What controls? Uncertainty Perfect thinking? Knowledge of the world? Complete? Processing the world? Everything? What Else? Courtesy of Howie Choset 12

Robots Courtesy of Howie Choset 13

Robots Courtesy of Howie Choset 14

Trends in Robotics/Motion Planning Classical Robotics (mid-70 s) exact models no sensing necessary Hybrids (since 90 s) models based at higher levels reactive at lower levels Reactive Paradigm (mid-80 s) no models relies heavily on good sensing Probabilistic Robotics (since mid-90 s) seamless integration of models and sensing inaccurate models, inaccurate sensing Courtesy of Howie Choset 15

Example of a World and a Robot Courtesy of Howie Choset 16

Basic Path Planning Problem Statement: Compute a continuous sequence of collision-free robot configurations connecting the initial and goal configurations Geometry of environment Geometry and kinematics of Robot Path Planner Collision Free Path Initial and goal configurations Courtesy of Howie Choset 17

Topics Graph Search (BFS, DFS, A*, D*) Bug Algorithms Curve Following Roadmaps Potential Functions Obstacle Avoidance 18

Preliminaries Completeness of a motion planning algorithm An algorithm is complete if, in finite time, it finds a path if such a path exists or terminates with failure if it does not. Computational efficiency of an algorithm Scalability when consider multi-robot apps 19

Motion Planning as Graph Searches Abstraction representation of a collection of items A collection of vertices & edges V 1 V 2 e 45 V 5 V 3 V 4 e 13 e 34 e 23 e 46 V 6 V e 1 45 V 5 V 3 V 4 e 13 e 34 e 46 V e 23 e 46 V 6 2 V 2 Terminology Adjacency Paths and Cycles Degree of a vertex Fully connected graphs 20

Types of Graphs Directed vs. Undirected Weighted vs. Unweighted w 13 w 23 w 34 w 45 w 46 21

Types of Graphs Cyclic vs. Acyclic Trees Root Child/Leaf 22

Graph Representation: Example A F Objective: We want to represent all possible ways to get from configuration A to B using a graph HOW? 23

Graph Representation: Example A B C D E F 24

Search in Path Planning Find a path between two locations in an unknown, partially known, or known environment Search Performance Completeness Optimality Operating Costs Space Complexity Time Complexity 25

Search Uninformed Search Use no information obtained from the environment Blind search: BFS (Wavefront), DFS Informed Search Use evaluation function More efficient Heuristic Searchers: A*, D*, etc. 26

Uninformed Search: BFS Graph search from A to N Queue A B C D E F G H I J K Pop here Push here BFS L M N 27

Uninformed Search: DFS Graph search from A to N Stack A B C D E F G Push and Pop here DFS H I J K L M N 28

Informed Search: A* Notation n node/state c(n 1, n 2 ) the length of an edge connecting n 1 and n 2 b(n 1 ) = n 2 backpointer of a node n 1 to a node n 2 29

Informed Search: A* Evaluation/Cost Function f(n) = g(n) + h(n) Operating Cost Function g(n) Actual operating cost of having been traversed Heuristic Function h(n) Information used to find promising nodes to traverse Admissible never overestimate the actual path cost Cost on Grid 30

N Start O is empty? N Pick n best frm O s.t. f(n best ) f(n) Remove n best frm O & add it to C n best = goal? Expand all nodes x who are nbrs of n best & not in C Y Y End End A*: Algorithm The search requires 2 lists to store information about nodes 1. Open list (O) stores nodes for expansion 2. Closed list (C) stores nodes which we have explored N x is not in O? Y Update b(x)=n best if g(n best )+c(n best ) < g(x) Add x to O 31

Two Examples of Running A* 32

Example (1/5) 33

Example (2/5) 34

Example 3/5 35

Example 4/5 36

Example 5/5 37

A*: Example (1/6) 38

A*: Example (2/6) 39

A*: Example (3/6) 40

A*: Example (4/6) 41

A*: Example (5/6) 42

A*: Example (6/6) 43

A*: Example Result 44

Dijkstra s Search: f(n) = g(n) 1. O = {S} 2. O = {1,2,4,5}; C = {S} (1,2,4,5) all point back to S 3. O = {1,4,5}; C = {S,2} (there are no adjacent nodes not in C) 4. O = {1,5,3}; C = {S,2,4} (1,2,4, point to S; 5 points to 4) 5. O = {5,3}; C = {S,2,4,1} 6. O = {3,G}; C = {S, 2, 4, 1} (goal points to 5 which points to 4 which points to S) 45