oakd_orbslam3
oakd_orbslam3 copied to clipboard
Simple demo of using an OAK-D as stereo input to ORB_SLAM3
OAK-D ORB_SLAM3 Experiment
This is an experiment in getting ORB_SLAM3 to work with an OAK-D.
src/main.cpp
is well commented and describes what's needed in order to get
position information out of an OAK-D using ORB_SLAM3.
TODO: More info
OpenCV Versions
Support for OpenCV 3 or 4 is selected by the branch you choose:
-
main
: Uses a slightly fixed version of ORB_SLAM3 which targets OpenCV 3. -
opencv_4
: Uses a PR branch of ORB_SLAM3 which targets OpenCV 4.
Build
- Download ORB_SLAM3 submodule (note this is a fork that fixes some build issues I was having, not the actual ORB_SLAM3 repo), and depthai-core:
git submodule init
-
Follow ORB_SLAM3 install and build process in their readme to build
libORB_SLAM3.so
.On Ubuntu 20.04 you may need to install libilmbase24 and libopenexr24, as there seems to have been some shared library mismatch on 20.04.
-
Install depthai-core dependencies and submodules git:
cd depthai-core
git submodule update --init --recursive
- Configure the settings to be used by ORB_SLAM3, I did this by running
depthai_demo.py
from the maindepthai
repo, and copying the information required from the EEPROM dump at the start of the script. - Build the project:
mkdir build && cd build
cmake ..
make
- From the root of this repo run the experiment:
./build/bin/oakd_orbslam3