Administration Feedback on assignment Late Policy

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

Reactive and Potential Field Planners
Motion Planning for Point Robots CS 659 Kris Hauser.
Slide 1 Robot Lab: Robot Path Planning William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University.
Visibility Graph and Voronoi Diagram CS Tutorial.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
1 Processing & Analysis of Geometric Shapes Shortest path problems Shortest path problems The discrete way © Alexander & Michael Bronstein, ©
1 Single Robot Motion Planning - II Liang-Jun Zhang COMP Sep 24, 2008.
Graphs. Graph definitions There are two kinds of graphs: directed graphs (sometimes called digraphs) and undirected graphs Birmingham Rugby London Cambridge.
Using Search in Problem Solving
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
CS 326A: Motion Planning Criticality-Based Motion Planning: Target Finding.
Graphs. Graphs Many interesting situations can be modeled by a graph. Many interesting situations can be modeled by a graph. Ex. Mass transportation system,
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
City College of New York 1 Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York Robot Motion Planning.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
Robot Motion Planning Bug 2 Probabilistic Roadmaps Bug 2 Probabilistic Roadmaps.
Extended Potential Field Method Adam A. Gonthier MEAM 620 Final Project 3/19/2006.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Randomized Planning for Short Inspection Paths Tim Danner and Lydia E. Kavraki 2000 Presented by Dongkyu, Choi On the day of 28 th May 2003 CS326a: Motion.
Backtracking.
Introduction to Robot Motion Planning. Example A robot arm is to build an assembly from a set of parts. Tasks for the robot: Grasping: position gripper.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Chris Allocco.
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini.
Dijkstra’s Algorithm and Heuristic Graph Search David Johnson.
Lab 3 How’d it go?.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
Dijkstra’s Algorithm. 2 Shortest-path Suppose we want to find the shortest path from node X to node Y It turns out that, in order to do this, we need.
1 Numerical geometry of non-rigid shapes Shortest path problems Shortest path problems Lecture 2 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
© Manfred Huber Autonomous Robots Robot Path Planning.
B659: Principles of Intelligent Robot Motion Kris Hauser.
Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930.
Path Planning for a Point Robot
Introduction to Robot Motion Planning Robotics meet Computer Science.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
CSE 2331 / 5331 Topic 12: Shortest Path Basics Dijkstra Algorithm Relaxation Bellman-Ford Alg.
Introduction to Motion Planning
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Navigation & Motion Planning Cell Decomposition Skeletonization Bounded Error Planning (Fine-motion Planning) Landmark-based Planning Online Algorithms.
Laboratory of mechatronics and robotics Institute of solid mechanics, mechatronics and biomechanics, BUT & Institute of Thermomechanics, CAS Mechatronics,
Robotics Chapter 5 – Path and Trajectory Planning
Graph Algorithms GAM 376 Robin Burke Fall Outline Graphs Theory Data structures Graph search Algorithms DFS BFS Project #1 Soccer Break Lab.
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
Data Structures and Algorithm Analysis Graph Algorithms Lecturer: Jing Liu Homepage:
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Planning and Navigation. 6 Competencies for Navigation Navigation is composed of localization, mapping and motion planning – Different forms of motion.
Robot Motion Planning Robotics meet Computer Science.
Randomized KinoDynamic Planning Steven LaValle James Kuffner.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
CSE 326: Data Structures Lecture #17 Heuristic Graph Search Henry Kautz Winter Quarter 2002.
Schedule for next 2 weeks
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Mathematics & Path Planning for Autonomous Mobile Robots
Motion Planning for a Point Robot (2/2)
Short paths and spanning trees
Path Planning in Discrete Sampled Space
Last lecture Configuration Space Free-Space and C-Space Obstacles
Robot Lab: Robot Path Planning
Connected Components Minimum Spanning Tree
Crowd Simulation (INFOMCRWS) - A* Search
CS 583 Analysis of Algorithms
Planning and Navigation
Robotics meet Computer Science
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Classic Motion Planning Methods
Presentation transcript:

Administration Feedback on assignment Late Policy Some Matlab Sample Code makeRobot.m, moveRobot.m

Introduction to Motion Planning CSE350/450-011 16 Sep 03

Class Objectives Cell decomposition procedures for motion planning Review exact approaches from last week Introduce approximating approaches A* Algorithm Introduction to potential field approaches to motion planning

Supporting References Motion Planning “Motion Planning Using Potential Fields”, R. Beard & T. McClain, BYU, 2003 *** PRINT THIS OUT FOR NEXT TIME *** “Robot Motion Planning”, J.C. Latombe, 1991

The Basic Motion Planning Problem Given an initial robot position and orientation in a potentially cluttered workspace, how should the robot move in order to reach an objective pose?

Planning Approaches Roadmap Approach: Cell Decomposition: Visibility Graph Methods Cell Decomposition: Exact Decomposition Approximate: Uniform discretization & quadtree approaches Potential Fields

The Visibility Graph Method GOAL START

The Visibility Graph Method (cont’d) GOAL START

The Visibility Graph Method (cont’d) GOAL START

The Visibility Graph Method (cont’d) GOAL START

The Visibility Graph Method (cont’d) We can find the shortest path using Dijkstra’s Algorithm GOAL Path START

