Performance Enhancement of a N eato XV-11 Laser Scanner Applied to Mobile Robot Localization: A Stochastic Modeling Approach

. Laser scanners are widely used in mobile robotics localization systems but, despite the enormous potential of its use, their high price tag is a major drawback, mainly for hobbyist and educational robotics practitioners that usually have a reduced budget. The Neato XV-11 Laser Scanner is a very low cost alternative, when compared with the current available laser scanners, being this fact the main motivation for its use. The modeling of a hacked Neato XV-11 Laser Scanner allows to pro vide valuable information that can promote the development of better designs of robot localization systems based on this sensor. This paper presents, as an example, the performance enhancement of a Neato XV-11 Laser Scanner applied to mobile robot self-localization, being used as case study the Perfect Match Algorithm applied to the Robot@Factory competition.


Check for updates
In mobile robotics applications the most common tasks comprise mapping, localization, navigation and obstacle avoidance.In order to perform them efficiently, the robot needs to sense, calculate the distances to the obstacles and to build the map for robot navigation.
To achieve that, laser scanners are widely used in mobile robotics localization systems [1,2] but, despite the enormous potential of its use, their high price tag is a major drawback, mainly for hobbyist and educational robotics practitioners that usually have a reduced budget.The Neato XV-11, shown in Fig.I , is a robot sold to vacuum domestic rooms [3], that includes a low cost 360° laser distance scanner.
The laser scanner can be removed from the XV-11, allowing robotics practitioners to use it in their projects, being a very low cost alternative.The XV11 laser can be bought on-line at ebay for less than €150, without controller.The proposed controller increases the price in less than €50, being only necessary an Arduino due and some discrete electronics, while, as an example, the alternative low cost RPLIDAR 360 costs, at this moment, more than €400 [4].
A comparison between three laser rangefinders (URG-04LX, XV-11 laser scanner, Kinect derived) was developed [5], the XV-11 laser demonstrated to be reasonable accurate and precise with the more competitive cost.In [7] Neato XV-11 was used for Simultaneous Localization and Mapping, being modeled and simulated using V-Rep software with satisfactory results.Fig. 1.Neato XV-11 [4] The laser scanner hardware approach differs from the previous work [8], because the laser scanner motor is now controlled in closed loop.The presented approach is a much more reliable hardware implementation, when compared with the typical open loop approaches, being the presented model specific for the presented hack.The laser scanner was modeled concerning the parameters noise and error as a distance function.The Knowledge of the referred parameters, presented in [9], allows to provide valuable information that can promote the development of better designs of robot localization systems based on this sensor.This paper presents the performance enhancement of a Neato XV-11 Laser Scanner applied to mobile robot self-localization, being used as case study the Perfect Match Algorithm applied to the Robot@Factory competition [10].
The Robot@factory competition attempts to recreate a problem similar to the one that an autonomous robot will face during its use in a plant.This scaled plant has a supply warehouse, a final product warehouse and eight processing machines.The competition arena, where the robot has to self-localize and navigate, is shown in Fig. 2.

Fig. 2. Robot@Factory competition arena
This paper is structured as follows.Sect. 2 describes the main features of the Hacked Neato XV-11 Laser Scanner.In Sect. 3 the laser scanner modeling is described.Section 4 presents the Perfect Match Algorithm description.Section 5 presents the enhancement of the Laser Scanner performance applied to the Perfect Match Algorithm.Finally, Sect.6 presents the conclusions.

