common algorithms in navigation

Learning english well

1. Success is the sum of small efforts, repeated day in and day out.

2. Only by boldly accepting challenges can you feel the joy of success.

3.  Happiness is not the absence of problems but the ability to deal with them.

4. Always remember that your present situation is not your final destination. The best is yet to come.' 

5. There is nothing difficult for us to do in the world. If we do it, the difficult thing will be easy; if we do not, the easy thing will be difficult.

6. I don't regret the things I've done, I regret the things I didn't do when I had the chance.

7. Life doesn't get better by chance, it gets better by change. 

8. If you believe you can, you probably can. If you believe you won't, you most assuredly won't. 

9. The shortest way to do many things is to do only one thing at a time.

10. Living without an aim is like sailing without a compass.  

11. Worrying is a waste of time. It doesn't change anything. It messes with your mind and steals your happiness. ​​​​

Concepts

1. Vector Field Histogram(https://en.wikipedia.org/wiki/Vector_Field_Histogram)   

        In robotics, Vector Field Histogram (VFH) is a real time motion planning algorithm proposed by Johann Borenstein 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, 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.

(1) 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). Such representation is well suited for inaccurate sensor data, and accommodates fusion of multiple sensor readings.

The VFH algorithm contains three major components:

    1. Cartesian histogram grid: a two-dimensional Cartesian histogram grid is constructed with the robot's range sensors, such as a sonar or a laser rangefinder. The grid is continuously updated in real time.
    2. Polar histogram: a one-dimensional polar histogram is constructed by reducing the Cartesian histogram around the momentary location of the robot.
    3. 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.

(2) VFH+

The VFH+ algorithm improvements include:

  1. Threshold hysteresis: a hysteresis increases the smoothness of the planned trajectory.
  2. Robot body size: robots of different sizes are taken into account, eliminating the need to manually adjust parameters via low-pass filters.
  3. Obstacle look-ahead: sectors that are blocked by obstacles are masked in VFH+, so that the steer angle is not directed into an obstacle.
  4. Cost function: a cost function was added to better characterize the performance of the algorithm, and also gives the possibility of switching between behaviors by changing the cost function or its parameters.

       (3) VFH*

In August 2000, Iwan Ulrich and Johann Borenstein 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 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).

2. Motion planning  (https://en.wikipedia.org/wiki/Motion_planning)

A basic motion planning problem is to produce a continuous motion that connects a start configuration S and a goal configuration G, while avoiding collision with known obstacles. The robot and obstacle geometry is described in a 2D or 3D workspace, while the motion is represented as a path in (possibly higher-dimensional) configuration space.

3. A* search algorithm   (https://en.wikipedia.org/wiki/A*_search_algorithm)   

        In computer science, A* (pronounced as "A star") is a computer algorithm that is widely used in pathfinding and graph traversal, which is the process of finding a path between multiple points, called "nodes". It enjoys widespread use due to its performance and accuracy. However, in practical travel-routing systems, it is generally outperformed by algorithms which can pre-process the graph to attain better performance,[1] although other work has found A* to be superior to other approaches.

Description       

A* is an informed search algorithm, or a best-first search, meaning that it is formulated in terms of weighted graphs: starting from a specific starting node of a graph, it aims to find a path to the given goal node having the smallest cost (least distance travelled, shortest time, etc.). It does this by maintaining a tree of paths originating at the start node and extending those paths one edge at a time until its termination criterion is satisfied.

At each iteration of its main loop, A* needs to determine which of its paths to extend. It does so based on the cost of the path and an estimate of the cost required to extend the path all the way to the goal. Specifically, A* selects the path that minimizes

f(n)=g(n)+h(n)

where n is the last node on the path, g(n) is the cost of the path from the start node to n, and h(n) is a heuristic function that estimates the cost of the cheapest path from n to the goal. A* terminates when the path it chooses to extend is a path from start to goal or if there are no paths eligible to be extended.The heuristic function is problem-specific. If the heuristic function is admissible, meaning that it never overestimates the actual cost to get to the goal, A* is guaranteed to return a least-cost path from start to goal.

4. paper

It is too old, but you must be master it  

VFH+: reliable obstacle avoidance for fast mobile robots (DOI: 10.1109/ROBOT.1998.677362) 

Abstract:

This paper presents further improvements on the earlier vector field histogram (VFH) method developed by Borenstein-Koren (1991) for real-time mobile robot obstacle avoidance. The enhanced method, called VFH+, offers several improvements that result in smoother robot trajectories and greater reliability. VFH+ reduces some of the parameter tuning of the original VFH method by explicitly compensating for the robot width. Also added in VFH+ is a better approximation of the mobile robot trajectory, which results in higher reliability.
note:Sadly, just reading a paper is not enough. please remember make full use of tool is the best way to achieve your target.

 

 

posted @ 2018-09-19 20:32  三才  阅读(219)  评论(0编辑  收藏  举报