Efficient Derivative Computation for Cumulative B-Splines on Lie Groups

Continuous-time trajectory representation has recently gained popularity for tasks where the fusion of high-frame-rate sensors and multiple unsynchronized devices is required. Lie group cumulative B-splines are a popular way of representing continuous trajectories without singularities. They have been used in near real-time SLAM and odometry systems with IMU, LiDAR, regular, RGB-D and event cameras, as well as for offline calibration. These applications require efficient computation of time derivatives (velocity, acceleration), but all prior works rely on a computationally suboptimal formulation. In this work we present an alternative derivation of time derivatives based on recurrence relations that needs O(k) instead of O(k^2) matrix operations (for a spline of order k) and results in simple and elegant expressions. While producing the same result, the proposed approach significantly speeds up the trajectory optimization and allows for computing simple analytic derivatives with respect to spline knots. The results presented in this paper pave the way for incorporating continuous-time trajectory representations into more applications where real-time performance is required.

[1]  Timothy D. Barfoot,et al.  State Estimation for Robotics , 2017 .

[2]  G. Chirikjian Stochastic Models, Information Theory, and Lie Groups, Volume 2 , 2012 .

[3]  Jörg Stückler,et al.  The TUM VI Benchmark for Evaluating Visual-Inertial Odometry , 2018, 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[4]  Dinesh Atchuthan,et al.  A micro Lie theory for state estimation in robotics , 2018, ArXiv.

[5]  Kerstin Vogler,et al.  Table Of Integrals Series And Products , 2016 .

[6]  Jörg Stückler,et al.  Dense Continuous-Time Tracking and Mapping with Rolling Shutter RGB-D Cameras , 2015, 2015 IEEE International Conference on Computer Vision (ICCV).

[7]  Sung Yong Shin,et al.  A general construction scheme for unit quaternion curves with simple high order derivatives , 1995, SIGGRAPH.

[8]  Hannes Sommer,et al.  Continuous-Time Estimation of Attitude Using B-Splines on Lie Groups , 2016 .

[9]  Slobodan Ilic,et al.  Survey of Higher Order Rigid Body Motion Interpolation Methods for Keyframe Animation and Continuous-Time Trajectory Estimation , 2018, 2018 International Conference on 3D Vision (3DV).

[10]  Per-Erik Forssén,et al.  Trajectory representation and landmark projection for continuous-time structure from motion , 2018, Int. J. Robotics Res..

[11]  Per-Erik Forssén,et al.  Spline Error Weighting for Robust Visual-Inertial Fusion , 2018, 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.

[12]  Kaihuai Qin General matrix representations for B-splines , 2014, The Visual Computer.

[13]  M. Cox The Numerical Evaluation of B-Splines , 1972 .

[14]  Roland Siegwart,et al.  Extending kalibr: Calibrating the extrinsics of multiple IMUs and of individual axes , 2016, 2016 IEEE International Conference on Robotics and Automation (ICRA).

[15]  Paul Timothy Furgale,et al.  Continuous-time batch estimation using temporal basis functions , 2012, 2012 IEEE International Conference on Robotics and Automation.

[16]  Shaojie Shen,et al.  An Efficient B-Spline-Based Kinodynamic Replanning Framework for Quadrotors , 2019, IEEE Transactions on Robotics.

[17]  Gabe Sibley,et al.  Spline Fusion: A continuous-time representation for visual-inertial fusion with application to rolling shutter cameras , 2013, BMVC.

[18]  C. D. Boor,et al.  On Calculating B-splines , 1972 .

[19]  Daniel Cremers,et al.  Real-time trajectory replanning for MAVs using uniform B-splines and a 3D circular buffer , 2017, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[20]  Davide Scaramuzza,et al.  Continuous-Time Visual-Inertial Odometry for Event Cameras , 2017, IEEE Transactions on Robotics.