+ All Categories
Home > Documents > MCSLAM : a Multiple Constrained SLAM · intrusive mechanism of adaptation to a problem while...

MCSLAM : a Multiple Constrained SLAM · intrusive mechanism of adaptation to a problem while...

Date post: 10-Mar-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
1
MCSLAM : a Multiple Constrained SLAM Datta Ramadasan 1 [email protected] Marc Chevaldonné 2 [email protected] Thierry Chateau 1 [email protected] 1 Pascal Institute Blaise Pascal University Clermont-Ferrand, FR 2 ISIT Auvergne University Clermont-Ferrand, FR In this paper, we propose a new algorithm, named MCSLAM (Multiple Constrained SLAM ), designed to dynamically adapt each optimization to the variable number of parameters families (sensor pose, roughly known objects poses and dimensions, delay between sensors, ...) and hetero- geneous constraints (reprojection error, distance from points or edges to object surface, acceleration...). The proposed algorithm is based on three contributions: 1) a new Levenberg-Marquardt C++ library named LMA and freely available 1 2) an architecture allowing a high level of flexi- bility and performances 3) a real-time usage of a temporal spline curve as the parametric trajectory model that provides an efficient way to add heterogeneous constraints within the optimization. The main idea of LMA is to provide a simple interface with a non- intrusive mechanism of adaptation to a problem while maintaining good performances. LMA works as a meta-program using C++ template to analyse at compile-time (CT) the problem to optimize from a list of C++ functors. The parameters are deduced from the functors arguments and the degree of freedom (dof ) of each parameter is defined by the user. Then LMA generates a data structure to store the functors and the parameters in tuple according to the number of parameters families and constraints. The resolution of the normal equations is written efficiently using a sparse representation constructed with a set of small matrices of static sizes. The LMA library solves the normal equations using dense Cholesky or a sparse PCG specially designed to manage little matrices of static size. It also implements the classical optimization tricks to be effective on little, medium, and big size problems. LMA also implements common features as automatic differentiation and robust cost functions. The continuous-time representation of the trajectory is used to deal with constraints on the motion. This allows to mix data from many un- synchronised sensors and evolution model. To apply constraints on the 3D structure of the environment, 3D models of coarsely knowns shapes are used. To represent the motion, we use the uniform cumulative b-spline described by Lovegrove et al. [2] but we separate position and orientation in two different splines and we use the Rodriguez formula to compute the exponential and the logarithm of SO3 group. Moreover, we adapt the key- frame based SLAM to deal with the spline: key-frames are constrained to be on the spline. We also use every inter-key-frame poses computed by the localization process to apply a weak constraint on the spline. A tem- poral sliding window of 3 seconds is used to select, from the SLAM and the IMU, the more recent data used to constrain the spline. The MCSLAM algorithm is based on a graph composed by con- straints, parameters and dependencies. First, the problem configuration is analysed at compile-time to generate a specified LMA solver, whose cost function to minimize is the sum of the constraints C dynamically added: E = C i=0 K i k=0 ρ i,k σ i 2 with K i the number of observations corre- sponding to the constraint i, ρ i,k the error associated to the observation k of the constraint i and σ i the estimation of the measurement error. The σ i value is specific to each constraint. Then the graph is skimmed accord- ing to the dependencies to feed the solver with the parameters and the constraints. Each constraint has a list of functors and each functor cor- responds to one error term of the cost function to minimize. Moreover, one function has to be written for each constraint: this function has two input, the dependencies graph and the solver. Thus, each constraint has a full access to the graph and any required data in order to fill the solver. To achieve real-time performances, we extend the incremental reconstruc- tion scheme described by [3] to manage the constraints. This produces an anchorage of the optimized parameters according to the deprecated pa- rameters. Consequently, the constraints are applied only on parameters corresponding at the end of the reconstruction (spatially and temporally). 1 git.univ-bpclermont.fr/datta.ramadasan/lma Circle (2 dof.) g2o Ceres LMA Dense 2.26 2.49 0.51 BAL 1 (66k dof.) g2o Ceres LMA Sparse x 2.63 1.06 Dense Schur 3.60 2.36 1.01 Sparse Schur 3.49 2.42 1.10 Implicit Schur x 2.97 1.12 BAL 2 (4M dof.) g2o Ceres LMA Implicit Schur x 298 131 (a) (b) (c) 10 20 30 40 50 60 0 0.05 0.1 0.15 time (sec) Error (m) M otion M otion +IMU M otion +IMU +Bias M otion +IMU +Bias +Object (d) 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 0 1 2 time (sec) Acceleration (m/s -2 ) IMUAx IMUAy IMUAz SplineAx SplineAy SplineAz (e) 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 -2 -1 0 1 2 time (sec) Velocity (rad/s) IMUVα IMUVβ IMUVγ SplineVα SplineVβ SplineVγ (f) Figure 1: (a) LMA compared to Ceres and g2o (results are in seconds). (b) Ground truth of the second experiment. (c) Image from the sequence of the second experiment. (d) Error in position of the SLAM using different configuration of constraints. (e,f) IMU’s accelerometer and gyrometer compared to the spline acceleration and orientation velocity. Three comparatives summarized in table 1(a) are performed on prob- lems of different sizes using the solvers g2o, Ceres-1.10 and LMA. The first comparative is a basic problem designed to optimize the equation of a circle. In this experiment, LMA is 4.8 times faster than Ceres and 4.3 times faster than g2o. The second experiment is performed on an instance of the dataset used in the Ceres benchmark [1]. Each solver is limited to 10 iterations of Levenberg-Marquardt, derivatives are numeric and cen- tred, and the PCG is limited to 20 iterations when it’s used. On the first instance, LMA is 2 to 3 times faster than Ceres and g2o, with a simi- lar accuracy, using the 4 different linear solvers. The third experiment is performed on the 35 instances of the dataset [1] with the Implicit Schur method and shows that LMA is, on average, 2.5 times faster than Ceres, and more accurate on 21 datasets out of 35. Four different configurations of the MCSLAM are tested : 1) SLAM with a constant velocity model constraint, 2) SLAM with a constant veloc- ity model and IMU constraints, 3) SLAM with a constant velocity model and IMU constraints and IMU’s bias optimization, 4) SLAM with spline, constant velocity model, IMU, IMU’s bias optimization, and 3D object constraints. The ground truth is an indoor trajectory computed from a structure from motion algorithm. The ground truth is visible on the figure 1(b) in blue, and the edge model in red and an image from the camera is shown on the figure 1(c). Moreover, to highlight the robustness of the system, we artificially stop the camera poses constraints on the the spline during 1 second every 2 seconds. The errors in position are shown in the figure 1(d). Figures 1(e) and 1(f) shows the acceleration and the orienta- tion velocity of the trajectory and the IMU data using all constraints. [1] Sameer Agarwal, Noah Snavely, Steven M Seitz, and Richard Szeliski. Bundle adjustment in the large. In Computer Vision–ECCV 2010, pages 29–42. Springer, 2010. [2] Steven Lovegrove, Alonso Patron-Perez, and Gabe Sibley. Spline fu- sion: A continuous-time representation for visual-inertial fusion with application to rolling shutter cameras. In Proceedings of the British machine vision conference, pages 93–1, 2013. [3] Etienne Mouragnon, Maxime Lhuillier, Michel Dhome, Fabien Dekeyser, and Patrick Sayd. Real time localization and 3d recon- struction. In Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on, volume 1, pages 363–370. IEEE, 2006.
Transcript
Page 1: MCSLAM : a Multiple Constrained SLAM · intrusive mechanism of adaptation to a problem while maintaining good performances. LMA works as a meta-program using C++ template to analyse

