Upload
colleen-wiggins
View
68
Download
2
Tags:
Embed Size (px)
DESCRIPTION
The Vector Field Histogram. Erick Tryzelaar November 14, 2001 Robotic Motion Planning A Method Developed by J. Borenstein and Y. Koren. The Problem. To simultaneously: Detect, and avoid, unknown obstacles in real-time Steer in the best direction that leads to some target, k targ - PowerPoint PPT Presentation
Citation preview
The Vector Field Histogram
Erick TryzelaarNovember 14, 2001Robotic Motion Planning
A Method Developed by J. Borenstein and Y. Koren
24-700 Robotic Motion Planning 2
The Problem To simultaneously:
Detect, and avoid, unknown obstacles in real-time
Steer in the best direction that leads to some target, ktarg
Do it as quickly as possible
Robot
ktarg
24-700 Robotic Motion Planning 3
The Solution: The Vector Field Histogram (VFH) The first step generates
a 2D Cartesian coordinate from each range sensor, and increments that position in the histogram grid C
Note: this method does not depend on a specific sensor model
3 2 4 14 1 1 3 2 1
11 24 3 13 4 12 2 2 3 1
3 1 4 2 13 3 4 5 1 14 5 3
Robot
Histogram Grid, C
ktarg
24-700 Robotic Motion Planning 4
The Solution, Continued (2) The next step filters this two
dimensional grid down into a one dimensional structure
The final step calculates the steering angle and the velocity controls from this structure
24-700 Robotic Motion Planning 5
First, Some Terminology VCP
The center point of the robot
Obstacle vector A vector pointing from a
cell in C* to the VCP
VCP
Robot
3 2 4 14 1 1 3 2 1
123 14 12 2 3
3 1 4 2 13 3 4 5 1 1
Robot
Obstacle Vector
24-700 Robotic Motion Planning 6
Step 2: Mapping 2D onto 1D In order to simplify
calculations, the 2D grid used in this step is a window of C, with constant dimensions, and centered on the VCP, called the active grid, or C*.
3 2 4 14 1 1 3 2 1
11 24 3 13 4 12 2 2 3 1
3 1 4 2 13 3 4 5 1 14 5 3
Robot
Active Grid, C*
ktarg
24-700 Robotic Motion Planning 7
Step 2: Continued (2) This is then mapped
onto a 1D structure known as a polar histogram, or H. A polar histogram is a one-dimensional grid comprising of n angular sections with width
Figure included with permission from J. Borenstein
3 2 4 14 1 1 3 2 1
11 24 3 13 4 12 2 2 3 1
3 1 4 2 13 3 4 5 1 14 5 3
Robot
Active Grid, C*
ktarg
24-700 Robotic Motion Planning 8
Step 2: Continued (3) In order to generate H, we must first map every
cell in C* onto a 1D point in H’s coordinate system
jijiji
ji
bdacm
xi
x
yj
y
,
2*,,
,
0
0arctan
VCP the to y ,x from direction the
position scell' active they ,x
position srobot' the y ,x
Where
,
th
00
jiji
ji i,j
x0, y0
xi, yj
mi,,j
i,,j
jiji
jiji
jiji
m
d
c
a,b
y ,x atvector obstacle the of magnitude the
VCP the and y ,x between distance the
y ,x of value certainty the
constants positive
.
,
*,
24-700 Robotic Motion Planning 9
Step 2: Continued (4)
jijik
ji
mh
k
,,
,int
Figure included with permission from J. Borenstein
density obstaclepolar the
ofsector the
of resolutionangular the
Where
k
ji
h
,yxk
H
24-700 Robotic Motion Planning 10
Step 2: Continued (5) Because H at this point contains
discrete points, a smoothing function can be applied in order to better approximate the environment
24-700 Robotic Motion Planning 11
Step 3: Computing the Steering Direction A typical polar
histogram contains “peaks”, or sectors with a high polar obstacle density (POD), and “valleys”, sectors that contain low POD’s
A valley below some threshold is called a candidate valley
Figure included with permission from J. Borenstein
24-700 Robotic Motion Planning 12
Step 3: Continued (2) From all the candidate
valleys, the valley closest to the ktarg is selected
The type of the valley is dependant on the some consecutive number of sectors, Smax, under the threshold Wide is greater than Smax
Narrow is less than Smax
Robot
ktarg
24-700 Robotic Motion Planning 13
Step 3: Continued (3) In that valley, kn is selected
from the first or the last sector, whichever is closer to ktarg
Wide valleys: kf = kn ± Smax, which results in kf in the valley
Narrow valleys: kf is the last sector in the valley
Then = (kn + kf)/2
Robot
ktarg
kn
kf
24-700 Robotic Motion Planning 14
Step 3: Selecting the Threshold
If set too high, the robot may be too close to an obstacle, and moving too quickly in order to prevent a collision
However, if set too low, VFH can miss some valid candidate valleys
Generally, the threshold does not need much tuning, unless the application of the robot requires very fast navigation of tightly packed obstacles
24-700 Robotic Motion Planning 15
Step 3: Speed Controls
minmax
max
1
1
),min(
VVV
hh
VV
hhh
m
c
mcc
velocitythe
rate steering allowable maximum the
rate steering the
0 togoing V
prevent tospeed allowable minimum the
speed allowable maximum the
speedin reduction sufficent a causes
hat constant t determinedy empiricallan
travelofdirection
current in thedensity obstaclepolar the
where
max
min
max
V
Ω
Ω
V
V
h
h
m
c
24-700 Robotic Motion Planning 16
Comparison to Potential Fields Influences of a bad sensor read is minimized because it is
averaged out with prior data
Instability in traveling down a narrow corridor is eliminated because the polar histogram varies only slightly between sonar reads
The “repulsive forces” from obstacles cannot counterbalance the “attractive force” from the target and trap the robot in a local minima, as VFH only tries to drive through the best possible valley, regardless if it leads away from the target
24-700 Robotic Motion Planning 17
Comparison, Continued (2) However, VFH can not
solve all the limitations inherent with the potential field method Nothing prevents the robot
from being caught in a real local minima, or a cycle
When this occurs, a global path planner must be used to generate intermediary targets for the VFH until it is out of the trap
Robot
ktarg