Skip to main content
Log in

Second-Order Recursive Filtering on the Rigid-Motion Lie Group \({\text {SE}}_{3}\) Based on Nonlinear Observations

  • Published:
Journal of Mathematical Imaging and Vision Aims and scope Submit manuscript

Abstract

Camera motion estimation from observed scene features is an important task in image processing to increase the accuracy of many methods, e.g., optical flow and structure-from-motion. Due to the curved geometry of the state space \({\text {SE}}_{3}\) and the nonlinear relation to the observed optical flow, many recent filtering approaches use a first-order approximation and assume a Gaussian a posteriori distribution or restrict the state to Euclidean geometry. The physical model is usually also limited to uniform motions. We propose a second-order optimal minimum energy filter that copes with the full geometry of \({\text {SE}}_{3}\) as well as with the nonlinear dependencies between the state space and observations., which results in a recursive description of the optimal state and the corresponding second-order operator. The derived filter enables reconstructing motions correctly for synthetic and real scenes, e.g., from the KITTI benchmark. Our experiments confirm that the derived minimum energy filter with higher-order state differential equation copes with higher-order kinematics and is also able to minimize model noise. We also show that the proposed filter is superior to state-of-the-art extended Kalman filters on Lie groups in the case of linear observations and that our method reaches the accuracy of modern visual odometry methods.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

  1. Absil, P.A., Mahony, R., Sepulchre, R.: Optimization Algorithms on Matrix Manifolds. Princeton University Press, Princeton (2008)

    Book  MATH  Google Scholar 

  2. Agrachev, A.A., Sachkov, Y.: Control Theory from the Geometric Viewpoint, vol. 2. Springer, Berlin (2004)

    Book  MATH  Google Scholar 

  3. Aguiar, A., Hespanha, J.: Minimum-energy state estimation for systems with perspective outputs. IEEE Trans. Autom. Control 51(2), 226–241 (2006). doi:10.1109/TAC.2005.861686

    Article  MathSciNet  Google Scholar 

  4. Arulampalam, M.S., Maskell, S., Gordon, N., Clapp, T.: A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking. IEEE Trans. Signal Process. 50(2), 174–188 (2002)

    Article  Google Scholar 

  5. Athans, M., Falb, P.: Optimal Control. An Introduction to the Theory and Its Applications. McGraw-Hill, New York (1966)

    MATH  Google Scholar 

  6. Badino, H., Yamamoto, A., Kanade, T.: Visual odometry by multi-frame feature integration. In: 2013 IEEE International Conference on Computer Vision Workshops (ICCVW), pp. 222–229. IEEE (2013)

  7. Bain, A., Crisan, D.: Fundamentals of Stochastic Filtering. Springer, Berlin (2009)

    Book  MATH  Google Scholar 

  8. Barfoot, T.D., Furgale, P.T.: Associating uncertainty with three-dimensional poses for use in estimation problems. IEEE Trans. Robot. 30(3), 679–693 (2014)

    Article  Google Scholar 

  9. Bellavia, F., Fanfani, M., Pazzaglia, F., Colombo, C.: Robust selective stereo SLAM without loop closure and bundle adjustment. In: Image Analysis and Processing—ICIAP 2013, pp. 462–471. Springer (2013)

  10. Berger, J., Neufeld, A., Becker, F., Lenzen, F., Schnörr, C.: Second order minimum energy filtering on SE(3) with nonlinear measurement equations. In: Scale Space and Variational Methods in Computer Vision, pp. 397–409. Springer (2015)

  11. Bonnabel, S.: Left-invariant extended Kalman filter and attitude estimation. In: IEEE Conference on Decision and Control, pp. 1027–1032 (2007)

  12. Bourmaud, G., Mégret, R.: Robust large scale monocular visual SLAM. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1638–1647 (2015)

  13. Bourmaud, G., Mégret, R., Arnaudon, M., Giremus, A.: Continuous-discrete extended Kalman filter on matrix Lie groups using concentrated Gaussian distributions. J. Math. Imaging Vis. 51(1), 209–228 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  14. Brigo, D., Hanzon, B., Le Gland, F.: Approximate nonlinear filtering by projection on exponential manifolds of densities. Bernoulli 5(3), 495–534 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  15. Chikuse, Y.: Statistics on Special Manifolds, vol. 174. Springer, Berlin (2012)

    MATH  Google Scholar 

  16. Chirikjian, G.S.: Stochastic Models, Information Theory, and Lie Groups, Volume 2: Analytic Methods and Modern Applications, vol. 2. Springer, Berlin (2011)

    Google Scholar 

  17. Daum, F.: Nonlinear filters: beyond the Kalman filter. IEEE A&E Syst. Mag. 20(8, Part 2), 57–69 (2005)

    Article  Google Scholar 

  18. Daum, F., Huang, J.: Curse of dimensionality and particle filters. In: Aerospace Conference (2003). doi:10.1109/AERO.2003.1235126

  19. Dieci, L., Eirola, T.: Positive definiteness in the numerical solution of Riccati differential equations. Numer. Math. 67(3), 303–313 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  20. Frogerais, P., Bellanger, J., Senhadji, L.: Various ways to compute the continuous-discrete extended Kalman filter. IEEE Trans. Autom. Control 57, 1000–1004 (2012). doi:10.1109/TAC.2011.2168129

    Article  MathSciNet  Google Scholar 

  21. Geiger, A., Lenz, P., Urtasun, R.: Are we ready for autonomous driving? The KITTI vision benchmark suite. In: Conference on Computer Vision and Pattern Recognition (CVPR) (2012)

  22. Geiger, A., Ziegler, J., Stiller, C.: Stereoscan: Dense 3D reconstruction in real-time. In: Intelligent Vehicles Symposium (IV). IEEE (2011)

  23. Gordon, N.J., Salmond, D.J., Smith, A.F.: Novel approach to nonlinear/non-Gaussian Bayesian state estimation. In: IEE Proceedings F-Radar and Signal Processing, vol. 140, pp. 107–113. IET (1993)

  24. Hairer, E., Lubich, C., Wanner, G.: Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations. Springer, Berlin (2006)

    MATH  Google Scholar 

  25. Hartley, R., et al.: In defense of the eight-point algorithm. IEEE Trans. Pattern Anal. Mach. Intell. 19(6), 580–593 (1997)

    Article  Google Scholar 

  26. Hauberg, S., Lauze, F., Pedersen, K.: Unscented Kalman filtering on Riemannian manifolds. J. Math. Imaging Vis. 46(1), 103–120 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  27. Hsu, E.P.: Stochastic Analysis on Manifolds, vol. 38. American Mathematical Soc., Providence (2002)

    MATH  Google Scholar 

  28. Jazwinski, A.H.: Stochastic Processes and Filtering Theory. Courier Corporation, Chelmsford (2007)

    MATH  Google Scholar 

  29. Julier, S.J., Uhlmann, J.K.: New Extension of the Kalman Filter to Nonlinear Systems. In: AeroSense’97, pp. 182–193. International Society for Optics and Photonics (1997)

  30. Jurdjevic, V.: Geometric Control Theory. Cambridge university press, Cambridge (1997)

    MATH  Google Scholar 

  31. Kalman, R.E.: A new approach to linear filtering and prediction problems. J Fluids Eng. 82(1), 35–45 (1960)

    Google Scholar 

  32. Krener, A.J.: The convergence of the minimum energy estimator. In: New Trends in Nonlinear Dynamics and Control and their Applications. Springer (2003)

  33. Kwon, J., Choi, M., Park, F.C., Chun, C.: Particle filtering on the Euclidean group: framework and applications. Robotica 25(6), 725–737 (2007)

    Article  Google Scholar 

  34. Kwon, J., Lee, K.M.: Monocular SLAM with locally planar landmarks via geometric Rao-Blackwellized particle filtering on Lie Groups. In: CVPR 2010, pp. 1522–1529. IEEE (2010)

  35. Lancaster, P., Rodman, L.: Existence and uniqueness theorems for the algebraic Riccati equation. Int. J. Control 32(2), 285–309 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  36. Markley, F.L.: Attitude error representations for Kalman filtering. J. Guid. Control Dyn. 26(2), 311–317 (2003)

    Article  Google Scholar 

  37. Miller, M.I., Srivastava, A., Grenander, U.: Conditional-mean estimation via jump-diffusion processes in multiple target tracking/recognition. IEEE Trans. Signal Process. 43(11), 2678–2690 (1995)

    Article  Google Scholar 

  38. Mortensen, R.E.: Maximum-likelihood recursive nonlinear filtering. J. Opt. Theory Appl. 2(6), 386–394 (1968)

    Article  MathSciNet  MATH  Google Scholar 

  39. Murray, R., Li, Z., Sastry, S.: A Mathematical Introduction to Robotic Manipulation. CRC Press, Boca Raton (1994)

    MATH  Google Scholar 

  40. Nasihatkon, B., Hartley, R., Trumpf, J.: A generalized projective reconstruction theorem and depth constraints for projective factorization. Int. J. Comput. Vis. 115(2), 87–114 (2015)

  41. Nistér, D.: An efficient solution to the five-point relative pose problem. IEEE Trans. Pattern Anal. Mach. Intell. 26(6), 756–770 (2004)

    Article  Google Scholar 

  42. Petersen, K.B., Pedersen, M.S., et al.: The matrix cookbook. Tech. Univ. Den. 7, 15 (2008)

    Google Scholar 

  43. Rentmeesters, Q., Absil, P.A., Van Dooren, P., Gallivan, K., Srivastava, A.: An efficient particle filtering technique on the Grassmann manifold. In: 2010 IEEE International Conference on Acoustics Speech and Signal Processing (ICASSP), pp. 3838–3841. IEEE (2010)

  44. Saccon, A., Aguiar, A.P., Hauser, J.: Lie group projection operator approach: optimal control on T SO (3). In: CDC, pp. 6973–6978 (2011)

  45. Saccon, A., Hauser, J., Aguiar, A.: Optimal control on Lie groups: the projection operator approach. IEEE Trans. Autom. Control 58(9), 2230–2245 (2013). doi:10.1109/TAC.2013.2258817

    Article  MathSciNet  Google Scholar 

  46. Saccon, A., Trumpf, J., Mahony, R., Aguiar, A.P.: Second-order-optimal filters on Lie groups. In: CDC (2013)

  47. Särkkä, S., Hartikainen, J., Solin, A.: EKF/UKF toolbox for Matlab V1.3 (2011). http://becs.aalto.fi/en/research/bayes/ekfukf/

  48. Schön, T., Gustafsson, F., Nordlund, P.J.: Marginalized particle filters for mixed linear/nonlinear state-space models. IEEE Trans. Signal Process. 53(7), 2279–2289 (2005). doi:10.1109/TSP.2005.849151

    Article  MathSciNet  Google Scholar 

  49. Selig, J.: Lie groups and Lie algebras in robotics. In: Computational Noncommutative Algebra and Applications, pp. 101–125. Springer (2004)

  50. Sturm, P., Triggs, B.: A factorization based algorithm for multi-image projective structure and motion. In: ECCV, pp. 709–720. Springer, Cambridge, England (1996)

  51. Tompkins, F., Wolfe, P.J.: Bayesian filtering on the Stiefel manifold. In: 2nd IEEE International Workshop on Computational Advances in Multi-sensor Adaptive Processing, 2007 (CAMPSAP 2007), pp. 261–264. IEEE (2007)

  52. Triggs, B., McLauchlan, P.F., Hartley, R.I., Fitzgibbon, A.W.: Bundle adjustment—a modern synthesis. In: Vision Algorithms: Theory and Practice, pp. 298–372. Springer (2000)

  53. Tyagi, A., Davis, J.W.: A recursive filter for linear systems on Riemannian manifolds. In: CVPR, pp. 1–8. IEEE (2008)

  54. Vogel, C., Schindler, K., Roth, S.: 3D scene flow estimation with a Rigid motion prior. In: 2011 IEEE International Conference on Computer Vision (ICCV), pp. 1291–1298. IEEE (2011)

  55. Wang, Y., Chirikjian, G.S.: Nonparametric second-order theory of error propagation on motion groups. Int. J. Robot. Res. 27(11–12), 1258–1273 (2008)

    Article  Google Scholar 

  56. Whelan, T., Kaess, M., Leonard, J.J., McDonald, J.: Deformation-based loop closure for large scale dense RGB-D SLAM. In: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 548–555. IEEE (2013)

  57. Wolfe, K., Mashner, M., Chirikjian, G.: Bayesian Fusion on Lie groups. J. Algebr. Stat. 2(1), 75–97 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  58. Zamani, M., Trumpf, J., Mahony, R.: Minimum-energy filtering for attitude estimation. IEEE Trans. Autom. Control 58(11), 2917–2921 (2013)

  59. Zamani, M., Trumpf, J., Mahoney, M.: A second order minimum-energy filter on the special orthogonal group. In: Proc. ACC (2012)

  60. Žefran, M., Kumar, V., Croke, C.: Metrics and connections for rigid-body kinematics. Int. J. Robot. Res. 18(2), 242–251 (1999)

    Google Scholar 

  61. Zhang, C., Taghvaei, A., Mehta, P.G.: Feedback particle filter on matrix Lie groups (2015). arXiv:1510.01259

