cs 287 advanced robotics fall 2019 lecture 9 motion
play

CS 287 Advanced Robotics (Fall 2019) Lecture 9: Motion Planning - PowerPoint PPT Presentation

CS 287 Advanced Robotics (Fall 2019) Lecture 9: Motion Planning Lecture by: Huazhe (Harry) Xu Slides by: Pieter Abbeel UC Berkeley EECS Many images from Lavalle, Planning Algorithms Motion Planning n Problem n Given start state x S , goal


  1. CS 287 Advanced Robotics (Fall 2019) Lecture 9: Motion Planning Lecture by: Huazhe (Harry) Xu Slides by: Pieter Abbeel UC Berkeley EECS Many images from Lavalle, Planning Algorithms

  2. Motion Planning n Problem n Given start state x S , goal state x G n Asked for: a sequence of control inputs that leads from start to goal n Why tricky? n Need to avoid obstacles n For systems with underactuated dynamics: can’t simply move along any coordinate at will n E.g., car, helicopter, airplane, but also robot manipulator hitting joint limits

  3. Examples Cartpole swing-up Acrobot Helicopter path planning

  4. Examples

  5. Examples

  6. Examples

  7. Motion Planning: Outline Configuration Space n Optimization-based Motion Planning n Sampling-based Motion Planning n Probabilistic Roadmap n Rapidly-exploring Random Trees (RRTs) n Smoothing n

  8. Motion Planning: Outline Configuration Space n Optimization-based Motion Planning n Sampling-based Motion Planning n Probabilistic Roadmap n Rapidly-exploring Random Trees (RRTs) n Smoothing n

  9. Motion planning

  10. Configuration Space (C-Space) = { x | x is a pose of the robot} n obstacles à configuration space obstacles Configuration Space Workspace (2 DOF: translation only, no rotation) free space obstacles

  11. Motion Planning: Outline Configuration Space n Optimization-based Motion Planning n Sampling-based Motion Planning n Probabilistic Roadmap n Rapidly-exploring Random Trees (RRTs) n Smoothing n

  12. Optimization-based Motion Planning n Reactive control n Potential-based methods (Khatib ‘86) n Optimize over entire trajectory n Elastic bands (Quinlan and Khatib ‘93) n CHOMP (Ratliff et al. ‘09) and variants (STOMP, ITOMP) n Trajopt (Schulman, et al 2013)

  13. Solve by Nonlinear Optimization for Control? Could try by, for example, following formulation: n can encode obstacles Or, with constraints, (which would require using an infeasible method): n

  14. Trajectory Optimization k θ t +1 � θ t k 2 + other costs X min θ 1: T t = start state, in goal set subject to θ 0 θ T joint limits for all robot parts, for all obstacles: non-convex no collision Solution method: sequential convex optimization

  15. Collision Constraints A A p B T p A T B p A p B B sd < 0 sd > 0 sd AB ( θ ) ≈ ˆ n · ( p B − p A ( θ )) n > J P A ( θ 0 )( θ − θ 0 ) ≈ sd AB ( θ 0 ) − ˆ [SD from: Gilbert-Johnson-Keerthi (GJK) algorithm and Expanding Polytope Algorithm (EPA)]

  16. Penalty for Collision Constraints penalty sd 0 d safe d check sd AB ( θ ) ≈ ˆ n · ( p B − p A ( θ )) n > J P A ( θ 0 )( θ − θ 0 ) ≈ sd AB ( θ 0 ) − ˆ

  17. Collision Constraint as L1 Penalty

  18. Collision Constraint as L1 Penalty

  19. Continuous-Time Safety Collision check against swept-out volume n Allows coarsely sampling trajectory n Overall faster n Finds better local optima

  20. Collision-free Path for Dubin’s Car

  21. Experiments: Industrial Box Picking

  22. Experiments: DRC Robot

  23. Benchmark

  24. Benchmark Results [RSS 2013]

  25. Experiments: PR2

  26. Steerable Needle

  27. Steerable Needle

  28. Steerable Needle: Opt Formulation

  29. Steerable Needle: Plans

  30. Steerable Needle: Results

  31. Channel Layout (Brachytherapy Implants)

  32. Channel Layout: Opt Formulation

  33. Channel Layout: Results

  34. Try It Yourself n Code and docs: rll.berkeley.edu/trajopt n Benchmark: github.com/joschu/planning_benchmark

  35. Experiments: PR2

  36. Motion Planning: Outline Configuration Space n Optimization-based Motion Planning n Sampling-based Motion Planning n Probabilistic Roadmap n Rapidly-exploring Random Trees (RRTs) n Smoothing n

  37. Probabilistic Roadmap (PRM) Space  n forbidden space Free/feasible space

  38. Probabilistic Roadmap (PRM) Configurations are sampled by picking coordinates at random

  39. Probabilistic Roadmap (PRM) Configurations are sampled by picking coordinates at random

  40. Probabilistic Roadmap (PRM) Sampled configurations are tested for collision

  41. Probabilistic Roadmap (PRM) The collision-free configurations are retained as milestones

  42. Probabilistic Roadmap (PRM) Each milestone is linked by straight paths to its nearest neighbors

  43. Probabilistic Roadmap (PRM) Each milestone is linked by straight paths to its nearest neighbors

  44. Probabilistic Roadmap (PRM) The collision-free links are retained as local paths to form the PRM

  45. Probabilistic Roadmap (PRM) The start and goal configurations are included as milestones g s

  46. Probabilistic Roadmap (PRM) The PRM is searched for a path from s to g g s

  47. Probabilistic Roadmap n Initialize set of points with x S and x G n Randomly sample points in configuration space n Connect nearby points if they can be reached from each other n Find path from x S to x G in the graph n Alternatively: keep track of connected components incrementally, and declare success when x S and x G are in same connected component

  48. PRM Example 1

  49. PRM Example 2

  50. Sampling n How to sample uniformly at random from [0,1] n ? n Sample uniformly at random from [0,1] for each coordinate n How to sample uniformly at random from the surface of the n- D unit sphere? n Sample from n-D Gaussian à isotropic; then just normalize n How to sample uniformly at random for orientations in 3-D?

  51. PRM: Challenges 1. Connecting neighboring points: Only easy for holonomic systems (i.e., for which you can move each degree of freedom at will at any time). Generally requires solving a Boundary Value Problem Typically solved without collision checking; later verified if valid by collision checking 2. Collision checking: Often takes majority of time in applications (see Lavalle)

  52. PRM’s Pros and Cons n Pro: n Probabilistically complete: i.e., with probability one, if run for long enough the graph will contain a solution path if one exists. n Cons: n Required to solve 2-point boundary value problem n Build graph over entire state space, which might be unnecessarily expensive when what’s needed is connecting specific start and goal

  53. Motion Planning: Outline Configuration Space n Optimization-based Motion Planning n Sampling-based Motion Planning n Probabilistic Roadmap n Rapidly-exploring Random Trees (RRTs) n Smoothing n

  54. Rapidly exploring Random Tree (RRT) Steve LaValle (98) n Basic idea: n Build up a tree through generating “next states” in the tree by executing random controls n However: not exactly above to ensure good coverage

  55. Rapidly exploring Random Tree (RRT) RANDOM_STATE(): often uniformly at random over space with probability 99%, and the goal state with probability 1%, this ensures it attempts to connect to goal semi-regularly SELECT_INPUT(): often a few inputs are sampled, and one that results in x_new closest to x_rand is retained; sometimes optimization is run to find the best input

  56. Rapidly exploring Random Tree (RRT) n Select random point, and expand nearest vertex towards it n Biases samples towards largest Voronoi region

  57. Rapidly exploring Random Tree (RRT) Source: LaValle and Kuffner 01

  58. RRT Practicalities n NEAREST_NEIGHBOR( x rand , T): need to find (approximate) nearest neighbor efficiently n KD Trees data structure (upto 20-D) [e.g., FLANN] n Locality Sensitive Hashing n SELECT_INPUT ( x rand , x near ) n Two point boundary value problem n If too hard to solve, often just select best out of a set of control sequences. This set could be random, or some well chosen set of primitives.

  59. RRT Extension No obstacles, holonomic: n With obstacles, holonomic: n Non-holonomic: approximately solve two-point boundary value problem n (often rough approximation: pick best of a few random control sequences)

  60. Growing RRT Demo: http://en.wikipedia.org/wiki/File:Rapidly-exploring_Random_Tree_(RRT)_500x373.gif

  61. Bi-directional RRT Volume swept out by unidirectional RRT: Volume swept out by bi-directional RRT: n n x S x G x S x G Difference more and more pronounced as dimensionality increases n

  62. Multi-directional RRT n Planning around obstacles or through narrow passages can often be easier in one direction than the other

  63. Resolution-Complete RRT (RC-RRT) n Issue: nearest points chosen for expansion are (too) often the ones stuck behind an obstacle RC-RRT solution: Choose a maximum number of times, m, you are willing to try to expand each node n For each node in the tree, keep track of its Constraint Violation Frequency (CVF) n Initialize CVF to zero when node is added to tree n Whenever an expansion from the node is unsuccessful (e.g., per hitting an obstacle): n Increase CVF of that node by 1 n Increase CVF of its parent node by 1/m, its grandparent 1/ m 2 , … n When a node is selected for expansion, skip over it with probability CVF/m n

  64. RRT* Source: Karaman and Frazzoli

  65. RRT* n Asymptotically optimal n Main idea: n Swap new point in as parent for nearby vertices who can be reached along shorter path through new point than through their original (current) parent

  66. RRT* RRT RRT* Source: Karaman and Frazzoli

Recommend


More recommend