没有合适的资源?快使用搜索试试~ 我知道了~
cartographer论文英文版
需积分: 5 1 下载量 133 浏览量
2023-11-06
20:05:29
上传
评论
收藏 5.27MB PDF 举报
温馨提示
试读
18页
cartographer论文【英文版】 文章基于自适应多距离扫描调度的制图SLAM优化方法阿卜杜拉赫曼·德维乔托莫 1、莫哈末阿齐兹·阿卜杜勒·拉赫曼 1、莫哈末哈达·穆罕默德·阿里夫 1、海里·扎姆祖里 2 和万·穆赫德·哈菲兹·万·阿兹里 2马来西亚工艺大学先进车辆系统研究小组,54100 Jalan Sultan Yahya Petra马来西亚吉隆坡;adwijotomo2@live.utm.my(公元);mohdhatta.kl@utm.my (M.H.M.A.)Emoovit Technology Sdn. Bhd., Level 1, Futurise Centre, Persiaran Apec 63000, 赛城, 雪兰莪,马来西亚;hairi@moovita.com (H.Z.);wanhafeez@moovita.com (W.M.H.W.A.)函授:azizi.kl@utm.my
资源推荐
资源详情
资源评论
applied
sciences
Article
Cartographer SLAM Method for Optimization with
an Adaptive Multi-Distance Scan Scheduler
Abdurahman Dwijotomo
1
, Mohd Azizi Abdul Rahman
1,
*, Mohd Hatta Mohammed Ariff
1
,
Hairi Zamzuri
2
and Wan Muhd Hafeez Wan Azree
2
1
Advanced Vehicle System Research Group, Universiti Teknologi Malaysia, 54100 Jalan Sultan Yahya Petra,
Kuala Lumpur, Malaysia; adwijotomo2@live.utm.my (A.D.); mohdhatta.kl@utm.my (M.H.M.A.)
2
Emoovit Technology Sdn. Bhd., Level 1, Futurise Centre, Persiaran Apec 63000, Cyberjaya, Selangor,
Malaysia; hairi@moovita.com (H.Z.); wanhafeez@moovita.com (W.M.H.W.A.)
* Correspondence: azizi.kl@utm.my
Received: 1 November 2019; Accepted: 12 December 2019; Published: 2 January 2020
Abstract:
This paper presents the use of Google’s simultaneous localization and mapping (SLAM)
technique, namely Cartographer, and adaptive multistage distance scheduler (AMDS) to improve
the processing speed. This approach optimizes the processing speed of SLAM which is known to
have performance degradation as the map grows due to a larger scan matcher. In this proposed
work, the adaptive method was successfully tested in an actual vehicle to map roads in real time.
The AMDS performs a local pose correction by controlling the LiDAR sensor scan range and scan
matcher search window with the help of scheduling algorithms. The scheduling algorithms manage
the SLAM that swaps between short and long distances during map data collection. As a result,
the algorithms efficiently improved performance speed similar to short distance LiDAR scans while
maintaining the accuracy of the full distance of LiDAR. By swapping the scan distance of the sensor,
and adaptively limiting the search size of the scan matcher to handle difference scan sizes, the pose’s
generation performance time is improved by approximately 16% as compared with a fixed scan
distance, while maintaining similar accuracy.
Keywords: Cartographer; simultaneous localization and mapping (SLAM); LiDAR; scheduler
1. Introduction
Cartographer is a SLAM method developed by Google, which utilizes grid-based mapping together
with a Ceres based scan matcher to reconstruct environment across various sensors configuration [1].
Initially, it was developed for portable applications to map unknown areas with a person using the
inertial measurement unit (IMU) and LiDAR installed in a backpack. However, since the codes
have been made public, Cartographer is now managed by an open source community, and various
improvements have been made to widen the scope of applications including more substantial map
support, more sensor integration, and other technological improvements which support intelligent
robots. SLAM methods are not new research and are beyond the focus of this paper. However, this
paper contributes to the improvisation of the current Cartographer or SLAM by using an adaptive
multistage distance scheduler to reduce computational load while maintaining accuracy. The main
contributions of this paper are as follows:
(a) Optimizing Cartographer by using an adaptive multistage distance scheduler (AMDS) to increase
time computation performance up to 20% while maintaining the pose generation and map
accuracy similar to that of standard Cartographer;
(b) Integrating Cartographer by using a car for online world mapping, which is crucial for the future
autonomous vehicle navigation systems;
Appl. Sci. 2020, 10, 347; doi:10.3390/app10010347 www.mdpi.com/journal/applsci
Appl. Sci. 2020, 10, 347 2 of 18
(c)
Investigating the performance of the proposed method by comparing it to the popular SLAM
methods (LiDAR odometry and mapping (LOAM) and normal distribution transform (NDT)
SLAM), in the actual world environment.
2. Related Works
In autonomous vehicle navigation systems, SLAM is a method used to generate map awareness
of the vehicle. It is mainly used to know or locate the position of the vehicle body (i.e., similar to
odometry) based on an environmental scan comparison with the generated map. Unlike odometry
algorithms which use motion sensors (e.g., encoders, IMUs, etc.) to estimate pose, SLAM reduces or
eliminates the drift issue seen in odometry. Drift error is an accumulation of small computational
errors due to sensor accuracy specifications, electrical noises, temperature, etc., which when summed
in odometry pose estimation can result in a linear increase of pose error based on travel distance.
SLAM solves or reduces drift error of pose estimation by using an optimization technique using map
data. This requires sensors which are able to sense the environment and object distances such as
LiDAR or three-dimensional (3D) camera and sometimes additional sensors such as IMU encoders
are needed [
2
,
3
]. The map is generated through the accumulation of scan data by this sensor during
vehicle motion. Some of the SLAM methods also require odometry sensors such as IMU or wheel
speed to provide better pose estimation accuracy. When the SLAM recognizes previously visited areas
by comparing the environment with the map, it triggers pose correction to eliminate or reduce the drift
error. Figure 1 illustrates the SLAM framework used in this work.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 2 of 18
c) Investigating the performance of the proposed method by comparing it to the popular SLAM
methods (LiDAR odometry and mapping (LOAM) and normal distribution transform (NDT)
SLAM), in the actual world environment.
2. Related Works
In autonomous vehicle navigation systems, SLAM is a method used to generate map awareness
of the vehicle. It is mainly used to know or locate the position of the vehicle body (i.e., similar to
odometry) based on an environmental scan comparison with the generated map. Unlike odometry
algorithms which use motion sensors (e.g., encoders, IMUs, etc.) to estimate pose, SLAM reduces or
eliminates the drift issue seen in odometry. Drift error is an accumulation of small computational
errors due to sensor accuracy specifications, electrical noises, temperature, etc., which when summed
in odometry pose estimation can result in a linear increase of pose error based on travel distance.
SLAM solves or reduces drift error of pose estimation by using an optimization technique using map
data. This requires sensors which are able to sense the environment and object distances such as
LiDAR or three-dimensional (3D) camera and sometimes additional sensors such as IMU encoders
are needed [2,3]. The map is generated through the accumulation of scan data by this sensor during
vehicle motion. Some of the SLAM methods also require odometry sensors such as IMU or wheel
speed to provide better pose estimation accuracy. When the SLAM recognizes previously visited
areas by comparing the environment with the map, it triggers pose correction to eliminate or reduce
the drift error. Figure 1 illustrates the SLAM framework used in this work.
SENSOR
DATA INPUT
FRONT-END/LOCAL
SLAM
(POSE GENERATION)
BACK-END/GLOBAL SLAM
(OPTIMIZATION)
POSE UPDATE
CONSTRAINTS
MAP
Figure 1. Simultaneous localization and mapping (SLAM) framework.
Although the SLAM method provides improved pose calculation for autonomous vehicles by
recognizing previously recorded areas, there are still some issues that need to be addressed, for
example, creating a real-time process in SLAM for mapping has some computation problems related
to reduced performance due to the use of a scan matcher. A scan matcher is used to perform two
different tasks. On the one hand, one task is the initial pose estimation, and on the other hand, a
second task is the pose correction. The initial pose estimation compares the previous step of sensor
scans of LiDAR or camera against current scan data. Thus, the disparity residual of current scan data
versus the previous scan data in each step is used to estimate vehicle motion for the initial pose,
similar to the odometry method. Over time, it eventually drifts due to the accumulation of error. The
drift error is then corrected using the latter method, which is a scan matcher against the overall map.
The process records the map by accumulating scan data in every step of vehicle motion. Using a
larger scale scan matcher, unlike the former task, it compares the current scan with the whole map
globally. When the scan matcher finds similarity above a certain threshold on the global map, the
position of the scan and vehicle when drifting are aligned to a recognized area, and thus a pose
correction scenario is created.
A small map runs fast enough with SLAM, however, overtime it will become cumbersome as
the map grows larger during SLAM’s map creation. As the map size becomes larger, it consumes
more memory capacity and the scan matching performance becomes slower [4–6]. Some
improvements have been introduced to improve computational performance. In [7–11], there are
some SLAM methods that use specialized computer hardware for parallel programming, for
example, a graphic processing unit (GPU). The GPU is much faster than the central processing unit
(CPU) for processing a large dimension of matrix arrays or parallel executions. Map data in SLAM
Figure 1. Simultaneous localization and mapping (SLAM) framework.
Although the SLAM method provides improved pose calculation for autonomous vehicles by
recognizing previously recorded areas, there are still some issues that need to be addressed, for example,
creating a real-time process in SLAM for mapping has some computation problems related to reduced
performance due to the use of a scan matcher. A scan matcher is used to perform two different tasks.
On the one hand, one task is the initial pose estimation, and on the other hand, a second task is the pose
correction. The initial pose estimation compares the previous step of sensor scans of LiDAR or camera
against current scan data. Thus, the disparity residual of current scan data versus the previous scan
data in each step is used to estimate vehicle motion for the initial pose, similar to the odometry method.
Over time, it eventually drifts due to the accumulation of error. The drift error is then corrected using
the latter method, which is a scan matcher against the overall map. The process records the map by
accumulating scan data in every step of vehicle motion. Using a larger scale scan matcher, unlike
the former task, it compares the current scan with the whole map globally. When the scan matcher
finds similarity above a certain threshold on the global map, the position of the scan and vehicle when
drifting are aligned to a recognized area, and thus a pose correction scenario is created.
A small map runs fast enough with SLAM, however, overtime it will become cumbersome as the
map grows larger during SLAM’s map creation. As the map size becomes larger, it consumes more
memory capacity and the scan matching performance becomes slower [
4
–
6
]. Some improvements have
been introduced to improve computational performance. In [
7
–
11
], there are some SLAM methods that
use specialized computer hardware for parallel programming, for example, a graphic processing unit
(GPU). The GPU is much faster than the central processing unit (CPU) for processing a large dimension
of matrix arrays or parallel executions. Map data in SLAM are similar to a multimedia image which
Appl. Sci. 2020, 10, 347 3 of 18
consists of a pixel in a multidimensional large array format. Meanwhile, the scan matcher also involves
repetitive calculations to process the array data in various rotations and translations until similarity
is found above a certain threshold. Thus, this kind of parallel computation is suitable to offload the
workload through GPU. Although this type of computation is correct when offloaded to GPU, it should
be noted that not all calculations are suitable and some must be offloaded to CPU when more serial
processing power is needed. It also requires additional hardware which increases the cost of a GPU.
Some other techniques than GPU processing are done using a simplified scan or map dataset.
Saving full map data in every scan sometimes is not efficient for a scan matcher. The higher map detail
or resolution results in a higher dimension of total number of data to hold the map. Thus, it consumes
more massive computational resources as compared with smaller maps. In [
12
–
15
], they introduced
a simplified map by using a grid-based map. For every scan of the sensor, first, the data are down
sampled in order to reduce map information. The scan is either down sampled to a two-dimensional
(2D) grid space or to a 3D space using normal distribution transform (NDT) [
16
,
17
] clustering if the
sensors are using 3D-based LiDAR. As the map becomes less complicated, the scan matcher processes
the data faster, however, the accuracy of the low-resolution map largely depends on a map feature that
stands out such as a structure, pole, etc., and the grid size of the map dictates the minimum distance
error variance of the pose.
In addition to grid-based maps, there is also a feature- or topography-based map which saves
some important features from the sensor scan rather than full-scan data such as planar surfaces, edge
lines, landmark, etc. [
18
–
21
]. SLAM that uses a topography map requires feature pattern training to
recognize the object from the scan and use it as a landmark on the map. While the vehicle is moving,
SLAM records the position of landmarks or features and saves them inside the topography-based map.
The pose is then calculated by associating the recognized object in each sensor scan against the related
saved feature objects in the topography map. The pose generation is faster than that of a method
utilizing a normal map as it skips plenty of information outside the referred features. However, if the
environment lacks the data of the referred features, it can result in poor pose calculations.
There are other techniques to improve the performance of computational speed such as a
multi-resolution map for branch and bound scan matching implemented in Google’s Cartographer
technique [
1
,
22
]. It is a scan matcher applied on a multi-resolution grid map. In Cartographer, map
grids with lower resolution are utilized for the initial pose estimation. Later on, the initial pose accuracy
is further increased using a scan matcher on higher resolution. Of course, by using known initial pose
estimation, it can skip various pose iterations of the scan matcher on a higher resolution map. Thus,
the computational speed is improved without sacrificing the accuracy of the map and pose generated.
In this paper, we propose another optimization method inspired by the multi-grid resolution map
from Google’s Cartographer technique. Instead of using multi-resolution maps, the proposed method
uses a scheduler to filter distance size of the LiDAR sensor. It is known in SLAM that sensor distance
can affect map-sampling size. A bigger map sampled helps reduce the drift error since more feature
data are added, however it is not necessary to use full sensor data every time to create a bigger map.
The scheduler works to bridge the sensor distance, which swaps between a small and full-scan size,
and therefore the pose estimation using a scan matcher can be faster.
3. System Overview
The work presented in this study is based on a modified Google’s Cartographer technique.
Cartographer is a SLAM method which focuses on real-time performance and portability. It uses grid
map-based representation with flexible resolution and sensor choices. The Cartographer technique is
divided into two processes. The first process is called local SLAM which uses a Ceres scan matcher
on a small map, known as a submap, to estimate the pose and orientation of the vehicle. The second
process is known as global SLAM which optimizes the pose by utilizing a larger scan matcher on
global maps (a global map generated from assembling all submaps). Some modifications are made to
剩余17页未读,继续阅读
资源评论
laocui1
- 粉丝: 454
- 资源: 60
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功