0% found this document useful (0 votes)
43 views8 pages

A General Framework For Lifelong Localization and Mapping in Changing Environment

The document presents a general framework for lifelong simultaneous localization and mapping in changing environments. The framework uses a multiple session map representation and an efficient map updating strategy that includes map building, pose graph refinement and sparsification. It also proposes a map-trimming method based on maximum mutual information to mitigate unbounded memory usage. The framework was validated over a month of robot deployment in a real supermarket and the authors released a dataset collected from indoor and outdoor changing environments.

Uploaded by

xiaosunliang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views8 pages

A General Framework For Lifelong Localization and Mapping in Changing Environment

The document presents a general framework for lifelong simultaneous localization and mapping in changing environments. The framework uses a multiple session map representation and an efficient map updating strategy that includes map building, pose graph refinement and sparsification. It also proposes a map-trimming method based on maximum mutual information to mitigate unbounded memory usage. The framework was validated over a month of robot deployment in a real supermarket and the authors released a dataset collected from indoor and outdoor changing environments.

Uploaded by

xiaosunliang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

A General Framework for Lifelong Localization and Mapping in Changing

Environment
Min Zhao1 , Xin Guo1 , Le Song1 , Baoxing Qin1 , Xuesong Shi2 , Gim Hee Lee3 , Guanghui Sun4

Abstract— The environment of most real-world scenarios


such as malls and supermarkets changes at all times. A pre-
built map that does not account for these changes becomes
out-of-date easily. Therefore, it is necessary to have an up-to-
arXiv:2111.10946v1 [cs.RO] 22 Nov 2021

date model of the environment to facilitate long-term operation


of a robot. To this end, this paper presents a general lifelong
simultaneous localization and mapping (SLAM) framework.
Our framework uses a multiple session map representation, and
exploits an efficient map updating strategy that includes map
building, pose graph refinement and sparsification. To mitigate
the unbounded increase of memory usage, we propose a map- Fig. 1. The images above captured from the same perspective at different
trimming method based on the Chow-Liu maximum-mutual- time.
information spanning tree. The proposed SLAM framework
has been comprehensively validated by over a month of robot
deployment in real supermarket environment. Furthermore, to tackle environment changes, we introduce a map updating
we release the dataset collected from the indoor and outdoor module on top of the front-end and back-end modules. This
changing environment with the hope to accelerate lifelong map updating module performs the following:
SLAM research in the community. Our dataset is available
• Collect sensor data and record the dynamic scenes while
at https://github.com/sanduan168/lifelong-SLAM-dataset.
doing localization.
I. I NTRODUCTION • Detect the differences between old and real-time up-
dated maps.
Accurate and robust localization is one fundamental re- • Trim the old maps with real-time updated maps, and
quirement for robot navigation in complex environments. thus keeping pace with the environment changes under
Fig. 1 shows a service robot working in a dynamic envi- an efficient constant computation complexity.
ronment of a supermarket. The scenes are full of non-static
In this paper, we propose a general framework for lifelong
objects, e.g. doors, goods and containers, which can move
localization and mapping. Specifically, our framework tracks
anytime. With a static map, conventional scan matching
the changes in the scene and maintains an up-to-date map
methods [1], [2], [3], [4] may fail easily when a robot
for accurate and robust localization estimation. We test our
traverses through a changing environment. Moreover, the
method on real commercial robots that operate in a super-
wrong matching result may introduce erroneous loop closure
market environment continuously for more than a month.
measurements and further leads to catastrophic failures in
The experiment results show that our method can achieve
the back-end optimization [5]. To handle such problems, the
accurate and robust localization in the presence of significant
robot needs to have the ability to construct and maintain an
environment changes.
up-to-date map while it continuously operates in a changing
Our main contributions are summarized as follow:
environment. We refer to this as the lifelong Simultaneous
• A complete general framework for lifelong SLAM,
Localization and Mapping (SLAM) problem.
A typical SLAM system consists of a front-end and a which operates effectively in changing environment.
• A submap-based graph sparsification method that
back-end module [5], [6], [7]. The front-end module collects
data such as LIDAR point clouds and camera images from achieves high accuracy with constant computation and
sensors and finds the transformation between consecutive memory complexity.
• A public dataset of LIDAR, IMU and wheel encoder
data frames. The back-end module corrects the front-end
estimation drifts by performing the loop closures. In order data in changing environments for lifelong SLAM.
II. R ELATED W ORKS
*This work was supported in part by the National Key R&D Program of
China (No. 2019YFB1312000). A. Lifelong SLAM
1 Gaussian Robotics, Shanghai, China.
2 Intel Labs China, Beijing, China. Long-running robots need to consider mapping the chang-
3 Computer Vision and Robotic Perception Lab, Department of Computer ing environment as a life-long process: deleting old nodes
Science, School of Computing, National University of Singapore, Singapore. and adding new features to update the map [8], [9], [10]
4 Department of Control Science and Engineering, Harbin Institute of
and [11]. Biber et al. [8] presents a kind of dynamic map.
Technology, China.
1 Author to whom correspondence should be addressed, E-mail, The key technical contribution is the use of a sample-based
[email protected] representation and its interpretation through robust statistics.
Fig. 2. An overview of the proposed lifelong SLAM framework