Download references

Acknowledgements

This work was supported by the DFG (German Research Foundation), Grant GRK 1653.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Johannes Berger.

Appendices

Appendix 1: Properties of \({\text {SE}}_{3}\) and \(\mathcal {G}\)

1.1 Projection onto \(\mathfrak {se}_{3}\)

The projection \({\text {Pr}}: \mathbb {R}^{4\times 4} \rightarrow \mathfrak {se}_{3}\) is given by

$$\begin{aligned} \begin{aligned} {\text {Pr}}(A)&:= \tfrac{1}{2}{\text {diag}}((1,1,1,0)^{\top }) \bigl (A {\text {diag}}((1,1,1,2)^{\top }) \\&\qquad - A^{\top } {\text {diag}}((1,1,1,0)^{\top }) \bigr ). \end{aligned} \end{aligned}$$
(80)

1.2 Adjoints, Exponential and Logarithmic Map

The adjoint operator \({\text {ad}}_{\mathfrak {se}} (\left[ v\right] _{\mathfrak {se}}^{\wedge })\) can be computed for a vector \(v\in \mathbb {R}^{6}\) as follows

$$\begin{aligned} {\left[ {\text {ad}}_{\mathfrak {se}} (\left[ v\right] _{\mathfrak {se}}^{\wedge }) \eta \right] _{\mathfrak {se}}^{\vee }}&= {\text {ad}}_{\mathfrak {se}}^{{\text {vec}}}(\left[ v\right] _{\mathfrak {se}}^{\wedge }) {\left[ \eta \right] _{\mathfrak {se}}^{\vee }} \nonumber \\&:= \begin{pmatrix}\left[ v_{1:3}\right] _{\mathfrak {so}}^{\wedge } &{} \mathbf {0}_{3\times 3} \\ \left[ v_{4:6}\right] _{\mathfrak {so}}^{\wedge } &{} \left[ v_{1:3}\right] _{\mathfrak {so}}^{\wedge } \end{pmatrix}{\left[ \eta \right] _{\mathfrak {se}}^{\vee }} , \end{aligned}$$
(81)

where \(\left[ v_{1:3}\right] _{\mathfrak {so}}^{\wedge }:=(\left[ v\right] _{\mathfrak {se}}^{\wedge })_{1:3,1:3}\).

Since \(\mathbb {R}^{6}\) is trivial, the adjoint representation on \(\mathfrak {g}\) parametrized by a vector \(v \in \mathbb {R}^{12}\) is

$$\begin{aligned} {\text {ad}}_{\mathfrak {g}}^{{\text {vec}}} ({\left[ v\right] _{\mathfrak {g}}^{\wedge }}) = \begin{pmatrix}{\text {ad}}_{\mathfrak {se}}^{{\text {vec}}}(v_{1:6}) &{} \mathbf {0}_{6\times 6} \\ \mathbf {0}_{6\times 6} &{} \mathbf {0}_{6\times 6} \end{pmatrix}. \end{aligned}$$
(82)

The exponential map \({\text {Exp}}_{{\text {SE}}_{3}}: \mathfrak {se}_{3}\rightarrow {\text {SE}}_{3}\) and the logarithmic map on \({\text {SE}}_{3}\) can be computed by the matrix exponential and matrix logarithm or more efficiently by the Rodrigues’ formula as in [39, p. 413f ].

Then, the exponential map \({\text {Exp}}_{\mathcal {G}}:\mathfrak {se}_{3}\rightarrow {\text {SE}}_{3}\) for a tangent vector \(\eta = (\eta _{1}, \eta _{2})\in \mathfrak {g}\) and the logarithmic map \({\text {Log}}_{G}:{\text {SE}}_{3}\rightarrow \mathfrak {se}_{3}\) for \(x =(E,v) \in \mathcal {G}\) are simply

