“Extrinsic calibration for motion estimation using unit quaternions and particle filtering”

Authors: Aksel Sveier, Torstein A. Myhre and Olav Egeland,
Affiliation: NTNU and SINTEF
Reference: 2020, Vol 41, No 3, pp. 207-221.

Keywords: Unit quaternions, Lie groups, gradient descent, parameter estimation, particle filter

Abstract: This paper presents a method for calibration of the extrinsic parameters of a sensor system that combines a camera with an inertial measurement unit (IMU) to estimate the pendulum motion of a crane payload. The camera measures the position and orientation of a fiducial marker on the payload, while the IMU is fixed to the payload and measures angular velocity and specific force. The placements of the marker and the IMU are initially unknown, and the extrinsic calibration parameters are their position and orientation with respect to the reference frame of the payload. The calibration is done with simultaneous state and parameter estimation, where a particle filter is used for state estimation, and a Riemannian gradient descent method is used for parameter estimation. The orientation is described with unit quaternions, and gradients are developed in a Riemannian formulation based on the Lie group of unit quaternions. This leads to efficient derivations of gradient expressions involving orientations and provides added geometric insight to the problem. The efficiency of the method is demonstrated in simulations and experiments for a simplified crane payload problem.

PDF PDF (1956 Kb)        DOI: 10.4173/mic.2020.3.5

DOI forward links to this article:
[1] Philipp Schubert and Dirk Abel (2023), doi:10.23919/ECC57647.2023.10178159
References:
[1] Angulo, J. (2014). Riemannian Lp averaging on Lie group of nonzero quaternions, Advances in Applied Clifford Algebras. 24(2):355--382. doi:10.1007/s00006-013-0432-2
[2] Bloesch, M., Sommer, H., Laidlow, T., Burri, M., Nutzi, G., Fankhauser, P., Bellicoso, D., Gehring, C., Leutenegger, S., Hutter, M., and Siegwart, R. (2016). A primer on the differential calculus of 3D orientations, 2016. http://arxiv.org/abs/1606.05285.
[3] Bullo, F. and Murray, R.M. (1995). Proportional derivative (PD) control on the Euclidean group, In Proc. European Control Conference, volume2. pages 1091--1097.
[4] Cheng, Y. and Crassidis, J.L. (2010). Particle filtering for attitude estimation using a minimal local-error representation, Journal of guidance, control, and dynamics. 33(4):1305--1310. doi:10.2514/1.47236
[5] Chirikjian, G.S. (2011). Stochastic Models, Information Theory, and Lie Groups, Volume 2: Analytic Methods and Modern Applications, volume2, chapter11, pages 56--57, Springer Science & Business Media.
[6] Crassidis, J.L., Markley, F.L., and Cheng, Y. (2007). Survey of nonlinear attitude estimation methods, Journal of guidance, control, and dynamics. 30(1):12--28. doi:10.2514/1.22452
[7] Doucet, A. and Johansen, A.M. (2009). A tutorial on particle filtering and smoothing: Fifteen years later, Handbook of nonlinear filtering. 12(656-704):3.
[8] Garrido-Jurado, S., Munoz-Salinas, R., Madrid-Cuevas, F.J., and Marin-Jimenez, M.J. (2014). Automatic generation and detection of highly reliable fiducial markers under occlusion, Pattern Recognition. 47(6):2280--2292. doi:10.1016/2014.01.005
[9] Gustafsson, F. (2010). Statistical Sensor Fusion, chapter9, pages 237--238, Studentlitteratur.
[10] Huynh, D.Q. (2009). Metrics for 3D rotations: Comparison and analysis, Journal of Mathematical Imaging and Vision. 35(2):155--164. doi:10.1007/s10851-009-0161-2
[11] Kantas, N., Doucet, A., Singh, S.S., Maciejowski, J., Chopin, N., etal. (2015). On particle methods for parameter estimation in state-space models, Statistical science. 30(3):328--351. doi:10.1214/14-STS511
[12] Kok, M., Hol, J.D., and Schoen, T.B. (2017). Using inertial sensors for position and orientation estimation, Foundations and Trends in Signal Processing. pages 1--153. doi:10.1561/2000000094
[13] Lefferts, E.J., Markley, F.L., and Shuster, M.D. (1982). Kalman filtering for spacecraft attitude estimation, Journal of Guidance, Control, and Dynamics. 5(5):417--429. doi:10.2514/3.56190
[14] Manton, J.H. (2004). A globally convergent numerical algorithm for computing the centre of mass on compact Lie groups, In Proc. Int. Conf. on Control, Automation, Robotics and Vision Conference (ICARCV), volume3. IEEE, pages 2211--2216. doi:10.1109/ICARCV.2004.1469774
[15] Moakher, M. (2002). Means and averaging in the group of rotations, SIAM journal on matrix analysis and applications. 24(1):1--16. doi:10.1137/S0895479801383877
[16] Myhre, T.A. (2019). Static parameter estimation on SO(3) using stochastic gradient descent for visual tracking, In 2019 18th European Control Conference (ECC). IEEE, pages 854--861. doi:10.23919/ACC.2017.7963658
[17] Myhre, T.A. and Egeland, O. (2017). Estimation of crane load parameters during tracking using Expectation-Maximization, In Proc. Conf. American Control Conference (ACC). IEEE, pages 4556--4562. doi:10.23919/ECC.2019.8795738
[18] Pennec, X. (2006). Intrinsic statistics on Riemannian manifolds: Basic tools for geometric measurements, Journal of Mathematical Imaging and Vision. 25(1):127.
[19] Petersen, P. (1998). Riemannian Geometry, Springer Verlag. doi:10.1007/978-3-319-26654-1
[20] Poyiadjis, G., Doucet, A., and Singh, S.S. (2011). Particle approximations of the score and observed information matrix in state space models with application to parameter estimation, Biometrika. 98(1):65--80. doi:10.1093/biomet/asq062
[21] Shoemake, K. (1985). Animating rotation with quaternion curves, SIGGRAPH Comput. Graph.. 19(3):245--254. doi:10.1145/325165.325242
[22] Sola, J. (2017). Quaternion kinematics for the error-state kalman filter, arXiv preprint arXiv:1711.02508.


BibTeX:
@article{MIC-2020-3-5,
  title={{Extrinsic calibration for motion estimation using unit quaternions and particle filtering}},
  author={Sveier, Aksel and Myhre, Torstein A. and Egeland, Olav},
  journal={Modeling, Identification and Control},
  volume={41},
  number={3},
  pages={207--221},
  year={2020},
  doi={10.4173/mic.2020.3.5},
  publisher={Norwegian Society of Automatic Control}
};