Code for "JointLoc: A Real-time Visual Localization Framework for Planetary UAVs Based on Joint Relative and Absolute Pose Estimation" (IROS 2024 Under review).
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.
git clone https://github.com/LuoXubo/JointLoc.git
cd JointLoc
Setup the environment:
conda env create -f environment.yml
conda activate JointLoc
Besides the python packages, you also need to configure the OpenCV, Eigen, Ceres Solver, Redis and Protobuf. You can refer to the ORB-SLAM3 to install them.
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
│ ├── uav
│ │ ├── 000000.png
│ │ ├── 000001.png
│ │ └── ...
│ ├── satellite
│ │ ├── 000000.png
│ │ ├── 000001.png
│ │ └── ...
│ ├── groundtruth.txt
│ └── ...
└── ...
sh demo.sh
This script will open 3 temrminals:
- The first terminal will open redis-server.
- The second terminal runs the relative localization (SLAM) system in /RelLoc/ directory.
- The third terminal runs the absolute localization system in /AbsLoc/ directory.
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
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
This work incorporates many open-source codes. We extend our gratitude to the authors of the software.
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}
}