The short-term memory map is updated after each localiza- method with submap trimming and resulting in the lifelong
tion step and the long-term map is stored and evaluated only SLAM pipeline as below.
after a run or after a day. Walcott et al. [10] presents Dynamic
Pose Graph SLAM (DPG-SLAM), an algorithm designed to III. S YSTEM OVERVIEW
remove the inactive scans and add the new scans to the map
A. System Structure
by detecting the label changes after each pass. However,
they maintain a pose graph which is comprised of all the This section describes the architecture of our proposed
scan nodes that will not be optimized in real-time because framework as shown in Fig. 2. Our system consists of three
of high computation complexity. Ding et al. [11] proposes subsystems: local LiDAR odometry (LLO), global LiDAR
a joint framework for vehicle localization that adaptively matching (GLM) and pose graph refinement (PGR). The
incorporate results from both the LiDAR inertial odometry role of LLO is the same with [2]: building a succession of
and global matching modules. To overcome the failure of submaps which are locally consistent. The GLM subsystem
global matching, they also propose an environmental change is responsible for calculating the relative constraint between
detection method to find out when and what portion of the the incoming scans and global submaps, as well as inserting
map should be promptly updated. the submaps and constraints into PGR. PGR is the most
In contrast to them, for the purpose of decreasing com- important part of our system. It collects the submaps from
putational complexity, our method do not include the map LLO and constraints from GLM, trims the old submaps saved
change detection module. The map data structure of ours in old session, and executes pose graph sparsification and
is comprised of several submaps and we replace the old optimization. These modules will be discussed in detail in
submaps with new ones directly. Section IV.
B. Pose Graph Sparsification
B. Notation
Another task for lifelong SLAM is to sparse the pose graph
while minimizing the loss of information when the robots In this paper, we use X , M, Z to represent the node
revisit already mapped area. The computation complexity poses, submap poses and relative constraints, respectively.
and memory usage should be proportional to the scale of Due to multi-session localization, each session consists of
explored space rather than to the localization duration. To several nodes, submaps and constraints. X is the collection
this end, pose graph sparsification methods are proposed. of xsi , which i is the index of the node pose and s means
Kretzschmar et al. [12] uses the expected information gain, the session ID. Analogously, M is composed by msi . It
which is defined as the expected reduction of uncertainty in should be emphasized that there are three types of constraints
the belief of the robot caused by an observation, to reduce the in our system: node-to-submap zmix ij , node-to-node zij
node

redundant nodes and keep constant size pose graph. In [13], and submap-to-submap zmap ij . These constraints take the
the authors propose the use of a Chow-Liu tree (CLT) [14] form of relative poses and associated covariance matrice
to approximate the individual elimination cliques as sparse Ωmix
ij , Ωij
node
and Ωmap mix
ij . For example, zis j s0 is the relative
0
tree structures and seek to minimize the loss of information, transform between the node pose xsi and submap pose msj .
restricting the size of the pose graph. Carlevaris et al. [14] The adjacent two node poses are related by the odometry
0
introduces a generic factor-based method for node removal constraint, e.g. zodom
i s j s0
controls xsi and xsj . Specifically, the
in factor-graph SLAM, which is referred to as generic linear pose and constraint is represented by a rotation R ∈ SO(2)
constraint(GLC). It operates on the Markov blanket of a and a translation t ∈ R2 because of the flat terrain of
marginalized node and compute a sparse approximation of indoor environment. Nonetheless, our framework can be
the blanket. In this work, we combine the CLT sparsification easily extended to SE(3).
C. Problem Definition graph, the relevant stale submaps, nodes and constraints are
Given the poses and relative measurement constraints, removed. The remaining submaps from PGR are transmitted
the pose graph optimization is formulated as a maximum to the global submap database for the subsequent localization
a posteriori probability (MAP) estimation problem. We then task. We call this process "Map Updating".
convert the MAP problem into a least square problem with
the following cost function:
X ∗ , M∗ = argmin J(X , M, Z). (1)
X ,M