$$\begin{aligned} {\text {Exp}}_{\mathcal {G}}(\eta )&= ({\text {Exp}}_{{\text {SE}}_{3}}(\eta _{1}), \eta _{2}) \in \mathcal {G}, \end{aligned}$$
(83)
$$\begin{aligned} {\text {Log}}_{\mathcal {G}}(x)&= ({\text {Log}}_{{\text {SE}}_{3}}(E), v) \in \mathfrak {g}, \end{aligned}$$
(84)

and similar for higher-order state spaces.

1.3 Vectorization of Connection Function

Following [1, Section  5.2], we can vectorize the connection function \(\omega \) of the Levi-Civita connection \(\nabla \) for constant \(\eta ,\) \(\xi \in \mathfrak {g}\) in the following way:

$$\begin{aligned} {\left[ \omega _{\eta }\xi \right] _{\mathfrak {g}}^{\vee }}&= {\left[ \omega (\eta ,\xi )\right] _{\mathfrak {g}}^{\vee }} = {\left[ \nabla _{\eta } \xi \right] _{\mathfrak {g}}^{\vee }} = {\varGamma ({\left[ \xi \right] _{\mathfrak {g}}^{\vee }})}{\left[ \eta \right] _{\mathfrak {g}}^{\vee }} , \end{aligned}$$
(85)

where \({\varGamma (\gamma )}\) is the matrix whose (ij) element is the real-valued function

$$\begin{aligned} \bigl ({\varGamma }(\gamma )\bigr )_{i,j} := \sum _{k} ({\gamma _{k}} \varGamma _{jk}^{i}) , \end{aligned}$$
(86)

and \(\varGamma _{jk}^{i}\) are the Christoffel symbols of the connection function \(\omega \) for a vector \(\gamma \in \mathbb {R}^{12}.\) Similarly, permuting indices, we can define the adjoint matrix \({\varGamma ^{*}(\gamma )}\), whose (ij)-th element is given by

$$\begin{aligned} \bigl ({\varGamma ^{*}(\gamma )}\bigr )_{i,j} := \sum _{k} (\gamma _{k} \varGamma _{kj}^{i}). \end{aligned}$$
(87)

This leads to the following equality:

$$\begin{aligned} {\left[ \omega _{\eta }\xi \right] _{\mathfrak {g}}^{\vee }} = {\varGamma ^{*}({\left[ \eta \right] _{\mathfrak {g}}^{\vee }})}{\left[ \xi \right] _{\mathfrak {g}}^{\vee }}. \end{aligned}$$
(88)

If the expression \(\xi \) in (85) is non-constant, we will obtain the following vectorization from [1, Eq. (5.7)] for the case of the Lie algebra \(\mathfrak {se}_{3}\), i.e.,

$$\begin{aligned}&{{\left[ \nabla _{\eta _{x}} \xi (x)\right] _{\mathfrak {se}}^{\vee }}} \nonumber \\&\quad = {\varGamma ({\left[ \xi (x)\right] _{\mathfrak {g}}^{\vee }})}{\left[ \eta _{x}\right] _{\mathfrak {se}}^{\vee }} + \mathbf {d}{\left[ \xi (x)\right] _{\mathfrak {se}}^{\vee }}[{\left[ \eta _{x}\right] _{\mathfrak {se}}^{\vee }}] \nonumber \\&\quad = {\varGamma ({\left[ \xi (x)\right] _{\mathfrak {g}}^{\vee }})}{\left[ \eta _{x}\right] _{\mathfrak {se}}^{\vee }} + \sum _{i} (\eta _{x})_{i} {\left[ \mathbf {d}\xi (x)[E^{i}]\right] _{\mathfrak {se}}^{\vee }} \nonumber \\&\quad = {\varGamma ({\left[ \xi (x)\right] _{\mathfrak {g}}^{\vee }})}{\left[ \eta _{x}\right] _{\mathfrak {se}}^{\vee }} + D {\left[ \eta _{x}\right] _{\mathfrak {se}}^{\vee }}, \end{aligned}$$
(89)

where the entries of the matrix \(D \in \mathbb {R}^{6\times 6}\) can be computed as

$$\begin{aligned} (D)_{i,j} = \left( {\left[ \mathbf {d}\xi (x)[E^{j}]\right] _{\mathfrak {se}}^{\vee }}\right) _{i}, \quad E^{j} = \left[ e_{j}^{6}\right] _{\mathfrak {se}}^{\wedge }, \end{aligned}$$
(90)

where \(e_{j}^{6}\) denotes the j-th unit vector in \(\mathbb {R}^{6}\).

Appendix 2: Proofs

Proof (of Proposition 1)

The tangent map is simply the differential or directional derivative. For \(x_{1}=(E_{1},v_{1}) ,x_{2}=(E_{2},v_{2})\in \mathcal {G}\) it holds \(T_{x_{2}}L_{x_{1}}:T_{x_{2}}\mathcal {G}\rightarrow T_{L_{x_{1}}(x_{2})}\mathcal {G}.\) Thus, we can compute it for a \(\eta = (E_{2}\eta _{1},\eta _{2})\in T_{x_{2}}\mathcal {G}= T_{E_{2}}{\text {SE}}_{3}\times \mathbb {R}^{6}\) as follows

$$\begin{aligned} T_{x_2} L_{x_{1}}\eta&= \mathbf {d}L_{x_{1}}(x_{2}) [\eta ] \\&= \lim _{\tau \rightarrow 0^{+}} \tau ^{-1} \bigl ( L_{x_{1}}(x_{2}+\tau \eta ) - L_{x_{1}}(x_{2}) \bigr ) \\&= \lim _{\tau \rightarrow 0^{+}} \tau ^{-1} \bigl ( L_{(E_{1},v_{1})}((E_{2}+\tau E_{2}\eta _{1}, v_{2}+\tau \eta _{2})) \\&\quad - (E_{1}E_{2},v_{1}+v_{2})\bigr ) \\&= \lim _{\tau \rightarrow 0^{+}} \tau ^{-1} \bigl ( (E_{1}E_{2} + \tau E_{1}E_{2}\eta _{1}, v_{1}+ v_{2} + \tau \eta _{2} ) \\&\quad - (E_{1}E_{2},v_{1}+v_{2})\bigr ) \\&= (E_{1}E_{2}\eta _{1}, \eta _{2}) \in T_{x_{1}x_2}\mathcal {G}= T_{L_{x_{1}}(x_2)}\mathcal {G}. \end{aligned}$$

For \(x_{2}={\text {Id}}= (\mathbbm {1}_{4}, \mathbf {0}_{6})\) and \(\eta = (\eta _{1}, \eta _{2}) \in \mathfrak {g}\), we gain

$$\begin{aligned} T_{{\text {Id}}}L_{x_{1}} \eta = (E_{1}\eta _{1}, \eta _{2}) = L_{(E_{1}, \mathbf {0}_{6})}(\eta _{1},\eta _{2}) =: x_{1} \eta \in T_{x_{1}}\mathcal {G}. \end{aligned}$$

Note that the adjoint of the tangent map of \(L_{x}\) at identity can be expressed as inverse of \(x=(E,v)\), i.e., for \(\eta =(\eta _{1},\eta _{2}) \in T_{x}\mathcal {G}\) and \(\xi =(\xi _{1}, \xi _{2}) \in \mathfrak {g}\)

$$\begin{aligned} \langle T_{{\text {Id}}}L_{x}^{*} \eta ,\xi \rangle _{{\text {Id}}}&= \langle \eta , T_{{\text {Id}}}L_{x} \xi \rangle _{x} \\&= \langle \eta _{1}, E\xi _{1} \rangle _{E} + \langle \eta _{2} , \xi _{2} \rangle \\&= \langle E^{-1} \eta _{1}, \xi _{1} \rangle _{{\text {Id}}_{\mathfrak {se}_{3}}} + \langle \eta _{2}, \xi _{2} \rangle \\&= \langle L_{(E^{-1},\mathbf {0}_{6})}\eta , \xi \rangle _{{\text {Id}}} . \end{aligned}$$

Thus, \(T_{{\text {Id}}}L_{x}^{*} \eta = L_{(E^{-1}, \mathbf {0}_{6})}\eta \). We will use the shorthand \(x^{-1}\eta := T_{{\text {Id}}}L_{x}^{*}\eta \) for the dual of the tangent map of \(L_{x}\) at identity. \(\square \)

Proof (of Lemma 1)

Since \(\mu = (\mu _{1}, \mu _{2})\) and v are independent of E, the gradient \(\mathbf {d}_{1} \mathcal {H}(x=(E,v), \mu , t)\) can be computed separately in terms of E and v, i.e., for \(\eta = (E \eta _{1}, \eta _{2}) \in T_{x}\mathcal {G}\)

