290 likes | 446 Views
Motion and Manipulation. Configuration Space L: Chapter 4. Motion Planning. Given a (2- or 3-dimensional) workspace W, a robot A of fixed and known shape moving freely in W, a collection of obstacles B={B 1 ,…, B n } of fixed and known shape and location,. Motion Planning Problem.
E N D
Motion and Manipulation Configuration Space L: Chapter 4
Motion Planning Given • a (2- or 3-dimensional) workspaceW, • a robot Aof fixed and known shape moving freely in W, • a collection of obstaclesB={B1,…,Bn}of fixed and known shape and location,
Motion Planning Problem • and an initial and a final placement for A, find a path for Aconnecting these two placements along which it avoids collision with the obstacles from B, or report that no such path exists.
Modeling • Solution of the motion planning problem in configuration space C: the space of parametric representations of all robot placements. • Configuration q: unique characterization of robot placement by (minimum) number of parameters. Degrees of freedom (DOF) Subset A(q)of W covered by A in q should be uniquely determined.
Fixed world frame, moving frame attached to robot A, initially coinciding. Maintain transformation that maps moving frame back to fixed frame. Frames and Transformations
Displacements • Any displacement in R2 or R3 is the composition of a rotation and a translation about a selected point O (origin).
Configuration space C=R2 Configuration Space
Configuration Space Robot translates: C=R2 Robot translates and rotates: C=R2 x [0,2π)
Configuration Space Robot translates: C=R3 Robot translates and rotates: C=R3 x [0,2π) x [0,π] x [0,2π)
Configuration Space Robot translates and rotates: C=R3 x [0,2π) x [0,π]
qis free qis forbidden Configuration Types
Obstacles in Configuration Space • Configuration Space Obstacle for Bi: • Forbidden Space • Free Space Bi
Free Space and Motion Planning • Motion Planning problem: qgoal qinit
Configuration Space Obstacles • Explicit computation often base step in exact methods. • Motion planning problem not yet solved when CB is known; additional processing of Cfree=C\CB is necessary for finding path. qgoal qinit
1D Configuration Space Obstacle W=R, translating robot A=[-1,2], obstacle Bi=[0,4] Placement of A specified by position of reference point, so A(q) = A+q = { a+q | a Є A } A Bi
Minkowski Sum • Minkowski sum of sets P and Q
1D Configuration Space Obstacle • Boundary of CBi obtained by tracing reference point while sliding A along Bi. A Bi -A CBi
2D Configuration Space Obstacle W=R2, translating convex polygonal robot A, convex polygonal obstacle Bi • Boundary of CBi obtained by tracing reference point while sliding A along Bi. Bi A
2D Configuration Space Obstacle Edges of CBi correspond to • an edge of A touching a vertex of Bi, or • a vertex of A touching an edge of Bi.
2D Configuration Space Obstacle • CBi is convex. • Edges of CBi share orientations of edges of A and Bi. Bi CBi
2D Configuration Space Obstacle • If convex A has m edges, and convex Bi has n edges, then CBi has complexity O(m+n). • Computable in O(m+n) time if edges are ordered.
Minkowski Sums • Minkowski sum of a convex and a non-convex polygon can have complexity Ω(mn)! • Minkowski sum of two non-convex polygons can have complexity Ω(m2n2)!
Translational Motions • Translating polygonal amidst polygonal obstacles in W = point amidst polygonal Minkowski sums in C.
Contact Surfaces in 2D 2D • An edge of CBi corresponds to an edge-vertex contact. • A vertex of CBi corresponds to a vertex-vertex contact = a double edge-vertex contact.
Contact Hypersurfaces f-Dimensional C: • single contact: (f-1)-dim. boundary feature in CB/Cfree, • double contact: (f-2)-dim. boundary feature in CB/Cfree, • … • f-fold contact: 0-dim. boundary feature in CB/Cfree. Number of multiple contacts determines complexity of Cfree,and complexity of (exact) motion planning algorithms. O(nf) bound for constant-complexity robot.