Note that kxk2Ω = x> Ω−1 x, and J(X , M, Z) is defined by


the following equation:
J(X , M, Z) = kx00 kΩ0 + km00 kΩ0
S−1
X X 0
+ ( kxsi msj zmix k2
is j s0 Ωmix 0
is j s
s=0 i,j
X 0
+ kxsi xsj zodom k2
is j s0 Ωodom 0
i,j
is j s (2) Fig. 3. Schematic illustration of the map update process. A new map is
firstly built during session 0 of the mapping stage. Given the pre-built map,
X 0
+ kxsi xsj znode k2 robot then estimates its pose and updates the map in the following sessions
is j s0 Ωnode 0 of the localization stage.
is j s
i,j
X 0
+ kmsi msj zmap k2 map0 ),
is j s0 Ω
Each localization session repeats the aforementioned pro-
is j s cedure to estimate the pose of the robot and achieve the
i,j
updated map.
IV. P OSE G RAPH R EFINEMENT
In this section, we present the two main components of B. Pose Graph Refinement
our system: 1) multi-session localization and 2) pose graph 1) Submaps Trimming: In the context of lifelong localiza-
refinement. tion, new submaps are added to the global map instead of
stale submaps whenever the robot is re-entering previously
A. Multi-session Localization visited terrain. The key idea is to trim the old submaps to
The methodology of our map management procedure is limit its number. Most of the existing approaches rely on
based on a map update process as depicted in Fig. 3. A robot the environment change detection [10], [11]. They need to
deployed into a new environment has to execute mapping (in find out when it is time to update the localization map by
session 0), collect the sensor data(including LiDAR, IMU comparing the old and latest maps cell-by-cell. To mitigate
and wheel encoder) and build the map representation of computation complexity, we adopt the method from [2] that
current environment. The map consists of several occupancy computes the overlapping ratio of the stale submap. In case
grid submaps, where each submap includes a fixed number the ratio is below a defined threshold, the old submaps are not
LiDAR scans with corresponding poses, i.e. nodes. There are deleted. Otherwise, they are marked as trimmed and deleted
two advantages: 1) the single submap is immune to the global in the following pose graph sparsification module. The fresh
optimization because of local scan-to-submap matching; and submaps are added to the pose graph regardless of the status
2) it is convenient to update the global map by trimming old of the old submap. The advantage of this method is that we
submaps and adding new submaps to it. After the mapping can keep a constant computational time for a robot working
stage, the robot performs localization task and creates new in a fixed area.
submaps from LLO. These submaps are always fresh and 2) Pose Graph Sparsification: A direct way of discarding
continuously recording the newest characteristics of current a trimmed submap is to throw all the constraints and nodes
environment. Once a new submap is created, it is transmitted that are connected with the submap. However, such method
to the PGR for the subsequent map updating. Apart from will lose a lot of information(e.g., the relative measurements
LLO, the sensor data are input to GLM. GLM is responsible between submap and nodes) about the pose graph, and thus
for calculating the relative measurement constraints between resulting in the instability of the graph. Marginalization is a
scans and submaps in global map and outputting the con- effective way to mitigate this problem. To avoid introducing
straints to PGR. PGR is the key subsystem of our proposed new edges between all pairs of variables (dense fill-in), which
framework, it receives the fresh submaps and constraints reduces the sparsity of the graph and greatly increase the
from LLO and GLM, respectively. PGR consists of three computational complexity, we adopt the Chow-Liu tree [13]
modules: submaps trimming, pose graph sparsification and to approximate the individual elimination cliques as sparse
pose graph optimization. It maintains the newest submaps tree structures.
by replacing the stale submaps in the old session. Further- Fig. 4 illustrates the sparsification process. Given an
more, in order to keep the sparse characteristic of the pose original pose graph (Fig. 4(a)), a submap with its two nodes
are slated for removal in Fig. 4(b) (blue dotted rectangle). We order to accelerate lifelong SLAM research in the com-
extract the related submaps and nodes (dots with red dotted munity. The scenes in the dataset include markets, garages
circles in Fig. 4(b)) as a local factor graph. After marginal- and offices, recored by 2D LiDAR(Sick TiM571) and 3D
izing out the submap and nodes, the former neighbors form LiDAR(RoboSense RS-LiDAR-16). The dataset also records
an elimination clique making the graph dense (Fig. 4(c)). other sensor data, including wheel encoder and IMU. For
By locally approximating the density p(x1 , ..., xn ) with a each data sequence, we carefully calibrated the intra-device
probability distribution q(x1 , ..., xn ) such that each variable extrinsics, especially the transform between LiDAR and
is only conditioned upon one of the other variables, we can odometer. We also provided the ground truth poses in a rate
obtain the sparse local factor graph: of 10 Hz, which are manually verified by comparing the
n LiDAR scans with the pre-built consistent map.
Y
p(x1 , ..., xn ) = p(x1 ) p(xi |xi−1 , ..., x1 )
i=2
B. Algorithm Evaluation
n
Y (3) The initial map consists of 550 submaps in session 0, cov-
≈ p(x1 ) p(xi |xi−1 ) ering an area of over 10000 square meters. These submaps
i=2
are cached in memory for further localization and cannot be
= q(x1 , ..., xn ), trimmed. To balance the accuracy and computation load, we
where x1 is the root variable of the CLT, and xi−1 is executed graph optimization every 5 times of sparsification
the parent of xi . The pairwise conditional distributions are and restricted maximum number of iterations in Ceres Solver
selected such that the Kullback-Leibler divergence (KLD) to 50.
between the original distribution and the CLT approximation • Environmental Change Based on our map updating
is minimized (Fig. 4(d)). It is given by: method, the robot collects new submaps and trims
Z
p(x) the old ones during the localization stage. The fresh
DKL (p||q) = p(x)log dx. (4) submaps update the latest representation of current
x q(x)
environment whenever the scene changes. Fig. 12 shows
Lastly, we merge the approximate clique into the original the experimental results. (a)(b)(c) are collected from
graph as depicted in Fig. 4(e). The above procedures are market. The upper left image and upper right image
described in Algorithm 1. It should be noted that GLM only in each column show approximately the same place
produces the node-to-submap constraints and inputs them captured at different time. The lower left and right
into PGR (see the original pose graph in Fig. 4(a)). How- images show the corresponding map updating results.
ever, the node-to-node constraints and submap-to-submap It should be noted that the appearance of map is not
constraints are induced in sparse pose graph (Fig. 4(e)). This the same as the submaps because we concatenated
is because all nodes and submaps are treated as the same the submap slices into single occupancy grid map for
variable type in the elimination clique. By merging the clique convenient view. In addition, we test our algorithm in
into original graph, the variables and pairwise constraints are garage scenes and (e)(f)(g) shows the results.
converted into the corresponding nodes, submaps and their Fig. 6 shows the results of map change after running
constraints. for one month in the market. (a) is pre-built map in
After graph sparsification, we execute optimization (see mapping stage and (b) is the updated map based on (a).
the cost function in Eq. (1)) by using the Google Ceres Solver
[19].
Algorithm 1: Submap trimming and pose graph sparsifi-
V. DATASET A ND E XPERIMENT cation
A. Experimental Setup and Dataset input : Submaps {m0 , ..., mk } and pose graph G
output: Trimmed submaps {m0 , ..., mk } and sparsified
To validate our algorithm, we deploy a three-wheeled pose graph G
cleaning robot in the supermarket as shown in Fig. 5. The 1 forall mi ∈ {m0 , ..., mk } do
algorithm modules including localization, navigation and 2 Get nodes Xintra = {x0 , ..., xm } belonging to mi ;
perception are performed on an industrial computer with Intel 3 Find all constraints Z, nodes X and submaps M
i5-4300M CPU and 8G memory. Over a period of a month related to mi ;
4 Construct an iSAM graph and add mi , Xintra , X , M
the robot executed cleaning tasks in the indoor environment
as nodes and Z as factors to the graph ;
with random start position. We choose a supermarket located // see Eq. (2) and (3)
in Beijing, China as our experimental site because of its 5 RemoveNodeBasedCLT(mi ) ;
highly dynamic flow of people, moving carts, goods, etc. 6 forall xi in Xintra do
That is a huge challenge for accuracy and stability of any 7 RemoveNodeBasedCLT(xi )
8 end
localization algorithm.
9 delete Xintra , mi from G and merge the remaining
Because the test data including scene changes in real factors from the iSAM graph to G ;
world are so valuable for designing more robust localization 10 end
system, we collected them as dataset and released it in
! "#$%&