$$\begin{aligned} \mathbf {d}_{1} \mathcal {H}(x,\mu ,t)[\eta ] =&\Bigl ( \mathbf {d}_{E} \Bigl (\tfrac{1}{2}e^{-\alpha (t-t_{0})} \sum _{z \in \varOmega } ||y_{z}-h_{z}(E)||_{Q}^{2} \Bigr )[\eta _{1}], \\&\quad - \mathbf {d}_{v}\langle \mu _{1}, \left[ v\right] _{\mathfrak {se}}^{\wedge }\rangle [\eta _{2}] \Bigr ) . \end{aligned}$$

The directional derivative regarding v can be computed by the usual gradient on \(\mathbb {R}^{6}\), which is given by

$$\begin{aligned} \begin{aligned} - \mathbf {d}_{v} \langle \mu _{1}, \left[ v\right] _{\mathfrak {se}}^{\wedge } \rangle [\eta _{2}] =&- \langle {\left[ \mu _{1}\right] _{\mathfrak {se}}^{\vee }}, \mathbf {d}_{v} v[\eta _{2}] \rangle \\ =&\langle -{\left[ \mu _{1}\right] _{\mathfrak {se}}^{\vee }}, \eta _{2} \rangle , \end{aligned} \end{aligned}$$
(91)

such that \(\mathbf {d}_{v} \langle \mu _{1}, \left[ v\right] _{\mathfrak {se}}^{\wedge } \rangle = -{\left[ \mu _{1}\right] _{\mathfrak {se}}^{\vee }}\). For the directional derivative of \(\mathcal {H}\), we first consider the directional derivative of \(h_{z}(E).\) Since \(h_{z}(E)\) can also be written as

$$\begin{aligned} h_{z}(E):= ({\mathbf {e}} E^{-1}g_{z})^{-1} \hat{I}E^{-1} g_{z}, \end{aligned}$$
(92)

with \(\quad \hat{I}:=\left( {\begin{matrix}1 &{} 0 &{} 0 &{} 0 \\ 0 &{} 1 &{} 0 &{} 0 \end{matrix}}\right) \) and \(\mathbf {e}:= \left( {\begin{matrix}0&0&1&0\end{matrix}}\right) \), the directional derivative (into direction \(\xi \)) can be derived by the following matrix calculus:

$$\begin{aligned}&\mathbf {d}h_{z}(E) [\xi ] \end{aligned}$$
(93)
$$\begin{aligned}&\quad = \mathbf {d}\bigl (({\mathbf {e}} E^{-1}g_{z})^{-1}\bigr )[\xi ]\hat{I}E^{-1} g_{z}+ ({\mathbf {e}} E^{-1}g_{z})^{-1} \mathbf {d}\bigl (\hat{I}E^{-1} g_{z}\bigr )[\xi ] \nonumber \\&\quad = - \kappa _{z}^{-1} \mathbf {d}({\mathbf {e}}E^{-1}g_{z})[\xi ] \kappa _{z}^{-1} \hat{I} E^{-1} g_{z} + \kappa _{z}^{-1} \hat{I} \mathbf {d}(E^{-1})[\xi ] g_{z} \nonumber \\&\quad = - \kappa _{z}^{-1}{\mathbf {e}} \mathbf {d}( E^{-1})[\xi ]g_{z} \kappa _{z}^{-1} \hat{I} E^{-1} g_{z} + \kappa _{z}^{-1} \hat{I} \mathbf {d}(E^{-1})[\xi ] g_{z} \nonumber \\&\quad = - \kappa _{z}^{-1}{\mathbf {e}} (-1)E^{-1} \mathbf {d}(E)[\xi ]E^{-1}g_{z} \kappa _{z}^{-1} \hat{I} E^{-1} g_{z} \nonumber \\&\qquad \quad + \kappa _{z}^{-1} \hat{I}(-1)E^{-1} \mathbf {d}(E)[\xi ]E^{-1} g_{z} \nonumber \\&\quad = \kappa _{z}^{-2}{\mathbf {e}}E^{-1}\xi E^{-1}g_{z}\hat{I} E^{-1} g_{z} - \kappa _{z}^{-1} \hat{I}E^{-1} \xi E^{-1} g_{z}, \end{aligned}$$
(94)

where \(\kappa _{z} = \kappa _{z}(E):= {\mathbf {e}}E^{-1} g_{z}.\) Then for the choice \(\xi = E\eta _{1}\) we find that

$$\begin{aligned}&e^{\alpha (t-t_{0})} \mathbf {d}_{1} \mathcal {H}(x, \mu , t)[E\eta _{1}] \end{aligned}$$
(95)
$$\begin{aligned}&\quad = - \sum _{z \in \varOmega } {\text {tr}}\bigl ( \mathbf {d}h_{z}(E)[E\eta _{1}] (y_{z} - h_{z}(E))^{\top } Q \bigr ) \nonumber \\&\quad = - \sum _{z \in \varOmega } {\text {tr}}\bigl ( \bigl ( \kappa _{z}^{-2} ({\mathbf {e}} \eta _{1} E^{-1} g_{z}) \hat{I}E^{-1} g_{z}-\kappa _{z}^{-1} \hat{I} \eta _{1} E^{-1} g_{z}\bigr ) \nonumber \\&\qquad \quad \cdot (y_{z} - h_{z}(E))^{\top } Q \bigr )\nonumber \\&\quad =\sum _{z \in \varOmega } {\text {tr}}\bigl ( \bigl (\kappa _{z}^{-1} \hat{I} \eta _{1} E^{-1} g_{z}- \kappa _{z}^{-2} ({\mathbf {e}} \eta _{1} E^{-1} g_{z}) \hat{I}E^{-1} g_{z}\bigr )\nonumber \\&\qquad \quad \cdot (y_{z} - h_{z}(E))^{\top }Q \bigr )\nonumber \\&\quad = \sum _{z \in \varOmega } {\text {tr}}\bigl ( \bigl (\kappa _{z}^{-1} \hat{I} \eta _{1} E^{-1} g_{z}- \kappa _{z}^{-2} \hat{I}E^{-1} g_{z} {\mathbf {e}} \eta _{1} E^{-1} g_{z} \bigr ) \nonumber \\&\qquad \quad \cdot (y_{z} - h_{z}(E))^{\top } Q \bigr )\nonumber \\&\quad = \sum _{z \in \varOmega } {\text {tr}}\bigl ( \bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I}E^{-1} g_{z} {\mathbf {e}}\bigr ) \eta _{1} E^{-1} g_{z} (y_{z} - h_{z}(E))^{\top } Q \bigr ) \nonumber \\&\quad = \sum _{z \in \varOmega } {\text {tr}}\bigl (E^{-1} g_{z} (y_{z} - h_{z}(E))^{\top } Q \bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I}E^{-1} g_{z} {\mathbf {e}}\bigr )\eta _{1} \bigr )\nonumber \\&\quad = \sum _{z \in \varOmega } \big \langle \underbrace{\bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I} E^{-1} g_{z}{\mathbf {e}} \bigr )^{\top }Q(y_{z} - h_{z}(E)) g_{z}^{\top } E^{-\top }}_{=:\hat{G}_{z}^{t}(E,y)=:\hat{G}_{z}(E)},\eta _{1} \big \rangle \,_{{\text {Id}}} . \end{aligned}$$
(96)

Here we used the property that the trace is cyclic. We obtain the Riemannian gradient on \({\text {SE}}_{3}\) by projecting (cf. [1, Section  3.6.1]) the left-hand side of the Riemannian metric in (96) onto \(T_{E}{\text {SE}}_{3}\), which is for \(x=(E,v)\)

$$\begin{aligned} \begin{aligned} \mathbf {d}_{E} \mathcal H(x,\mu ,t)&= e^{-\alpha (t-t_{0})} \sum _{z\in \varOmega } {\text {Pr}}_{E}\bigl (E \hat{G}_{z}(E) \bigr )\\&= e^{-\alpha (t-t_{0})} \sum _{z\in \varOmega } E{\text {Pr}}\bigl ( \hat{G}_{z}(E) \bigr ) , \end{aligned} \end{aligned}$$
(97)

with \(\hat{G}_{z}(E):=\hat{G}_{z}(E,y):= \bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I} E^{-1} g_{z}{\mathbf {e}} \bigr )^{\top } Q(y_{z} - h_{z}(E)) g_{z}^{\top } E^{-\top }\), and \({\text {Pr}}_{E}:{\text {GL}}_{4} \rightarrow T_{E}{\text {SE}}_{3}\) denotes the projection onto the tangential space \(T_{E}{\text {SE}}_{3}\) that can be expressed in terms of \({\text {Pr}}_{E}(E \cdot ) = E {\text {Pr}}(\cdot )\). Besides, \({\text {Pr}}:{\text {GL}}_{4} \rightarrow \mathfrak {se}_{3}\) denotes the projection onto the Lie algebra \(\mathfrak {se}_{3}\) as given in (80).

