Spring 2007 Motion Planning in Virtual Environments Dan Halperin Yesha Sivan TA: Alon Shalita Basics of Motion Planning (D.H.)
Motion planning: the basic problem Let B be a system (the robot) with k degrees of freedom moving in a known environment cluttered with obstacles. Given free start and goal placements for B decide whether there is a collision free motion for B from start to goal and if so plan such a motion.
Configuration space of a robot system with k degrees of freedom the space of parametric representation of all possible robot configurations C-obstacles: the expanded obstacles the robot -> a point k dimensional space point in configuration space: free, forbidden, semi-free path -> curve [Lozano-Peréz ’ 79]
Point robot
Trapezoidal decomposition c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15
Connectivity graph c1c1 c 10 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c 11 c 12 c 13 c 14 c 15 c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15
Two major planning frameworks Cell decomposition Road map Motion planning methods differ along additional parameters
Hardness The problem is hard when k is part of the input [Reif 79], [Hopcroft et al. 84], … [Reif 79]: planning a free path for a robot made of an arbitrary number of polyhedral bodies connected together at some joint vertices, among a finite set of polyhedral obstacles, between any two given configurations, is a PSPACE-hard problem Translating rectangles, planar linkages
A complete solution roadmap [Canny 87]: a singly exponential solution, n k (log n)d O(k^2) expected time
What’s behind the maze solver that we saw last week: translational motion planning for a polygon among polygos using exact Minkowski sums
Given two sets A and B in the plane, their Minkowski sum, denoted A B, is: A B = {a + b | a A, b B} Planar Minkowski sums =
We are given two polygons P and Q with m and n vertices respectively. If both polygons are convex, the complexity of their sum is m + n, and we can compute it in (m + n) time using a very simple procedure. Convex-convex
If only one of the polygons is convex, the complexity of their sum is (mn). If both polygons are non-convex, the complexity of their sum is (m 2 n 2 ). When at least one is non-convex
The prevailing method for computing the sum of two non- convex polygons: Decompose P and Q into convex sub- polygons, compute the pair-wise sums of the sub-polygons and obtain the union of these sums. The decomposition method P Q P1P1 P2P2 Q1Q1 Q2Q2 P QP Q
The maze solver that we saw last week uses CGAL ’ s Minkowski sum package
What is the number of DoF ’ s? a polygon robot translating in the plane a polygon robot translating and rotating a spherical robot moving in space a spatial robot translating and rotating a snake robot in the plane with 3 links
How to cope with many degrees of freedom and more complicated robots? prevalent methods: sampling-based planners We start with the archetype: probabilistic roadmap (PRM)
Probabilistic roadmaps free space qbqbqbqb qgqgqgqg milestone [ Kavraki, Svetska, Latombe,Overmars, 95]
Key issues Collision checking Node sampling Finding nearby nodes Node connection
THE END