JointLoc
[IROS 2024] JointLoc: A Real-time Visual Localization Framework for Planetary UAVs Based on Joint Relative and Absolute Pose Estimation
Install / Use
/learn @LuoXubo/JointLocREADME
JointLoc
[IROS 2024] JointLoc: A Real-time Visual Localization Framework for Planetary UAVs Based on Joint Relative and Absolute Pose Estimation

Update
2024.08.22
The installation and usage instructions are uploaded. You can refer to the setup.md to install and run the JointLoc.
2024.07.31
All the codes are uploaded. We are now preparing the installation and usage instructions.
2024.06.30
The paper has been accepted by IROS 2024. The the test dataset is uploaded. You can download the test dataset from Google Drive and extract it to the JointLoc directory.
We are preparing the main files (vslam.cc in RelLoc and estimate.py in AbsLoc) and will upload them soon.
2024.04.26
Most codes of the AbsLoc and RelLoc modules are uploaded. Meanwhile, the main files are deleted due to the privacy of the project. We will provide the main files and the test datset after the paper is accepted.
Getting Started
Installation
git clone https://github.com/LuoXubo/JointLoc.git
cd JointLoc
Setup the environment
You can refer to the setup.md to install the required packages.
Quick Demo
Download the dataset
Download the test dataset from Google Drive and extract it to the JointLoc directory. The given dataset and your own dataset should have the following structure:
JointLoc
├── dataset
│ ├── [Terrain]_dataset
│ │ ├── uav
│ │ │ ├── images
│ │ │ │ ├── 000000.png
│ │ │ │ ├── 000001.png
│ │ │ │ ├── ...
│ │ │ ├── images.txt
│ │ │ ├── gt.txt
│ │ │ ├── ...
│ │ ├── satelite
│ │ │ ├── 0_x0_y0.png
│ │ │ ├── 0_x0_y1.png
│ │ │ ├── ...
│ │ ├── satelite.png
│ ├── ...
Run the demo
cd JointLoc
sh RelLoc/redis.sh # run redis server
sh AbsLoc/server.sh # publish images to redis
sh RelLoc/relloc.sh # run relative localization
sh AbsLoc/absloc.sh # run absolute localization
This script will open 4 temrminals:
- The first terminal will open redis-server.
- The second terminal will publish the images to the redis-server.
- The third terminal runs the relative localization (SLAM) system in /RelLoc/ directory.
- The fourth terminal runs the absolute localization system in /AbsLoc/ directory.
Evaluation
The estimated 6-DoF poses of JointLoc will be saved in results/poses.txt. You can evaluate the performance by running the following script:
evo_ape tum dataset/groundtruth.txt results/poses.txt -pv
Compared with ORB-SLAM2 and ORB-SLAM3
We also provide the code to run ORB-SLAM2 and ORB-SLAM3 on the same dataset. You can run the following script:
sh run_orb_slam2.sh
sh run_orb_slam3.sh
Visualization
<img src="figs/comp.gif" alt="Comparison">Acknowledgement
This work incorporates many open-source codes. We extend our gratitude to the authors of the software.
Citation
If you find this repo useful for your research, please consider citing the paper
@misc{luo2024jointloc,
title={JointLoc: A Real-time Visual Localization Framework for Planetary UAVs Based on Joint Relative and Absolute Pose Estimation},
author={Xubo Luo and Xue Wan and Yixing Gao and Yaolin Tian and Wei Zhang and Leizheng Shu},
year={2024},
eprint={2405.07429},
archivePrefix={arXiv},
primaryClass={cs.RO}
}
Star History
Related Skills
node-connect
334.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.2kCommit, push, and open a PR
