CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.

Slides:



Advertisements
Similar presentations
NUS CS5247 Motion Planning for Car- like Robots using a Probabilistic Learning Approach --P. Svestka, M.H. Overmars. Int. J. Robotics Research, 16: ,
Advertisements

1 Motion and Manipulation Configuration Space. Outline Motion Planning Configuration Space and Free Space Free Space Structure and Complexity.
Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use.
Complete Motion Planning
Differential geometry I
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.
CS B659: Principles of Intelligent Robot Motion Rigid Transformations.
Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal.
The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
Motion Planning. Basic Topology Definitions  Open set / closed set  Boundary point / interior point / closure  Continuous function  Parametric curve.
Configuration Space CS 326 A: Motion Planning
CS 326 A: Motion Planning Probabilistic Roadmaps Sampling and Connection Strategies (2/2)
1 Single Robot Motion Planning - II Liang-Jun Zhang COMP Sep 24, 2008.
1 Last lecture  Path planning for a moving Visibility graph Cell decomposition Potential field  Geometric preliminaries Implementing geometric primitives.
Planning Paths for Elastic Objects Under Manipulation Constraints Florent Lamiraux Lydia E. Kavraki Rice University Presented by: Michael Adams.
Algorithmic Robotics and Motion Planning Dan Halperin Tel Aviv University Fall 2006/7 Algorithmic motion planning, an overview.
CS 326A: Motion Planning Configuration Space. Motion Planning Framework Continuous representation (configuration space and related spaces + constraints)
CS 326A: Motion Planning Criticality-Based Motion Planning: Target Finding.
CS 99k: Digital Actors URL: Instructor: Jean-Claude Latombe Computer Science Department Stanford University.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
City College of New York 1 Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York Robot Motion Planning.
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.
The University of North Carolina at CHAPEL HILL A Simple Path Non-Existence Algorithm using C-obstacle Query Liang-Jun Zhang.
Complete Path Planning for Planar Closed Chains Among Point Obstacles Guanfeng Liu and Jeff Trinkle Rensselaer Polytechnic Institute.
Spring 2007 Motion Planning in Virtual Environments Dan Halperin Yesha Sivan TA: Alon Shalita Basics of Motion Planning (D.H.)
Introduction to Mobile Robots Motion Planning Prof.: S. Shiry Pooyan Fazli M.Sc Computer Science Department of Computer Eng. and IT Amirkabir Univ. of.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
Contributed Talk at the International Workshop on VISUALIZATION and MATHEMATICS 2002 Thomas Lewiner, Hélio Lopes, Geovan Tavares Math&Media Laboratory,
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.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
Robot Motion Planning Computational Geometry Lecture by Stephen A. Ehmann.
Visibility Graphs and Cell Decomposition By David Johnson.
Slide 1 Robot Path Planning William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
Motion Planning Motion Planning. 1.What is the motion planning problem? 2.What is the fundamental question in motion planning problem? 3.What is the basic.
9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman.
© Manfred Huber Autonomous Robots Robot Path Planning.
Planning Near-Optimal Corridors amidst Obstacles Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin Athens May 2006.
B659: Principles of Intelligent Robot Motion Kris Hauser.
Robotics Chapter 5 – Path and Trajectory Planning
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.
CS B659: Principles of Intelligent Robot Motion Configuration Space.
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.
Administration Feedback on assignment Late Policy
Navigation & Motion Planning Cell Decomposition Skeletonization Bounded Error Planning (Fine-motion Planning) Landmark-based Planning Online Algorithms.
Robotics Chapter 5 – Path and Trajectory Planning
Forward Kinematics and Configurations
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
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.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
NUS CS 5247 David Hsu Configuration Space. 2 What is a path?
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Last lecture Configuration Space Free-Space and C-Space Obstacles
Robot Lab: Robot Path Planning
Forward Kinematics and Configuration Space
Planning and Navigation
Robotics meet Computer Science
Planning.
Classic Motion Planning Methods
Presentation transcript:

CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods

What is a Path?

Tool: Configuration Space (C-Space C)

q=(q 1,…,q n ) Configuration Space q1q1q1q1 q2q2q2q2 q3q3q3q3 qnqnqnqn

Definition A robot configuration is a specification of the positions of all robot points relative to a fixed coordinate system Usually a configuration is expressed as a “vector” of position/orientation parameters

reference point Rigid Robot Example 3-parameter representation: q = (x,y,  ) In a 3-D workspace q would be of the form (x,y,z,  ) x y  robot reference direction workspace

Articulated Robot Example q1q1q1q1 q2q2q2q2 q = (q 1,q 2,…,q 10 )

Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1

Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1

Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1

Structure of Configuration Space It is a manifold For each point q, there is a 1-to-1 map between a neighborhood of q and a Cartesian space R n, where n is the dimension of C This map is a local coordinate system called a chart. C can always be covered by a finite number of charts. Such a set is called an atlas

Example

reference point Case of a Planar Rigid Robot 3-parameter representation: q = (x,y,  ) with   [0,2  ). Two charts are needed Other representation: q = (x,y,cos ,sin  )  c-space is a 3-D cylinder R 2 x S 1 embedded in a 4-D space x y  robot reference direction workspace

Rigid Robot in 3-D Workspace q = (x,y,z,  ) Other representation: q = (x,y,z,r 11,r 12,…,r 33 ) where r 11, r 12, …, r 33 are the elements of rotation matrix R: r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 with: –r i1 2 +r i2 2 +r i3 2 = 1 –r i1 r j1 + r i2 r 2j + r i3 r j3 = 0 –det(R) = +1 The c-space is a 6-D space (manifold) embedded in a 12-D Cartesian space. It is denoted by R 3 xSO(3)