Putting together (91) and (97) results in

$$\begin{aligned}&\mathbf {d}_{1}\mathcal {H}(x,\mu ,t) \nonumber \\&\quad = \left( e^{-\alpha (t-t_{0})} \sum _{z\in \varOmega } E{\text {Pr}}\bigl ( \hat{G}_{z}(E) \bigr ), -{\left[ \mu _{1}\right] _{\mathfrak {se}}^{\vee }}\right) \in T_{x}\mathcal {G}. \end{aligned}$$
(98)

\(\square \)

Proof (of Lemma 2)

Eq. (52) can be easily found by considering a basis of \(\mathfrak {se}_{3}\) and by the fact that Z is a linear operator on the Lie algebra. Since the resulting matrix \(K(t) {\left[ \eta \right] _{\mathfrak {g}}^{\vee }} := Z(x)\circ \eta \) depends only on t, equation (53). Eq.(54) is trivial since Z is linear.

  1. 1.

    With the symmetry of the Levi-Civita connection, i.e.,

    $$\begin{aligned}{}[\eta ,\xi ] = \nabla _{\eta }\xi - \nabla _{\xi }\eta , \end{aligned}$$
    (99)

    we gain the following equalities

    $$\begin{aligned}&{\left[ Z(x)[ \omega _{x^{-1} \dot{x}}\eta ] + Z(x)\bigl [\omega _{\mathbf {d}_{2}\mathcal {H}(x,\mathbf {0},t)}^{\leftrightharpoons }\eta \bigr ]\right] _{\mathfrak {g}}^{\vee }} \nonumber \\ \mathop {=}\limits ^{(52)}&K(t) {\left[ \omega _{x^{-1} \dot{x}}\eta + \omega _{\mathbf {d}_{2}\mathcal {H}(x,\mathbf {0},t)}^{\leftrightharpoons }\eta \right] _{\mathfrak {g}}^{\vee }} \nonumber \\ \mathop {=}\limits ^{(49)}&K(t)\Bigl ( {\left[ \nabla _{ -\mathbf {d}_{2} \mathcal {H}(x,\mathbf {0},t)}\eta \right] _{\mathfrak {g}}^{\vee }} \nonumber \\&- {\left[ \nabla _{e^{-\alpha (t-t_{0})} Z(x)^{-1}[G(x)]}\eta + \nabla _{\eta }\mathbf {d}_{2}\mathcal {H}(x,\mathbf {0},t)\right] _{\mathfrak {g}}^{\vee }} \Bigr )\nonumber \\ \mathop {=}\limits ^{(99)}&K(t) \Bigl ({\left[ -[\mathbf {d}_{2}\mathcal {H}(x,\mathbf {0},t),\eta ]\right] _{\mathfrak {g}}^{\vee }} \nonumber \\&- {\left[ \nabla _{e^{-\alpha (t-t_{0})} Z(x)^{-1} [G(x)]}\eta \right] _{\mathfrak {g}}^{\vee }} \Bigr ) \nonumber \\ \mathop {=}\limits ^{(88)}&K(t) \Bigl ( {\left[ [f(x),\eta ]\right] _{\mathfrak {g}}^{\vee }} \nonumber \\&- \varGamma ^{*}\bigl ({\left[ e^{-\alpha (t-t_{0})} Z(x)^{-1}[G(x)]\right] _{\mathfrak {g}}^{\vee }}\bigr ){\left[ \eta \right] _{\mathfrak {g}}^{\vee }} \Bigr ) \nonumber \\ \mathop {=}\limits ^{(52)}&K(t) \Bigl ( {\left[ (f(x),\eta )\right] _{\mathfrak {g}}^{\vee }} \nonumber \\&+ \varGamma ^{*}\bigl (-e^{-\alpha (t-t_{0})} K(t)^{-1}{\left[ G(x)\right] _{\mathfrak {g}}^{\vee }}\bigr ) {\left[ \eta \right] _{\mathfrak {g}}^{\vee }}\Bigr ) \nonumber \\ \mathop {=}\limits ^{(82)}&K(t) \Bigl ( {\text {ad}}_{\mathfrak {g}}^{\vee } (f(x)) \nonumber \\&+ \varGamma ^{*}\bigl (-e^{-\alpha (t-t_{0})} K(t)^{-1}{\left[ G(x)\right] _{\mathfrak {g}}^{\vee }}\bigr ) \Bigr ){\left[ \eta \right] _{\mathfrak {g}}^{\vee }} \nonumber \\ =:&K(t) B(x) {\left[ \eta \right] _{\mathfrak {g}}^{\vee }}. \end{aligned}$$
    (100)

    The claim follows from the fact that the adjoints and the Christoffel symbols on \(\mathbb {R}^{6}\) are zero, such that B reads as i.e.,

    $$\begin{aligned} B(x) = \left( {\begin{matrix}-C_{1,1}^{t} (x)&{} \mathbf {0}_{6 \times 6} \\ \mathbf {0}_{6 \times 6} &{} \mathbf {0}_{6 \times 6} \end{matrix}}\right) . \end{aligned}$$
    (101)

    with \(C_{1,1}^t\) from Theorem 1.

  2. 2.

    Since this expression is dual to the expression in 1., the claim follows by using its transpose.

  3. 3.

    Recall that the Hamiltonian in (32) is given by

    $$\begin{aligned} \mathcal {H}((E,v), \mu , t)&= \tfrac{1}{2}e^{-\alpha (t-t_{0})} \Bigl ( \sum _{z \in \varOmega } ||y_{z}-h_{z}(E)||_{Q}^{2} \Bigr ) \\&\quad - \tfrac{1}{2}e^{\alpha (t-t_{0})}\Bigg ( \left\langle \mu _{1}, \left[ S_{1}^{-1}{\left[ \mu _{1}\right] _{\mathfrak {se}}^{\vee }}\right] _{\mathfrak {se}}^{\wedge } \right\rangle _{{\text {Id}}} \\&\quad + \big \langle \mu _{2}, S_{2}^{-1} \mu _{2} \big \rangle \Bigr ) - \big \langle \mu _{1}, \left[ v\right] _{\mathfrak {se}}^{\wedge }\big \rangle _{{\text {Id}}} . \end{aligned}$$

    The Riemannian Hessian w.r.t. the first component can be computed for \(x=(E,v) \in \mathcal {G}\), \(\eta =(\eta _{1},\eta _{2}) \in \mathfrak {g}\) and the choice \(\mu = (\mu _{1},\mu _{2})=(\mathbf {0}_{4\times 4}, \mathbf {0}_{6})\) as

    $$\begin{aligned}&e^{\alpha (t-t_{0})}{\left[ x^{-1} {\text {Hess}}_{1} \mathcal {H}(x,\mu ,t)[x\eta ]\right] _{\mathfrak {g}}^{\vee }} \nonumber \\&=e^{\alpha (t-t_{0})} {\left[ x^{-1} \nabla _{x\eta } \mathbf {d}_{1} \mathcal {H}(x,\mathbf {0},t)\right] _{\mathfrak {g}}^{\vee }} \end{aligned}$$
    (102)
    $$\begin{aligned}&= e^{\alpha (t-t_{0})} {\left[ \nabla _{\eta } x^{-1} \mathbf {d}_{1} \mathcal {H}(x,\mathbf {0},t)\right] _{\mathfrak {g}}^{\vee }} \end{aligned}$$
    (103)
    $$\begin{aligned}&= {\left[ \nabla _{\eta } \bigl (\sum _{z \in \varOmega }{\text {Pr}}(\hat{G}_{z}(E)), -e^{\alpha (t-t_{0})} {\left[ \mathbf {0}_{4\times 4}\right] _{\mathfrak {se}}^{\vee }} \bigr )\right] _{\mathfrak {g}}^{\vee }} \end{aligned}$$
    (104)
    $$\begin{aligned}&= \Bigl (\sum _{z \in \varOmega } {\left[ \nabla _{\eta _{1}} {\text {Pr}}\bigl (\hat{G}_{z}(E)\bigr )\right] _{\mathfrak {se}}^{\vee }}, \mathbf {0}_{6}\Bigr ) \nonumber \\&= \sum _{z \in \varOmega }\Bigl ( \varGamma \left( {\left[ {\text {Pr}}(\hat{G}_{z}(E))\right] _{\mathfrak {g}}^{\vee }}\right) {\left[ \eta _{1}\right] _{\mathfrak {se}}^{\vee }} \nonumber \\&\qquad + \sum _{i} ({\left[ \eta _{1}\right] _{\mathfrak {se}}^{\vee }})_{i} {\left[ \mathbf {d}{Pr}\bigl (\hat{G}_{z}(E)\bigr ))[E^{i}]\right] _{\mathfrak {se}}^{\vee }} , \mathbf {0}_{6} \Bigr ). \end{aligned}$$
    (105)

    Here, line (102) follows from the general definition of the Hessian (cf. [1, Def. 5.5.1]). Line (103) is valid because of the linearity of the affine connection, equation (104) results from insertion of the expression in Lemma 1 and (105) can be achieved with (89).

    Next, we calculate the differential \( \mathbf {d}{Pr}(\hat{G}_{z}(E)) [\eta _{1}]\) in (105) for an arbitrary direction \(\eta _{1}\). Since the projection is a linear operation (cf. (80)), i.e., \(\mathbf {d}{Pr}(\hat{G}_{z}(E))[\eta _{1}] = {\text {Pr}}(\mathbf {d}\hat{G}_{z}(E)[\eta _{1}])\), we require calculating \(\mathbf {d}\hat{G}_{z}(E)[\eta _{1}]\). By using the product rule and the definition of \(\hat{G}_{z}\) from (37), we obtain

    $$\begin{aligned}&\mathbf {d}\hat{G}_{z}(E) [\eta _{1}] \nonumber \\&\quad = \mathbf {d}\bigl (\bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I} E^{-1} g_{z}{\mathbf {e}} \bigr )^{\top }Q(y_{z} - h_{z}(E)) g_{z}^{\top } E^{-\top } \bigr )[\eta _{1}] \nonumber \\&\quad = \bigl (\mathbf {d}\bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I} E^{-1} g_{z}{\mathbf {e}} \bigr )^{\top }[\eta _{1}]Q(y_{z} - h_{z}(E)) g_{z}^{\top } E^{-\top } \bigr ) \nonumber \\&\qquad + \bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I} E^{-1} g_{z}{\mathbf {e}} \bigr )^{\top }Q \Bigl (\Bigl ( - \mathbf {d}h_{z}(E)[\eta _{1}]\Bigr ) g_{z}^{\top } E^{-\top } \Bigr ) \nonumber \\&\qquad + \bigl ((y_{z} - h_{z}(E)) g_{z}^{\top } \mathbf {d}E^{-\top }[\eta _{1}] \bigr ) \Bigr ) . \end{aligned}$$
    (106)

    The directional derivative of \(\bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I} E^{-1} g_{z}{\mathbf {e}} \bigr )\) is

    $$\begin{aligned}&\mathbf {d}\bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I} E^{-1} g_{z}{\mathbf {e}} \bigr )[\eta _{1}] \nonumber \\&\quad = -\kappa _{z}^{-2} {\mathbf {e}} \mathbf {d}E^{-1}[\eta _{1}] g_{z}\hat{I} + 2 \kappa _{z}^{-3}{\mathbf {e}} \mathbf {d}E^{-1}[\eta _{1}]g_{z} \hat{I}E^{-1}g_{z}{\mathbf {e}} \nonumber \\&\qquad - \kappa _{z}^{-2} \hat{I} \mathbf {d}E^{-1} [\eta _{1}] g_{z}{\mathbf {e}} \nonumber \\&\quad = \kappa _{z}^{-2} {\mathbf {e}} E^{-1}\eta E^{-1} g_{z} \hat{I} - 2\kappa _{z}^{-3}{\mathbf {e}} E^{-1}\eta _{1} E^{-1} g_{z} \hat{I}E^{-1}g_{z}{\mathbf {e}}\nonumber \\&\qquad + \kappa _{z}^{-2} \hat{I}E^{-1} \eta _{1} E^{-1} g_{z}{\mathbf {e}} . \end{aligned}$$
    (107)

    By inserting the directional derivatives (107), (94) and \(\mathbf {d}E^{-\top }[\eta _{1}] = -(E^{-1}\eta _{1}E^{-1})^{\top }\) into (106), we obtain the vector-valued function \(\zeta ^{k}(E)(\cdot ): \mathfrak {se}_{3}\rightarrow \mathbb {R}^{6}\) defined as

    $$\begin{aligned}&\left[ \zeta ^{k}(E)(\eta _{1})\right] _{\mathfrak {se}}^{\wedge } := {\text {Pr}}\bigl (\mathbf {d}\hat{G}_{z}(E)[\eta _{1}] \bigr ) \nonumber \\&\quad = {\text {Pr}} \biggl (\Bigl (\kappa _{z}^{-2} {\mathbf {e}} E^{-1}\eta _{1} E^{-1} g_{z} \hat{I} - 2\kappa _{z}^{-3}{\mathbf {e}} E^{-1}\eta _{1} E^{-1} g_{z} \hat{I}E^{-1}g_{z}{\mathbf {e}} \nonumber \\&\qquad + \kappa _{z}^{-2} \hat{I}E^{-1} \eta _{1} E^{-1} g_{z}{\mathbf {e}}\Bigr )^{\top }Q\bigl (y_{z} - h_{z}(E)\bigr ) g_{z}^{\top } E^{-\top } \nonumber \\&\qquad + \bigl (\kappa _{z}^{-1}\hat{I} - \kappa _{z}^{-2} \hat{I} E^{-1} g_{z}{\mathbf {e}} \bigr )^{\top }Q \Bigl (\bigl (\kappa _{z}^{-1} \hat{I}E^{-1} \eta _{1} E^{-1} g_{z} \nonumber \\&\qquad - \kappa _{z}^{-2}{\mathbf {e}}E^{-1}\eta _{1} E^{-1}g_{z}\hat{I} E^{-1} g_{z} \bigr ) g_{z}^{\top }E^{-\top } \nonumber \\&\qquad - \bigl (y_{z}-h_{z}(E)\bigr )g_{z}^{\top } E^{-\top } \eta _{1}^{\top } E^{-\top } \Bigr )\biggr ) . \end{aligned}$$
    (108)

    Using the basis \(\{E^{j}\}_{j=1}^{6}\) of \(\mathfrak {se}_{3}\), with \(E^{j}:= \left[ e_{j}^{6}\right] _{\mathfrak {se}}^{\wedge }\) we define, as in (90), the following matrix \(D_{z}(E) \in \mathbb {R}^{6\times 6}\) with components

    $$\begin{aligned} (D_{z}(E))_{i,j}:= \zeta _{i}^{k}(E^{j}). \end{aligned}$$
    (109)

    By using Eq. (89), we find that

    $$\begin{aligned} {\left[ \nabla _{\eta _{1}} {\text {Pr}}(\hat{G}_{z}(E))\right] _{\mathfrak {se}}^{\vee }} = \bigl (\varGamma ({\text {Pr}}(\hat{G}_{z}(E))) + D_{z}(E)\bigr ) {\left[ \eta _{1}\right] _{\mathfrak {se}}^{\vee }}. \end{aligned}$$

    Insertion of this expression into (105) finally leads to the desired result, i.e.,

    $$\begin{aligned}&e^{\alpha (t-t_{0})}{\left[ x^{-1} {\text {Hess}}_{1} \mathcal {H}(x,\mu ,t)[x\eta ]\right] _{\mathfrak {g}}^{\vee }} \nonumber \\&\quad = \begin{pmatrix} \sum _{z \in \varOmega } \bigl ( \varGamma \bigl ({\left[ {\text {Pr}}\bigl (\hat{G}_{z}(E)\bigr )\right] _{\mathfrak {se}}^{\vee }}\bigr ) + D_{z}(E)\bigr ) &{} \mathbf {0}_{6\times 6} \\ \mathbf {0}_{6\times 6} &{} \mathbf {0}_{6\times 6} \end{pmatrix} {\left[ \eta \right] _{\mathfrak {g}}^{\vee }} . \end{aligned}$$
  4. 4.

    The Riemannian gradient of the Hamiltonian regarding the second component is zero, thus we obtain

    $$\begin{aligned} \mathbf {d}_{2} \mathcal {H} (x,\mathbf {0}, t) = \bigl ( - \left[ v\right] _{\mathfrak {se}}^{\wedge } , \mathbf {0} \bigr ) = - f(x). \end{aligned}$$
    (110)

    Computation of the differential regarding the first component at \(\eta = (E\eta _{1},\eta _{2}) \in T_{x}\mathcal {G}\) results in

    $$\begin{aligned} \mathbf {d}_{1}(\mathbf {d}_{2} \mathcal {H}(x,\mathbf {0},t))[\eta ] =&-\mathbf {d}f(x)[\eta ] \\ =&-\mathbf {d}_{(E,v)} (\left[ v\right] _{\mathfrak {se}}^{\wedge }, \mathbf {0})[\eta ] \\ =&-(\left[ \eta _{2}\right] _{\mathfrak {se}}^{\wedge } , \mathbf {0}). \end{aligned}$$

    Finally, we compute the complete expression, which is for \(\eta =(\eta _{1},\eta _{2}) \in \mathfrak {g}\) and \(x=(E,v) \in \mathcal {G}\)

    $$\begin{aligned}&{\left[ Z(x) \bigl [\mathbf {d}_{1} (\mathbf {d}_{2} \mathcal {H}(x, \mathbf {0},t))[x\eta ] \bigr ]\right] _{\mathfrak {g}}^{\vee }} \nonumber \\&\quad = K {\left[ \mathbf {d}_{1} (\mathbf {d}_{2} \mathcal {H}(x,\mathbf {0},t)) [E\eta _{1},\eta _{2}]\right] _{\mathfrak {g}}^{\vee }} \end{aligned}$$
    (111)
    $$\begin{aligned}&\quad = -K {\left[ (\left[ \eta _{2}\right] _{\mathfrak {se}}^{\wedge } , \mathbf {0})\right] _{\mathfrak {g}}^{\vee }} \end{aligned}$$
    (112)
    $$\begin{aligned}&\quad = -K \begin{pmatrix} \mathbf {0}_{6\times 6} &{} \mathbbm {1}_{6} \\ \mathbf {0}_{6\times 6} &{} \mathbf {0}_{6\times 6} \end{pmatrix} {\left[ \eta \right] _{\mathfrak {g}}^{\vee }}. \end{aligned}$$
    (113)
  5. 5.

    The following duality is vaild

    $$\begin{aligned} \begin{aligned} \mathbf {d}_{2}(\mathbf {d}_{1} \mathcal {H}(x,\mathbf {0},t)) =&(\mathbf {d}_{1}(\mathbf {d}_{2} \mathcal {H}(x,\mathbf {0},t)))^{*} \\ =&- (\mathbf {d}_{x}f(x))^{*}, \end{aligned} \end{aligned}$$
    (114)

    as well as the following duality rule for linear operators \(f,g: \mathfrak {g}\rightarrow \mathfrak {g}^{*}\) (i.e., \(f^{*},g^{*}: \mathfrak {g}\rightarrow \mathfrak {g}^{*}\) by the identification \(\mathfrak {g}^{**} = \mathfrak {g}\)) and \(\eta , \xi \in \mathfrak {g}\),

    $$\begin{aligned} \begin{aligned}&\langle (g^{*} \circ f^{*})(\eta ) ,\xi \rangle _{{\text {Id}}} = \langle f^{*}(\eta ), g(\xi ) \rangle _{{\text {Id}}} \\&\quad = \langle \eta , (f\circ g)(\xi ) \rangle _{ {\text {Id}}} = \langle (f\circ g)^{*}(\eta ), \xi \rangle _{{\text {Id}}}, \end{aligned} \end{aligned}$$
    (115)

    resulting in

    $$\begin{aligned} (g^{*} \circ f^{*}) = (f \circ g)^{*}. \end{aligned}$$
    (116)

    Note that for \(\mathfrak {g}= \mathfrak {se}_{3}\) we replace the Riemannian metric \(\langle \cdot , \cdot \rangle \) by the trace, and that the dual notation can be replaced by the transpose.

    Applying the \({\left[ \cdot \right] _{\mathfrak {g}}^{\vee }}\) operation for \(\eta \in \mathfrak {g}\) results in

    $$\begin{aligned}&{\left[ T_{{\text {Id}}} L_{x}^{*} \circ \mathbf {d}_{2}(\mathbf {d}_{1} \mathcal {H}(x,0,t)) \circ Z(x)[\eta ]\right] _{\mathfrak {g}}^{\vee }} \\&\quad \mathop {=}\limits ^{(114)} -{\left[ T_{{\text {Id}}} L_{x}^{*} \circ (\mathbf {d}f(x))^{*} \circ Z(x)[\eta ]\right] _{\mathfrak {g}}^{\vee }} \\&\quad \mathop {=}\limits ^{(116)} -{\left[ (\mathbf {d}f(x) \circ T_{{\text {Id}}} L_{x})^{*} \circ Z(x)[\eta ]\right] _{\mathfrak {g}}^{\vee }} \\&\quad \mathop {=}\limits ^{(113)} - \begin{pmatrix} \mathbf {0}_{6\times 6} &{}\quad \mathbf {0}_{6\times 6} \\ \mathbbm {1}_{6} &{}\quad \mathbf {0}_{6\times 6} \end{pmatrix} {\left[ Z(x)[\eta ]\right] _{\mathfrak {g}}^{\vee }} \\&\quad = - \begin{pmatrix} \mathbf {0}_{6\times 6} &{}\quad \mathbf {0}_{6\times 6} \\ \mathbbm {1}_{6} &{}\quad \mathbf {0}_{6\times 6} \end{pmatrix}K(t){\left[ \eta \right] _{\mathfrak {g}}^{\vee }} . \end{aligned}$$
  6. 6.

    For \(\eta = (\eta _{1}, \eta _{2}) \in \mathfrak {g}\) and the definition of the Riemannian Hessian, we obtain

    $$\begin{aligned} {\text {Hess}}_{2} \mathcal {H} (x,\mu ,t) [ \eta ] = \nabla _{(\eta _{1},\eta _{2})} \mathbf {d}_{2} \mathcal {H}(x,\mu ,t) . \end{aligned}$$
    (117)

    The Riemannian gradient of the Hamiltonian regarding the second component can be computed for \(x=(E,v)\in \mathcal {G}\) as

    $$\begin{aligned}&\mathbf {d}_{2} \mathcal {H} (x,\mu , t) \nonumber \\&\quad = \left( - e^{\alpha (t-t_{0})} \left[ S_{1}^{-1}{\left[ \mu _{1}\right] _{\mathfrak {se}}^{\vee }}\right] _{\mathfrak {se}}^{\wedge } - \left[ v\right] _{\mathfrak {se}}^{\wedge }, - e^{\alpha (t-t_{0})} S_{2}^{-1} \mu _{2} \right) . \end{aligned}$$
    (118)

    Inserting (118) into (117) results in

    $$\begin{aligned}&e^{-\alpha (t-t_{0})}{\text {Hess}}_{2} \mathcal {H} (x,\mu ,t) [\eta ] \\&\quad = - \nabla _{(\eta _{1}, \eta _{2})} \left( \left[ S_{1}^{-1}{\left[ \mu _{1}\right] _{\mathfrak {se}}^{\vee }}\right] _{\mathfrak {se}}^{\wedge } + \left[ v\right] _{\mathfrak {se}}^{\wedge } , S_{2}^{-1} \mu _{2} \right) \\&\quad = - {\text {Pr}}_{\mathfrak {g}}\left( \mathbf {d}_{\mu }\left( \left[ S_{1}^{-1}{\left[ \mu _{1}\right] _{\mathfrak {se}}^{\vee }}\right] _{\mathfrak {se}}^{\wedge } + \left[ v\right] _{\mathfrak {se}}^{\wedge }\right) [\eta ],\mathbf {d}_{\mu }(S_{2}^{-1}\mu _{2})[\eta ] \right) \\&\quad = - \left( {\text {Pr}} \left( \left[ S_{1}^{-1}{\left[ \eta _{1}\right] _{\mathfrak {se}}^{\vee }}\right] _{\mathfrak {se}}^{\wedge } \right) , S_{2}^{-1}\eta _{2} \right) \\&\quad = - \left( \left[ S_{1}^{-1} {\left[ \eta _{1}\right] _{\mathfrak {se}}^{\vee }}\right] _{\mathfrak {se}}^{\wedge } , S_{2}^{-1}\eta _{2} \right) , \end{aligned}$$

    where \({\text {Pr}}_{\mathfrak {g}}: \mathbb {R}^{4\times 4} \times \mathbb {R}^{6} \rightarrow \mathfrak {g}\) denotes the projection onto the Lie algebra \(\mathfrak {g}\). Note that the second component of the projection is trivial.

    This result coincides with [46] where the Hessian of the Hamiltonian regarding the second component is computed directly. Applying the \({\left[ \cdot \right] _{\mathfrak {g}}^{\vee }}\)operation leads to

    $$\begin{aligned}&{\left[ {\text {Hess}}_{2} \mathcal {H} (x,\mu ,t) [T_{{\text {Id}}}L_{x} \eta ]\right] _{\mathfrak {g}}^{\vee }} \\&\quad = - e^{\alpha (t-t_{0})} {\left[ \left[ S_{1}^{-1} {\left[ \eta _{1}\right] _{\mathfrak {se}}^{\vee }}\right] _{\mathfrak {se}}^{\wedge } , S_{2}^{-1}\eta _{2}\right] _{\mathfrak {g}}^{\vee }} \\&\quad = -e^{\alpha (t-t_{0})} ((S_{1}^{-1} {\left[ \eta _{1}\right] _{\mathfrak {se}}^{\vee }})^{\top }, (S_{2}^{-1}\eta _{2})^{\top })^{\top } \\&\quad = -e^{\alpha (t-t_{0})} \underbrace{\begin{pmatrix} S_{1}^{-1} &{} \mathbf {0}_{6\times 6} \\ \mathbf {0}_{6 \times 6} &{} S_{2}^{-1} \end{pmatrix}}_{=:S^{-1}} {\left[ \eta \right] _{\mathfrak {g}}^{\vee }}. \end{aligned}$$

    Now we apply the \({\left[ \cdot \right] _{\mathfrak {g}}^{\vee }}\)-operation to the expression \(Z(x) \circ {\text {Hess}}_{2} \mathcal {H}(x,\mathbf {0},t) \circ Z(x)\):

    $$\begin{aligned}&{\left[ Z(x)\bigl [ {\text {Hess}}_{2} \mathcal {H}(x,\mathbf {0},t)\bigl [Z(x)[\eta ]\bigr ]\bigr ]\right] _{\mathfrak {g}}^{\vee }} \\&\quad = K(t) {\left[ {\text {Hess}}_{2} \mathcal {H}(x,\mathbf {0},t)[Z(x)[\eta ]]\right] _{\mathfrak {g}}^{\vee }} \\&\quad = -e^{\alpha (t-t_{0})} K(t)S^{-1} {\left[ Z(x)[\eta ]\right] _{\mathfrak {g}}^{\vee }} \\&\quad = -e^{\alpha (t-t_{0})} K(t)S^{-1}K(t){\left[ \eta \right] _{\mathfrak {g}}^{\vee }} . \end{aligned}$$

