1 / 33

CS 326A: Motion Planning

CS 326A: Motion Planning. ai.stanford.edu/~latombe/cs326/2007/index.htm Non-Holonomic Motion Planning. Under-Actuated Robots. Fewer controls than dimensions in configuration space What is a degree of freedom: number of dimensions of C-space (global) or number of controls (local)?.

eros
Download Presentation

CS 326A: 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. CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Non-Holonomic Motion Planning

  2. Under-Actuated Robots • Fewer controls than dimensions in configuration space • What is a degree of freedom: number of dimensions of C-space (global) or number of controls (local)?

  3. How can m controls generate span a C-space with n > mdimensions? By exploiting mechanics properties: - Rolling-with-no-sliding contact (friction), e.g.,: car, bicycle, roller skate- Conservation of angular momentum: satellite robot, under-actuated robot, cat • Others: submarine, plane, object pushingWhy is it useful?- Fewer actuators (less weight)- Design simplicity • - Convenience (think about driving a car with 3 controls!)

  4. f dx/dt = v cosq dy/dt = v sinq dx sinq – dy cosq = 0 q dq/dt = (v/L) tan f f |f| <F Example: Car-Like Robot L q y x Configuration space is 3-dimensional: q = (x, y,q) But control space is 2-dimensional: (v, f) with |v| = sqrt[(dx/dt)2+(dy/dt)2]

  5. f dx/dt = v cosq dy/dt = v sinq dx sinq – dy cosq = 0 L q dq/dt = (v/L) tan f q f y |f| <F x Example: Car-Like Robot q = (x,y,q) q’= dq/dt = (dx/dt,dy/dt,dq/dt)dx sinq – dy cosq = 0is a particular form off(q,q’)=0 A robot is nonholonomic if its motion is constrained by a non-integrable equation of the form f(q,q’) = 0

  6. f dx/dt = v cosq dy/dt = v sinq dx sinq – dy cosq = 0 q dq/dt = (v/L) tan f f |f| <F Example: Car-Like Robot L q y x Lower-bounded turning radius

  7. f q (x,y,q) L (dx,dy,dq) q q f y x y dx/dt = v cosq dy/dt = v sinq (dx,dy) x q dq/dt = (v/L) tan f |f|<F How Can This Work?Tangent Space/Velocity Space

  8. f q (x,y,q) L (dx,dy,dq) q q f y x y dx/dt = v cosq dy/dt = v sinq (dx,dy) x q dq/dt = (v/L) tan f |f|<F How Can This Work?Tangent Space/Velocity Space

  9. Lie Bracket Maneuver made of 4 motions -X -Y Y X (dt)

  10. X: Going straight Y: Turning, angle f T T dx/dt = v cosq dy/dt = v sinq dq/dt = (v/L) tan f |f|<F Lie Bracket Maneuver made of 4 motions For example:

  11. X: Going straight Y: Turning, angle f T -X -Y Y T X (dt) [X,Y] (dt2 ) Lie Bracket Maneuver made of 4 motions For example: Lie bracket

  12. -X -Y Y X (dt) [X,Y] (dt2 ) Lie Bracket [X,Y] = dY.X – dX.Y X1/x X1/y X1/q dX = X2/x X2/y X1/q X2/x X2/y X2/q [X,Y] Lin(X,Y)  the motion constraint is nonholonomic Lie bracket

  13. Tractor-Trailer Example • 4-D configuration space • 2-D control/velocity space •  two independentvelocity vectors X and Y • U = [X,Y]  Lin(X,Y) • V = [X,U]  Lin(X,Y,U)

  14. Nonholonomic Path Planning Approaches • Two-phase planning (path deformation): • Compute collision-free path ignoring nonholonomic constraints • Transform this path into a nonholonomic one • Efficient, but possible only if robot is “controllable” • Need for a “good” set of maneuvers • Direct planning (control-based sampling): • Use “control-based” sampling to generate a tree of milestones until one is close enough to the goal (deterministic or randomized) • Robot need not be controllable • Applicable to high-dimensional c-spaces

  15. Holonomic path Nonholonomic path Path Deformation

  16. CYL(x,y,dq,h) h h dq (x,y,q) • = 2rtandq d = 2r(1/cosdq - 1) > 0 (x,y) Type 1 Maneuver q r dq dq  Allows sidewise motion r When dq 0, so does d and the cylinder becomes arbitrarily small

  17. Type 2 Maneuver  Allows pure rotation

  18. Combination

  19. q q’ + Coverage of a Path by Cylinders q y x

  20. Path Examples

  21. Drawbacks ofTwo-phase Planning • Final path can be far from optimal • Not applicable to robots that are not locally controllable (e.g., car that can only move forward)

  22. Reeds and Shepp Paths

  23. Reeds and Shepp Paths CC|C0 CC|C C|CS0C|C Given any two configurations,the shortest RS paths betweenthem is also the shortest path

  24. Example of Generated Path Holonomic Nonholonomic

  25. Path Optimization

  26. Nonholonomic Path Planning Approaches • Two-phase planning (path deformation): • Compute collision-free path ignoring nonholonomic constraints • Transform this path into a nonholonomic one • Efficient, but possible only if robot is “controllable” • Need for a “good” set of maneuvers • Direct planning (control-based sampling): • Use “control-based” sampling to generate a tree of milestones until one is close enough to the goal (deterministic or randomized) • Robot need not be controllable • Applicable to high-dimensional c-spaces

  27. Control-Based Sampling • Previous sampling technique: Pick each milestone in some region • Control-based sampling: • Pick control vector (at random or not) • Integrate equation of motion over short duration (picked at random or not) • If the motion is collision-free, then the endpoint is the new milestone • Tree-structured roadmaps • Need for endgame regions

  28. dx/dt = v cosq dy/dt = v sinq dq/dt = (v/L) tan f |f|<F Example 1. Select a milestonem 2. Pickv, f, anddt 3. Integrate motion from m  new milestone m’

  29. Example Indexing array:A 3-D grid is placed over the configuration space. Each milestone falls into one cell of the grid. A maximum number of milestones is allowed in each cell (e.g., 2 or 3). Asymptotic completeness:If a path exists, the planner is guaranteed to find one if the resolution of the grid is fine enough.

  30. Computed Paths

  31. Computed Paths Tractor-trailer Car That Can Only Turn Left jmax=45o, jmin=22.5o jmax=45o

  32. Application

  33. Summary Two planning approaches: • Path deformation: Fast but paths can be far from optimal. Restricted to “controllable” robots. • Control-based sampling: Can generate better paths, but slower. Can be scaled to higher dimensional space using probabilistic sampling techniques (next lecture)

More Related