zw-ruan / ORB-SLAM3-Docker

Docker for ORB-SLAM3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Note!

Library Version:

  • EIGEN3_VERSION="3.1.0"
  • Pangolin_VERSION="v0.6"
  • OPENCV_VERSION="3.2.0"

Not support ROS.

Quick Start

Docker

Install Docker

Please take a look at the official Docker Get Docker guide. There is also a guide from ROS called getting started with ROS and Docker. On Ubuntu one should be able to do the following to get docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Build the Dockerfile

Get the repository.

git clone https://github.com/xhglz/ORB-SLAM3-Docker.git
cd ORB-SLAM3-Docker

Modify the proxy in Docker/Dockerfile or annotate it.

RUN git config --global http.proxy http://proxy.x.x:x

Create image.

docker build -t xhglz/cvlife:orbslam3 -f Docker/Dockerfile .
# docker build -t xhglz/cvlife:orbslam3 -f Docker/Copy.Dockerfile .

If the dockerfile breaks, you can remove the image and reinstall using the following:

docker image list
docker image rm xhglz/cvlife:orbslam3 --force

Compile ORB-SLAM3

Clone ORB-SLAM3 repository:

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git

Directory Binding, you should modify the path of the ORB_SLAM3 and Datasets in run_melodic_orbslam3.sh first, then

chmod +x run_melodic_orbslam3.sh
./run_melodic_orbslam3.sh

Build ORB-SLAM3

# entry docker
chmod +x build.sh
./build.sh

TUM-VI Examples

For example:

cd Examples

# Stereo Examples
./Stereo/stereo_tum_vi ../Vocabulary/ORBvoc.txt Stereo/TUM_512.yaml ../dataset-room3_512_16/mav0/cam0/data ../dataset-room3_512_16/mav0/cam1/data Stereo/TUM_TimeStamps/dataset-room3_512.txt dataset-room3_512_stereo

# Stereo-Inertial Examples
./Stereo-Inertial/stereo_inertial_tum_vi ../Vocabulary/ORBvoc.txt Stereo-Inertial/TUM_512.yaml ../dataset-room3_512_16/mav0/cam0/data ../dataset-room3_512_16/mav0/cam1/data Stereo-Inertial/TUM_TimeStamps/dataset-room3_512.txt Stereo-Inertial/TUM_IMU/dataset-room3_512.txt dataset-room3_512_stereoi

example

Evaluation

In TUM-VI ground truth is only available in the room where all sequences start and end. As a result the error measures the drift at the end of the sequence.

python ../evaluation/evaluate_ate_scale.py ../dataset-room3_512_16/mav0/mocap0/data.csv f_dataset-room3_512_stereoi.txt --plot room3_512_stereoi.pdf

evaluation

If you find this work useful or interesting, please kindly give me a star ⭐, thanks!😀

About

Docker for ORB-SLAM3


Languages

Language:Dockerfile 82.2%Language:Shell 17.8%