• No results found

2.3 Navigation, self-localisation and mapping

2.3.3 Collision avoidance

This section summarizes current and past works on the topic of collision avoidance. It starts with static obstacles and continues in the succeeding section scenarios with obstacles which are moving themselves. For several methods it is hard to distinguish wether they fit into the section “collision avoidance” or “path-

2.3. Navigation, self-localisation and mapping finding and navigation” as they combine direct reactions to obstacles and goal driven characteristics. In these cases the methods shall be at least named in both sections.

Collision avoidance with static obstacles

A classical approach to collision avoidance, or navigation in general, are the class of potential field methods where obstacles have a high potential and flat terrain and especially the goal has a low potential. The robot the plans a path following the steepest gradient. Introduced by B. Krogh in 1984 ([98]) and taken up by O. Khatib in 1986 to generate real-time obstacle avoidance control ([88]), these have become very popular as they are easy to design and fast to implement. Due to limitation of the range of the field of view, potential field methods are computational highly efficient. But they have limitations like trapping situations or oscillations because of the purely reactive approach, the restrictions in the range of the FOV, and the inability to use backtracking or similar approaches (e.g. Koren [96]). Hence, these methods are often enhanced like done by O. Khatib in [89].

An alternative approach, which also operates directly based on the occupancy map, is the Virtual Force

Field (VFF), introduced by Borenstein ([24]). Some sketches of this and the succeeding methods can be

found in Figure 2.13. In the VFF approach, each cell in the “active area” of the grid exerts an repulsive force vector on the robots with a force proportional to the distance to, and the occupancy certainty of, each individual cell. The target exerts a attracting force vector. All these numerous vectors are summed up to provide the resulting set-point vector for the robot’s drive system.

Due to drawbacks resulting from the harsh information reduction and the discretization of the robot’s position, the VFF were developed further to the Vector Field Histograms (VFH) ([25], [170]). Here the active area is divided into several narrow sectors defined in polar coordinates. For each sector the weighted sum of the individual cells’ distance to the robot and the certainty of their occupancy is calculated. This way, a 2D histogram is generated, containing for each discrete span of driving directions a value representing the degree of danger of this direction. The “valleys” in this histogram, with a bottom below a defined threshold, are the options for the robot to choose from. The robot selects the valley fitting best to the direction of the target. In narrow valleys the robot chooses exactly the middle line, in wide valleys the robot can choose between each of the two borders and the direct way to the target, if applicable.

This approach was further improved, resulting in the VFH+ [170]. Here the size of the robot is explicitly taken into account by enlarging the obstacles. This is not done in the occupancy map but in the 2D histogram to reduce the computational effort. An hysteresis is applied to prevent the robot from oscillating and finally the histogram is masked to block valleys whose direction the robot cannot turn into due to its current velocity. The methods from VFF to VFH+ are all purely local algorithms, resulting in not optimal paths due to a lack of knowledge and planning.

By developing the VFH* [171] the VFH+ is extended with a forward planning step: for each possible direction (valley) of the VFH+, a defined time-step is taken, virtually moving the robot forward. Then the VFH+ step is performed again. This search is performed corresponding the parameters search depths, branching factor, and step width. Obviously, this algorithm depends on an occupancy map which is signif- icantly larger than the robot’s active area. Depending on the search depth and the known area of the map, this algorithm can be used for local collision avoidance or for global path planning.

Fig. 2.13.: The function of VFF, VFH, and VFH+ illustrated by drawbacks.

A very intuitive method, which combines obstacle avoidance and path planning, are the visibility(-graph)- based methods. Here the robot plans a path on a known (or learned) map via sub-goals on the visible corners of obstacles, thus avoiding the obstacles (a comparison between different implementations can be found in [105]). This method can be applied to a local map for collision avoidance or on a global map for path planning.

