EE562: Robot Motion Planning Slides on Discrete Planning Abubakr Muhammad
Discrete Planning • Planning (robotics) or Problem Solving (AI) ? • We will study – Discrete configuration spaces or state spaces – Modeling planning problems as graph search algorithms (feasible planning) – Optimal planning (dynamic programming) • No geometric models or differential equations • Key towards a unified approach towards planning problems Reference: Planning Algorithms by LaValle Ch 2 •
State Space Models • A distinct situation is a state, say x • Set of all possible states is State Space X • World is transformed through actions (controls) • Actions are chosen by a planner • Each action u, when applied to state x, produces a new state x’, via State transition function f x’ = f(x,u)
Discrete Feasible Planning • U(x) : set of all actions that can be applied from state x. • Choose controls to stear state to the goal.
Example: A labyrinth
Example: An infinite tiled floor
Example 2: Puzzle games
Example 3: Reconfigurable systems / Dynamic Networks • Robotic warehousing • KIVA Systems video (0-45 sec) http://www.youtube.com/watch?v=lWsMdN7HMuA# 8 Abubakr Muhammad. SSE - Feb 25, 2009
Reconfigurable systems / Dynamic Networks Lab on a chip • Coordinated drop movement • 9 Courtesy: RPI robotics Courtesy: Duke digital microfluidics
Common themes …. • Agents are constrained to occupy “positions” • Agents cannot bump into each other (collision avoidance) • The positions of all agents collectively make a configuration 10
Configuration Space • Set of all configurations is a configuration space • Reconfiguration: Moving from one configuration to another 11 Abubakr Muhammad. SSE - Feb 25, 2009
Example 3: Distributed Robotics • What is the configuration space? 12
Sounds familiar? • When state space is finite – Finite state machines (Mealy/Moore machines) – Deterministic Finite automata (DFA)
Graphs
Ex: Graphs from Grids
Planning as Graph Search Problem 1. Construct a graph representing the planning problem 2. Search the graph for a (hopefully, close-to- optimal) path The two steps above are often interleaved
Examples of Graph Construction
Search in Path Planning • Find a path between two locations in an • unknown, partially known, or known • environment • Search Performance – Completeness / systematic – Optimality → Operating cost – Space Complexity – Time Complexity
Graph Search Types Uninformed Search • Use no information obtained from the environment • Blind Search: BFS (Wavefront), DFS Informed Search • Use evaluation function • More efficient • Heuristic Search: A*, D*, etc.
General forward search
Ex1: Breadth First Search Running time complexity = O(V+E)
Ex2: Depth First Search Running time complexity = O(V+E)
General forward search • States – Unvisited – Dead – Alive • Set of alive states kept in a priority queue • Implementation details (omitted) – How to determine whether x is in X G (representation) [Line 4] – How to verify whether x has been visited? (lookup tables? Hashing?) [Line 8] – How to sort the queue?
Backward Search
Bidirectional Search
Systematic searches Requirement: systematic • keep track of visited states • visit every reachable state) BFS is systematic DFS is systematic for finite graphs For finite graphs all searches are systematic
Recommend
More recommend