detected at the end pose to feature points from the map that
were added at the start pose. Nevertheless, the computed
trajectory between start and end pose may still deviate from
reality. On this account, we refrain from specifying the loop
closure error for our algorithm since it can be misleading.
The first suitable criterion is the amount of matches
n
that
are registered onto the map in the sweep to map registration.
This is a meaningful criterion since more matches indicate
that more features could be integrated into the map and thus
the clarity is greater. However, if the amount of matches is
low, it follows that the extracted features were not close to
their corresponding edge lines or planar patches, which sug-
gests that the clarity of the resulting point cloud is low. Thus,
the aim is to maximize this criterion.
Before we can compute
n
, we need to define the sets
D
k
and
D
k
H
that contain all matched edge points and planar points for
sweep
k
as:
D
k
:
={
i
∈
k
+1
|
d
(
i,j,l
)<
δ
;
j,l
∈
Q
k
}
where
k
+1
is the set of edge points that were extracted for
sweep
k
+1,
Q
k
is the set of all points that were integrated into
the global map until sweep
k
,
d
(
i,j,l
) is the distance between
an edge point
i
and its corresponding edge line that is repre-
sented by two points
j,l
in the global map
l
∈
Q
k
(cf. equation
(2) by J. Zhang and Singh (2014)) and
δ
is the maximum dis-
tance between an edge point and its corresponding edge line
to consider them as a match.
D
k
H
is defined as:
D
k
H
:
={
i
∈
H
k
+1
|
d
H
(
i,j,l,m
)<
δ
H
;
j,l,m
∈
Q
k
}
where
H
k
+1
is the set of planar points that were extracted for
sweep
k
+1,
d
H
(
i,j,l,m
) is the distance between an planar point
i
and its corresponding planar patch that is represented by
three points (
j,l,m
) in the global map
m
∈
Q
k
(cf. equation (3)
by J. Zhang and Singh (2014)) and
δ
H
is the maximum dis-
tance between an planar point and its corresponding planar
patch to consider them as a match. Using both sets we can
derive an equation for the total number of matches
n
as:
n
D D
k S
k
k
=
+
(
)
∈
∑
E
H
,
where
S
is the set of all sweeps that were acquired during the
measurement and |
A
| is the cardinality of the set
A
.
The second criterion is the average error
e
for each match
that is registered onto the map. The lower the error the closer
the matches are to their corresponding edge lines or planar
patches which in turn suggests a greater clarity. Thus, the
aim is to minimize this criterion. The average error
e
can be
computed as:
e
d i j l
d i j l m
n
k S i D
i D
k
k
=
(
)
+
∈
∈
∈
∑ ∑ ∑
E
H
E
H
, ,
( , , , )
where
d
(
i,j,l
) and
d
H
(
i,j,l,m
) are the distances between feature
correspondences as depicted in the equations.
Now, with these two criteria it is possible to determine
appropriate timestamp offsets from laser scanner to motor and
from laser scanner to camera. The reasoning for this is that a
more fitting offset induces a point cloud that shows a greater
clarity. This follows from the fact that scan features trans-
formed with the correct encoder values can be matched more
straightforward than those that are not correctly transformed.
Similarly, if the initial motion estimation from the visual
odometry algorithm is correct, the lidar odometry is able to
find more matches. In contrast, if the timestamp offsets do not
fit, features from consecutive sweeps do not align and thus
cannot be integrated into the global map.
To further confirm the relevance of our criteria, we car-
ried out an additional subjective test. For this, we compared
the two criteria to the authors’ perceived clarity of the point
clouds that resulted from running the
SLAM
approach using
different timestamp offsets. To enable the reader to judge the
clarity of different point clouds as well, we show the results
of our experiments in the following section.
Finding the Appropriate Timestamp Offsets
To find an appropriate offset, we use a brute-force approach
that takes an initial offset, a required accuracy for the final
offset and a maximum number of steps. Thus, it is necessary
to manually guess an initial range that encloses the optimal
offset. This range can be arbitrarily large for the laser scanner
to camera synchronization. However, for the laser scanner to
motor synchronization it must not exceed the duration of one
motor rotation to avoid multiple minimums that may arise
from the cyclic properties of the problem. The algorithm then
iterates over possible offsets starting from the initial offset
and taking steps in both directions in the size of the required
accuracy. For every offset, the required parts of the
SLAM
approach are executed and its criteria (magnitude of motion
or total number of matches and average error per match) are
determined as depicted in the previous subsections. Finally,
the offset for which the appropriate criteria approached their
optimum is returned.
Experiments
In this section we present the results of our experiments using
the system outlined in a previous section. At first, we display
the results of our stationary method discussed above. After-
wards, the datasets are introduced before finally presenting
the results of our motion-based approach.
Stationary Approach Prior to Data Acquisition
Before recording large datasets, we acquired six datasets of
roughly four seconds each. For these datasets the system was
kept in a fixed position to avoid motion during the measure-
ment. In order to minimize error influences due to measure-
ment noise and observed scenes, we chose to use six different
positions in the same room. The offset between the time-
stamps of the laser scanner and the motor is determined using
the previously described method. Initially, we ran the algo-
rithm with a desired accuracy of 1 ms in the range from 19 ms
to 29 ms to determine a first approximation of the solution.
We worked with this initial range since our algorithm did
not succeeded with offsets outside this range. These experi-
ments revealed that the final solution lies within the range of
22 ms to 26 ms which prompted us to carry out an additional
experiment with an accuracy of 0.1 ms within this range. Fur-
ther tests were not required since the final experiment with
an accuracy of 0.1 ms yielded results that did not improve by
a large margin from one step to another.
The results for all six experiments can be seen in Table 1. It
can be seen that all calculated timestamp offsets vary around
24 ms while the magnitude of motion ranges from 0.0037 to
0.0314. This can be explained by measurement noise that in-
fluences the laser scanner. However, the calculated timestamp
offsets still coincide which shows that the approach is prone
to some measurement noise. The average offset over all six
datasets amounts to 24.0 ms.
Additionally, in Figure 5a and 5b the resulting graphs for
experiment number one and four, respectively, are depicted.
These are exemplary for all six experiments. It can be seen that
the magnitude of motion increases sharply if the observed
timestamp offset differs a few milliseconds from the optimum.
PHOTOGRAMMETRIC ENGINEERING & REMOTE SENSING
June 2018
361