Skip to content

Multi-agent SLAM

This master thesis project was realized by Pieter Beerten.

In recent years, the popularity of autonomous robotic agents, commonly known as drones, has increased
immensely. This trend is also visible within the National Defense Department, where these agents are
gradually taking over the dangerous duties of soldiers. One of the main issues at hand, until this day, is
the self-localization of the agents. The ultimate goal is that every autonomous agent is capable of exactly
determining its position within a map, such that they are capable of operating in uncharted territory
without requiring human intervention. One commonly accepted approach for this problem is the use of
SLAM algorithms, which simultaneously estimate the pose of the agents and the location of observed
features in the environment.


In this thesis, an optimization method is proposed to increase the accuracy and robustness of these
estimates for monocular visual SLAM algorithms by combining the information coming from multiple
robotic agents. The purpose of this optimization is to refine the camera pose estimates and, optionally,
the coordinates of the observed features, in post-processing. It should thus be considered an additional
optimization technique that operates independently of the considered SLAM algorithm. The
optimizations carried out in this thesis are based on bundle adjustment, which jointly refines the camera
poses and 3D feature locations on the basis of a minimization of the squared residual between the
observations and the estimated pixel values of observed features. In essence, this summarizes to a large
nonlinear least squares optimization problem.


First, an algorithm designed for a single agent is presented. The algorithm is fed with data obtained from
ORB-SLAM2, an existing State-of-the-Art SLAM algorithm that estimates the pose of the camera and
the location of features based on a visual extraction of features from the images. The popular EuRoC
Machine Hall dataset is used as a representative dataset to test the algorithm. Different operation modes
are proposed to ensure an acceptable result of the algorithm, even for very noisy input data.


Benchmarking of the algorithm’s performance is achieved by introducing different types of noise to the
input data. A sensitivity analysis based on this noisy data is performed for the different operation modes.
Next, the proposed optimization algorithm is extended to simultaneously refine the estimates of multiple
agents. To this end, a Scaled Point Cloud Registration (SPCR) algorithm is proposed, which transforms
the camera poses and the coordinates of observed features for every agent to a common reference frame
and a consistent scale. The observed features are then matched based on their descriptors, in order to
identify overlap between the point clouds detected by the individual agents. By combining the
observations of the same features by different agents, the uncertainty on the estimates can be reduced,
hence resulting in a better performance when noisy input data is considered.