A simulation code for Robust Cooperative Localization with Failed Communication and Biased Measurements,
published in IEEE Robotics and Automation Letters
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}
}
- 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
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
Distributed under the MIT License. See LICENSE
for more information.
RonghaiHe - E-mail
Project Link: RobustCL
- All authors of this paper;
- Inspired by this repository;
- A recommended template. This README.md is modified from that.