Design, performance analysis, and implementation of a positioning system for autonomous mobile robots

Positioning is a fundamental issue in mobile robot applications, and it can be achieved in multiple ways. Among these methods, triangulation based on angle measurements is widely used, robust, and flexible. In this thesis, we present an original beacon-based angle measurement system, an original triangulation algorithm, and a calibration method, which are parts of an absolute robot positioning system in the 2D plane. Also, we develop a theoretical model, useful for evaluating the performance of our system. In the first part, we present the hardware system, named BeAMS, which introduces several innovations. A simple infrared receiver is the main sensor for the angle measurements, and the beacons are common infrared LEDs emitting an On-Off Keying signal containing the beacon ID. Furthermore, the system does not require an additional synchronization channel between the beacons and the robot. BeAMS introduces a new mechanism to measure angles: it detects a beacon when it enters and leaves an angular window. This allows the sensor to analyze the temporal evolution of the received signal inside the angular window. In our case, this feature is used to code the beacon ID. Then, a theoretical framework for a thorough performance analysis of BeAMS is provided. We establish the upper bound of the variance and its exact evolution as a function of the angular window. Finally, we validate our theory by means of simulated and experimental results. The second part of the thesis is concerned with triangulation algorithms. Most triangulation algorithms proposed so far have major limitations. For example, some of them need a particular beacon ordering, have blind spots, or only work within the triangle defined by the three beacons. More reliable methods exist, but they have an increasing complexity or they require to handle certain spatial arrangements separately. Therefore, we have designed our own triangulation algorithm, named ToTal, that natively works in the whole plane, and for any beacon ordering. We also provide a comprehensive comparison between other algorithms, and benchmarks show that our algorithm is faster and simpler than similar algorithms. In addition to its inherent efficiency, our algorithm provides a useful and unique reliability measure, assessable anywhere in the plane, which can be used to identify pathological cases, or as a validation gate in data fusion algorithms. Finally, in the last part, we concentrate on the biases that affect the angle measurements. We show that there are four sources of errors (or biases) resulting in inaccuracies in the computed positions. Then, we establish a model of these errors, and we propose a complete calibration procedure in order to reduce the final bias. Based on the results obtained with our calibration setup, the angular RMS error of BeAMS has been evaluated to 0.4 deg without calibration, and to 0.27 deg, after the calibration procedure. Even for the uncalibrated hardware, BeAMS has a better performance than other prototypes found in the literature and, when the system is calibrated, BeAMS is close to state of the art commercial systems.