^{1}

^{2}

^{★}

^{1}

^{1}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

This work proposes a new feature detection and description approach for mobile robot navigation using 2D laser range sensors. The whole process consists of two main modules: a sensor data segmentation module and a feature detection and characterization module. The segmentation module is divided in two consecutive stages: First, the segmentation stage divides the laser scan into clusters of consecutive range readings using a distance-based criterion. Then, the second stage estimates the curvature function associated to each cluster and uses it to split it into a set of straight-line and curve segments. The curvature is calculated using a triangle-area representation where, contrary to previous approaches, the triangle side lengths at each range reading are adapted to the local variations of the laser scan, removing noise without missing relevant points. This representation remains unchanged in translation or rotation, and it is also robust against noise. Thus, it is able to provide the same segmentation results although the scene will be perceived from different viewpoints. Therefore, segmentation results are used to characterize the environment using line and curve segments, real and virtual corners and edges. Real scan data collected from different environments by using different platforms are used in the experiments in order to evaluate the proposed environment description algorithm.

Extracting useful information from the environment has an important effect on the robot navigation process. Simultaneous localization and map building (SLAM), path planning, or even a virtual reconstruction of the scene for supervising the robot navigation are different examples where a detailed description of the environment can usually improve their results. To address this issue, an appropriate representation of the working environment of the mobile robot must be acquired, which is not trivial. Many factors and physical constraints affect the reliability of such representation [

One of the first tasks in the navigation system design is to determine the type of sensor required to obtain the desired description in a particular environment. The most appropriate sensor for the application depends on the size of the operation area, the environmental conditions, and the required representation level. Indeed, the most important factor that determines the quality of the representation is this external sensor, and above all, its accuracy. With regard to the mobile robotic tasks, an accurate localization in known or unknown environments is essential for autonomous mobile robot navigation. Pure dead-reckoning methods such as odometry are prone to drift, and an estimate is needed to reduce the growing unbounded errors [

In general, the structural features commonly found in the environment are assumed to be invariant to height (e.g., walls, corners, columns). Using this assumption, a planar representation would be adequate for feature extraction and a distance-based sensor can be used. Among different types of sensors, 2D laser range finders have been increasing popular during the last decade, because they provide dense and accurate range measurements with high angular resolution and sampling rates.

Once the sensor is chosen, the second task that we must address is to match the obtained data with the expected data available in a map. To this end, two approaches have been used in mobile robotics: point-based and feature-based matching. Feature-based approaches increase the efficiency and robustness of this process by transforming the acquired raw sensor data into a set of geometric features. Because they are more compact, these feature-based approaches require much less memory than the point-based approaches and can still provide rich and accurate information [

This work extends the CUrvature-BAsed (CUBA) approach for environment description: a feature-based approach proposed by Núñez

This work has been organized as follows: Firstly, the most popular methods available in the literature for laser scan data segmentation are briefly described in Section 2. Next, a multi-scale method based on the curvature estimation of the scan data is presented in Section 3. Section 4 describes some improvements to the proposed segmentation module of the approach which have been included in order to increase its robustness against noise and its invariance to translation and rotation. Experimental results and a brief discussion have been included in Sections 5 and 6, respectively. Finally, a brief glossary is given, which includes a list of words related to the robotics field.

Scan data provided by 2D laser range finders are typically in the form {(_{i|i=1...NR}}, on which (_{i}_{i}_{i}_{R}

How many segments are there?

Which range readings belong to which segment?

To detect these changes, two main types of techniques have been proposed in the literature. The most popular ones try to find specific geometric features in the scan. Specifically, polygonal approximation techniques originated from computer vision have been widely used to deal with office-like environments, which can be described using line segments. This segmentation process is achieved by checking some heuristic line criteria (i.e., error bound) while concatenating consecutive points. On the other hand, the laser scan data can be represented by a local descriptor which can be analyzed to extract the set of dominant points which correctly segments the scan into curve and line segments.

Among the polygonal-based techniques, the incremental and split-and-merge (SM) approaches are probably the most popular and simple line segments extractors. The split-and-merge algorithm fits a line segment to the set of range readings, and it then divides this line into two new line segments if there is a range reading whose distance to the line is greater than a given threshold. This splitting process is then iteratively applied to the newly generated line segments. Finally, when all line segments have been checked, collinear segments are merged. This algorithm has been used to extract line segments in many robotic research [

Similar to the SM algorithm, the iterative-end-point-fit method (IEPF) provides a polygonal approximation to the laser scan at a low cost [

In order to avoid the need to guess the number of initial clusters, Borges and Aldon [

Other model-based popular approaches are based on the Hough transform. The Hough transform has been successfully applied to detect lines in intensity images and it has been brought into robotics for achieving this same aim for scan images [

Finally, the aim of

Curvature functions basically describe how much a curve bends at each point. Peaks of the curvature function correspond to the corners of the represented curve and their height depends on the angle at these corners. Flat segments whose average value is larger than zero are related to curve segments and those whose average value is equal to zero are related to straight line segments.

In a general case, the curvature

This equation implies that estimating the curvature involves the first and second order directional derivatives of the plane curve coordinates, (

Interpolation-based curvature estimators. These methods interpolate the plane curve coordinates and then differentiate the interpolation curves. Thus, Mokhtarian

Angle-based curvature estimators. These methods propose an alternative curvature measure based on angles between vectors, which are defined as a function of the discrete curve items. Thus, the curve filtering and curvature estimation are mixed by Agam

Due to the characteristic noise associated to the curvature estimation, all these algorithms implicitly or explicitly filter the curve descriptor at a fixed cut frequency to remove noise and provide a more robust estimation of the curvature at each plane curve point (

Both approaches have been applied to laser scan segmentation. Thus, the iterative curvature scale space (CSS) was used by Madhavan and Durrant-Whyte [_{max}_{min}

The environment description algorithm described in this paper is divided in two main stages. The first one is a segmentation stage, which divides the scan data acquired by the laser range sensor to a set of point clusters associated to line or corner segments. The next stage detects and characterizes natural landmarks (i.e. line and curve segments, corners and edges) according to these clusters, through both extracting their pose and estimating the uncertainties. This complete characterization allows the use of these features on a later robotic navigation tasks (e.g., SLAM). This work is based on previous papers [

In this section, the segmentation algorithm developed inside the CUrvature BAsed environment description framework (CUBA in short) is presented. Instead of using a slow, iterative approach, dominant points can be robustly detected by adapting the scale to the local surroundings of each range reading. This solution has been adopted by Núñez

In this approach, the segmentation is achieved in two consecutive steps. The first type of segmenting points may arise from the absence of obstacles in the scanning direction (_{n}_{n−1}. This algorithm allows to reject isolated range readings, but it leads to an under-segmentation of the laser scan, i.e., extracted segments between breakpoints typically group two or more different structures (see

As can be seen in

In order to provide precise feature estimation it is essential to represent uncertainties and to propagate them from single range reading measurements to all stages involved in the feature estimation process. As previously mentioned, the methods try to fit parametric curves to each segmented data. An approach for line fitting is to minimize the sum of square perpendicular distances of range readings to lines. This yields a nonlinear regression problem which can be solved for polar coordinates [_{i}_{i}

Under the assumption of known uncertainties, a weight for each measurement point can determine and fit the line in the generalized least squares sense, whose solution is (see [

Although many circle fitting methods have been proposed, it is a common choice to achieve this by minimizing the mean square distance from the data points to the fitting circle. Basically, the Least Squares Fit (LSF) assumes that each data point is the noised version of the closest model point. This assumption is valid when data points are not contaminated with strong noise.

Let the data points be {_{i}_{i}_{|i=1...m} (_{i}_{i}_{i}_{c}_{c}

This problem is stated as the minimization of the difference between the set of points {_{i}_{i}_{c}_{i}_{c}_{i}

This error vector has the known 2_{1}..._{m}

Then, assuming that the errors are normally distributed, the _{1}, ..., _{m}_{c}_{c}^{T}

In order to solve the minimization problem, the classical Gauss-Newton algorithm with the Levenberg-Marquardt correction [^{(k)} is the Jacobian matrix of first partial derivatives of ^{(k)} is ^{(k)}. A detailed description of the Levenberg-Marquardt algorithm can be found at [

Finally, to obtain the variance matrix of the center coordinates and radius, an estimate of the variance matrix of the vector

As pointed out by Madhavan and Durrant-White [

The adaptive breakpoint detector searches for large discontinuity values in the laser scan data. Range readings that define this discontinuity are marked as breakpoints. Edges are defined as breakpoints associated to end-points of plane surfaces [

Edges are characterized by the Cartesian position (

The CUBA algorithm is a curvature based approach to extract dominant points from the laser scan data. After the segmentation process a set of corners, line and curve segments are obtained and characterized to be used as natural landmarks. Although the adaptive curvature estimation provides a robust criterion to the laser scan segmentation, some aspects can be considered to improve this algorithm to be more robust against noise and affine transformations. This section describes the new technique proposed in this paper for segmenting the scan data acquired by a laser range sensor.

From the pioneering paper of Teh and Chin [_{f}_{b}_{f}_{j}_{j}_{j+1}, _{j+1}) are the Cartesian coordinates of the arc range readings _{c}_{c}_{c}

The area of the triangle
_{j}_{j}_{f}

If
_{f}_{f}_{b}_{b}_{f}

The correct selection of the _{t}_{t}_{f}_{b}_{f}_{b}_{t}^{2}, which has been successfully employed in all experiments.

Many researchers have used the area of the triangle, formed by the curve points, as the basis for shape representations [

Calculation of the local vectors _{i}_{i}_{f}_{b}_{i}_{i}

Calculation of the TAR associated to each range reading. The signed area of the triangle at contour point

TAR Normalization. The TAR of the whole laser scan segment,

When the contour is traversed counterclockwise, positive, negative and zero values of TAR mean convex, concave and straight-line points, respectively.

The advantage of measuring the curvature in an adaptive way can be appreciated in

Let
_{1} and _{2} represent translation. By substituting the expressions for
_{i}_{i}_{i}_{i}

To evaluate the performance of the proposed algorithm, two laser scan datasets taken from two different environments have been selected: the fourth level of the University Institute of Research at the Technology Park of Andalusia in Málaga, Spain, and a part of the Intel Jones Farms Campus, Oregon. The first dataset has been collected using Rex, a Pioneer 2AT robot from ActivMedia equipped with a SICK LMS200. The field of view is 180° in front of the robot and up to 8 m distance. The range samples are spaced every half a degree, all within the same plane.

Finally, in this work, due to the usual velocities in mobile robotics, the assumption of low speeds (i.e., few meters per second) has been taken. Therefore, the effect of the robot motion on individual range readings is negligible. Besides, the measured distance _{i}

In order to compare the proposed method to other approaches, we have implemented several laser scan data segmentation algorithms. Particularly, for the purpose of comparison, the split-and-merge (SM) algorithm [_{r}_{φ}

Algorithms are programmed in C, and the benchmarks are performed on a PC with a Pentium II 450 MHz. The minimum number of points per line or curve segment have been fixed to 10 and the minimum physical length of a segment have been fixed to 50 cm. Both parameters have been chosen according to the simulated scans. Other parameters are algorithm-specific.

Segmentation experiments were repeated several times to choose good values for each approach. Segment pairs are initially matched using a ^{2}-test with a matching valid gate value of 2.77 (75% confidence interval). Then, extracted segments are matched to true segments using a nearest-neighbor algorithm. Experimental results are shown in _{i}_{i}

Similar sets of errors on curve parameters are defined (_{c}_{c}

Finally, a typical situation to illustrate the improvement in the proposed algorithm is shown in

This paper presents a curvature-based environment description for robot navigation using laser range sensors. The main advantage of using curvature information is that the algorithm can directly provide line and curve segments, and improve the robustness against noise. Besides, this approach exhibits superior performance over traditional segmentation algorithms based on polygonal approximations which assume that the laser scan is only composed of line segments. The proposed segmentation module uses an adaptive estimate of the curvature according to a triangle-area representation, where the triangle side length at each range reading are adapted to the local changes of the scan data. The segmentation results are used to provide natural landmarks of the robot environment: line and curve segments, corners and edges. Finally, the segmentation algorithm has been compared with the state-of-the-art algorithms in terms of performance, robustness and speed. Although the proposed algorithm provides slightly better results than previously proposed curvature-based approaches (the best results has been obtained for curve segments, see

This work has been partially granted by the Spanish Ministerio de Ciencia e innovación (MCINN) and FEDER funds, and by Junta de Andalucía, under projects no. TIN2008-06196 and P07-TIC-03106, respectively. The Intel Oregon dataset was obtained from the Robotics Data Set Repository (Radish). Thanks go to Maxim Batalin for providing the data.

(a) Two laser range sensors widely used in Robotic: a LMS200 from SICK and a HOKUYO URG-04LX. (b) Natural landmarks detected and characterized in this work: breakpoints, rupture points, line and curve segments, corners and edges.

(a) Scan reference frame variables. (b) Problem statement.

(a) Segment of a single laser scan (⃞-breakpoints, o-corners). (b) Curvature function associated to (a).

(a)–(b) Laser scan and extracted breakpoints (squares). It must be noted that segments of the laser scan which present less than ten range readings are not taken into account (they are marked without boxes in the figures).

(a) A real environment where CUBA algorithm has been tested; (b) scan data acquired by the laser range sensor; (c) curvature function associated to (a) using the method proposed in [

A real corner is not usually located at one of the laser range readings (they are marked as blue dots over the detected line segments).

An edge is defined as a breakpoint associated to the end-point of a plane surface which is not occluded by any other obstacle.

Calculation of the maximum length of contour presenting no significant discontinuity on the right side of range reading _{f}_{f}_{f}_{f}

(a) Laser scan #1. (b) Adaptive TAR associated to scan segment A in (a). (c) Laser scan #2. (d) Adaptive TAR associated to scan segment A in (c).

(a) Dominant points detected from the TAR obtained using an adaptive triangle side length; and (b) dominant points detected from the TAR obtained using a

(a) The first test area, an office-like environment sited at the Technology Park of Andalusia (Málaga); and (b) the map of a part of the Intel Jones Farms Campus in Hillsboro, Oregon (source: the Radish repository

(a) Laser scan #3. (b) Curvature functions associated to (a). (c) Laser scan #4. (d) Curvature functions associated to (c).

(a)–(f) Laser scan segmentations.

(a)–(b) Results of the proposed algorithm from different poses in the same indoor environment. The same results are provided by the algorithm from these robot poses (see details in the figure (b); (c)–(d) CUBA algorithm results from the same tests. The algorithm split the curve segment in different parts due to this algorithm is not invariant to robot pose.

Experimental results of several segmentation algorithms (see text).

Algorithm | SM | SMF | IEPF | CSS | HT | CUBA | Proposed |
---|---|---|---|---|---|---|---|

Execution time (ms) | 7.1 | 14.6 | 4.2 | 39.1 | 33.4 | 13.6 | 10.1 |

TruePos | 0.77 | 0.79 | 0.78 | 0.93 | 0.73 | 0.92 | 0.93 |

FalsePos | 0.23 | 0.23 | 0.26 | 0.03 | 0.28 | 0.02 | 0.02 |

_{Δd} |
15.2 | 12.3 | 17.2 | 10.4 | 9.8 | 10.2 | 10.2 |

_{Δα} [deg] |
0.82 | 0.63 | 0.79 | 0.58 | 0.58 | 0.60 | 0.59 |

_{Δxc} [mm] |
14.1 | 13.1 | 13.9 | 10.1 | 13.0 | 9.8 | 9.7 |

_{Δyc} [mm] |
12.6 | 12.9 | 13.1 | 9.8 | 12.7 | 9.9 | 9.6 |

_{Δρ} [mm] |
8.3 | 7.9 | 8.5 | 7.9 | 8.5 | 6.5 | 6.1 |