the vector field histogram erick tryzelaar november 14, 2001 robotic motion planning a method...

17
The Vector Field Histogram Erick Tryzelaar November 14, 2001 Robotic Motion Planning A Method Developed by J. Borenstein and Y. Koren

Upload: warren-johns

Post on 17-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

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