400 likes | 605 Views
Motion and Manipulation. Configuration Space. Outline. Motion Planning Configuration Space and Free Space Free Space Structure and Complexity. Motion Planning. Given a (2- or 3-dimensional) workspace W, a robot A of fixed and known shape moving freely in W,
E N D
Motion and Manipulation Configuration Space
Outline Motion Planning Configuration Space and Free Space Free Space Structure and Complexity
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 with respect to a selected point O (origin).
Configuration Space Configuration space C=R2
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,π]
Configuration Space • Manifold: space locally behaves like Rn for some fixed n • Wrap around for rotational dimensions • Complex numbers to encode rotational part of SO(2) • Quaternions to encode rotational part of SO(3)
Configuration Types qis free qis forbidden
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.
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. Bi A
Exercises on Minkowski Sums in 2D • Find a convex translating polygonal robot A with four vertices and a convex polygonal obstacle Bi with four vertices such that • the configuration space obstacle CBi has eight vertices, • the configuration space obstacle CBi has seven vertices, • the configuration space obstacle CBi has as few vertices as possible. • Find a convex translating polygonal robot A and a non-convex polygonal obstacle Bi without a hole such that the configuration space obstacle CBi has a hole. • What is the Minkowski sum of two disks with radius 1? • Consider two line segments of length 1. What is the • largest area of their Minkowski sum? • smallest area of their Minkowski sum?
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.
Mobility in Configuration Space Translations only Isolated point in free space: no translations possible
Mobility in Configuration Space Translations only Small translations possible, but escape impossible
Contact ‘Surfaces’ in a 2D C-Space An edge of CBi corresponds to an edge-vertex or vertex-edge contact. A vertex of CBi corresponds to a vertex-vertex contact = a double edge-vertex contact. A Bi Bi A
Contact Surfaces in 3D C-Space Translational motion in 3D: a surface patch corresponds to • a vertex-facet contact • an edge-edge contact • a facet-vertex contact Arbitrary motion in 2D: a surface patch corresponds to • a vertex-edge contact • an 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.
Free Space Complexity • Lower bound constructions: 2D translational motion • Convex robot: roughly one order of magnitude smaller • Single cell: roughly one order of magntude smaller Ω(n2) double contacts
Free Space Complexity • Lower bound constructions: 2D translation and rotation • Convex robot: roughly one order of magnitude smaller • Single cell: roughly one order of magntude smaller Ω(n3) triple contacts
Free Space Complexity • Similar construction in 3D • Worst-case constructions cage the robot in most placements • Better bounds on free space complexity under realistic assumptions, such as fatness, low density, unclutteredness, small simple cover complexity
Collision Detection Recall that the Minkowski sum of sets P and Q is Recall that the configuration space obstacle CB of B with respect to translating object A is which consists of all translations of A in which it intersects B
Collision Detection: Intersection Objects A and B intersect if and only if If A and B intersect then the point v closest to O on the boundary of corresponds to the shortest translation taking A and B apart. The length of v is referred to as the penetration depth. (Similar for the point w closest to O on the boundary of .)
Collision Detection: Non-Intersection Clearly, objects A and B do not intersect if and only if If A and B do not intersect then the point v closest to O on the boundary of corresponds to the shortest translation that makes A and B intersect. The length of v is the distance between A and B. (Similar for the point w closest to O on the boundary of .)