Automatic Differentiation on Differentiable Manifolds as a Tool for Robotics
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.
- 1.Absil, P.A., Mahony, R., Sepulchre, R.: Optimization Algorithms on Matrix Manifolds. Princeton University Press, Princeton (2009)Google Scholar
- 2.Agarwal, S., Mierle, K., Others: Ceres solver. https://code.google.com/p/ceres-solver/ (2013)
- 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
- 8.Murray, R.M., Sastry, S.S.: A Mathematical Introduction to Robotic Manipulation. CRC Press, Boca Raton (1994)Google Scholar
- 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.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