190 likes | 375 Views
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 on object design a path to this position Trasferring: determine geometry path for arm
E N D
Example A robot arm is to build an assembly from a set of parts. Tasks for the robot: • Grasping: position gripper on object design a path to this position • Trasferring: determine geometry path for arm avoide obstacles + clearance • Positioning
Information required • Knowledge of spatial arrangement of wkspace. E.g., location of obstacles • Full knowledge full motion planning • Partial knowledge combine planning and execution motion planning = collection of problems
Basic Problem A simplified version of the problem assumes • Robot is the only moving object in the wkspace • No dynamics, no temporal issues • Only non-contact motions MP = pure “geometrical” problem
Components of BMPP • A: single rigid object - the robot - moving in Euclidean space W (the wkspace). W = RN, N=2,3 • Bi , I=1,…,q. Rigid objects in W. The obstacles Assume • Geometry of A and Bi is perfectly known • Location of Bi is known • No kinematic constraints on A: a “free flying” object
Components of BMPP (cont.) • The Problem: - Given: an initial position and orientation a goal position and orientation - Generate: continuous path t from initial postion to goal t is a continuous sequence of position and orientation
Configuration Space • Idea: represent robot as point in space map obstacles into this space transform problem from planning object motion to planning point motion Notion of CS A at a given position is a compact in W. attached frame FA Biclosed subset of W . Fw is a frame fixed in W
Notion of CS (cont) Def: configuration of an object Is the position of every point of the object relative to FW Configuration q of A: is the postion T and orientation O of FA w.r.t. FW Def: configuration space of A Is the space T of all configurations of A • A(q) : subset of W occupied by A at q • a(q) : is a point in A(q)
Information Required • Example: T: N-dimensional vector • O: NxN rotation matrix • In this case, q = (T,O), a subset of RN(N+1) • Note that C is locally like R3 or R6. • Notice: no global correspondence
Notion of Path • Need a notion of continuity • Define a distance function d : C x C -> R+ • Example: d(q,q’) = maxa in A ||a(q) - a(q’)|| • Def: A path of A from qinit to qgoal Is a continuous map t : [0,1] -> C s.t. t(0) = qinit and t (1) = qgoal • Prop.: t is continuous if for each so in (0,1), lim d(s,so) = 0 when s -> so
Obstacles in Configuration Space • Bimaps in C to a region CBi = {q in C, s.t. A(q) Bi } • Obstacles in C are called C-obstacles. • C-obstacle region: • Free space: Cfree = C - • q is a free configuration if q belongs to Cfree • Def: Free Path. Is a path between qinitand qgoal, t: [0,1] -> Cfree
A Example of a C-Obstacle The robot is a triange that translates but not rotates CBi Bi
Obstacles in C (cont.) • Def: Connected Component q1, q2 belong to the same connected component of Cfreeiff they are connected by a free path Objective of Motion Planning: generate a free path between 2 configurations if one exists or report that no free path exists.
Examples of C-Obstacles • Translational Case: A is a single point -> no orientation W = RN = C A is a disk or dimensioned object allow to translate freely but without rotation. C-Obstacles: Are the obstacles “grow” by the shape of A
Planning Approaches • 3 approaches: road maps, cell decomposition and potential field 1- Roadmap Captures connectivity of Cfree in a network of 1-D curves called “the roadmaps.” Once a roadmap is constructed: use a standard path. Roadmap Construction Methods: 1) Visibility Graph, 2) Voronoi Diagram, 3) Freeway Net and 4) Silhouette.
a- Visibility Graphs • nodes • Mainly 2-D C-space and polygonal C-obstacles qinit , qgoal C-obstacle vertices b- Retractions: Voronoi Diagram • V.D.: set of all configurations whose minimal distance to C-obstacle region is achieved with at least 2 points in the boundary of CB
c. Cell decomposition • Decompose the robot’s free space into simple regions called cells • A path within a cell -> easy to generate • Connectivity graph: non-directed graph representing adjacency relation between cells • Nodes = cells extracted from free space • 2 nodes connected by a link iff cells are adjacent • channel: resulting sequence of links • Cell Decomp: Exact or Approximate
d- Potential Fields • In principle, we can discretize the C - space by using a greed. Then search for path. • Computational expensive => need heuristics. Example of heuristics: potential fields • Idea: robot “attracted” by qgoaland “repulsed” by CBi’s • Potential methods can be very efficient, but • Can be trapped in local minima!
Interaction with Sensing • Robot with no prior knowledge about environment cannot plan • Instead, rely on sensory information • E.g., robot with proximity sensor can attempt to create repulsive potential. This can result on falling into local minima. • Absence of info: reactive scheme due to Lumelsky. Algorithm guaranteed to reach qgoal whenever C -obstacles are bounded by a simple closed curve of finite length • Works in 2-D