! "#$%'

! "#$%(

)*+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%),+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%)-+

!"#$%&'()*

+(,*&'()*&

-,(#*./0&1(2)./$32.

1(2)./$32.&"*.4**2&+(,*&$2,& !"#$%

1(2)./$32.&"*.4**2&+(,*)

1(2)./$32.&"*.4**2& !"#$%)

-/3532&'()*

%%%).+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%)!+

Fig. 4. An example to illustrate the graph sparsification based on the Chow–Liu maximum-mutual-information spanning tree. (a): the original pose graph
without submap removal. (b): the central submap m11 is selected to be trimmed along with its nodes: x11 and x12 (blue dotted rectangle). The red dotted
circles highlight the relevant submaps and nodes that have constraints with blue rectangle. (c): Belief after having marginalized out m11 , x11 and x12 . The
former neighbors of them form an elimination clique making the graph dense. (d): Belief resulting from Chow-Liu tree approximation of the elimination
clique. (e): Merge the elimination clique into original pose graph.

blue pixel respectively. The MCR of our map is 51.62%,


meaning that more than half of the features have been
changed in this scene. This metric can reveal the envi-
ronment change easily.
• Localization Performance Evaluation We execute the
robot cleaning task in the market and collect the data
sequence separately for comparison of our algorithm
with the general SLAM algorithm [2]. For real scene,
we cannot obtain the ground-truth poses. Therefore, we
design separate metrics to evaluate the correctness and
accuracy, respectively.
Correctness Rate of Initialization(CRI). Prior to exe-
Fig. 5. Our cleaning robot is equipped with a SICK TiM571 2D LiDAR. cuting a localization task, the robot should receive the
It is equipped with a magnetic encoders and a HI219M AHRS (with
on-board 3-aixs accelerometer, 3-aixs gyroscope and 3-aixs compass) for
initial pose estimation and match the map with collected
dead-reckoning. An Intel SR300 RGBD camera is used for perception and LiDAR sensor data. A better initialization result can be
obstacle avoidance. Our algorithm is performed on Intel Core i5-4300M 2 obtained from a newer map. We define a index of correct
cores and 4 threads.
initialization as:
PN −1
ck
We compare the differences between these two maps CRI = k=0 , (6)
N
as shown in (c). The blue points are the unchanging
obstacles in all of time. The light green points are the where ck can be defined as:
obstacles that have been removed from the scene, and (
red points are new added obstacles. We also define 1, if initialization succeed
ck = (7)
the map change rate (MCR) to evaluate the degree of 0, otherwise
environment change:
Mileage Rate of Correct Localization(MRCL). By com-
(mr + mg ) ∗ 0.5
M CR = , (5) paring the robot poses output and pre-built map, we can
(mr + mg ) ∗ 0.5 + mb manually verify the correctness of the robot localization
where mr , mg , mb is the number of red, green and trajectory. We use MRCL as the metric. For a sequence
!"################################################################### $"###################################### %"

Fig. 6. Results of map change after one month running in market. (a): The pre-built map. (b): The updated map. (c): Comparison(define to execute
such operation) of (a) and (b). The blue points are obstacles that remain unchanged. The light green points are obstacles which have been removed and
red points are newly added obstacles.

3 ! 4 5 6 7 8 9 3: 33 3! 34 35 36 37 38 39 3 !: !3 !! !4 !5 !6

37;!6"
#$#%&'()
87;99"
1#-%./-0/$.'+12
:;47" 8!"
*+',-%./-0/$.'+12
!"

Fig. 7. Localization testing results with 25 sets data from market. The percentage value on the top left of each algorithm is MRCL and on the bottom
right is CRI.

TABLE I
AVERAGE MATCHING SCORE COMPARISON

Data Sequence 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
[2] 0.73 0.72 0.76 0.76 0.72 0.72 0.68 0.67 0.71 0.62 0.52 - 0.68 0.18 - 0.70 0.43 - 0.16 - 0.44 - - 0.42 -
Ours 0.74 0.70 0.78 0.75 0.74 0.74 0.73 0.72 0.72 0.72 0.69 0.68 0.77 0.48 - 0.69 0.59 0.74 0.68 0.68 0.72 0.26 - 0.72 0.58

from t0 to tmax , we define: represents the start of a data sequence. The blue line
correct_mileage(t0 , tmax ) segments start from the blue dots means robot initializes
M RCL = , (8) successfully and runs for a while. The length of blue
total_mileage(t0 , tmax )
line segments is proportional to a correct mileage. We
where correct_mileage() is used to calculate the tested 25 data sequences with three algorithms: original
mileage of correct trajectory and total_mileage() is odometry output, method from [2] and ours. The CRI
used to calculate the total mileage. and MRCL from Fig. 7 demonstrate that our method is
Average Matching Score(AMS). Our method of PGR more robust enough for localization in the challenging
module is the same with “Global SLAM” module in [2], environment compared with [2]. However, it should be
where building constraints between nodes and submaps noted that, in sequence 15 and 23, our method failed
relied on a “branch and bound (BNB)” mechanism to to do initialization. This is because the environment
work at different grid resolutions. Therefore, we use is full of pedestrians and the score of scan-matching
the BNB score to define whether a node is correctly does not exceed initialization BNB score. The AMS
matched against a submap. Usually, we set a minimum comparison result is listed in Table I. The results show
score(in our experiment, the score is 0.5) to accept a that with longtime map updating, our method achieves
good enough proposal and fed it into PGR. Otherwise, higher matching score for robust constraints building
we discard this constraint candidate. Formally, we de- based on fresh map.
fine a average score of matching as: We display the trajectory comparison from 17th data
PM −1 sequence as shown in Fig. 8. The blue line plots the
si
AM S = i=0 , (9) fusion result of wheel encoder and IMU. The green line
M
is from our method and the red line is the result of [2]. It
where M is the number of matching. si is the i-th BNB
demonstrates that the trajectory of ours is smoother than
score.
[2]. The reason is that, with map updating and higher
The results are visualized in Fig. 7, with blue line
matching score, the valid constraint measurements are
segments indicating the correct localization trajectory
much more dense than [2], which only computes con-
and blue dots indicating whether the initialization is
straints based on the stale map.
successful or not. Each black dot on the top line
odometry
no map updating[2]
20 with map updating

15
y[m]

10

−15 −10 −5 0 5 10 15 Fig. 10. Lifelong SLAM graph complexity. The number of nodes and
x[m] submaps remains roughly constant after 15 times of map updating.

Fig. 8. Comparison of trajectories from 17th data sequence.

Fig. 9. Lifelong SLAM graph complexity. The number of constraints


remains roughly constant after 15 times of map updating.
Fig. 11. Computation load changes with 25 times of map updating.

• Computational Complexity Evaluation The size of on Chow-Liu maximum-mutual-information spanning tree to


the pose graph has a direct influence to the runtime balance computational complexity and localization accuracy.
and the memory complexity of the SLAM system and We comprehensively validate our method in real supermarket
typically grows over time. Therefore, it is desirable to for more than a month. The experiment demonstrates that
prevent the scale of the graph from growing unbounded. our method is quite valuable to be deployed in real world.
To check the graph scale, we record the essential ele- Besides, we release our lifelong SLAM dataset to accelerate
ments of the pose graph in each map updating. We see in robust SLAM research in these scenes.
Fig. 10 that the PGR module limit the number of nodes However, our approach does not at present take into
and submaps to less than 22000 nodes and 650 submaps. account the unexpected drastic change of the environment.
As shown in Fig. 9, the total number of constraints The change may cause localization drift because there are no
is under 110000. Fig. 11 depicts the average CPU valid constraint measure between incoming scans and map.
utilization and memory usage of our SLAM algorithm In the future, we plan to explore more robust localization
while robot executed localization task. The computation algorithm to conquer this problem.
load is positively associated with the scale of graph.
It means that our method will not occupy unlimited ACKNOWLEDGEMENT
resource of the system. Authors appreciate the great help from our outstanding
colleagues, Wenjing Chen, Pengfei Du, Shiwei Wang, Lin-
VI. C ONCLUSIONS A ND F UTURE W ORK bing Zen, Bo Wu, Haoxuan Tan, Guolin Li, Aiwei Yin and
Youji Zhu.
To address the problem of environment change in real-
The video demo is available at https://youtu.be/U7b0zc_
world, we present a complete lifelong SLAM framework.
jK74.
The proposed method exploits the multiple localization ses-
sions and map updating strategy, which can be used to track R EFERENCES
the scene change and achieve an up-to-date map. We also [1] Biber, Peter, and Wolfgang Straßer. "The normal distributions trans-
propose a submap-based graph sparsification method based form: A new approach to laser scan matching." Proceedings 2003
(a) (b) (c)

(d) (e) (f)

Fig. 12. Examples of environment change and corresponding map updating experiment. The result in (a), (b) and (c) are collected from market. And (d),
(e) and (f) are from garage.

IEEE/RSJ International Conference on Intelligent Robots and Systems “Generic node removal for factor-graph SLAM,” IEEE Transactions
(IROS 2003)(Cat. No. 03CH37453). Vol. 3. IEEE, 2003. on Robotics 30.6 (2014): 1371-1385.
[2] W. Hess, D. Kohler, H. Rapp, and D. Andor, “Real-time loop closure [15] Bürki, Mathias, et al. “Map management for efficient long-term visual
in 2D LiDAR SLAM,” in Proceedings of the IEEE International Con- localization in outdoor environments,” 2018 IEEE Intelligent Vehicles
ference on Robotics and Automation (ICRA), 2016, pp. 1271–1278. Symposium (IV). IEEE, 2018.
[3] Censi, Andrea. "An ICP variant using a point-to-line metric." 2008 [16] Tipaldi, Gian Diego, Daniel Meyer-Delius, and Wolfram Burgard.
IEEE International Conference on Robotics and Automation. Ieee, “Lifelong localization in changing environments,” The International
2008. Journal of Robotics Research 32.14 (2013): 1662-1678.
[4] Olson, Edwin B. "Real-time correlative scan matching." 2009 IEEE [17] Labbé, Mathieu, and François Michaud. “Long-term online multi-
International Conference on Robotics and Automation. IEEE, 2009. session graph-based SPLAM with memory management,” Au-
[5] Cadena C, Carlone L, Carrillo H, Latif Y, Scaramuzza D, Neira J, tonomous Robots 42.6 (2018): 1133-1150.
Reid I and Leonard JJ, “Past, present, and future of simultaneous [18] Egger, Philipp, et al. “Posemap: Lifelong, multi-environment 3d lidar
localization and mapping: Toward the robustperception age),” IEEE localization,” 2018 IEEE/RSJ International Conference on Intelligent
Transactions on Robotics 32(6): 1309–1332. Robots and Systems (IROS). IEEE, 2018.
[19] S. Agarwal, K. Mierle, and Others, “Ceres solver,” http://ceres-
[6] Shan, Tixiao, and Brendan Englot. “Lego-loam: Lightweight and
solver.org.
ground-optimized lidar odometry and mapping on variable terrain,”
2018 IEEE/RSJ International Conference on Intelligent Robots and
Systems (IROS). IEEE, 2018.
[7] Mur-Artal, Raul, and Juan D. Tardós. “Orb-slam2: An open-source
slam system for monocular, stereo, and rgb-d cameras." IEEE Trans-
actions on Robotics 33.5 (2017): 1255-1262.
[8] P. Biber and T. Duckett, “Dynamic maps for long-term operation of
mobile service robots,”in RSS, 2005.
[9] Biber, Peter, and Tom Duckett. “Experimental analysis of sample-
based maps for long-term SLAM,” The International Journal of
Robotics Research 28.1 (2009): 20-33.
[10] Walcott-Bryant, Aisha, et al. “Dynamic pose graph SLAM: Long-term
mapping in low dynamic environments,” 2012 IEEE/RSJ International
Conference on Intelligent Robots and Systems. IEEE, 2012.
[11] Ding, Wendong, et al. “LiDAR Inertial Odometry Aided Robust
LiDAR Localization System in Changing City Scenes,” Proceedings
of the IEEE International Conference on Robotics and Automation
(ICRA). IEEE (May 2020).
[12] Kretzschmar, Henrik, Giorgio Grisetti, and Cyrill Stachniss. “Life-
long map learning for graph-based slam in static environments,” KI-
Künstliche Intelligenz 24.3 (2010): 199-206.
[13] Kretzschmar, Henrik, and Cyrill Stachniss. “Information-theoretic
compression of pose graphs for laser-based SLAM,” The International
Journal of Robotics Research 31.11 (2012): 1219-1230.
[14] Carlevaris-Bianco, Nicholas, Michael Kaess, and Ryan M. Eustice.

You might also like