Automatic Differentiation on Differentiable Manifolds as a Tool for Robotics

Chapter
Part of the Springer Tracts in Advanced Robotics book series (STAR, volume 114)

Abstract

Automatic differentiation (AD) is a useful tool for computing Jacobians of functions needed in estimation and control algorithms. However, for many interesting problems in robotics, state variables live on a differentiable manifold. The most common example are robot orientations that are elements of the Lie group SO(3). This causes problems for AD algorithms that only consider differentiation at the scalar level. Jacobians produced by scalar AD are correct, but scalar-focused methods are unable to apply simplifications based on the structure of the specific manifold. In this paper we extend the theory of AD to encompass handling of differentiable manifolds and provide a C++ library that exploits strong typing and expression templates for fast, easy-to-use Jacobian evaluation. This method has a number of benefits over scalar AD. First, it allows the exploitation of algebraic simplifications that make Jacobian evaluations more efficient than their scalar counterparts. Second, strong typing reduces the likelihood of programming errors arising from misinterpretation that are possible when using simple arrays of scalars. To the best of our knowledge, this is the first work to consider the structure of differentiable manifolds directly in AD.

References

  1. 1.
    Absil, P.A., Mahony, R., Sepulchre, R.: Optimization Algorithms on Matrix Manifolds. Princeton University Press, Princeton (2009)Google Scholar
  2. 2.
    Agarwal, S., Mierle, K., Others: Ceres solver. https://code.google.com/p/ceres-solver/ (2013)
  3. 3.
    Barfoot, T.D., Forbes, J.R., Furgale, P.T.: Pose estimation using linearized rotations and quaternion algebra. Acta Astronaut. 68(1–2), 101–112 (2011). doi:10.1016/j.actaastro.2010.06.049 CrossRefGoogle Scholar
  4. 4.
    Gwak, S., Kim, J., Park, F.C.: Numerical optimization on the euclidean group with applications to camera calibration. IEEE Trans. Robot. Autom. 19(1), 65–74 (2003)CrossRefGoogle Scholar
  5. 5.
    Hertzberg, C., Wagner, R., Frese, U., Schrder, L.: Integrating generic sensor fusion algorithms with sound state representations through encapsulation of manifolds. Inf. Fusion 14(1), 57–77 (2013). doi:10.1016/j.inffus.2011.08.003. http://www.sciencedirect.com/science/article/pii/S1566253511000571
  6. 6.
    Lambert, Furgale: Barfoot, enright: field testing of visual odometry aided by a sun sensor and inclinometer. J. Field Robot. 29(3), 426–444 (2012). doi:10.1002/rob.21412 CrossRefGoogle Scholar
  7. 7.
    Martins, J.R., Sturdza, P., Alonso, J.J.: The complex-step derivative approximation. ACM Trans. Math. Softw. (TOMS) 29(3), 245–262 (2003)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Murray, R.M., Sastry, S.S.: A Mathematical Introduction to Robotic Manipulation. CRC Press, Boca Raton (1994)Google Scholar
  9. 9.
    Piponi, D.: Automatic differentiation, c++ templates, and photogrammetry. J. Gr. Tools 9(4), 41–55 (2004)CrossRefGoogle Scholar
  10. 10.
    Rall, L.B.: Perspectives on automatic differentiation: past, present, and future? Automatic Differentiation: Applications, Theory, and Implementations, pp. 1–14. Springer, Berlin (2006)Google Scholar
  11. 11.
    Rall, L.B., Corliss, G.F.: An introduction to automatic differentiation. In: Berz, M., Bischof, C.H., Corliss, G.F., Griewank, A. (eds.) Computational Differentiation: Techniques, Applications, and Tools, pp. 1–17. SIAM, Philadelphia (1996)Google Scholar
  12. 12.
    Shuster, M.D.: A survey of attitude representations. J. Astronaut. Sci. 41(4), 439–517 (1993)MathSciNetGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Hannes Sommer
    • 2
  • Cédric Pradalier
    • 1
  • Paul Furgale
    • 2
  1. 1.GeorgiaTech LorraineMetzFrance
  2. 2.ETH ZürichZürichSwitzerland

Personalised recommendations