1 / 41

Non-Holonomic Motion Planning

Non-Holonomic Motion Planning. Probabilistic Roadmaps. What if omnidirectional motion in C-space is not permitted?. Paths for a Car-Like Robot. Agenda. Differential constraints Dynamics, nonholonomic systems. d q /d t = S k f k ( q ) u k. Vector fields. Controls.

shani
Download Presentation

Non-Holonomic 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. Non-Holonomic Motion Planning

  2. Probabilistic Roadmaps What if omnidirectional motion in C-space is not permitted?

  3. Paths for a Car-Like Robot

  4. Agenda • Differential constraints • Dynamics, nonholonomic systems dq/dt = Skfk(q)uk Vector fields Controls We’ll consider fewer control dimensions than state dimensions

  5. Example: 1D Point Mass • Mass M • 2D configuration space (state space) • Controlled force f • Equations of motion: x v dx/dt = vdv/dt = f / M

  6. Example: 1D Point Mass x v v dx/dt = dvdv/dt = f / M Solution: v(t) = v(0)+t f /M x(t) = x(0)+t v(0) + ½ t2 f / M f=0 x

  7. Example: 1D Point Mass x v v dx/dt = dvdv/dt = f / M Solution: v(t) = v(0)+t f /M x(t) = x(0)+t v(0) + ½ t2 f / M f>0 x

  8. Example: 1D Point Mass x v v dx/dt = dvdv/dt = f / M Solution: v(t) = v(0)+t f /M x(t) = x(0)+t v(0) + ½ t2 f / M f<0 x

  9. Example: 1D Point Mass x v v dx/dt = dvdv/dt = f / M Solution: v(t) = v(0)+t f /M x(t) = x(0)+t v(0) + ½ t2 f / M |f|<=fmax x

  10. Example: Car-Like Robot f dx/dt = v cosq dy/dt = v sinq dx sinq – dy cosq = 0 q dq/dt = (v/L) tan f f |f| <F 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]

  11. Example: Car-Like Robot 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 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

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

  13. How Can This Work?Tangent Space/Velocity Space 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

  14. How Can This Work?Tangent Space/Velocity Space 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

  15. Kinematic Reduction of 1D Point Mass • If: • Constraints are time-invariant • Starts and stops at rest • Then we only need to consider position x1 x1+e 1. Speed up 2. Slow down

  16. Dynamic Execution of Kinematic Paths • For fully actuated N-D robots, a collision-free path can be executed “slowly enough” v x

  17. 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

  18. Path Deformation Holonomic path Nonholonomic path

  19. Small-Time Local Controllability • A system is SLTC if at a given configuration q, it can reach an open neighborhood of q e q SLTC Not SLTC Not SLTC

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

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

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

  23. [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 Lie Bracket -X -Y Y X (dt) [X,Y] (dt2 ) [X,Y] Lin(X,Y) the motion constraint is nonholonomic Lie bracket

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

  25. Lie Bracket Maneuvers • Problem: To move distance d along vector field U=[X,Y] using Lie bracket, may need to move much farther in C-space • Solution: Use better maneuvers

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

  27. Type 2 Maneuver  Allows pure rotation

  28. Combination

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

  30. Path Examples

  31. Drawbacks of Two-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)

  32. Reeds and Shepp Paths

  33. 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

  34. Example of Generated Path Holonomic Nonholonomic

  35. Path Optimization

  36. 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

  37. Control-Based Sampling PRM 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

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

  39. 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.

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

  41. Readings • P.R.M. Chapter 7.2 • LaValle and Kuffner (2001) • Hsu et al (2001)

More Related