\(\square \)

Appendix 3: Christoffel Symbols

The Christoffel symbols \(\varGamma _{ij}^{k}, i,j,k \in \{1,\dots ,6\}\) for the Riemannian connection on \({\text {SE}}_{3}\) are given by

$$\begin{aligned} \varGamma _{12}^{3} = \varGamma _{23}^{1} = \varGamma _{31}^{2}&= \tfrac{1}{2}, \\ \varGamma _{13}^{2} = \varGamma _{21}^{3} = \varGamma _{32}^{1}&= -\tfrac{1}{2}, \\ \varGamma _{15}^{6} = \varGamma _{26}^{4} = \varGamma _{34}^{5}&= 1 , \\ \varGamma _{16}^{5} = \varGamma _{24}^{6} = \varGamma _{35}^{4}&= -1\, . \end{aligned}$$

and zero otherwise. Note that this Christoffel symbols are similar to these of the kinematic connection in [60]. However, for the Riemannian connection, we need to switch the indexes i and j.

Appendix 4: Derivations for Extended Kalman Filter

The function \(\varPhi : \mathbb {R}^{12} \rightarrow \mathbb {R}^{12\times 12}\) in Alg. 2 is

$$\begin{aligned} \varPhi (v) =&\begin{pmatrix}\varPhi _{{\text {SE}}_{3}}(v_{1:6}) &{} \mathbf {0}_{6\times 6} \\ \mathbf {0}_{6\times 6} &{} \mathbbm {1}_{6} \end{pmatrix}, \end{aligned}$$

