aliveho / oakd_orbslam3

Simple demo of using an OAK-D as stereo input to ORB_SLAM3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Simple Demo

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

  1. 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
  1. 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.

  2. Install depthai-core dependencies and submodules git:

cd depthai-core
git submodule update --init --recursive
  1. Configure the settings to be used by ORB_SLAM3, I did this by running depthai_demo.py from the main depthai repo, and copying the information required from the EEPROM dump at the start of the script.
  2. Build the project:
mkdir build && cd build
cmake ..
make
  1. From the root of this repo run the experiment:
./build/bin/oakd_orbslam3

About

Simple demo of using an OAK-D as stereo input to ORB_SLAM3


Languages

Language:C++ 90.4%Language:CMake 9.6%