Images taken from slides b B. Baazit, G. Dudek, J. C. Latombe and A. Moore Robot Motion Planning and (a little) Computational Geometr Topics: Transforms Topological Methods Configuration space Skeletonization Potential Functions Cell-decomposition Methods Non-holonomic Motion Collision Avoidance Additional reading: Latombe, Jean-Claude. Robot motion planning. Boston : Kluwer Academic Publishers, 1991. E. Rimon and D. E. Koditschek. Exact Robot Navigation Using Artificial Potential Functions. IEEE Transactions on Robotics and Automation, 8(5):501518, October 1992. S. Thrun. Learning metric-topological maps for indoor mobile robot navigation. Artificial Intelligence, 99(1):21-71, 1998. Issues Statement: Compute a collision-free path for a rigid or articulated object (the robot) among static obstacles Inputs: Geometr of robot and obstacles Kinematics of robot (degrees of freedom) Initial and goal robot configurations (placements) Output: Continuous sequence of collision-free robot configurations connecting the initial and goal configurations Number of degrees of freedom? Holonomic vs. Non-holonomic? Kinematic vs. Kino-dnamic? Planning and control architecture Topological vs. Metric? Optimalit?
Convex Polgons How to reason about this polgon? Convex Hull Complexit? Minimum Covering: 7 triangles Minimum Partitioning: 12 triangles Complexit? Complexit? Tpe Holes Complexit Convex Polgons Y NP-Hard Convex Polgons N O(N 3 ) Rectangles Y O(N 3/2 logn) Rectangles N O(N) Triangulation Y O(NlogN) Configuration Space The set of legal configurations of the robot Size of C-Space depends on degrees of freedom of robot θ = π/2 θ =0 A A x x 3-d C-Space θ B x B A and B are convex polgons. A is a free-fling object. C is represented b parameterizing each configuration q b (x,, θ) R 2 x [0,2 π]. The represented C-obstacle is a volume bounded b patches of ruled surfaces. Image adapted from J. C. Latombe
Homogeneous Transforms Convenient representation of rigid bod transformations 2-D motion is x' cos( θ ) cos( θ ) x x ' = cos( θ ) cos( θ ) 1 0 0 1 1 Rotations and translations are now multiplications onl 2-D Space: Visibilit Graphs q goal q init This figure shows the visibilit graph G of a simple configuration space in which CB consists of three disconnected regions. The links of G also include the edges of CB. The bold line is the shortest path in cl(c free ) between q init and q goal. Image adapted from J. C. Latombe What happens in 3-D C-space?
Voronoi Diagrams Voronoi Graph Generalized Voronoi Diagram Delauna Triangulation Skeletonization: Grass-fire Transform Evolve discrete points on the polgon curves Shocks occur where wavefronts collide Critical points occur at centres of maximal disks Good for motion planning? Not reall Images adapted from G.Dudek
Cell-decomposition Images courtes of A. Moore Exact Cell Decomposition Approximate Cell Decomposition Variable-resolution Approximate Cell Decomposition Potential Functions Images courtes of B. Baazit Khatib 1986 Latombe 1991 Koditschek 1998 Attractive Potential for goals Repulsive Potential for obstacles Combined Potential Field Move along force: F(x) = U att (x)- U rep (x)
Numerical Navigation Functions Images courtes of B. Baazit 1) put a grid GC on C-space 2) label each grid point in GC with a 0 if it is in C free and 1 otherwise 3) use L1 distance (Manhattan distance) to x goal as navigation function U 4) compute L1 distance from x init to x goal b wavefront propagation a) set U(x goal ) = 0 b) set U(x ) = 1 for each 1-neighbor of the goal c) set U(x ) = 2 for each 1-neighbor of nodes labelled in (b) d) loop until labeled x init or no more nodes to label Non-holonomic Motion 1) Two-phase planning: Compute collision-free path ignoring nonholonomic constraints Transform this path into a nonholonomic one Efficient, but possible onl if robot is controllable Plus need to have good set of maneuvers 2) Direct planning: Build a tree of milestones until one is close enough to the goal (deterministic or randomized) Robot need not be controllable Works in high-dimensional c-spaces
Ackerman steering example l φ θ x 2 constraints (front and rear wheels) 2 inputs (steering and gas pedal) q = 4 states θ φ x cosθ sinθ g2 = 1 tanφ l 0 w = [ sinθ cosθ 0 0] 1 w = [ sin( θ + φ) cos( θ + φ) l cosφ 0] 2 w& q& = 0 1 Intuition tells us 0 0 g = 1, which means the steering depends onl on φ 0 1 now we want g to tell us the direction we would go for a fixedφ 2 Collision Avoidance Dnamic Window Fox et al., 1996 Vector-Field Histogram Borenstein et al., 1991, 1998 Lane-Curvature Simmons and Ko, 1998 Local Gradient Descent Konolige 2002
What ou should know Voronoi Diagrams Visibilit Graphs Cell Decomposition Potential/Navigation Fields Practical above 2 or 3-d? Practical above 8-d? Fast to compute? Gives optimal? Spots impossibilities? Eas to implement? Useful for real robots? Example questions Here s a motion-planning problem. What representation would ou use and wh? Here s a motion-planning problem. What would ou use to solve it and wh? Can ou use one motion-planning algorithm to improve the performance of a second algorithm?