1 Ceng 585 Paper Presentation D*-Lite Path Finding Algorithm and its Variations Can Eroğul

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

Additional Topics ARTIFICIAL INTELLIGENCE
Problem solving with graph search
Lecture 7: Potential Fields and Model Predictive Control
Informed search algorithms
AI Pathfinding Representing the Search Space
Artificial Intelligence CS482, CS682, MW 1 – 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis,
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
D* Lite an incremental version of A* for navigating in unknown terrain Focussed Dynamic A* It implements the same behavior as Stentz’
an incremental version of A*
~1~ Infocom’04 Mar. 10th On Finding Disjoint Paths in Single and Dual Link Cost Networks Chunming Qiao* LANDER, CSE Department SUNY at Buffalo *Collaborators:
Randomized Algorithms Randomized Algorithms CS648 Lecture 15 Randomized Incremental Construction (building the background) Lecture 15 Randomized Incremental.
1 Ceng 585 Paper Presentation D*-Lite Path Finding Algorithm and its Variations Can Eroğul
Adrian Sotelo CS582 Spring 2009 Digipen Institute of Technology.
Hybrid architecture for autonomous indoor navigation Georgia Institute of Technology CS 7630 – Autonomous Robotics Spring 2008 Serge Belinski Cyril Roussillon.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
CSC344: AI for Games Lecture 5 Advanced heuristic search Patrick Olivier
Technical Advisor : Mr. Roni Stern Academic Advisor : Dr. Meir Kalech Team members :  Amit Ofer  Liron Katav Project Homepage :
A* and D* Search Kevin Tantisevi. Outline Overview of Search Techniques A* Search D* Search.
Games with Chance Other Search Algorithms CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 3 Adapted from slides of Yoonsuck Choe.
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
1 PHA*:Performing A* in Unknown Physical Environments Ariel Felner Bar-Ilan University. Joint work with Roni Stern and Sarit Kraus.
Research Related to Real-Time Strategy Games Robert Holte November 8, 2002.
Uninformed Search Reading: Chapter 3 by today, Chapter by Wednesday, 9/12 Homework #2 will be given out on Wednesday DID YOU TURN IN YOUR SURVEY?
Search Algorithms for Agents
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Optimal Fixed-Size Controllers for Decentralized POMDPs Christopher Amato Daniel.
Chapter 5.4 Artificial Intelligence: Pathfinding.
Graphs II Robin Burke GAM 376. Admin Skip the Lua topic.
Vilalta&Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
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.
Search: Heuristic &Optimal Artificial Intelligence CMSC January 16, 2003.
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
Particle Filter & Search
A Survey of Distributed Task Schedulers Kei Takahashi (M1)
The Application of The Improved Hybrid Ant Colony Algorithm in Vehicle Routing Optimization Problem International Conference on Future Computer and Communication,
Lecture 3: Uninformed Search
1 Solving problems by searching 171, Class 2 Chapter 3.
yG7s#t=15 yG7s#t=15.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Artificial Intelligence for Games Informed Search (2) Patrick Olivier
Informed Search I (Beginning of AIMA Chapter 4.1)
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 29 April 2004.
Computer Sciences Department1.  Property 1: each node can have up to two successor nodes (children)  The predecessor node of a node is called its.
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
Distributed Optimization Yen-Ling Kuo Der-Yeuan Yu May 27, 2010.
Honors Track: Competitive Programming & Problem Solving Finding your way with A*-algorithm Patrick Shaw.
Artificial Intelligence Lecture No. 8 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Definition of the Hidden Markov Model A Seminar Speech Recognition presentation A Seminar Speech Recognition presentation October 24 th 2002 Pieter Bas.
CSCE 552 Fall 2012 AI By Jijun Tang. Homework 3 List of AI techniques in games you have played; Select one game and discuss how AI enhances its game play.
Lecture 3: Uninformed Search
COGNITIVE APPROACH TO ROBOT SPATIAL MAPPING
Programming Abstractions
CS b659: Intelligent Robotics
Heuristic Search Henry Kautz.
Finding Heuristics Using Abstraction
Search-Based Footstep Planning
Lecture 1B: Search.
Crowd Simulation (INFOMCRWS) - A* Search
What to do when you don’t know anything know nothing
Informed search algorithms
Informed search algorithms
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Workshop: A* Search.
CSE 417: Algorithms and Computational Complexity
Midterm Review.
Planning.
Presentation transcript:

1 Ceng 585 Paper Presentation D*-Lite Path Finding Algorithm and its Variations Can Eroğul

2 Outline Problem Definition Motivation Environment Properties A* (1968), D* (1994)‏ D* Lite (2002 & 2005)‏ Field D* (2005)‏ Multi-resolution Field D* (2006)‏

3 Problem Definition: Path Finding

4 Motivation Only A* in lectures Dynamic A* is more useful for robotic domain. Used in various robots including Mars rovers "Spirit" and "Opportunity"

5 Environment Properties 1.Static vs Dynamic 2.Complete vs Incomplete ( Accesible vs Inaccesible )‏ 3.Discrete vs Continuous 4.Deterministic vs Non-deterministic 5.Stationary Target vs Moving Target We assume discrete & deterministic environment with stationary target. Note: All continuous domains can be discretized.

