A Generalized Extended Kalman Filter Implementation for the Robot Operating System

Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 302)


Accurate state estimation for a mobile robot often requires the fusion of data from multiple sensors. Software that performs sensor fusion should therefore support the inclusion of a wide array of heterogeneous sensors. This paper presents a software package, robot_localization, for the robot operating system (ROS). The package currently contains an implementation of an extended Kalman filter (EKF). It can support an unlimited number of inputs from multiple sensor types, and allows users to customize which sensor data fields are fused with the current state estimate. In this work, we motivate our design decisions, discuss implementation details, and provide results from real-world tests.


Sensor fusion Extended kalman filter Localization Robot operating system 


  1. 1.
    J.J. Leonard and H.F. Durrant-Whyte, “Mobile robot localization by tracking geometric beacons,” Robotics and Automation, IEEE Transactions on vol. 7, no. 3, pp. 376–382, 1991.Google Scholar
  2. 2.
    M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler and A.Y. Ng, “ROS: an open-source robot operating system,” ICRA workshop on open source software vol. 3, no. 3.2, 2009.Google Scholar
  3. 3.
    G.L. Smith, S.F. Schmidt and L.A. McGee, “Application of statistical filter theory to the optimal estimation of position and velocity on board a circumlunar vehicle,” 1962.Google Scholar
  4. 4.
    R.E. Kalman, “A New Approach to Linear Filtering and Prediction Problems,” Transactions of the ASME pp. 35–45, 1960.Google Scholar
  5. 5.
    G. Welch and G. Bishop, “An introduction to the Kalman filter,” 1995.Google Scholar
  6. 6.
    G.J. Bierman and C.L. Thornton, “Numerical comparison of Kalman filter algorithms: Orbit determination case study,” Automatica vol. 13, no. 1, pp. 23–35, 1977.Google Scholar
  7. 7.
    B.J. Odelson, M.R. Rajamani and J.B. Rawlings, “A new autocovariance least-squares method for estimating noise covariances,” Automatica vol. 42, no. 2, pp. 303–308, 2006.Google Scholar
  8. 8.
    P. Besl and N. McKay, “Method for registration of 3-D shapes,” IEEE PAMI, 14, pp. 239–256, 1992.Google Scholar
  9. 9.
    Microsoft Corporation, “Kinect for Windows,”., 2014
  10. 10.
    A. Milella, and R. Siegwart, “Stereo-based ego-motion estimation using pixel tracking and iterative closest point,” Computer Vision Systems, 2006 ICVS’06. IEEE International Conference on., 2006.Google Scholar
  11. 11.
    D. Stouch, A. Ost, T. Moore and C. Monnier, “Robust Tactical Communications Relay using Visual Object Detection on an Autonomous Mobile Robot,” International Advanced Robotics Programme’s 7th International Workshop on Robotics for Risky Environments - Extreme Robotics (IARP RISE-ER 2013) 2013.Google Scholar
  12. 12.
    M. Monajjemi, “Autonomylab/ardrone autonomy. github. com,” AutonomyLab/ardrone autonomy 2013.Google Scholar
  13. 13.
    S.J. Julier and J. Uhlmann, “A New Extension of the Kalman Filter to Nonlinear Systems,” AeroSense, Simulation and Controls, Multi Sensor Fusion, Tracking and Resource Management II 1997.Google Scholar
  14. 14.
    S. Thrun, D. Fox, W. Burgard and F. Dellaert, “Robust Monte Carlo Localization for Mobile Robots,” Artificial Intelligence vol. 128, no. 1–2, pp. 99–141, 2000.Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Sensor Processing and Networking DivisionCharles River Analytics, Inc.CambridgeUSA

Personalised recommendations