Parameterization of SO(3) Euler angles: (  Unit quaternion: (cos  /2, n 1 sin  /2, n 2 sin  /2, n 3 sin  /2) x yz x yz x y z  x yz 1  2  3  4

Metric in Configuration Space A metric or distance function d in C is a map d: (q 1,q 2 )  C 2  d(q 1,q 2 ) > 0 such that: –d(q 1,q 2 ) = 0 if and only if q 1 = q 2 –d(q 1,q 2 ) = d (q 2,q 1 ) –d(q 1,q 2 ) < d(q 1,q 3 ) + d(q 3,q 2 )

Metric in Configuration Space Example: Robot A and point x of A x(q): location of x in the workspace when A is at configuration q A distance d in C is defined by: d(q,q’) = max x  A ||x(q)-x(q’)|| where ||a - b|| denotes the Euclidean distance between points a and b in the workspace

Specific Examples in R 2 x S 1 q = (x,y,  ), q ’ = (x ’,y ’,  ’ ) with   ’  [0,2  )  = min{ |  ’ |, 2  |  ’ | } d(q,q ’ ) = sqrt[(x-x ’ ) 2 + (y-y ’ ) 2 +  2 ] d(q,q ’ ) = sqrt[(x-x ’ ) 2 + (y-y ’ ) 2 + (  ) 2 ] where  is the maximal distance between the reference point and a robot point ’’’’  

Notion of a Path  A path in C is a piece of continuous curve connecting two configurations q and q’:  : s  [0,1]   (s)  C  s’  s  d(  (s),  (s’))  0 q 1 q 3 q 0 q n q 4 q 2  (s)

Other Possible Constraints on Path  Finite length, smoothness, curvature, etc…  A trajectory is a path parameterized by time:  : t  [0,T]   (t)  C q 1 q 3 q 0 q n q 4 q 2  (s)

Obstacles in C-Space A configuration q is collision-free, or free, if the robot placed at q has null intersection with the obstacles in the workspace The free space F is the set of free configurations A C-obstacle is the set of configurations where the robot collides with a given workspace obstacle A configuration is semi-free if the robot at this configuration touches obstacles without overlap

Disc Robot in 2-D Workspace

Rigid Robot Translating in 2-D CB = B A = {b-a | a  A, b  B} a1 b1 b1-a1

Linear-Time Computation of C-Obstacle in 2-D (convex polygons)

Rigid Robot Translating and Rotating in 2-D

C-Obstacle for Articulated Robot

Free and Semi-Free Paths  A free path lies entirely in the free space F  A semi-free path lies entirely in the semi-free space

Remark on Free-Space Topology The robot and the obstacles are modeled as closed subsets, meaning that they contain their boundaries One can show that the C-obstacles are closed subsets of the configuration space C as well Consequently, the free space F is an open subset of C. Hence, each free configuration is the center of a ball of non-zero radius entirely contained in F The semi-free space is a closed subset of C. Its boundary is a superset of the boundary of F

Notion of Homotopic Paths Two paths with the same endpoints are homotopic if one can be continuously deformed into the other R x S 1 example:  1 and  2 are homotopic  1 and  3 are not homotopic In this example, infinity of homotopy classes q q’   

Connectedness of C-Space C is connected if every two configurations can be connected by a path C is simply-connected if any two paths connecting the same endpoints are homotopic Examples: R 2 or R 3 Otherwise C is multiply-connected Examples: S 1 and SO(3) are multiply- connected: - In S 1, infinity of homotopy classes - In SO(3), only two homotopy classes

Classes of Homotopic Free Paths

Example for Articulated Robot

Motion-Planning Framework Continuous representation (configuration space formulation) Discretization Graph searching (blind, best-first, A*)

Path-Planning Approaches 1.Roadmap Represent the connectivity of the free space by a network of 1-D curves 2.Cell decomposition Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells 3.Potential field Define a function over the free space that has a global minimum at the goal configuration and follow its steepest descent

Roadmap Methods  Visibility graph Introduced in the Shakey project at SRI in the late 60s. Can produce shortest paths in 2- D configuration spaces

Roadmap Methods  Visibility graph  Voronoi diagram Introduced by Computational Geometry researchers. Generate paths that maximizes clearance. Applicable mostly to 2-D configuration spaces

Roadmap Methods  Visibility graph  Voronoi diagram  Silhouette First complete general method that applies to spaces of any dimension and is singly exponential in # of dimensions [Canny, 87]  Probabilistic roadmaps

Path-Planning Approaches 1.Roadmap Represent the connectivity of the free space by a network of 1-D curves 2.Cell decomposition Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells 3.Potential field Define a function over the free space that has a global minimum at the goal configuration and follow its steepest descent

Cell-Decomposition Methods Two families of methods:  Exact cell decomposition The free space F is represented by a collection of non-overlapping cells whose union is exactly F Examples: trapezoidal and cylindrical decompositions

Trapezoidal decomposition

Cell-Decomposition Methods Two families of methods:  Exact cell decomposition  Approximate cell decomposition F is represented by a collection of non- overlapping cells whose union is contained in F Examples: quadtree, octree, 2 n -tree

Octree Decomposition

Path-Planning Approaches 1.Roadmap Represent the connectivity of the free space by a network of 1-D curves 2.Cell decomposition Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells 3.Potential field Define a function over the free space that has a global minimum at the goal configuration and follow its steepest descent

Potential Field Methods Goal Robot  Approach initially proposed for real-time collision avoidance [Khatib, 86]. Hundreds of papers published on it. Path planning: - Regular grid G is placed over C-space - G is searched using a best-first algorithm with potential field as the heuristic function

Potential Field Methods  Approach initially proposed for real-time collision avoidance [Khatib, 86]. Hundreds of papers published on this topic.  Potential field: Scalar function over the free space  Ideal field (navigation function): Smooth, global minimum at the goal, no local minima, grows to infinity near obstacles  Force applied to robot: Negated gradient of the potential field. Always move along that force