A simulation code for the paper "Robust Cooperative Localization with Failed Communication and Biased Measurements",
published in IEEE Robotics and Automation Letters with a supplemental video that is also in bilibili
View Demo
·
Report Bug OR Request Feature
Table of Contents
Cooperative Localization (CL) plays a crucial role in achieving precise localization without relying on localization sensors. However, the performance of CL can be significantly affected by failed communication and biased measurements. This code shows a robust decentralized CL method that addresses these challenges effectively.
Please cite this work when referencing:
@ARTICLE{RobustCL_RAL,
author={He, Ronghai and Shan, Yunxiao and Huang, Kai},
journal={IEEE Robotics and Automation Letters},
title={Robust Cooperative Localization With Failed Communication and Biased Measurements},
year={2024},
volume={9},
number={3},
pages={2997-3004}
}
About this paper: there are a few mistakes shown in the Errata part.
- Since this is a Python program, you will need Python3. Please Make sure you have it installed.
- Simply clone the repo
git clone https://github.com/RonghaiHe/RobustCL.git
- Install the Python libraries that this program depends on through
requirements.txt
:pip install -r requirements.txt
-
If runinng the program with specific failed communication probability(e.g. 0.5):
python3 main_fix.py --comm_fail_prob 0.5
-
If runinng the program with multiple failed communication probability simultaneously:
bash shell_main_fix.sh
-
If runinng the mission(e.g. 1) with multiple failed communication probability simultaneously:
bash shell_main.sh 1
Details of missions are:
0
Draw the sample trajectory, for Response;1
ARMSE over time, for Fig. 1 & Fig. 2 in the paper;2
weight of M-estimation over time, for Fig. 3 in the paper;3
ARMSE over tau, for Fig. 4 in the paper;4
animation about ARMSE over time, for videos about the paper;5
animation about ARMSE over tau, for videos about the paper
Repository contains:
algorithms
, a directory containing all algorithms used et al,off the record temporarilyup to date.BDA.py
: "BDA" algorithm in the paper;CI.py
: "CI" algorithm in the paper;CU.py
: "BDA-CU", "CI+CU" algorithms in the paper;DCL_GS.py
: Our proposed method in the paper;DMV.py
: "DMV" algorithm in the paper;DR.py
: "DR" method in the paper;func_detect_fault.py
: multiple functions about detecting the fault measurement;
others
, a directory containing other calculation in the paperKL_calc.py
: calulate the numerical KL-divergence;video_output.py
: multiple figures -> video;
draw.py
: draw the final figures;main_fix.py
: main function. Set the fix running parameters here;parameters.py
: sets the system parameters;requirements.txt
, a file containing all Python libraries needed;shell_main.fix.sh
: a shell file to run the program simultaneously;utils.py
: execute the whole simulation
- Whole codes uploaded
- Formatted with pep8
- Complete Python project structure
See Changelog.md
for the change at each version
The conclusion of the paper isn't wrong, whereas there are a few mistakes in this paper. Sorry about that and declare here:
- In formulas (17) and (20), the dimension of
$\boldsymbol{I}$ should be$3N\times 3N$ rather than$N\times N$ (By Chang Liu) - Formula (26) is wrong,
$\boldsymbol{S}_ {t+1} \to \boldsymbol{M}_{t+1}$ (By Chang Liu) - (Confusion Part)In the formula (23), the variable
$\hat{\boldsymbol{X}}_ {t+1 \mid t}^i$ is shown for explanation. During the iteration, it is replaced by the result after$n$ -th iterations. Specifically, we use the latest iteration result,X_all
, to calculate the residual item in this code (By Chang Liu) - The serial numbers of references used for comparison in Fig. 1, Fig. 2, Fig. 4 and TABLE II haven't been updated. The right serial numbers can be seen in the last paragraph of section V-A:
DMV [13], BDA [12], BDA-CU [4] and CI+CU [17]
(By a professor).
Still updating ...
Distributed under the MIT License. See LICENSE
for more information.
RonghaiHe - E-mail
Project Link: RobustCL
- All authors of this paper;
- Readers pointing out errors or improvements about the paper: professors, Chang liu;
- Inspired by this repository;
- A recommended template. This README.md is modified from that.