Grid Map
Grid Map
MARWAN SALEM
M ARWAN S ALEM
marwans@kth.se
August 7, 2019
Master’s Thesis Degree Project at the Autonomous Vehicle Perception group - Scania
S UPERVISOR AT KTH: John Folkesson
S UPERVISOR AT SCANIA: Henrik Felixson
E XAMINER : Mårten Björkman
The Localization and Map building module is a core building block for
designing an autonomous vehicle. It describes the vehicle ability to create
an accurate model of its surroundings and maintain its position in the
environment at the same time. In this thesis work, we contribute to
the autonomous driving research area by providing a proof-of-concept of
integrating SLAM solutions into commercial vehicles; improving the robustness
of the Localization and Map building module. The proposed system applies
Bayesian inference theory within the occupancy grid mapping framework and
utilizes Rao-Blackwellized Particle Filter for estimating the vehicle trajectory.
The work has been done at Scania CV where a heavy duty vehicle equipped
with multiple-Lidar sensory architecture was used. Low level sensor fusion
of the different Lidars was performed and a parallelized implementation of
the algorithm was achieved using a GPU. When tested on the frequently
used datasets in the community, the implemented algorithm outperformed the
scan-matching technique and showed acceptable performance in comparison
to another state-of-art RBPF implementation that adapts some improvements
on the algorithm. The performance of the complete system was evaluated
under a designed set of real scenarios. The proposed system showed a
significant improvement in terms of the estimated trajectory and provided
accurate occupancy representations of the vehicle surroundings. The fusion
module was found to build more informative occupancy grids than the grids
obtained form individual sensors.
Contents
1 Introduction 1
1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Thesis Objectives . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Ethics, Society and Sustainability . . . . . . . . . . . . . . . . 5
2 Background 7
2.1 Feature- and Grid-based Simultaneous Localization and Mapping
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 SLAM solution . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Sensors for SLAM . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Sensor Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.5 SLAM and GPU . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 SLAM Benchmark . . . . . . . . . . . . . . . . . . . . . . . 15
3 Methodology 17
3.1 Occupancy Grid Mapping . . . . . . . . . . . . . . . . . . . . 17
3.1.1 Bayesian Inference Theory . . . . . . . . . . . . . . . 18
3.1.2 Practical Approximations . . . . . . . . . . . . . . . 19
3.1.3 Mathematical Derivation . . . . . . . . . . . . . . . . 19
3.2 Sensor Modeling . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3 Map Initialization . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4 Rao-Blackwellized Grid-Based SLAM . . . . . . . . . . . . 25
3.5 Mapping with Multiple Lidars . . . . . . . . . . . . . . . . . 27
3.5.1 Grid Fusion . . . . . . . . . . . . . . . . . . . . . . . 28
3.5.2 Raw Measurement Fusion . . . . . . . . . . . . . . . 30
4 Implementation 32
4.1 Hardware Architecture . . . . . . . . . . . . . . . . . . . . . 32
4.2 Coordinate Frames Transformation . . . . . . . . . . . . . . . 33
4.3 Software Architecture . . . . . . . . . . . . . . . . . . . . . . 35
CONTENTS CONTENTS
Bibliography 58
LIST OF FIGURES LIST OF FIGURES
List of Figures
List of Tables
Chapter 1
Introduction
Based on the human driver’s intervention with the dynamic driving tasks, the
scale consists of six levels of autonomy, spanning from level 0, no automation,
to level 5, full automation. Level 0 includes systems that only provide
warnings, such as Collision Warning systems, while the driver is controlling
the steering and the speed of the vehicle all the time. In level 1, the driving
assisting system can control either the steering or the speed of the vehicle. An
example of that is the Adaptive Cruise Control system where the speed of the
vehicle is automatically adjusted according to the distance to the detected cars
in front of the vehicle. The driving assisting systems within level 2 can control
both the steering and speed of the vehicle while the driver is monitoring
the environment. An Automatic Parking assisting system that automatically
performs the entire parking process belongs to this level.
A key distinction exist between level 2 and level 3 where the automated
driving system controls all aspects of driving including monitoring the
1
CHAPTER 1. INTRODUCTION
2
CHAPTER 1. INTRODUCTION 1.1. PROBLEM STATEMENT
Figure 1.2: Core competencies for designing a highly automated vehicle [2].
3
1.2. THESIS OBJECTIVES CHAPTER 1. INTRODUCTION
Autonomous commercial vehicles have seen rapid progress and they will
eventually become a crucial part of our transportation system. In order
to fulfill the high safety standards within the automotive industry, further
development is still required such that the vehicle is able to adapt on
its own in a wide variety of scenarios. This project contributes to the
autonomous driving research area by investigating how the raw readings from
the different Lidar sensors can be used to build an accurate and efficient
global occupancy map of the vehicle surroundings while tracking its location
in the environment; increasing the situation awareness of the vehicle.
4
CHAPTER 1. INTRODUCTION 1.3. THESIS OUTLINE
Chapter 5 describes the evaluation procedures that were designed and performed
to validate the efficiency of the proposed solution in terms of both the
accuracy of the resultant occupancy grids and the computational performance.
The results of the experimental evaluation process are further discussed in
chapter 6 and a final conclusion has been drawn.
5
1.4. ETHICS, SOCIETY AND SUSTAINABILITY
CHAPTER 1. INTRODUCTION
fractions of the second, who should die and who should live; taking an ethical
decision. The main challenge here is to define global principles that should
control the ethical behaviour of autonomous vehicles. Those principles should
further be adapted by the automotive industry to design moral algorithms for
autonomous cars and should be used by the policymakers to regulate them.
In an attempt to form a broad ethical framework for autonomous vehicles to
follow in the future, a recent survey that was published in Nature gathered data
from millions of people from all over the world through deploying an online
experimental platform, the Moral Machine [5]. The survey was concluded
with three strong preferences that should serve as building blocks for global
machine ethics codes, namely, sparing human lives, sparing more lives and
sparing young lives.
6
CHAPTER 2. BACKGROUND
Chapter 2
Background
This chapter aims to provide the reader with a literature review of the
different topics that are related to mapping and sensor fusion in the context of
autonomous driving. The chapter starts with a brief motivation for utilizing
Grid-based SLAM (Simultaneous Localization and Mapping) within the task
of increasing the situational awareness of an autonomous vehicle. Then, a
detailed description of the SLAM problem is presented while addressing the
state-of-art approaches applied to solve it. The chapter proceeds with an
analysis of the different sensors and data fusion approaches that are used for
perceiving the environment and solving the SLAM problem. Finally, a review
of the related work within the topic of using the powerful GPU (Graphical
Processing Unit) while implementing mapping algorithms is shown.
There exists two main approaches for representing the map. One popular
map representation approach is feature based mapping such as topological
maps or landmark-based maps. Whereas such approach is reliable and
computationally compact, it assumes some prior knowledge about the environment
7
2.2. SLAM SOLUTION CHAPTER 2. BACKGROUND
8
CHAPTER 2. BACKGROUND 2.2. SLAM SOLUTION
9
2.3. SENSORS FOR SLAM CHAPTER 2. BACKGROUND
In [16] Zaffar et al. discussed the different types of sensors used in solving
the SLAM problem. Monocular camera is one of the most popular sensors
used for SLAM due to its compactness and cheap cost along with the high
resolution and detailed images they can provide about the environment. For
example, A 6DOF real time visual SLAM system based on a monocular
camera is presented in [17]. However, monocular cameras do not provide
depth information which leads to complex SLAM algorithms. On the
contrary, stereo cameras can calculate depth information using the disparity
of two camera images looking at the same scene. An extensive experimental
comparison between monocular based SLAM approach and stereovision
based SLAM approach was done by the authors of [18]. Since cameras are
passive sensors, they do not rely on any emission for mapping the environment
and they have low power consumption. On the other hand, cameras are
sensitive to changes in illumination and they do not perform well under
difficult weather conditions like rain, snow and dust.
10
CHAPTER 2. BACKGROUND 2.3. SENSORS FOR SLAM
Sonar sensors locate objects by emitting a sound signal and measuring the
Time-of-Flight: the total time taken by the sound wave from emission to
reception upon bouncing off an object. Sonar sensors can easily suffer
from the Specular reflection phenomenon where the reflected signal bounces
away from the sensor [19]. Moreover, similarly to cameras, they are very
sensitive to weather conditions due to the dependency of the sound waves
on temperature. However, there exist SLAM applications based on sonar
sensors in the literature [9]. Radar sensors are based on the same principle as
sonars, but emitting radio waves instead. Radar sensors, compared to cameras
and sonars, have a very robust performance in rough weather conditions and
vibrations [20]. In addition to their good range resolution, they are able to
measure the radial speed of the moving objects. However, the main drawback
of radars is their very poor angular resolution. Degerman et al. addressed the
ability of building an occupancy grid map using radar sensors [21].
Lidar sensors emit laser beams at fixed angular steps while rotating around
a vertical axis, measure the distance to the surrounding objects using the
Time-of-Flight principle and deliver those measurements in what is known
as point clouds; generating a 3D visualization of the environment. In addition
to the accurate range measurement, Lidars, on the contrary to radars, provide
high angular resolution. Moreover, Lidars, by measuring the intensity of the
reflected laser beam, return very accurate depth information [16], therefore
compensating for the main monocular vision-based systems weakness. Due
to their robust and reliable measurements, Lidars have become one of the
most popular sensor options while solving the SLAM problem. An online 3D
SLAM approach was recently introduced by Droeschel et al. in [22].
11
2.4. SENSOR FUSION CHAPTER 2. BACKGROUND
On the other hand, the low-level fusion processes the raw sensor data, pixels
or signals, in a central manner. Thus, one main advantage of performing
sensor fusion at a low level is minimizing the information loss [26]. The
Occupancy Grid framework, introduced by Elfes and Moravec [27], is one
of the most popular approaches to fuse sensor information in a low-level.
Occupancy grids divide the environment into an evenly spaced grid of cells
and estimate the probability of each cell for being occupied based on the
raw sensor measurements. The main advantage of using occupancy grid as
a framework for sensor fusion is that it is easy to interpret any type of sensory
measurements in cell-based occupancy information; occupancy grid fusion
framework only requires a sensor model describing the probabilistic relation
between the sensor measurement and the state of the cell being occupied.
An algorithm for generating occupancy grid maps which relies on physical
forward sensor models instead of the inverse ones was first presented by
Sebastian Thrun [28].
12
CHAPTER 2. BACKGROUND 2.4. SENSOR FUSION
all sensor data and then applying a single Bayesian estimator on a single
sensor model.
13
2.4. SENSOR FUSION CHAPTER 2. BACKGROUND
14
CHAPTER 2. BACKGROUND 2.5. SLAM AND GPU
15
2.6. SLAM BENCHMARK CHAPTER 2. BACKGROUND
1
ε(δ ) = trans(δi, j δi,∗ j )2 + rot(δi, j δi,∗ j )2 (2.1)
N∑i, j
On the other hand, the main disadvantage of this method is that it includes
intensive manual work; a human operator that is aware of the topology of
the environment where the datasets have been recorded has to inspect the
estimated SLAM poses, visualize the sensors observations and construct the
true relations. The exact procedure for obtaining the reference relations in
indoor environments is described in [38]. For large outdoor environments,
Kümmerle et al. adapted Monte Carlo Localization (MCL) framework to
process aerial images in order to extract the reference relations.
It is important to note that the metric in equation 2.1 does not specify the
relative relations that should be included in the summation; the selection
of the relative displacements depends on the application at hand. The
authors of [38] argue that by considering only the relative displacements
between nearby poses, the local consistency of the resultant map is assessed
which in turn is sufficient for evaluating the performance of localization
algorithms. In addition to the proposed metric, Kümmerle et al. provided the
relative relations that were obtained manually for the frequently used public
datasets within the SLAM research community, thus forming a benchmark
for evaluating the different SLAM algorithms. In this project, we will make
use of the benchmark to validate the implemented RBPF SLAM algorithm as
further described in chapter 5.
16
CHAPTER 3. METHODOLOGY
Chapter 3
Methodology
When denoting the vacancy state of the cell ( p(mi j ) = 0 ) as m̄i j , that in turn
implies the following constraint:
17
3.1. OCCUPANCY GRID MAPPING CHAPTER 3. METHODOLOGY
Applying the aforementioned conventions to all the cells within the map, we
can efficiently describe the map m as a two dimensional grid as follows:
m = {mi j : 1 ≤ i ≤ W, 1 ≤ j ≤ H} (3.2)
Where W is the number of cells in the width dimension and H is the number
of cells in the height dimension.
• Predict:
Z
p(mt |z1:t−1 , x1:t−1 ) = p(mt |mt−1 )p(mt−1 |z1:t−1 , x1:t−1 )dmt−1 (3.4)
• Update:
18
CHAPTER 3. METHODOLOGY 3.1. OCCUPANCY GRID MAPPING
Applying Markov assumption where the current state of the sensor measurements
zt and the vehicle pose xt are assumed to sum the past, the previous states
z1:t−1 and x1:t−1 , equation 3.7 shall be simplified to:
19
3.1. OCCUPANCY GRID MAPPING CHAPTER 3. METHODOLOGY
Where
Taking the logarithm for the previous expression allows us to simplify the
computations by moving to summation instead of multiplication:
20
CHAPTER 3. METHODOLOGY 3.1. OCCUPANCY GRID MAPPING
Finally, denoting the log odd ratio as l(mi j |z1:t , x1:t ), we obtain:
l(mi j |z1:t , x1:t ) = l(mi j |z1:t−1 , x1:t−1 ) + l(mi j |zt , xt ) − l(mi j ) (3.14)
or in short:
Equation 3.15 is the final expression used at each iteration for incorporating
the new senor readings in updating the occupancy state of each cell that lies
in the sensor field of view through the occupancy grid mapping algorithm
as shown in Algorithm 3.1. For those cells that do not fall within the sensor
cone, the occupancy probability remains unchanged, keeping the last obtained
value lt−1,i j . In the following two sections, 3.2 and 3.3, we provide further
explanation of the terms involved in equation 3.15.
21
3.2. SENSOR MODELING CHAPTER 3. METHODOLOGY
• The region before the detection of the object is free region; occupancy
probability = 0
• The region exactly where the detection happens, where the object is
placed, is occupied region; occupancy probability = 1
Figure 3.1: Inverse sensor model for a Lidar detecting an object placed at
range = 10 m.
22
CHAPTER 3. METHODOLOGY 3.2. SENSOR MODELING
Pmin : 0 ≤ r ≤ z − ∆r
2
P(r|z) = Pmax : z − ∆r
2 ≤ r ≤ z + ∆r
2 (3.16)
0.5 : r > z + ∆r
2
Where z is the actual measurement obtained from the Lidar and r is the set
of all possible values of the range measurement. Furthermore, we account
for the noise that Lidars experience in reality by convolving the ideal sensor
model with a Gaussian distribution with a zero mean and a variance value
that simulates the sensor noise. In that way, we obtain a more accurate sensor
model as shown in Figure 3.2 and which can be approximated as:
0.2 : r < z − ∆r
2
P(r|z) = ηN (r, z, σz ) : r ∈ [z − ∆r
2 , z]
(3.17)
0.5 :r>z
where:
1 (r − z)2
N (r, z, σz ) = √ .exp(− ) (3.18)
2πσz 2σz2
23
3.3. MAP INITIALIZATION CHAPTER 3. METHODOLOGY
Figure 3.2: Gaussian inverse sensor model for a Lidar detecting an object
placed at range = 10 m.
24
CHAPTER 3. METHODOLOGY
3.4. RAO-BLACKWELLIZED GRID-BASED SLAM
25
3.4. RAO-BLACKWELLIZED GRID-BASED
CHAPTER
SLAM3. METHODOLOGY
26
CHAPTER 3. METHODOLOGY
3.5. MAPPING WITH MULTIPLE LIDARS
Here, an interesting question to ask is how to best integrate data from the
different Lidars. As can be seen by Figure 3.3, there are two main approaches
to incorporate the different Lidars measurements. The first approach is to
build a sensor model for each Lidar, maintain an occupancy grid out of each
sensor readings individually and further fuse those separate grids into one
single grid; Grid Fusion. An alternative approach is to integrate the raw
readings from the different Lidars into one point cloud, one sensor model,
that is further processed through the SLAM algorithm and used to build the
map; Raw Measurement Fusion.
In order to argue for the choice of Raw Measurement Fusion as the fusion
method used through this project, we will first discuss the most common
methods within the Grid Fusion approach and discuss why they are not
suitable to be followed in comparison to the Raw Measurement Fusion.
27
3.5. MAPPING WITH MULTIPLE LIDARS
CHAPTER 3. METHODOLOGY
Fusing the single grids from all the S sensors into one single grid, the posterior
over the cell in the fused grid is defined as:
28
CHAPTER 3. METHODOLOGY
3.5. MAPPING WITH MULTIPLE LIDARS
Evaluating the LOP and IOP grid fusion methods against the aforementioned
properties, the IOP, by calculating the geometric average of the individual
probabilities, allows for reinforcement in the supporting information cases
and totally neglects the non-informative sensors. However, the IOP is too
extreme in its conclusion in the conflicting information situation; disabling
the mitigation characteristic. To illustrate that, let us consider the case
of three sensors reporting occupancy probabilities about a particular cell
as ps (mi j ) = .9,.9,.9 respectively. Applying the IOP formula in equation
3.26, the output probability is p(mi j ) = .999, concluding that the cell is
high likely to be occupied. Similarly, when the probabilities reported by
the three sensors are ps (mi j ) = .9,.5,.5 respectively, the output probability
is p(mi j ) = .9, neglecting the sensors reporting unknown state. when the
reported probabilities by the sensors are ps (mi j ) = .9,.1,.1 respectively, while
an increase of the uncertainty is desirable in such case, the output probability
is p(mi j ) = .1.
29
3.5. MAPPING WITH MULTIPLE LIDARS
CHAPTER 3. METHODOLOGY
On the other hand, the LOP, by calculating the weighted average of the
individual probabilities, is always conservative in its estimate; disabling the
reinforcement characteristic in the supporting information cases and enabling
the non-informative sensors to contribute to the final belief. To explain
that, let us assume two sensors with equal weights reporting occupancy
probabilities of ps (mi j ) = .9,.9 respectively about a particular cell. While
an increase in the belief about the occupancy state of this cell is desirable,
applying LOP formula in equation 3.25 leads to output probability of
p(mi j ) = .9. In another case when the sensors report probabilities of
ps (mi j ) = .9,.5 respectively, the output probability is p(mi j ) = .7; allowing
the non-informative sensor to affect the final belief. To sum up, the LOP in
most cases results in less informative grid than the ones being fused. Hence,
we will rule out the LOP and decide the IOP as a more suitable grid fusion
method for our application.
Now let us analyse performing raw measurement fusion against IOP grid
fusion. Firstly, in the raw measurement scale, sensors are only informative. At
a specific angle, a sensor either provide a range measurement, corresponding
to an occupied area, or not, corresponding to a free area. Secondly, although
raw measurement fusion does not feature reinforcement in supportive information,
it never, theoretically, leads to false negatives. Supportive sensors in law
measurement level are sensors that provide the same range measurement
at a specific angle and thus only one of them is considered in the fused
cloud and processed through the sensor model to be interpreted as an
occupancy probability. Finally, the main drawback of the raw measurement
fusion is that it is always biased to false positives in conflicting information
situations. A typical situation of such case would be a sensor reporting a
range measurement at a specific angle while all other sensors do not for the
30
CHAPTER 3. METHODOLOGY
3.5. MAPPING WITH MULTIPLE LIDARS
same angle. Hence, when constructing the fused point cloud, only the sensor
providing a range measurement will be considered, in comparison to the other
sensors. Nevertheless, such disadvantage can be redeemed by filtration of
false measurements. Moreover, since all the Lidars have the same sensor
model, it is unlikely that sensors provide conflicting information.
31
CHAPTER 4. IMPLEMENTATION
Chapter 4
Implementation
Parameter value
Number of Vertical Layers 4
Horizontal field of view 145 ◦
Vertical field of view ±3.2 ◦
Angular resolution .25 ◦
Range resolution ≤ .1m
Maximum range 150m
Data Refresh Time 40/80 ms
One of the main aims of this project is to make use of the computational
capabilities of graphical processing units to handle the heavy processes
32
CHAPTER 4. IMPLEMENTATION
4.2. COORDINATE FRAMES TRANSFORMATION
involved within both occupancy grid mapping and particle filter algorithms.
Thus, an NVIDIA Jetson TX2 board that has a GPU, with 256 NVIDIA
CUDA cores, was chosen as an embedded platform for running the implemented
SLAM algorithm and evaluate the performance against a CPU platform.
(a) Side right Lidar (b) Front forward Lidar (c) Side left Lidar
33
4.2. COORDINATE FRAMES TRANSFORMATION
CHAPTER 4. IMPLEMENTATION
Figure 4.2: Coordinate frames conventions. SR, FF, and SL; side right, front
forward and side left Lidars frames. IMU; inertial measurement unit frame.
odom; the inertial odometric frame of the vehicle. map; the frame where the
vehicle is moving.
34
CHAPTER 4. IMPLEMENTATION 4.3. SOFTWARE ARCHITECTURE
1. Data are collected from all the sensors, Lidars and IMU, and transformed
to the base link frame.
2. The information provided by the IMU are used to calculate the ego-
vehicle motion and provide the odometry information for the SLAM
algorithm.
3. The data from the different Lidars are fused into one point cloud that is
further provided to the mapping component of the SLAM algorithm.
35
4.4. PRACTICAL ASPECTS CHAPTER 4. IMPLEMENTATION
Using 1000 particles and a grid resolution of .1 m, the building blocks of the
SLAM algorithm were implemented as 7 kernels GPU, namely:
The same building blocks were implemented as functions, with the same
naming criteria in C++ on ROS, Robotics Operating Systems, environment on
the CPU. Finally, a comparison of the performance in terms of the execution
time was constructed between the GPU and the CPU which is further shown
and discussed in the next section.
36
CHAPTER 5. EVALUATION AND RESULTS
Chapter 5
The evaluation process through this project has been applied in two main
steps. First, in order to validate the implemented Rao-Blackwellized particle
filter SLAM algorithm, a quantitative analysis was performed using the
SLAM benchmark described and discussed in section 2.6. Second, a set
of experiments was designed and performed where the performance of the
proposed system was qualitatively assessed. In this section, we thoroughly
describe the evaluation procedure while presenting and discussing the results.
37
5.1. RBPF SLAM BENCHMARKING
CHAPTER 5. EVALUATION AND RESULTS
presented in the first two columns of table 5.2. The datasets, reference relative
relations, map images and the error metric evaluator source files can be found
online at: http://ais.informatik.uni-freiburg.de/slamevaluation/
Based on the error scores in the tables and the error plots, we can see that
the implemented RBPF in our project, like the one used in [38], outperforms
the scan matching approach in most cases. This has to do with the fact that
scan matching introduces high errors at loop closures. Moreover, we can
see that the results of the RBPF implemented within our system are always
comparable to the ones of the RBPF implementation used by Kümmerle et al..
Since the later led, on average, to building consistent maps when processing
the different datasets, we can then conclude that our implementation has been
validated to result in accurate representation of the environment. However, we
can argue that the difference in performance between the two implementations
is due to the fact that the RBPF used in [38] applies an improved motion
model by using scan matching along with the odometry information and uses
selective re-sampling technique. That in turn proves the positive effects of
the improvements proposed in [14] and [15] on the performance of the Rao-
Blackwellized Particle Filter algorithm.
38
CHAPTER 5. EVALUATION AND 5.1.
RESULTS
RBPF SLAM BENCHMARKING
Table 5.1: Translational components of the average and squared errors resultant
from processing the different datasets through the three mapping algorithms along
with the corresponding standard deviation and the maximum error. The errors out of
our implemented RBPF are presented in the right column while the errors in the left
and middle columns were obtained by Kümmerle et al. in [38].
39
5.1. RBPF SLAM BENCHMARKING
CHAPTER 5. EVALUATION AND RESULTS
Table 5.2: Rotational components of the average and squared errors resultant from
processing the different datasets through the three mapping algorithms along with
the corresponding standard deviation and the maximum error. The errors out of our
implemented RBPF are presented in the right column while the errors in the left and
middle columns were obtained by Kümmerle et al. in [38].
40
CHAPTER 5. EVALUATION AND 5.1.
RESULTS
RBPF SLAM BENCHMARKING
Figure 5.2: Graphical analysis of the rotational error of the different mapping
approaches. The errors of our implemented RBPF are shown in grey, while
the errors of the RBPF used in [38] are presented in orange.
41
5.2. EXPERIMENTAL EVALUATION
CHAPTER 5. EVALUATION AND RESULTS
Ground Truth
In order to reach a rough quantitative measure that support the qualitative
analysis applied while evaluating the accuracy of the occupancy grids generated
by the proposed algorithm, the left object was placed on an x-sign which was
accurately positioned on the test track by Scania and the other two objects
were delicately placed relative to the left one as shown in Figure 5.3.
42
CHAPTER 5. EVALUATION AND5.2.
RESULTS
EXPERIMENTAL EVALUATION
Description
While the vehicle is being static, the data from all the sensors were being
logged for almost 1 minute. During recording the data, one person from
the two standing groups moved toward the test vehicle and went back to the
other group; causing referenced dynamic changes within the static scene. The
collected logs were further processed offline; the data from each Lidar were
passed individually to the mapping algorithm and an occupancy grid with .1
m cell resolution was maintained for each of the sensors .
Figure 5.4: Online simulation of the Lidars detection. Light blue; side right
Lidar, dark blue; front forward Lidar, pink; side left Lidar.
As can be seen in Figure 5.4, while the front forward Lidar has detected the
three objects, each of the right and left Lidars has detected only one; right and
left objects respectively. The objects were correctly mapped in the occupancy
43
5.2. EXPERIMENTAL EVALUATION
CHAPTER 5. EVALUATION AND RESULTS
44
CHAPTER 5. EVALUATION AND5.2.
RESULTS
EXPERIMENTAL EVALUATION
Figure 5.5: Resultant occupancy grids out of processing each Lidar point
cloud individually through the mapping algorithm. Grids are visualized in
each Lidar frame. In blue circles; the referenced objects. In red circles;
the different objects behind the scene. The white points are the accumulated
measurements of each Lidar.
45
5.2. EXPERIMENTAL EVALUATION
CHAPTER 5. EVALUATION AND RESULTS
The parts of the grids generated by the side right and side left Lidars readings
where the objects have been mapped are highlighted in Figures 5.6a and 5.6b
respectively, with the objects extracted manually. Although sharp occupied
cells directly beneath the two dimensions of the object detected by each
Lidar were expected, the figures show some occupied cells before the two
dimensions. This has to do with the fact that the windy weather during the
test along with the improper attachment between the two boxes forming the
object have led to parts of the top box to be detected by the Lidar before the
bottom one. However, neglecting this fact, for the simplicity of the evaluation,
we can see that those excessive cells do not exceed two rows in width. Thus,
we can conclude that the deviation between the ground truth and the mapping
algorithm output is lower than .2 m.
The part in Figure 5.5b where the objects are mapped is zoomed in Figure 5.7
while the objects are manually extracted and the relative distances between
the objects are measured. A comparison between those distances and the true
ones is constructed in table 5.3.
46
CHAPTER 5. EVALUATION AND5.2.
RESULTS
EXPERIMENTAL EVALUATION
Figure 5.7: Extracted objects from the front forward Lidar occupancy grid.
47
5.2. EXPERIMENTAL EVALUATION
CHAPTER 5. EVALUATION AND RESULTS
Description
While the vehicle being static, the side left Lidar was completely blinded and
the data from all sensors were being logged for almost 1 minute. The collected
log was further processed offline; the data from the different Lidars were first
fused into one point cloud which was then passed to the mapping algorithm
and a general occupancy grid with .1 m cell resolution was constructed.
48
CHAPTER 5. EVALUATION AND5.2.
RESULTS
EXPERIMENTAL EVALUATION
Figure 5.8: Accumulated Laser scans received from the Lidars; In light blue,
side right laser scans and in dark blue, front forward laser scans. In white, the
fused laser scans when applying low-level fusion.
Figure 5.9: Occupancy grid map built out of the fused point cloud and
visualized in the base link frame.
49
5.2. EXPERIMENTAL EVALUATION
CHAPTER 5. EVALUATION AND RESULTS
5.2.4 Experiment II
Description
In this experiment, we evaluate the performance of the full proposed SLAM
system; both localization and mapping. With the same environment setup as
the first experiment, the truck was parked far from the objects where none of
the objects was detected by the front forward Lidar. The truck started moving
slowly from its initial position approaching the boxes while performing two
stops on the way to make sure that there is enough time to map the boxes.
While the truck was moving, the data from all the sensors; Lidars, IMU and
RTK GPS were being logged. The collected log was further processed offline;
the data from the different Lidars were first fused into one point cloud which
was then passed to the SLAM algorithm and a general occupancy grid with .5
m cell resolution was maintained.
50
CHAPTER 5. EVALUATION AND5.2.
RESULTS
EXPERIMENTAL EVALUATION
Figure 5.11: The different estimated trajectories of the truck during the
experiment.
(a) (b)
(c) (d)
51
5.2. EXPERIMENTAL EVALUATION
CHAPTER 5. EVALUATION AND RESULTS
52
CHAPTER 5. EVALUATION AND5.2.
RESULTS
EXPERIMENTAL EVALUATION
53
CHAPTER 6. CONCLUSION AND FUTURE WORK
Chapter 6
We finalize the report by summarizing the work that has been done within
the implementation phase of this project, highlighting the results out of the
evaluation process and proposing potential improvements in the form of future
work.
54
CHAPTER 6. CONCLUSION AND
6.2. DISCUSSION
FUTURE WORKAND FUTURE WORK
matching technique results but also was comparable to the results obtained
from the GMapping RBPF implementation. To provide an insight of potential
real time solution that could be achieved by adapting and/or improving our
GPU implementation, a similar implementation was done on the CPU and a
comparison in terms of the execution time was constructed between the two
embedded platforms where the GPU implementation was found to be almost
three times faster than its corresponding on the CPU.
In the different designed scenarios, the proposed system was able to build
adequate occupancy maps of the truck surroundings. Moreover, in the second
scenario of Experiment 1, the raw measurement fusion applied between the
Lidars helped to skip the sensor synchronization step and was proven to
result in more informative grid than the grid that each Lidar can individually
provide. Furthermore, the localization component showed more accurate
estimation of the truck trajectory compared to the one obtained from the raw
odometry information. With the truck being able to map its static environment
and localize itself in a a global reference frame, through applying state-of-
art computer vision technologies, it can further plan it path, determine the
drivable corridor and avoid collisions.
55
6.2. DISCUSSION AND
CHAPTER
FUTURE
6. CONCLUSION
WORK AND FUTURE WORK
56
CHAPTER 6. CONCLUSION AND
6.2. DISCUSSION
FUTURE WORKAND FUTURE WORK
57
BIBLIOGRAPHY BIBLIOGRAPHY
Bibliography
[1] SAE International. In: Taxonomy and Definitions for Terms Related to
On-Road Motor Vehicle Automated Driving Systems J3016. 2014.
[2] Daniel Watzenig and Martin Horn. Automated Driving: Safer and More
Efficient Future Driving. 1st. 2016.
[3] World Health Organization. In: Global status report on road safety :
time for action. 2009. http://www.who.int/iris/handle/10665/44122.
[4] Jaagup Ainsalu et al. “State of the Art of Automated Buses”. In:
Sustainability 10.9 (Aug. 2018), pp. 1–34.
[5] Edmond Awad et al. “The Moral Machine Experiment”. In: Nature 563
(Nov. 2018). DOI: 10.1038/s41586-018-0637-6.
[6] Kai M. Wurm, Cyrill Stachniss, and Giorgio Grisetti. “Bridging the gap
between feature- and grid-based SLAM”. In: Robotics and Autonomous
Systems 58.2 (2010), pp. 140–148.
[7] Cesar Cadena et al. “Past, Present, and Future of Simultaneous Localization
And Mapping: Towards the Robust-Perception Age”. In: arXiv e-prints
(June 2016), arXiv:1606.05830.
[8] Christopher Weyers and Gilbert Peterson. “Improving occupancy grid
FastSLAM by integrating navigation sensors”. In: 2011 IEEE/RSJ
International Conference on Intelligent Robots and Systems (2011),
pp. 859–864.
[9] Karl Berntorp and Jerker Nordh. “Rao-Blackwellized Particle Smoothing
for Occupancy-Grid Based SLAM Using Low-Cost Sensors”. In: IFAC
Proceedings Volumes 47.3 (2014), pp. 10174–10181.
[10] Jose Luis Blanco, J.-A Fernández-Madrigal, and Javier González-
Jiménez. “Toward a Unified Bayesian Approach to Hybrid Metric–
Topological SLAM”. In: Robotics, IEEE Transactions on 24 (May
2008), pp. 259–270.
58
BIBLIOGRAPHY BIBLIOGRAPHY
59
BIBLIOGRAPHY BIBLIOGRAPHY
[23] Ren C. Luo, Chih C. Chang, and Chun Chi Lai. “Multisensor Fusion
and Integration: Theories, Applications, and its Perspectives”. In: IEEE
Sensors Journal 11 (2011), pp. 3122–3138.
[24] Bahador Khaleghi et al. “Multisensor data fusion: A review of the state-
of-the-art”. In: Information Fusion 14 (2013), pp. 28–44.
[25] R.C. Luo and Michael Kay. “A tutorial on multisensor integration and
fusion”. In: Dec. 1990, 707–722 vol.1.
[26] Jos Elfring et al. “Effective World Modeling: Multisensor Data Fusion
Methodology for Automated Driving”. In: Sensors. 2016.
[27] Alberto Elfes and Larry Matthies. “Sensor integration for robot navigation:
Combining sonar and stereo range data in a grid-based representataion”.
In: Jan. 1988, pp. 1802–1807.
[28] Sebastian Thrun. “Learning Occupancy Grids With Forward Sensor
Models”. In: 2002.
[29] Edouard Ivanjko, Ivan Petrovic, and Misel Brezak. “Experimental
Comparison of Sonar Based Occupancy Grid Mapping Methods”. In:
50 (Dec. 2009), pp. 65–79.
[30] Wilfried Elmenreich. An Introduction to Sensor Fusion. Research
Report 47/2001. Technische Universität Wien, Institut für Technische
Informatik, 2001.
[31] Florian Homm, Nico Kaempchen, and Darius Burschka. “Fusion of
laserscannner and video based lanemarking detection for robust lateral
vehicle control and lane change maneuvers”. In: 2011 IEEE Intelligent
Vehicles Symposium (IV) (2011), pp. 969–974.
[32] Igor Paromtchik, Mathias Perrollaz, and Christian Laugier. “Fusion
of Telemetric and Visual Data from Road Scenes with a Lexus
Experimental Platform”. In: IEEE International Symposium on Intelligent
Vehicles. June 2011.
[33] Ruben Garcia et al. “High level sensor data fusion for automotive
applications using occupancy grids”. In: 2008 10th International Conference
on Control, Automation, Robotics and Vision (2008), pp. 530–535.
[34] Florian Homm et al. “Efficient occupancy grid computation on the
GPU with lidar and radar for road boundary detection”. In: 2010 IEEE
Intelligent Vehicles Symposium (2010), pp. 1006–1013.
[35] D. Rodriguez-Losada et al. “GPU-Mapping: Robotic Map Building
with Graphical Multiprocessors”. In: Robotics Automation Magazine,
IEEE 20.2 (June 2013), pp. 40–51.
60
BIBLIOGRAPHY BIBLIOGRAPHY
[36] Haiyang Zhang and Fred Martin. “CUDA accelerated robot localization
and mapping”. In: 2013 IEEE Conference on Technologies for Practical
Robot Applications (TePRA) (2013), pp. 1–6.
[37] Manuel Yguel, Olivier Aycard, and Christian Laugier. “Efficient GPU-
based construction of occupancy grids using several laser range-
finders”. In: 6 (Jan. 2008), pp. 48–83.
[38] Rainer Kümmerle et al. “On measuring the accuracy of SLAM algorithms”.
In: Auton. Robots 27 (2009), pp. 387–407.
[39] A. Elfes and L. Matthies. “Sensor integration for robot navigation:
Combining sonar and stereo range data in a grid-based representataion”.
In: 26th IEEE Conference on Decision and Control. Vol. 26. Dec. 1987,
pp. 1802–1807.
[40] Christophe Coué et al. “Bayesian Occupancy Filtering for Multitarget
Tracking: An Automotive Application”. In: The International Journal
of Robotics Research 25.1 (2006), pp. 19–30.
61
TRITA -EECS-EX-2019:540
www.kth.se