whereas the function \(\varPhi _{{\text {SE}}_{3}}\) is given in [49, Section  10] (cf. [13, Eq. (17)]).

1.1 Derivations for Nonlinear Observations

The expression of \(H_{l}\) that is defined in [13, Eq. (59)] is simply the Riemannian gradient of the observation function \(h_{z}\), i.e.,

$$\begin{aligned} H_{l} := \sum _{z \in \varOmega } \mathbf {d}h_{z}(x(t_{l})), \end{aligned}$$

where \(h_k\) is defined as in (92); and the \(\mathbf {d}h_{z}\) can be computed component-wise (for \(j=1,2\)) for \(x(t_{l})=(E(t_{l}),v(t_{l}))\) by the directional derivative for a direction \(x\eta \in T_{x}\mathcal {G}.\)

$$\begin{aligned} \mathbf {d}h_{z}^{j}(x)[x\eta ]&= \mathbf {d}\bigl ((e_{3}^{4}E^{-1}g_{z})^{-1} e_{j}^{4} E^{-1} g_{z}\bigr )[(E\eta _{1}, \eta _{2})] \end{aligned}$$
(119)
$$\begin{aligned}&= \kappa _{z}^{-2} e_{3}^{4} \eta _{1}E^{-1}g_{z}e_{j}^{4} E^{-1}g_{z} - \kappa _{z}^{-1} e_{j}^{4} \eta _{1} E^{-1}g_{z} \end{aligned}$$
(120)
$$\begin{aligned}&= \left\langle \bigl (\kappa _{z}^{-2} E^{-1} g_{z}e_{j}^{4} E^{-1}g_{z}e_{3}^{4} - \kappa _{z}^{-1}E^{-1} g_{z}e_{j}^{4}\bigr )^{\top },\eta _{1} \right\rangle \end{aligned}$$
(121)
$$\begin{aligned}&=: \langle \rho _{k}^{j}(x), \eta _{1}\rangle , \end{aligned}$$
(122)

