Download presentation
Presentation is loading. Please wait.
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 > m dimensions? 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 pushing Why is it useful? - Fewer actuators (less weight) - Design simplicity - Convenience (think about driving a car with 3 controls!)
4
Example: Car-Like Robot y x Configuration space is 3-dimensional: q = ( x, y, ) But control space is 2-dimensional: ( v, ) with | v | = sqrt[(dx/dt) 2 +(dy/dt) 2 ] L dx/dt = v cos dy/dt = v sin d dt = (v/L) tan | < dx sin – dy cos = 0
5
Example: Car-Like Robot q = (x,y, ) q’= dq/dt = (dx/dt,dy/dt,d /dt) dx sin – dy cos = 0 is a particular form of f(q,q’)=0 A robot is nonholonomic if its motion is constrained by a non- integrable equation of the form f(q,q’) = 0 dx/dt = v cos dy/dt = v sin d dt = (v/L) tan | < dx sin – dy cos = 0 y x L
6
Example: Car-Like Robot dx/dt = v cos dy/dt = v sin d dt = (v/L) tan | < dx sin – dy cos = 0 y x L Lower-bounded turning radius
7
How Can This Work? Tangent Space/Velocity Space x y (x,y, ) (dx,dy,d ) (dx,dy) y x L dx/dt = v cos dy/dt = v sin d dt = (v/L) tan | <
8
x y (x,y, ) (dx,dy,d ) (dx,dy) dx/dt = v cos dy/dt = v sin d dt = (v/L) tan | < y x L How Can This Work? Tangent Space/Velocity Space
9
Lie Bracket Maneuver made of 4 motions X ( t) Y -X -Y
10
Lie Bracket Maneuver made of 4 motions For example: dx/dt = v cos dy/dt = v sin d dt = (v/L) tan | < X : Going straight Y : Turning, angle T T
11
Maneuver made of 4 motions For example: X ( t) Y -X -Y [X,Y] ( t 2 ) Lie bracket Lie Bracket X : Going straight Y : Turning, angle T T
12
[X,Y] = dY.X – dX.Y X 1 / x X 1 / y X 1 / dX = X 2 / x X 2 / y X 1 / X 2 / x X 2 / y X 2 / X ( t) Y -X -Y [X,Y] ( t 2 ) Lie bracket Lie Bracket [ X,Y ] Lin ( X, Y ) the motion constraint is nonholonomic
13
Tractor-Trailer Example 4-D configuration space 2-D control/velocity space two independent velocity 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
Path Deformation Holonomic path Nonholonomic path
16
Type 1 Maneuver Allows sidewise motion (x,y) q CYL(x,y, , ) = 2 tan d = 2 (1/ cos 1) > 0 (x,y, ) When 0, so does d and the cylinder becomes arbitrarily small
17
Type 2 Maneuver Allows pure rotation
18
Combination
19
Coverage of a Path by Cylinders x y + q q’
20
Path Examples
21
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)
22
Reeds and Shepp Paths
23
CC|C 0 CC|CC|CS 0 C|C Given any two configurations, the shortest RS paths between them 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: 1.Pick control vector (at random or not) 2.Integrate equation of motion over short duration (picked at random or not) 3.If the motion is collision-free, then the endpoint is the new milestone Tree-structured roadmaps Need for endgame regions
28
Example 1. Select a milestone m 2. Pick v, , and t 3. Integrate motion from m new milestone m’ dx/dt = v cos dy/dt = v sin d dt = (v/L) tan | <
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
max = 45 o, min = 22.5 o Car That Can Only Turn Left max = 45 o Tractor-trailer
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)
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.