The Dynamic Windows method ([47], [46]) for collision avoidance is special compared to the other meth- ods as is directly works in the velocity space. It was designed to cope with higher velocities where the robots dynamics must not be omitted and where the robot shall always drive as fast as possible. The methods gen- erates a search space of possible 2D velocities for the robot. Velocities are considered only if the robot can reach them in a short time window – the “dynamic window”. Areas of the search space are blocked if driving this velocity would result in a collision with objects. Therefor the robot’s path as well as the estimated paths’ of moving obstacles are predicted. Finally a 2D set-point velocity for the robot is chosen corresponding to three criteria: maximum value of the velocity, direction towards the target, and save from collision.

A completely different approach are the Elastic Bands ([127], [137]). These optimize a given path ac- quired by other methods – often visibility graph or A⇤methods – according to static or even dynamic obsta- cles. Bubbles are placed on the given path – often with defined distances like pearls on a string, but there are numerous other methods of distributing the bubbles. Then the bubbles are grown until they intersect with an obstacle. When hitting an obstacle the bubble is forced aside while growing further, altering the center point of the bubble. This procedure is performed until a bubble intersects with obstacles on opposing sides or reaches a defined maximum size. The new line of center points of the grown bubbles gives the new optimized path for the robot.

2.3. Navigation, self-localisation and mapping

Avoiding collisions with moving obstacles

After describing methods for the avoidance of static obstacles, the methods for avoiding obstacles which are moving themselves are the next logical step. In the literature the term “dynamic obstacle” is often found – but this term is not unambiguously: it is used to describe objects which can be moved (in the sense of the reliability of a map) as well as for objects which currently move themselves. At first glance these two seem very similar, but they have different implications: in the first case only the navigation and path finding is affected because obstacles can appear which are not mapped, in the second case even a robot can be involved in a collision which is actually standing still, requiring for proactive actions. In this thesis the term “dynamic obstacle” will be omitted in favor of the term “moving object”. “Object” is preferred over “obstacles” as the “moving object” can also be a person or even the robot’s operator which should not be devaluated to be just an “obstacle”.

There are several different popular methods for avoiding moving objects so far. They can be grouped in two main classes: the local or reactive approaches which are limited in their ability to solve complex situations and the global or plan-based approaches which need more knowledge about the situation and where the reaction time can become an issue.

1. The reactive approaches: An approach using a multisensor based environment prediction is de-

scribed by Song [151] where the predicted obstacle positions are used to calculate virtual forces to deceler- ate the robot. Castro ([32]) presents a system which uses a laser range finder-based obstacle detection and tracking and feeds this information in an extended Dynamic Window algorithm.

2. The plan-based approaches: Hu first plans a path considering only static obstacles, the dynamic

obstacles are considered only by controlling the robot’s velocity when driving along the planned trajectory [76]. Fraichard [48] and Fujimura [51] add the time dimension to the search-space. However, the major drawback of these solutions is that they assume a complete and deterministic knowledge of the environment. In practical applications they are usually combined with reactive methods in order to avoid unexpected obstacles as for example done by Stachniss [153]. Another very popular approach are Elastic Bands. First a path considering the static obstacles is planned and later deformed with the elastic-bands-method to direct the robot around the moving obstacles (Quinlan [127]). Hoeller uses a modified probabilistic path planner to avoid predicted trajectories of a human. These predicted positions block the probabilistic planner from adding a new waypoint near the estimated spatio-temporal positions of the human [71]. Large describes a realtime dynamic obstacle avoidance system learning typical trajectories of moving obstacles and feeding them into an iterative motion planner based on Velocity Obstacles [103]. Bennewitz uses learned motion patterns of persons: Hidden Markov Models (HMM) are derived to estimate future movements of detected objects. The probabilistic belief is incorporated into the path planning process [14].

Finally the problem can be tackled by planning directly in the velocity space, as [122] and [43] have demonstrated. They model the dynamic environment into a map in the velocity space. As the Velocity

Obstacle approach relies on a perfect knowledge of the world, Fulgenzi ([55]) proposes a solution called Discrete Probabilistic Velocity Obstacle (PVO) that combines the Linear Velocity Obstacle (LVO) and the Bayesian Occupancy Filter (BOF).