460 likes | 796 Views
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.
E N D
Probabilistic Roadmaps What if omnidirectional motion in C-space is not permitted?
Agenda • Differential constraints • Dynamics, nonholonomic systems dq/dt = Skfk(q)uk Vector fields Controls We’ll consider fewer control dimensions than state dimensions
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
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
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
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
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
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]
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
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
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
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
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
Dynamic Execution of Kinematic Paths • For fully actuated N-D robots, a collision-free path can be executed “slowly enough” v x
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
Path Deformation Holonomic path Nonholonomic path
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
Lie Bracket Maneuver made of 4 motions -X -Y Y X (dt)
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
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
[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
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)
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
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
Type 2 Maneuver Allows pure rotation
Coverage of a Path by Cylinders q q’ + q y x
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)
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
Example of Generated Path Holonomic Nonholonomic
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
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
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’
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.
Computed Paths Tractor-trailer Car That Can Only Turn Left jmax=45o, jmin=22.5o jmax=45o
Readings • P.R.M. Chapter 7.2 • LaValle and Kuffner (2001) • Hsu et al (2001)