MCSLAM : a Multiple Constrained SLAM

Datta Ramadasan1

[email protected]

Marc Chevaldonné2

[email protected]

Thierry Chateau1

[email protected]

1 Pascal InstituteBlaise Pascal UniversityClermont-Ferrand, FR

2 ISITAuvergne UniversityClermont-Ferrand, FR

In this paper, we propose a new algorithm, named MCSLAM (MultipleConstrained SLAM ), designed to dynamically adapt each optimization tothe variable number of parameters families (sensor pose, roughly knownobjects poses and dimensions, delay between sensors, ...) and hetero-geneous constraints (reprojection error, distance from points or edges toobject surface, acceleration...). The proposed algorithm is based on threecontributions: 1) a new Levenberg-Marquardt C++ library named LMAand freely available 1 2) an architecture allowing a high level of flexi-bility and performances 3) a real-time usage of a temporal spline curveas the parametric trajectory model that provides an efficient way to addheterogeneous constraints within the optimization.

The main idea of LMA is to provide a simple interface with a non-intrusive mechanism of adaptation to a problem while maintaining goodperformances. LMA works as a meta-program using C++ template toanalyse at compile-time (CT) the problem to optimize from a list of C++functors. The parameters are deduced from the functors arguments andthe degree of freedom (dof ) of each parameter is defined by the user. ThenLMA generates a data structure to store the functors and the parametersin tuple according to the number of parameters families and constraints.The resolution of the normal equations is written efficiently using a sparserepresentation constructed with a set of small matrices of static sizes.The LMA library solves the normal equations using dense Cholesky ora sparse PCG specially designed to manage little matrices of static size. Italso implements the classical optimization tricks to be effective on little,medium, and big size problems. LMA also implements common featuresas automatic differentiation and robust cost functions.

The continuous-time representation of the trajectory is used to dealwith constraints on the motion. This allows to mix data from many un-synchronised sensors and evolution model. To apply constraints on the3D structure of the environment, 3D models of coarsely knowns shapesare used. To represent the motion, we use the uniform cumulative b-splinedescribed by Lovegrove et al. [2] but we separate position and orientationin two different splines and we use the Rodriguez formula to compute theexponential and the logarithm of SO3 group. Moreover, we adapt the key-frame based SLAM to deal with the spline: key-frames are constrained tobe on the spline. We also use every inter-key-frame poses computed bythe localization process to apply a weak constraint on the spline. A tem-poral sliding window of 3 seconds is used to select, from the SLAM andthe IMU, the more recent data used to constrain the spline.

