1 / 48

Single Robot Motion Planning

Single Robot Motion Planning. Liang-Jun Zhang COMP790-058 Sep 22, 2008. Motion planning is the ability for an agent to compute its own motions in order to achieve certain goals. All autonomous robots and digital actors should eventually have this ability. Piano Mover’s Problem.

gray-cooper
Download Presentation

Single Robot Motion Planning

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. Single Robot Motion Planning Liang-Jun Zhang COMP790-058 Sep 22, 2008

  2. Motion planning is the ability for an agent to compute its own motions in order to achieve certain goals. All autonomous robots and digital actors should eventually have this ability

  3. Piano Mover’s Problem • 2D or 3D rigid models

  4. Types of Robots • Rigid robots • Articulated robots Manipulator, Video Humanoid robots

  5. Goal of Motion Planning • Compute motion strategies, e.g.: • geometric paths • time-parameterized trajectories • sequence of sensor-based motion commands • To achieve high-level goals,e.g.: • go from A to B without colliding with obstacles • assemble product P • build map of environment E • find object O

  6. Sense Plan Move

  7. Basic Problem • Statement:Compute a collision-free path for a rigid or articulated object among static obstacles • Inputs: • Geometry of moving object and obstacles • Kinematics of moving object (degrees of freedom) • Initial and goal configurations (placements) • Output: Continuous collision-free path connecting the initial and goal configurations

  8. Types of Path Constraints • Local constraints • Collision-free paths • Differential constraints • A car cannot move sideways • Have bound curvature • Global constraints • Shortest or optimal paths Path Planning Motion Planning

  9. Is It Easy? alpha puzzle

  10. Outline (Mon & Wed) • Path planning for a point robot • Configuration space • Approximate cell decomposition • Sampling-based motion planning

  11. g s Path Planning for a Point Robot

  12. g s Visibility Graphs • Introduced in the Shakey project at SRI in the late 60s • Can produce shortest paths in a point robot in 2D

  13. Simple (Naïve) Algorithm • Install all obstacles vertices in VG, plus the start and goal positions • For every pair of nodes u, v in VG • If segment(u,v) is an obstacle edge then • insert (u,v) into VG • else • for every obstacle edge e • if segment(u,v) intersects e • then goto 2 • insert (u,v) into VG • Search VG using BFS (any other graph search scheme)

  14. g s Complexity • A point robot in 2D using visibility graphs • Simple algorithm: O(n3) time • Rotational sweep: O(n2 log n) • Optimal algorithm: O(n2) • Space: O(n2)

  15. Motion Planning Framework • Motion planning: a search problem in continuous space • Continuous representation Discretization • Graph search

  16. g s Issues With Visibility Graphs • Difficult to extend from point robots to rigid or articulated robots A L-shaped robot

  17. Outline (Mon & Wed) • Path planning for a point robot • Configuration space • Approximate cell decomposition • Sampling-based motion planning

  18. Configuration Space:Tool to Map a Robot to a Point

  19. reference direction q y reference point x Example: rigid robot in 2-D workspace workspace robot • 3-parameter specification: q = (x, y, q) with q [0, 2p). • 3-D configuration space

  20. qn q3 q=(q1, q2,…,qn) q1 q2 Configuration Space (C-Space) • The configuration of a moving object is a specification of the position of every point on the object. • Usually a configuration is expressed as a vector of position & orientation parameters: q = (q1, q2,…,qn). • Configuration space • C-space • The set of all possible configurations. • A configuration is a point in C-space.

  21. Dimension of C-space • The dimension of a configuration space is the minimum number of parameters needed to specify the configuration of the object completely. • It is also called the number of degrees of freedom (dofs) of a moving object.

  22. Example: Rigid Robot in 3-D Workspace • What is the configuration space?

  23. z z z z y f y q y y y x x x x Example: rigid robot in 3-D workspace • q = (position, orientation) = (x, y, z, ???) • Number of dofs = 6 • Euler angles • (f,q,y) 1 2 34

  24. C = S1x S1 Φ 2p Φ θ 2p 0 θ Topology of C-Space • The topology of C is usually not that of a Cartesian space Rn. Φ θ

  25. Example: Rigid Robot in 3-D Workspace • Number of dofs = 6 • Topology: R3 x SO(3)

  26. Example: An Articulated Robot Number of dofs = 3 C-space is 3 dimensional

  27. An Articulated Robot Puma 560Number of dofs = 6 An articulated object is a set of rigid bodies connected at the joints.

  28. Obstacle C-obstacle Obstacles in C-space Workspace Configuration Space Goal Free Robot y x Start A 2D Translating Robot

  29. Obstacles in C-space • A configuration q is collision-free, or free, if a moving object placed at q does not intersect any obstacles in the workspace. • The free spaceF is the set of free configurations. • A configuration space obstacle (C-obstacle) is the set of configurations where the moving object collides with workspace obstacles.

  30. Disc in 2-D Workspace workspace configuration space

  31. Polygonal Robot Translating in 2-D Workspace configuration space workspace

  32. Articulated Robot in 2-D Workspace workspace configuration space

  33. Live demo of C-space of a 2-link robot

  34. Fundamental Question configuration space workspace Are two given points connected by a path?

  35. Problem: Computing C-obstacles • Input: • Polygonal moving object translating in 2-D workspace • Polygonal obstacles • Output: configuration space obstacles represented as polygons

  36. Minkowski Sum B A

  37. Exercise B A A B = ?

  38. Minkowski Sum

  39. Minkowski Sum

  40. Minkowski Sum

  41. Minkowski Sum • The Minkowski sum of two sets A and B, denoted by AB, is defined asA B= { a+b | aA, bB } • Similarly, the Minkowski difference is defined as A– B= { a–b | aA, bB } q p

  42. Minkowski Sum of Non-convex Polyhedra

  43. P-M Configuration Space Obstacle • If P is an obstacle in the workspace and M is a translating object. Then the C-space obstacle corresponding to P is P– M. C-obstacle Robot M Obstacle P Classic result by Lozano-Perez and Wesley 1979

  44. Minkowski Sum of Convex Polygons • The Minkowski sum of two convex polygons A and B of m and n vertices respectively is a convex polygon A + B of m + nvertices. • The vertices of A + B are the “sums” of vertices of A and B.

  45. Complexity of Minkowksi Sum • 2D convex polygons: O(n+m) • 2D non-convex polygons: O(n2m2) • Decompose into convex polygons (e.g., triangles or trapezoids), compute the Minkowski sums, and take the union • 3-D convex polyhedra: O(nm) • 3-D non-convex polyhedra: O(n3m3)

  46. Complexity of Computing C-obstacles • 3D rigid robots with both translational and rotational DOF • 6D C-space • Arrangement of non-linear surfaces • High combinatorial complexity • Conclusion • Explicit computation of the boundary of C-obstacle is difficult and impractical for robots more than 3 DOFs

  47. Wednesday’s Lecture • Path planning for a point robot • Configuration space • Approximate cell decomposition • Sampling-based motion planning

More Related