CS 326A: Motion Planning Configuration Space. Motion Planning Framework Continuous representation (configuration space and related spaces + constraints)

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.
Differential geometry I
Motion Planning for Point Robots CS 659 Kris Hauser.
Configuration Space Course: Introduction to Autonomous Mobile Robotics Prof. Jaebyung Park Intelligent Systems & Robotics Lab. Division of Electronic Engineering.
Visibility Graph and Voronoi Diagram CS Tutorial.
Computational Topology for Computer Graphics Klein bottle.
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.
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
Nonholonomic Multibody Mobile Robots: Controllability and Motion Planning in the Presence of Obstacles (1991) Jerome Barraquand Jean-Claude Latombe.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fast C-obstacle Query Computation for Motion Planning Liang-Jun Zhang 12/13/2005 Liang-Jun Zhang 1 Young.
Motion Planning of Multi-Limbed Robots Subject to Equilibrium Constraints. Timothy Bretl Presented by Patrick Mihelich and Salik Syed.
CS 326 A: Motion Planning Coordination of Multiple Robots.
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 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 Jean-Claude Latombe CA: Aditya Mandayam.
CS 99k: Digital Actors URL: Instructor: Jean-Claude Latombe Computer Science Department Stanford University.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
BINARY MORPHOLOGY and APPLICATIONS IN ROBOTICS. Applications of Minkowski Sum 1.Minkowski addition plays a central role in mathematical morphology 2.It.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
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.
Spring 2007 Motion Planning in Virtual Environments Dan Halperin Yesha Sivan TA: Alon Shalita Basics of Motion Planning (D.H.)
CS 326 A: Motion Planning Coordination of Multiple Robots.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
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.
CS I400/B659: Intelligent Robotics Rigid Transformations.
Forward Kinematics and Jacobians Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Robot Motion Planning Computational Geometry Lecture by Stephen A. Ehmann.
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.
B659: Principles of Intelligent Robot Motion Kris Hauser.
Robotics Chapter 5 – Path and Trajectory Planning
General (point-set) topology Jundong Liu Ohio Univ.
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.
October 9, 2003Lecture 11: Motion Planning Motion Planning Piotr Indyk.
Background Mathematics Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006.
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.
Chapter 2: Description of position and orientation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: Introduction. Descriptions:
Trajectory Generation
Robotics Chapter 5 – Path and Trajectory Planning
Forward Kinematics and Configurations
Planning Tracking Motions for an Intelligent Virtual Camera Tsai-Yen Li & Tzong-Hann Yu Presented by Chris Varma May 22, 2002.
NUS CS 5247 David Hsu Configuration Space. 2 What is a path?
2.1 Introduction to Configuration Space
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Forward Kinematics and Configurations
More Rigid Transforms, 3D Rotations
Locomotion of Wheeled Robots
Last lecture Configuration Space Free-Space and C-Space Obstacles
Forward Kinematics and Configuration Space
Planning.
Presentation transcript:

CS 326A: Motion Planning Configuration Space

Motion Planning Framework Continuous representation (configuration space and related spaces + constraints) Discretization (random sampling, criticality-based decomposition) Graph searching (blind, best-first, A*)

Robots have different shapes and kinematics! What is a path?

Idea: Reduce robot to a point  Configuration Space Feasible space Forbidden space

Configuration Space q=(q 1,…,q n ) q1q1q1q1 q2q2q2q2 q3q3q3q3 qnqnqnqn  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 parameters

reference point Rigid Robot 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 q1q1q1q1 q2q2q2q2 q = (q 1,q 2,…,q 10 )

Protein

Configuration Space  Space of all its possible configurations  But the topology of this space is usually not that of a Cartesian space y  robot x q q’ 3-D cylinder embedded in 4-D space x y   S1S1 R2S1R2S1

Configuration Space  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  Space of all its possible configurations  But the topology of this space is usually not that of a Cartesian space C = S 1 xS 1

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

What is its topology? q1q1q1q1 q2q2q2q2 (S1) 7 xI 3 (I: Interval of reals)

Structure of Configuration Space  It is a manifold, i.e., 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 dimensionality 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: A sphere

reference point Rigid Robot in 2-D Workspace 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

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)

x y  reference point robot reference direction workspace  x y 22 configuration space What is the placement of the robot in the workspace at configuration (0,0,0)? Translating & Rotating Rigid Robot in 2-D Workspace

x y  reference point robot reference direction workspace  x y 22 configuration space What is the placement of the robot in the workspace at configuration (0,0,0)? Translating & Rotating Rigid Robot in 2-D Workspace

x y  reference point robot reference direction workspace  x y 22 configuration space What is this path in the workspace? What would be the path in configuration space corresponding to a full rotation of the robot about point P? P Translating & Rotating Rigid Robot in 2-D Workspace

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)

Every robot maps to a point in its configuration space... q 1 q 3 q 0 q n q 4 12 D ~ D 6 D 15 D ~40 D

... and every robot path is a curve in configuration space q 1 q 3 q 0 q n q 4

But how do obstacles (and other constraints) map in configuration space? q 1 q 3 q 0 q n q 4 12 D ~ D 6 D 15 D ~40 D

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 Workspace W Configuration space C x y configuration = coordinates (x,y) of robot’s center configuration space C = {(x,y)} free space F = subset of collision-free configurations path

Translating Polygon in 2-D Workspace reference point

CB = B A = {b-a | a  A, b  B} a1 b1 b1-a1

Linear-Time Computation (convex polygons) O(n+m)

Translating & Rotating Polygon in 2-D Workspace

Articulated Robot

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

Homotopic Paths  Two paths with the same endpoints are homotopic if one can be continuously deformed into the other  RxS 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