In this work, we present the C-KLAM, a consistent approximate maximum a posteriori (MAP)
estimator-based keyframe approach for simultaneous localization and mapping (SLAM). In order to
reduce the computational complexity of the batch least squares (BLS) SLAM, C-KLAM estimates only the
keyframes and key landmarks. Instead of discarding the measurement information from non-keyframes
and non-key landmarks, however, C-KLAM uses most of this information to generate consistent pose
constraints between the keyframes, resulting in substantial information gain. Moreover, the
approximations performed in C-KLAM retain the sparsity of the information matrix, and hence the
resulting optimization problem can be solved efficiently. In experiments carried out using an
IMU-camera sensor pair with both hand-held and quadrotor flying motions, our results demonstrate
that, as compared to the computationally-intensive BLS SLAM, the C-KLAM achieves comparable
estimation accuracy, while obtaining a substantial speed-up.
The C-KLAM employs the following approximation: Key features commonly observed from keyframes as
well as non-keyframes are duplicated to avoid fill-ins in the information matrix during the
marginalization step. From an optimization point of view, this process is equivalent to dropping the
constraints that the original features are the same as the duplicated features. Note that such
relaxations, as removing constraints from an optimization problem, result in consistent estimates.
After employing this approximation, C-KLAM marginalizes non-keyframes and non-key features, leaving
only a single constraint between the consecutive keyframes.
Here is an example of the C-KLAM steps:
In this example, our goal is to retain the keyframes x0 and x4, as well as the key features f1 and
f5, while marginalizing the non-keyframes and non-key features in between [Fig. (a)]. Direct
marginalization will cause a dense fill-in in the information matrix. Instead, the C-KLAM duplicates
f1 to another feature f1', so that the non-keyframe x1 observes the duplicated feature f1', and
similarly for f5 [Fig. (b)]. After this approximation, the C-KLAM marginalizes the non-key elements,
producing a constraint between the retained keyframes x0 and x4 [Fig. (c)].
C-KLAM vs. BLS estimated trajectories and landmarks.
Demonstration of the C-KLAM algorithm on a quadrotor dataset in the Walter Library, University
of Minnesota. The blue trajectory is the pose estimate from the BLS SLAM, while the red squares
are the keyframes estimated by the C-KLAM. The significant reduction in the number of estimated
states in C-KLAM leads to substantial improvement in efficiency.
C3. E.D. Nerurkar, K.J. Wu, and S.I. Roumeliotis, "C-KLAM:
Constrained Keyframe-Based Localization and Mapping," In Proc. of the IEEE
International Conference on Robotics and Automation, pages 3638–3643, Hong Kong, China, May 31 –
June 7, 2014 (pdf).
C2. E.D. Nerurkar, K.J. Wu, and S.I. Roumeliotis, "C-KLAM:
Constrained Keyframe-Based Localization and Mapping," Workshop: Multi-View
Geometry in Robotics, Robotics: Science and Systems, Berlin, Germany, June 24-28, 2013 (pdf).
C1. E.D. Nerurkar, K.J. Wu, and S.I. Roumeliotis, "C-KLAM:
Constrained Keyframe Localization and Mapping for Long-Term Navigation," Workshop
on Long-term Autonomy, IEEE International Conference on Robotics and Automation, Karlsruhe,
Germany, May 6 - 10, 2013 (pdf).