Open access
Author
Date
2020Type
- Doctoral Thesis
ETH Bibliography
yes
Altmetrics
Abstract
Every robotic system has a set of parameters — scale factors, sensor locations, link lengths, communication latencies, etc. — that must be known with some accuracy for state estimation, planning, and control to perform well. After construction of such a system, some parameters are typically not known accurately enough due to the high cost of both accurate and precise production. Furthermore, some will change over the lifetime of a robot due to normal wear and tear or accidents. The effects of assuming poor parameter values range from degraded performance to critical safety issues. The big calibration dream for mobile robots would be that the systems calibrated themselves after their assembly and while being operational without requiring any supervision or special environments. Unfortunately, this goal is inherently hard to achieve, mostly due to inaccurate or incomplete knowledge of the environment the sensors perceive, which cannot be easily improved on without accurate calibration. This circular dependency leads to a problem type similar to Simultaneous Localization and Mapping (SLAM), called Simultaneous Calibration, Localization, and Mapping (SCLAM). In a way, it is a truly bigger problem, because it has SLAM as a subproblem. In contrast to SLAM, there are typically less computational resource constraints and a calibration solution may restrict itself to smaller maps. It is also more difficult, because — in contrast to SLAM — self-calibration cannot build on something like a sufficient calibration that already mitigates many of the production flaws and unknowns before SLAM takes place. This is no surprise considering that one key purpose of calibration is to make SLAM more accurate and easy. This thesis contributes to the dream of lifelong self-calibration for mobile robots by focusing on some of the generic sub-problems which make the development of such powerful calibration systems hard to realize today. Specifically, it contributes (i) to a potential deprecation of a second quaternion multiplication introduced in the 1980s that causes significant confusion and failures until today in the practice of state estimation, control, and calibration by means of a thorough comparison and principled analysis, (ii) to the continuous-time state estimation / calibration for non vector space Lie-group valued variables such as SO(3), by making an idea for unit-length quaternion valued B-splines accessible for nonlinear optimization, (iii) an efficient, easy to use, and safe automatic differentiation of differentiable models, by proposing the Block Automatic Differentiation (BAD) technique, (iv) an efficient way to gain accurate and detailed information on timing of global shutter cameras and time-of-flight LIDARs, (v) a novel way to associate observations of LIDAR-like sensors for the purpose of calibration. In addition to the above theoretic contributions, several c++ libraries, usually with python exports, were developed, maintained, extended, and used for the experiments and evaluations of the corresponding contributions. These were mainly, a library for fast and optimizable Lie-group valued b-splines based on (ii), a BAD library and a prototype for a much faster library both based on and evaluated in (iii), a tiny library for automatic propagation of kinematic quantities such as angular velocity through a kinematic chain while supporting automatic differentiation with respect to all quantities involved building on the BAD concept, a timestamp translation library to be used in sensor drivers required for (iv), a library for modular layered parameter trees to assemble multiple parameter trees in an unified and transparent way, and a modular c++ continuous-time calibration framework, Object-Oriented Modular Abstract Calibration Toolbox (OOMACT), based on all the libraries and contributions before. OOMACT was primarily developed to serve as a basis for the lifelong self-calibration and fault-detection system developed for the European Robotic Pedestrian Assistant 2.0 (EUROPA2) project, which was simultaneously developed on top of it. Additionally, it was used to realize the local calibration step in a new library dedicated to the hand-eye calibration problem. This local calibration step — yielding highly accurate results quickly even for poor initial guesses — could be realized with only a few lines of c++ code thanks to the highly configurable and modular nature of the toolbox. Within these applications we could confirm that the contributions of this thesis could indeed greatly simplify several of the otherwise very tedious or difficult tasks necessary to develop high quality automatic calibration systems. Show more
Permanent link
https://doi.org/10.3929/ethz-b-000477434Publication status
publishedExternal links
Search print copy at ETH Library
Publisher
ETH ZurichSubject
Mobile robotics; Calibration; Generic calibration; Self-calibration; Contnuous-time; Delays; Quaternion multiplication; Automatic differentiation; B-SplinesOrganisational unit
03737 - Siegwart, Roland Y. / Siegwart, Roland Y.
Funding
610603 - EUropean RObotic Pedestrian Assisstant 2.0 (EC)
More
Show all metadata
ETH Bibliography
yes
Altmetrics