1 / 48

CS B659: Principles of Intelligent Robot Motion

CS B659: Principles of Intelligent Robot Motion. Configuration Space. Readings. Ch 3.1-3.4 A Simple Motion-Planning Algorithm for General Robot Manipulators , T. Lozano-Perez, 1987. * Spatial Planning: a Configuration Space Approach , T. Lozano-Perez, 1980. Agenda.

Télécharger la présentation

CS B659: Principles of Intelligent Robot Motion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS B659: Principles of Intelligent Robot Motion Configuration Space

  2. Readings • Ch 3.1-3.4 • A Simple Motion-Planning Algorithm for General Robot Manipulators, T. Lozano-Perez, 1987. • * Spatial Planning: a Configuration Space Approach, T. Lozano-Perez, 1980.

  3. Agenda • Introduce configuration spaces (C-spaces) • Topology of C-spaces • Mapping obstacles into C-space • Discuss semester project ideas • Reading schedule

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

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

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

  7. Configuration Space qn q=(q1,…,qn) q3 q1 q2 • 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

  8. Rigid Robot 3-parameter representation: q = (x,y,q) In a 3-D workspace q would be of the form (x,y,z,a,b,g) workspace robot reference direction q y reference point x

  9. Articulated Robot q2 q1 q = (q1,q2,…,q10)

  10. Protein

  11. Configuration Space Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space q 3-D cylinder embedded in 4-D space q 2p q’ robot y q y x x S1 R2S1

  12. Configuration Space Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S1 x S1

  13. Configuration Space Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S1xS1

  14. Configuration Space Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S1xS1

  15. What is its topology? q2 q1 (S1)7xI3 (I: Interval of reals)

  16. 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 Rn, 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

  17. Example: A sphere

  18. Rigid Robot in 2-D Workspace 3-parameter representation: q = (x,y,q)with q [0,2p). Two charts are needed Other representation: q = (x,y,cosq,sinq)c-space is a 3-D cylinder R2 x S1 embedded in a4-D space workspace robot reference direction q y reference point x

  19. Rigid Robot in 3-D Workspace q = (x,y,z,a,b,g) Other representation: q = (x,y,z,r11,r12,…,r33) where r11, r12, …, r33 are the elements of rotation matrix R:r11 r12 r13 r21 r22 r23 r31 r32 r33with: ri12+ri22+ri32 = 1 ri1rj1 + ri2r2j + ri3rj3 = 0 det(R) = +1

  20. Rigid Robot in 3-D Workspace q = (x,y,z,a,b,g) Other representation: q = (x,y,z,r11,r12,…,r33) where r11, r12, …, r33 are the elements of rotation matrix R:r11 r12 r13 r21 r22 r23 r31 r32 r33with: ri12+ri22+ri32 = 1 ri1rj1 + ri2r2j + ri3rj3 = 0 det(R) = +1 The c-space is a 6-D space (manifold) embedded in a 12-D Cartesian space. It is denoted by R3xSO(3)

  21. Parameterization of SO(3) Euler angles: (f,q,y) Unit quaternion:(cos q/2, n1sin q/2, n2sin q/2, n3sin q/2) z z z z y f y q y y y x x x x 1 2  3 4

  22. Parameterization of SO(3) Euler angles: (f,q,y) Unit quaternion:(cos q/2, n1sin q/2, n2sin q/2, n3sin q/2) z z z z y f y q y y y x x x x 1 2  3 4 More on this next week…

  23. Notion of a Path A path in C is a piece of continuous curve connecting two configurations q and q’:t: s[0,1]  t (s) C q 2 q q q q q t(s) 1 n 0 4 3

  24. Notion of Trajectory vs. Path A trajectory is a path parameterized by time:t: t  [0,T]  t (t)  C q 2 q q q q q t(s) 1 n 0 4 3

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

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

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

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

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

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

  31. 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-obstacleis 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

  32. Disc Robot in 2-D Workspace Configuration space C Workspace W path y x configuration = coordinates (x,y) of robot’s center configuration space C = {(x,y)} free space F = subset of collision-free configurations

  33. Translating Polygon in 2-D Workspace reference point

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

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

  36. Translating & Rotating Polygon in 2-D Workspace

  37. Articulated Robot

  38. Some constraints can’t be modeled as C-Space obstacles • Differential constraints: smoothness, finite curvature, drift, etc… • Global constraints: finite length, power consumption, etc…

  39. 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

  40. Homotopic Paths Two paths with the same endpoints are homotopicif one can be continuously deformed into the other RxS1 example: t1 and t2 are homotopic t1 and t3 are not homotopic In this example, infinity of homotopy classes q t2 t1 t3 q’

  41. Connectedness of C-Space C is connected if every two configurations can be connected by a path C is simply-connectedif any two paths connecting the same endpoints are homotopicExamples: R2 or R3 Otherwise C is multiply-connectedExamples: S1 and SO(3) are multiply-connected:- In S1, infinity of homotopy classes- In SO(3), only two homotopy classes

  42. Recap • Configuration space: • Tool to map a robot in a 2-D or 3-D workspace into a point in n-D space • Mapping obstacles into C-space

  43. Schedule • 1/21: Probabilistic roadmap planning • 1/26: Rigid transforms & collision detection • 1/28: Forward & inverse kinematics • 2 slots • 2/2, 2/4: project discussions • 2/9, 2/11: Nonholonomic systems • 3 slots

  44. Project Proposal • Due 1/28 for each group • 1-2 paragraphs on proposed topic

  45. Notions of Continuity • Path continuity (geometric, or C0) • For all s, d(t(s),t(s’)) -> 0 as s’->s • Trajectory continuity (geometric, or C0) • For all t, d(t(t),t(t’)) -> 0 as t’->t • Higher order continuity • C1: For all t, t’(t) is well defined • C2: For all t, t’’(t) is well defined • …

  46. Metric in Configuration Space A metric or distance function d in C is a map d: (q1,q2)  C2 d(q1,q2) > 0such that: d(q1,q2) = 0 if and only if q1 = q2 d(q1,q2) = d (q2,q1) d(q1,q2) < d(q1,q3) + d(q3,q2)

  47. 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’) = maxxA ||x(q)-x(q’)||where ||a - b|| denotes the Euclidean distance between points a and b in the workspace

  48. Specific Examples in R2 x S1 q = (x,y,q), q’ = (x’,y’,q’) with q,q’ [0,2p) a = min{|q-q’| , 2p-|q-q’|} d(q,q’) = sqrt[(x-x’)2 + (y-y’)2 + a2] d(q,q’) = sqrt[(x-x’)2 + (y-y’)2 + (ar)2]where r is the maximal distance between the reference point and a robot point a q q’

More Related