Simultaneous maximum-likelihood calibration of odometry and sensor parameters Andrea Censi, Luca Marchionni, Giuseppe Oriolo Abstract— For a differential-drive mobile robot equipped with an on-board range sensor, there are six parameters to calibrate: three for the odometry (radii and distance between the wheels), and three for the pose of the sensor with respect to the robot frame. This paper describes a method for calibrating all six parameters at the same time, without the need for external sensors or devices. Moreover, it is not necessary to drive the robot along particular trajectories. The available data are the measures of the angular velocities of the wheels and the range sensor readings. The maximum-likelihood calibration solution is found in a closed form. I. I NTRODUCTION The problem of calibrating the odometry of mobile robots has been studied since the 80’s. For the formalization and theoretical analysis of the problem, we refer the reader to [1], [2], [3], [4], [5]. As for practical methods used for calibration, there are two main approaches. The first is to drive the robot along especially crafted trajectories, take some sort of external measurement on its pose, and then estimate/correct its param- eters. A popular method of this sort is the UMBmark [2], in which a differential-drive robot is driven along a square path for multiple times, clockwise and anti-clockwise. In the same spirit, in [6] there is a generalization to arbitrary trajectories and different kinematics. Another approach is called auto-calibration or SLAC (Simultaneous Localization And Calibration), in which cal- ibration is part of the normal activity of the robot and happens without human intervention. A possibility is to use an Extended Kalman Filter (EKF) that estimates both the pose of the robot and the odometry parameters [7], [8], [9]. In this case, there are observability issues to take into account: this is considered in [10] for different combinations of sensors and kinematics. In [11] the authors propose a maximum-likelihood model-free approach that does not seek a physical explanation of the odometry errors. In [12], the authors use a maximum-likelihood method for estimating the odometry parameters of a differential-drive robot, using the absolute observations of an external camera. The method is particularly simple because the problem is completely linear, and therefore can be solved via linear least-squares. A more difficult problem is to simultaneously estimate the odometry parameters plus some other sensor parameters. A A. Censi is with the Control & Dynamical Systems department, California Institute of Technology, 1200 E. California Blvd., 91125, Pasadena, CA. andrea@cds.caltech.edu L. Marchionni and G. Oriolo are with the Dipartimento di Informatica e Sistemistica “A. Ruberti”, Università di Roma “La Sapienza”, via Ariosto 25, I-00185 Rome, Italy. {marchionni,oriolo}@dis.uniroma1.it Fig. 1. A team of five Khepera robots. Each robot has an on-board Hokuyo range-finder and associated battery pack. q k+1 s k world frame o k q k Fig. 2. The robot pose is q k with respect to the world frame. The sensor pose is with respect to the robot frame. o k is the robot displacement between poses, and s k is the sensor displacement. first example of this is in [13], where calibration is performed for odometry, a piezo-electric vibrating gyroscope, and a flux-gate magnetic compass. Also in this case there are observability issues: in [14] the authors show that, even assuming the odometry already calibrated, the system is not fully observable if one uses only a bearing sensor. The present work is the first to consider the simultaneous calibration of odometry and sensor pose (in [14], the sensor pose is calibrated, assuming that odometry parameters are known). Compared to [12], we consider a three-parameters model for a differential-drive robot: we estimate the wheel radii r L , r R and the distance b between the wheels. For the sensor, we estimate its pose =( x ,ℓ y ,ℓ θ ) with respect to the robot frame. We assume that the sensor is mounted horizontally – an arbitrary orientation would need another two parameters (tilt and yaw). We assume to know the measured wheel velocities, and the output of the range finder. The range readings are passed to a scan-matching algorithm that provides an estimate of the roto-translation of the sensor. We will not discuss the scan-matching algorithm as it is used as a black-box. The method is easy to implement: the robot drives autonomously along arbitrary trajectories, no external measurement is necessary, no nominal parameters must be measured beforehand. 2008 IEEE International Conference on Robotics and Automation Pasadena, CA, USA, May 19-23, 2008 978-1-4244-1647-9/08/$25.00 ©2008 IEEE. 2098