Exact Cell Decomposition Method GOAL 2 6 10 12 7 1 4 9 13 3 11 5 8 START 1) Decompose Region Into Cells

Exact Cell Decomposition Method (cont’d) GOAL 2 6 10 12 7 1 4 9 13 3 11 5 8 START 2) Construct Adjacency Graph

Exact Cell Decomposition Method (cont’d) GOAL 2 6 10 12 7 1 9 START Construct Channel from shortest cell path (via Depth-First-Search)

Exact Cell Decomposition Method (cont’d) GOAL START 4) Construct Motion Path P from channel cell borders

Exact Cell Decomposition Method Using Euclidean Metric GOAL START

Exact Cell Decomposition Method Using Euclidean Metric GOAL START

Approximate Cell Decomposition Perform cell tessellation of configuration space C Uniform or quadtree Generate the cell graph G(V,E) Each cell in Cfree corresponds to a vertex in V Two vertices vi,vj V are connected by an edge eij if they are adjacent (8-connected for exact) Edges are weighted by Euclidean distance Find the shortest path from vinit to vgoal

Cell Decomposition Uniform Quadtree

Cell Decomposition Issues Continuity of trajectory a function of resolution Computational complexity increases dramatically with resolution Inexactness. Is this cell an obstacle or in Cfree? Neighbors r

So how do we find the shortest path? A* Algorithm [Hart et al, 1968] Explores G(V,E) iteratively by following paths originating at the initial robot position vinit For each OPEN node, only keep track of its minimum weight path from vinit The set of all such paths forms a spanning tree T  G of the vertices OPEN so far Define a cost function f(v) = g(v) + h(v) where g(v) is the distance from vinit to v h(v) is a heuristic estimate of the distance from v to vgoal Define a cost function k(v1,v2) = g(v1) + distance(v1,v2)

A* Algorithm (cont’d) Define a list OPEN with the following operations insert(OPEN, v) inserts node v into the list delete(OPEN, v) removes node v from the list minF(OPEN) returns the node v of minimum weight f(v) from OPEN, and removes it from the list isMember(OPEN, v) returns TRUE if v is in the list, false otherwise isEmpty(OPEN) returns TRUE if the list is empty, false otherwise Define the following operations over our spanning tree T insert(T, v2, v1) inserts node v2 into the tree with ancestor v1 delete(T, v) removes node v from the tree

A* - The Algorithm (Latombe, 1991) function A*(G, vinit, vgoal, h, k) insert(T, vinit, nil); % vinit is the tree root insert(OPEN, vinit); while isEmpty(OPEN)==FALSE v = minF(OPEN); % optimal node from f(v) metric if v==vgoal break; end for vPlus  adjacent(v) % All of the cells adjacent to cell v if vPlus is NOT visited insert(T, vPlus, v); % Expansion of spanning tree insert(OPEN, vPlus); else if g(vPlus)>g(v)+k(v,vPlus) % Better way to reach vPlus if true delete(T, vPlus); insert(T, vPlus, v); % Change ancestor to reflect better path if isMember(OPEN, vPlus) delete(OPEN, vPlus); insert(OPEN, vPlus); % Change f(v) value to reflect better path end % End while loop return the path constructed from vgoal to vinit in T else return failure; % We didn’t find a valid path

The Optimality of A* The algorithm requires an admissible heuristic h(v) where h*(v) is the optimal path distance from v to vgoal For admissible h(v) A* is guaranteed to generate a minimum cost path from vinit to vgoal for the given cell decomposition QUESTION: What would be a reasonable function choice for h(v)? When h(v)=0 (a “non-informed” heuristic), A* reduces to our friend Dijkstra’s Algorithm

A* Simulations No Obstacles Single Obstacle

A* Simulations (cont’d) Multiple Obstacles No Path

Approximate Cell Summary PROS Applicable to general obstacle geometries With A*, provides shorter paths than exact decomposition CONS Performance a function of discretization resolution (δ) Inefficiencies Lost paths Undetected collisions Number of graph vertices |V| grows with δ2 and A* runs in O(|V|2) time -> O(δ4) running time

The Potential Field Approach

Some Background… Introduced by Khatib [1986] initially as a real-time collision avoidance module, and later extended to motion planning Robot motion is influenced by an artificial potential field – a force field if you will – induced by the goal and obstacles in C The field is modeled by a potential function U(x,y) over C Motion policy control law is akin to gradient descent on the potential function A shortcoming of the approach is the lack of performance guarantees: the robot can become trapped in local minima Koditschek’s extension introduced the concept of a “navigation function” - a local-minima free potential function

Example Application: Target Tracking with Obstacle Avoidance

The Idea… GOAL

Flashback: What is the Gradient? In 2D, the gradient of a function f is defined as The gradient points in the direction where the derivative has the largest value (the greatest rate of increase in the value of f) The gradient descent optimization algorithm searches in the opposite direction of the gradient to find the minimum of a function Potential field methods employ a similar approach

Some Characteristics of Potential Field Approaches Potential fields can live in continuous space No cell decomposition issues Local method Implicit trajectory generation Prior knowledge of obstacle positions not required The bad: Weaker performance guarantees

Next Time… Generating potential functions for motion control PRINT OUT COPY OF POTENTIAL FIELD NOTES by R. Beard (they’re on the web page).