INSTITUCIONES DESCENTRALIZADAS
SERVICIO NACIONAL DE AGUAS SUBTERRÁNEAS RIEGO Y AVENAMIENTO
As shown in Figure2.1, a 2-D laser scanner produces a set of 2-D points representing the contour of the visible environment around the sensor. Obstacle detection is usually through the point segmenting and clustering processes to identify each object around the robot. The collision is then checked with the identified objects with a motion prediction step. The process extracts a set of segments out of the raw laser range measurements, and each segment corresponds to an object contour. We segment the raw range measurements after data filtering and then merge the adjacent segments as one using the distance parameters. At last, a predictor is used to select the one which cuts the robot trajectory and can be considered as an obstacle.
Figure 2.1: Data from a 2-D laser range finder.
Laser Data Consider Mta set of points representing the laser scan of an environment at time t as Mt = {mi = (ρi, θi)⊤ | i ∈ 0 . . . N − 1}, where (ρi, θi)⊤ are the polar coordinates of N points for each scan. The Cartesian coordinates of a laser point are
given by / xi yi 0 = /
ρicos θi ρisin θi
0
2.3. Obstacle detection
The distance between two laser points is defined as d(mi, mj) =k mi− mj k
=9ρ2i + ρ2j − 2ρiρjcos ∆θ, with ∆θ = θi− θj. (2.2) Laser range finders are a kind of time-of-flight active ranging sensor using laser light. They provide easily interpreted outputs. They can directly measure the distances from the robot to objects in the neighborhood with high accuracy depending on the quality of the sensor. Ranges are estimated by measuring the difference between transmitted and received signals, for instance, the phase shift. In the applications of occlusion avoidance or collision avoidance, they are widely used on mobile robots.
Data Filtering The first step of obstacle detection based on a laser range finder is to appropriately filter the raw data with sensing errors. For the laser scanner, the main error is “salt and pepper” noise. Sensor errors, multi-path reflection, object surface reflectance and occlusion are all possible causes of the noise.
The noises are the points occurring at stochastic intervals, so they are usually the isolated points of time and space. To be efficient, here we filter the noise considering only one scan. Hence, we primarily discard these spatial isolated points as noise. If multi scans are considered, temporal isolated points can be identified and discard. An spatial isolated point happens in a splitting position of the measurements where there is a big jump with both the two adjacent points. Consider that the set of laser measurements is ordered, and typically, the angular resolution is small cos ∆θ ≈ 1. Therefore, equation2.2could be simplified as
d(mi, mi+1) =k ρi+1− ρik (2.3) Then isolated points can be found by comparing the distances with a given threshold. Figures2.2 shows a result of noise filtering from a raw laser scan as shown in Figure
2.1. The threshold used for the result is fixed to 0.1m.
Data Segmentation The objective of segmentation is to divide a laser scan into meaningful pieces. Each piece corresponds to a visible contour of a sensed object. We use Successive Edge Following (SEF) algorithms described in the literature [144] to segment the filtered laser scans. The SEF algorithm works directly on the distances of the filtered laser scan measurements as illustrated in Figure 2.3. A segment is
2.3. Obstacle detection
Figure 2.2: Filtered data of laser range finder.
completed when the different of the distance between two adjacent points exceeds a given threshold. After segmentation, the filtered measurements are divided into groups of close points. In order to obtain stable results against variations from the complexity of the environment, the groups are discarded if they consist of too few points, for instance, 3 close points. Figure2.4shows different segments in colors using a thresholds 0.2 m.
Fig. 2.3: Segmentation using Successive Edge Following algorithm.
Data Merging Due to the noise or occlusion, an object contour may be divided into several adjacent segments, which should be one. In order to cope this issue, we associate the adjacent groups using the angular deviation between two nearest points of the two groups. If the angular deviation is big, the threshold is set to a small value. Otherwise, the threshold is considered big. Figure2.5shows the final clustering result with two thresholds 0.2 m and 0.6 m.
2.3. Obstacle detection
Figure 2.4: Laser data segmentation.
2.3. Obstacle detection
Collision Detection Collision detection consists in determining whether a predicted trajectory is clear from obstructions for safe motion by a mobile robot. The prediction simulates the robot motion taking into account the kinematics model of the mobile robot inside a predetermined sampling period T ={ti | i ∈ 0 . . . n − 1} (n time inter- vals) and identifies the interesting obstacles which are in the trajectory using collision checking. In the prediction, the simulated controller is the same as the one used in the real navigation task. The motion model will be introduced in more detail in Section
2.4.1. The given interval is selected to make sure that the robot can safely stop before collision. In each time intervals, the collision is checked through the geometric rela- tionship between the region of the robot and those of clustered objects. More formally, if R(Qti, T )
: O(qt
i) 6= ∅, with R the robot, O the detected objects and qt the config-
uration at time t, collision will happen. The object is directly modeled by their point sets. This makes the collision checking simple. If collision is detected, the dangerous obstacles are selected, and then the robot speed will be adjusted in reaction to the obstacles. In order to obtain good performance during the reaction, we will analyze the effects with different representations in the following section.