Vector Field Histogram
   HOME

TheInfoList



OR:

In
robotics Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrat ...
, Vector Field Histogram (VFH) is a real time motion planning algorithm proposed by
Johann Borenstein Johann Borenstein is an Israeli roboticist and Professor at the University of Michigan. Borenstein is well known for his work in autonomous obstacle avoidance, and is credited with the development of the Vector Field Histogram. Borenstein recei ...
and Yoram Koren in 1991. The VFH utilizes a statistical representation of the robot's environment through the so-called histogram grid, and therefore places great emphasis on dealing with uncertainty from sensor and modeling errors. Unlike other obstacle avoidance algorithms, VFH takes into account the dynamics and shape of the robot, and returns steering commands specific to the platform. While considered a local path planner, i.e., not designed for global path optimality, the VFH has been shown to produce near optimal paths. The original VFH algorithm was based on previous work on Virtual Force Field, a local path-planning algorithm. VFH was updated in 1998 by Iwan Ulrich and
Johann Borenstein Johann Borenstein is an Israeli roboticist and Professor at the University of Michigan. Borenstein is well known for his work in autonomous obstacle avoidance, and is credited with the development of the Vector Field Histogram. Borenstein recei ...
, and renamed VFH+ (unofficially "Enhanced VFH"). The approach was updated again in 2000 by Ulrich and Borenstein, and was renamed VFH*. VFH is currently one of the most popular local planners used in mobile robotics, competing with the later developed dynamic window approach. Many robotic development tools and simulation environments contain built-in support for the VFH, such as in the Player Project.


VFH

The Vector Field Histogram was developed with aims of being computationally efficient, robust, and insensitive to misreadings. In practice, the VFH algorithm has proven to be fast and reliable, especially when traversing densely-populated obstacle courses. At the center of the VFH algorithm is the use of statistical representation of obstacles, through histogram grids (see also
occupancy grid Occupancy Grid Mapping refers to a family of computer algorithms in probabilistic robotics for mobile robots which address the problem of generating maps from noisy and uncertain sensor measurement data, with the assumption that the robot pose is k ...
). Such representation is well suited for inaccurate sensor data, and accommodates fusion of multiple sensor readings. The VFH algorithm contains three major components: # Cartesian histogram grid: a two-dimensional Cartesian histogram grid is constructed with the robot's range sensors, such as a
sonar Sonar (sound navigation and ranging or sonic navigation and ranging) is a technique that uses sound propagation (usually underwater, as in submarine navigation) to navigation, navigate, measure distances (ranging), communicate with or detect o ...
or a
laser rangefinder A laser rangefinder, also known as a laser telemeter, is a rangefinder that uses a laser beam to determine the distance to an object. The most common form of laser rangefinder operates on the time of flight principle by sending a laser pulse in ...
. The grid is continuously updated in real time. # Polar histogram: a one-dimensional polar histogram is constructed by reducing the Cartesian histogram around the momentary location of the robot. # Candidate valley: consecutive sectors with a polar obstacle density below threshold, known as candidate valleys, is selected based on the proximity to the target direction. Once the center of the selected candidate direction is determined, orientation of the robot is steered to match. The speed of the robot is reduced when approaching obstacles head-on.


VFH+

The VFH+ algorithm improvements include: # Threshold hysteresis: a
hysteresis Hysteresis is the dependence of the state of a system on its history. For example, a magnet may have more than one possible magnetic moment in a given magnetic field, depending on how the field changed in the past. Plots of a single component of ...
increases the smoothness of the planned trajectory. # Robot body size: robots of different sizes are taken into account, eliminating the need to manually adjust parameters via low-pass filters. # Obstacle look-ahead: sectors that are blocked by obstacles are masked in VFH+, so that the steer angle is not directed into an obstacle. # Cost function: a cost function was added to better characterize the performance of the algorithm, and also gives the possibility of switching between behaviours by changing the cost function or its parameters.


VFH*

In August 2000, Iwan Ulrich and
Johann Borenstein Johann Borenstein is an Israeli roboticist and Professor at the University of Michigan. Borenstein is well known for his work in autonomous obstacle avoidance, and is credited with the development of the Vector Field Histogram. Borenstein recei ...
published a paper describing VFH*, claiming improvement upon the original VFH algorithms by explicitly dealing with the shortcomings of a local planning algorithm, in that global optimality is not ensured. In VFH*, the algorithm verifies the steering command produced by using the A* search algorithm to minimize the cost and
heuristic A heuristic (; ), or heuristic technique, is any approach to problem solving or self-discovery that employs a practical method that is not guaranteed to be optimal, perfect, or rational, but is nevertheless sufficient for reaching an immediate, ...
functions. While simple in practice, it has been shown in experimental results that this look-ahead verification can successfully deal with problematic situations that the original VFH and VFH+ cannot handle (the resulting trajectory is fast and smooth, with no significant slow down in presence of obstacles).


See also

* Motion planning * Dynamic window approach


References

{{reflist, 2 Robot control