Hacked Neato XV-11 Laser Scanner Description
As described by Konolige et al. in [5], the Neato XV-11 laser scanner, shown in Fig. 3a, is a low-cost laser scanner equipped with features like eye-safe, fully functional in standard indoor lighting conditions and some outdoor conditions, it is small sized and has a low power consumption.Instead of using time of flight measurement, like the more expensive laser scanners, it uses triangulation to determine the distance to the target, using a fixed-angle laser, a CMOS imager and a DSP for subpixel interpolation [11].
The sensor establishes a serial communication with a 115200 bps baudrate, sending data with a 5Hz acquisition frequency.Its power consumption without motor is relatively low: .-v145mA @ 3.3 V, which is a very important factor in order to increase the autonomy of a mobile robot with its power based only on the on-board batteries.
It provides a 360° range of measurements, with an angular resolution of 1 o, with its range from 0.2 m up to 6 m with an error inferior to 0.03 m.When the laser scanner is removed from the Neato XV-11 robot, its motor has to be controlled by the user, being necessary to be powered with 3.0 V continuous voltage ("-'60 mA), in order to produce a turn rate of 240 rpm.Typically it is used a voltage regulator to obtain the 3.0 V.Although this approach is the most popular, it is not the most efficient, because it is an open loop control, being observed oscillations in the motor velocity.An alternative to the referred approach is the use of the turn rate information contained in the data to close the loop [3,5].
In this project the motor was controlled in closed loop.To control and to obtain measurements of the hacked Neato laser scanner, it was used an Arduino Due, which provides the 3.3 V requested by the laser scanner and can establish the needed serial communication.The data packet sent by the sensor is composed by a start header, an index byte, the motor speed (Vn), the laser measured data and a checksum.
A full revolution will yield 90 packets, containing 4 consecutive readings each.The length of a packet is 22 bytes.This amounts to a total of 360 readings (1 per degree) on 1980 bytes.
Each packet is organized as follows: By this way there is available information to close the loop up to 450 hz, having in mind that the Laser spins at 5Hz frequency.Using the received motor speed data the control loop is closed by calculating the error relative to the speed (V), needed to maintain the laser frequency up to 5Hz (5Hz@ 240 rpm).Posteriorly the error is passed by an integrative like filter, resulting in a PWM control signal, which actuates on aN-Channel Mosfet powering the motor.In Fig. 3b it is shown the control loop diagram.r-----------------------------------------. . ------------------------- To model the hacked N eato XV -11 Laser Scanner an experimental setup was developed in order to obtain several measurement datasets.The data was obtained with the goal of extracting information about the sensor minimum and maximum ranges and its measurement error.Usually in order to model distance sensors the authors use industrial robot to ensure repeatability in the process of acquiring data, as shown in the example found in (6].In this particular case the measurement range was too big to develop the refereed tests.In this case the target was always maintained perpendicular to the wall and parallel to the sensor.Initially it was printed an A4 sheet with a target with three areas, the center area white and the two sides areas in black, shown in Fig. 4a, as a way to also assert the color influence in the measure chain.It also can be seen in Fig. 4a the robot prototype.This has a square shape with the laser (hacked from Neato XV -11) centered in the front side.
To ensure that the laser angle stayed in the same position, the prototype was placed parallel and against a wall, distanced from the corner 6.2 m.This way the laser remained static during the experiments, while the target moved perpendicular to the wall and parallel to the prototype front.As for the target positioning, it was centered with the laser scanner.During the experiment it were obtained 44 datasets with different distances from the target to the laser scanner.The measurements were taken from 0.15 to 6 m, with the step sizes listed in Table 1.
In each dataset it were obtained 128 samples of the 360° scans.An example of a dataset extraction experimental layout is shown in Fig. 4b.

Laser Scanner Model
The datasets obtained via the experimental setup previously described, show the minimum measure range is lower than the described in [5], being of 0.15 m instead of the 0.2 m.Nevertheless, despite the use of closed loop control of the motor to ensure the rotation speed to obtain the frequency required by the laser scanner, measurements above 5 m suffer frequent data loss, which results on inconclusive data to support the model, so it could not be considered in the model development.The maximum range described in [11] is 6 m, despite sometimes data being retrieved, suffer from frequent missed measures, reducing the usable range to 5 m.For each dataset, 128 samples were taken and the mean value and standard deviation of each dataset were calculated in order to obtain the laser scanner model and the noise estimation.
It was observed that obstacle color did not influenced the measured di&tances, this becomes one advantage when compared with laser scanners based on different technologies [12].
In Fig. 5a are shown the mean values of the samples of each dataset relative to the real distance.As it can be seen in Fig. 5b the laser scanner measurements tend to increase the error with the distance, reaching values up to 0.54 m at 5 m measurements to the object.This brings the need for sensor calibration, which will be presented at Sect. 5, in order to retrieve a more accurate measure of the distance to an obstacle.!i ,: f(x.) = 0,0323533713X"2 + 0,942Q7192Mx +-0,0177076126 Using a second order polynomial regression, as shown in Fig. 5a represented by a red line, a viable function is obtained to model the sensor measurements (Dz) relative to the real distance (D).This way the model can be defined by Eq. 1, in order to retrieve the Neato XV-lllaser scanner distances.with a1 = 0.0323533713 a2 = 0.9420719264 aa = 0.0177078126 The standard deviation of each dataset, shown in Fig. 6a, has an exponential behavior, increasing with the distance, getting more noticeable after 2.4 m, and reaching values up to 0.072 m at an obstacle distance of 5 m.The standard deviation obtained for each distance is applied to model the sensor noise.
In Fig. 6b is shown the noise using a logarithmic scale, being applied an exponential regression to the standard deviation values (u), obtaining an approach of the measures noise, represented by the Eq. 2.
An example of the laser scanner measure histogram is shown in Fig. 7 a.In order to demonstrate that the sensor provides data with a gaussian probability distribution it was used the normal probability plot, which is a graphical technique for assessing whether or not a data set is approximately normally distributed.The data is plotted against a theoretical normal distribution in such a way that the points should form an approximate straight line.Departures from this straight line indicate departures from normality [13].The points in Fig. 7b form a nearly linear pattern, which indicates that the normal distribution is a good model for this data set.The effect of the discretization on the measurement is also observable.
Map.The Perfect Match algorithm, requires a local map to calculate the expected distance measures.As the map of the Robot@Factory arena is known, it can be created off-line.A matrix where each cell represents the presence or absence of an obstacle (walls, processing machines or other element present in the field) implements the known map, shown in Fig. 8.The chosen grid has a resolution of 1 em.Measurements Mapping.To compare the expected and the measured distances it is necessary to convert the relative distance measures to absolute coordinates.Assuming s 1 ... sn measurements vector, where s 1 is the ith measure from a full laser range finder (Fig. 9) sweep, and a, is the ith measure angle, then the absolute position can be calculated using Eq. 3.
[ Sxi] = Error Minimization.AB it was already mentioned, the Perfect Match algorithm minimizes the error between the measured and expected distances.To speed up the error calculation, a distance map is precomputed.It is a matrix where each cell holds the distance to the closest obstacle.It can be obtained from the original map matrix by applying a Distance Transform with coefficients given by Eq. 4.
This mask performs an approximation to the Euclidean distance.According to Pythagoras' theorem, the distance between two diagonal points in a grid should be v'fTI = J2 which can be approximated to 1.4142.Further adjusting this value to 1.5 allows to, by multiplying all values by 2, have only integer distances, as can be seen in 4.There is an error of about 6% when applying this simplification.
[ 3 2 3] 202 323 (4) An example of a distances map is shown in Fig. 10.With the distance matrix it is very fast to evaluate the error between the measured and expected distances.As the squared error can lead to severe bias from outliers, a modified error equation, as shown in 5, is applied.
This error function has the advantage that if a given measurement error is very high, its influence is bounded.
Assuming that the estimation of the robot position is done for both x, y and 0, it is necessary to calculate the partial derivative for each of the variables, in y Global frame Robot X Measu red point Fig. 9. Robot in the world and the measurement point relating to the robot order to minimize the estimated error, as it is suggested by [14].This algorithm takes into account the partial derivatives for all points.The calculated partial derivatives indicate the position updating direction.

Perfect Match Algorithm Performance Enhancement
As seen in Sect.3, the error for the hacked Neato XV-lllaser scanner increases when the distance to the object increases.So in order to increase the laser measurement accuracy a non linear calibration function was used.For this calibration step, the function parameters are estimated using the data obtained from the experimental setup.
This way it was developed a function, which is the inverse of Eq. 1, to convert the sensor measurements to more accurate distances (Deal)• The laser calibration is shown in Eq. 6.
with Ct = -0.0242594!:2 = 1.03703951 ca = -0.0086895(6) After applying the calibration equation to the laser data the measurement error was reduced, From the one that was shown in Fig. 5b, the error was reduced to a maximum of 0.025 m, as shown in Fig. 11.
The robot in the Robot@!Factory arena and the distance measures can be seen in Fig. 12.The match between the expected measure and the real location of the obstacle, in the case the walls, is better for nearby objects.Distant ones are less precise mainly due to the increased noise present on those measures.It is intuitive to optimize the localization algorithm to give less importance to the less reliable measures.
Having the noise model for the laser scanner measures, allows to modify the error equation, by incorporating the expected noise standard deviation.A weighting factor can be applied to each measure, as shown in Eq. 7.
st ev nozse (7) The noise standard deviation can be estimated from the measured distance, applying Eq. 2. The overall effect is to coru~ider less important measures made from greater distance, because they will be less reliable.The position update will be less influenced by those measures and it can be more accurate.Two different cases are presented to illustrate that effect.In the first case the localization algorithm is performed for a few seconds with the robot stopped.In the second case the robot travels, more or less, in a straight line from the bottom to the top of the map.For both cases, the mean squared error between the position of the robot and the estimate obtained by the Perfect Match algorithm is calculated for x, y and the robot orientation.
As it can be seen in Table 2 there is a significant improvement on the localization precision for almost all components, the Mean Squared Errors (MSE) for the classic and the new proposed approach are compared, for both described situations.

Conclusions
Neato XV-11 is a robot that includes a low cost 360° laser scanner, this sensor can be extracted from the robot, allowing robotics practitioners to use it in their projects.The Neato XV-11 laser scanner is a very low cost alternative, when compared to the current available laser scanners.This paper presents a study concerning the accuracy, the hacking and modeling of the Neato XV-11 laser scanner.The modeling of a hacked Neato XV-11 Laser Scanner allows to provide valuable information that can promote the development of better robot localization systems based on this sensor.
It was presented the performance enhancement of a N eato XV -11 Laser Scanner applied to mobile robot self-localization, being used as case study the Perfect Match Algorithm applied to the Robot@!Factory competition.Both the sensor calibration and the noise error knowledge contributed to a better performance of the presented localization algorithm.

Fig. 3 .
Fig. 3. Hacked Neato XV-lllaser scanner and its motor control (a) Alignment between robot and target.(b) Experimental setup layout example.

Fig. 7 .
Fig. 7. Laser scanner measurement probability distribution and normal probability plot

Fig. 10 .
Fig. 10.Example of a distances map with values divided by 2

1 •Fig
Fig.ll.Distance error after applying the calibration.

Table 1 .
Measure datasets distance and respective step size