The MCSLAM algorithm is based on a graph composed by con-straints, parameters and dependencies. First, the problem configurationis analysed at compile-time to generate a specified LMA solver, whosecost function to minimize is the sum of the constraints C dynamically

added: E = ∑Ci=0 ∑

Kik=0

∥∥∥ ρi,kσi

∥∥∥2with Ki the number of observations corre-

sponding to the constraint i, ρi,k the error associated to the observation kof the constraint i and σi the estimation of the measurement error. The σivalue is specific to each constraint. Then the graph is skimmed accord-ing to the dependencies to feed the solver with the parameters and theconstraints. Each constraint has a list of functors and each functor cor-responds to one error term of the cost function to minimize. Moreover,one function has to be written for each constraint: this function has twoinput, the dependencies graph and the solver. Thus, each constraint hasa full access to the graph and any required data in order to fill the solver.To achieve real-time performances, we extend the incremental reconstruc-tion scheme described by [3] to manage the constraints. This produces ananchorage of the optimized parameters according to the deprecated pa-rameters. Consequently, the constraints are applied only on parameterscorresponding at the end of the reconstruction (spatially and temporally).

1git.univ-bpclermont.fr/datta.ramadasan/lma

Circle (2 dof.) g2o Ceres LMADense 2.26 2.49 0.51

BAL1(66k dof.) g2o Ceres LMASparse x 2.63 1.06Dense Schur 3.60 2.36 1.01Sparse Schur 3.49 2.42 1.10Implicit Schur x 2.97 1.12

BAL2 (4M dof.) g2o Ceres LMAImplicit Schur x 298 131

(a) (b) (c)

10 20 30 40 50 600

0.05

0.1

0.15

time (sec)

Error(m

)

MotionMotion+ IMU

Motion+ IMU +BiasMotion+ IMU +Bias+Object

(d)10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

0

1

2

time (sec)

Acceleration(m

/s−

2)

IMUAx

IMUAy

IMUAz

SplineAx

SplineAy

SplineAz

(e)10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

−2

−1

0

1

2

time (sec)

Velocity

(rad/s)

IMUVα

IMUVβ

IMUVγ

SplineVα

SplineVβ

SplineVγ

(f)

Figure 1: (a) LMA compared to Ceres and g2o (results are in seconds). (b)Ground truth of the second experiment. (c) Image from the sequence ofthe second experiment. (d) Error in position of the SLAM using differentconfiguration of constraints. (e,f) IMU’s accelerometer and gyrometercompared to the spline acceleration and orientation velocity.

Three comparatives summarized in table 1(a) are performed on prob-lems of different sizes using the solvers g2o, Ceres-1.10 and LMA. Thefirst comparative is a basic problem designed to optimize the equation ofa circle. In this experiment, LMA is 4.8 times faster than Ceres and 4.3times faster than g2o. The second experiment is performed on an instanceof the dataset used in the Ceres benchmark [1]. Each solver is limited to10 iterations of Levenberg-Marquardt, derivatives are numeric and cen-tred, and the PCG is limited to 20 iterations when it’s used. On the firstinstance, LMA is 2 to 3 times faster than Ceres and g2o, with a simi-lar accuracy, using the 4 different linear solvers. The third experiment isperformed on the 35 instances of the dataset [1] with the Implicit Schurmethod and shows that LMA is, on average, 2.5 times faster than Ceres,and more accurate on 21 datasets out of 35.

Four different configurations of the MCSLAM are tested : 1) SLAMwith a constant velocity model constraint, 2) SLAM with a constant veloc-ity model and IMU constraints, 3) SLAM with a constant velocity modeland IMU constraints and IMU’s bias optimization, 4) SLAM with spline,constant velocity model, IMU, IMU’s bias optimization, and 3D objectconstraints. The ground truth is an indoor trajectory computed from astructure from motion algorithm. The ground truth is visible on the figure1(b) in blue, and the edge model in red and an image from the camerais shown on the figure 1(c). Moreover, to highlight the robustness of thesystem, we artificially stop the camera poses constraints on the the splineduring 1 second every 2 seconds. The errors in position are shown in thefigure 1(d). Figures 1(e) and 1(f) shows the acceleration and the orienta-tion velocity of the trajectory and the IMU data using all constraints.

[1] Sameer Agarwal, Noah Snavely, Steven M Seitz, and RichardSzeliski. Bundle adjustment in the large. In Computer Vision–ECCV2010, pages 29–42. Springer, 2010.

[2] Steven Lovegrove, Alonso Patron-Perez, and Gabe Sibley. Spline fu-sion: A continuous-time representation for visual-inertial fusion withapplication to rolling shutter cameras. In Proceedings of the Britishmachine vision conference, pages 93–1, 2013.

[3] Etienne Mouragnon, Maxime Lhuillier, Michel Dhome, FabienDekeyser, and Patrick Sayd. Real time localization and 3d recon-struction. In Computer Vision and Pattern Recognition, 2006 IEEEComputer Society Conference on, volume 1, pages 363–370. IEEE,2006.

Recommended