6 Why Discretize? Robotic domain is continuous, why discretize? Discretization is a mathematical method. Easier calculation: Making data more suitable for numerical computation implementation on digital computers

7 Problems of Grid Based Path Planning Path Quality (Limited rotation values (0,π/4,π/2) 4 or 8 neighborhood)‏ Memory & computational power requirements

8 Lack of Smooth Paths

9 Other Environment Properties Stationary Target vs Moving Target (MTS)‏ One agent vs Multi-agents Fuel constraint? (PHA*)‏ Time constraint? (Anytime algorithms)‏ Real-Time? (RTA* & LRTA*)‏ Shortest path needed? Agility or Fatigue?

10 A* Environment Assumptions Static world Complete knowledge of the map Freespace Assumption: The robot assumes that the terrain is clear unless it knows otherwise. & also deterministic and discrete with stationary target.

11 A* Covered in 585 lectures. Breif reminder: Breadth first search using a heuristic function. Forward A*: Search starts from the start to goal Backward A*: Search starts from the goal to starting point.

12 A* Details f(x) = g(x) + h(x)‏ g(x) = Path cost from start to node x h(x) = ”Heuristic estimate” of the distance to the goal from node x. h(x) should be admisibble (kabul edilebilir). It must never overestimate the distance to the goal, so that A* guarantees to find the shortest path. Generally implemented with a priority queue.

13 Priority Queue Priority Queue is an abstract data type Heap is a data structure. Priority Queue can be implemented with heap structure.

LRTA* & RTA* Algorithms 1)Lookahead Calculating estimate values for each neighbor of the current cell (by the help of heuristic function)‏ 2)Updating the estimate values of the nodes The only difference between the algorithms, is the update rule in this step, which causes RTA* to converge faster. 3)Action selection due to the estimate values

LRTA* 1) Lookahead: Calculate f(x') = h(x') + k(x, x') for each neighbor x' of the current state x, where h(x') is the current heuristic estimate of the distance from x' to the goal state, and k(x, x') is the cost of the edge from x to x'. 2) Consistency maintenance: Update the value of h(x) to this minimum f(x') value. 3) Action Selection: Move to a neighbor with the minimum f(x') value. Ties are broken randomly.

RTA* 1) Lookahead: Calculate f(x') = h(x') + k(x, x') for each neighbor x' of the current state x, where h(x') is the current heuristic estimate of the distance from x’ to the goal state, and k(x, x') is the cost of the edge from x to x'. 2) Consistency maintenance: Update the value of h(x) to second minimum f(x') value. 3) Action Selection: Move to a neighbor with the minimum f(x') value. Ties are broken randomly.

17 Dynamic A* Capable of planning paths in unknown, partially known and changing environments efficiently. When the map changes or an unknown obstacle cuts the way, the algorithm replans another path efficiently. D* finds the same (shortest) path with A*.

18 How D* Lite works? D* makes backward search. (Starts searching from the goal node)‏ First run is the same as A*. When a node changes (obstacle appears), D* just recomputes the values of the inconsistent nodes, which are necessary to compute, while A* recomputes all of the path.

19 Inconsistent Nodes

20 Inconsistent Nodes Consistency = (g(x) == rhs(x))‏ If a node is inconsistent update all of it's neighbors and itself again. (Updating nodes will try to make them consistent) Continue updating while the robots node is inconsistent or there are inconsistent nodes that are closer to the target, which may open a shorter path to the robot.

21 How D* Lite works? Example run of D*

22 How D* Lite works? First run of D*

23 How D* Lite works? Second run of D*

24 Comparison

25 Comparison

26 A* - D* Comparison

27 2 D*-Lite Versions D* Lite has 2 versions, which just have different implementations, and D* is also another algorithm. They all find the same path. Second D* Lite algorithm is the fastest.

28 2 D*-Lite Versions D* Lite has 2 versions, which just has different implementations. They both find the same path. Second is faster. Implementation detail: Second version is faster, because it avoids having to reorder the priority queue.

29 Problems of Grid Based Path Planning Path Quality (Limited rotation values (0,π/4,π/2)) Solved by Field D* Memory & computational power requirements

30 Field D* continuous Operates on continuous domain. After D* computes the path, a post processing function, shortens the path based on interpolation.

31 Field D*

32 Problems of Grid Based Path Planning Path Quality (Limited rotation values (0,π/4,π/2)) Solved by Field D* Memory & computational power requirements Solved by Multi-resolution Field D*

33 Multi-resolution Field D* Computes nearly the same path with Field D* in shorter time with less memory usage.

34 Multi-resolution Field D* This method overcomes the problems of grid based path planning.

35 D* on MARS! Joseph Carsten and Art Rankin from NASA's Jet Propulsion Laboratory installed a version of Field D* using elements of D*-Lite on the Mars rovers "Spirit" and "Opportunity" and first let it control a rover on Mars in February 2007 after testing it on a rover on Mars in November 2006.

36 Related Papers Optimal and Efficient Path Planning for Partially-Known Environments, Anthony Stenz, ICRA, 94 Fast Replanning for Navigation in Unknown Terrain 2002 & 2005, Sven Koenig & Maxim Likhachev Multi-resolution Field D* IAS 2006 Dave Ferguson, Anthony Stenz

37 Questions? Thanks for listening