where the third line follows from the definition of the Riemannian metric on \({\text {SE}}_{3}\), i.e., \(\langle \eta , \xi \rangle _{{\text {Id}}} = \eta ^{\top }\xi \), and the fact that the trace is cyclic. By projection of \(\rho _{k}^{1}(x(t_{l}))\) onto the Lie algebra \(\mathfrak {se}_{3}\) and by vectorization, we obtain the Riemannian gradient. Stacking the vectors leads to the Jacobian \(H_{l} \in \mathbb {R}^{2\times 12}\), which is provided through

$$\begin{aligned} H_{l} = \sum _{k=1}^{l} \begin{pmatrix}\bigl ({\left[ {\text {Pr}}(\rho _{k}^{1}(t_{l}))\right] _{\mathfrak {se}}^{\vee }}\bigr )^{\top } &{} \mathbf {0}_{1\times 6} \\ \bigl ({\left[ {\text {Pr}}(\rho _{k}^{2}(t_{l}))\right] _{\mathfrak {se}}^{\vee }}\bigr )^{\top } &{} \mathbf {0}_{1\times 6}\end{pmatrix}. \end{aligned}$$
(123)

Next, we consider the calculation of the function J(t) in Alg. 2 in line 3. Following [13], J(t) can be calculated as

$$\begin{aligned} J(t) = F(t) - {\text {ad}}_{\mathfrak {g}}(f(x(t))) + \tfrac{1}{12} C(S), \end{aligned}$$
(124)

where the differential of \(F(t) = \mathbf {d}f(x(t))\) can be computed as

$$\begin{aligned} F(t) = \begin{pmatrix}\mathbf {0}_{6\times 6} &{} \mathbbm {1}_{6} \\ \mathbf {0}_{6\times 6} &{} \mathbf {0}_{6\times 6}\end{pmatrix}. \end{aligned}$$
(125)

For a diagonal weighting matrix S, we find that in (124) the function C can be computed for diagonal weighting matrices S as

$$\begin{aligned} C(S) = \begin{pmatrix}\left( {\begin{matrix}\varXi &{} \mathbf {0}_{3\times 3} \\ \mathbf {0}_{3\times 3} &{} \varXi \end{matrix}}\right) &{} \mathbf {0}_{6\times 6} \\ \mathbf {0}_{6\times 6} &{} \mathbf {0}_{6\times 6} \end{pmatrix}, \end{aligned}$$
(126)

where \(\varXi = -{\text {diag}}((S_{22}+S_{33},S_{11}+S_{33}, S_{11}+S_{22} )^{\top })\), and the adjoint in (124) can be computed with (82).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Berger, J., Lenzen, F., Becker, F. et al. Second-Order Recursive Filtering on the Rigid-Motion Lie Group \({\text {SE}}_{3}\) Based on Nonlinear Observations. J Math Imaging Vis 58, 102–129 (2017). https://doi.org/10.1007/s10851-016-0693-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10851-016-0693-1

Keywords

Navigation