This is an experiment in getting Kimera to work with an OAK-D.
At the moment all SLAM processing is done on the host, while we wait for custom nodes to be added to OAK-D's Gen2 pipeline.
Note: Currently seems to not be able to find any samples, which mean's it's not working quite yet.
TODO: More info
-
Download ORB_SLAM3 submodule depthai-core and it's submodules:
git submodule init cd depthai-core git submodule update --init --recursive
-
Install Kimera, following their install instructions. I had a lot of difficulty with this, so make sure:
- gtsam is checked out to
ee069286b447ff58b809423cc77c777a02abdfe5
- if you accidentally installed a gtsam version other than the one above you
may have an incompatible shared library in
/usr/local/lib/libgtsam*
. Kimera needslibgtsam.so.4.0.2
, so you may need to change the symbolic link oflibgtsam.so.4
to point to this rather than some other version. Do this forlibgtsam_unstable*
as well. - if (like me, for some ridiculous reason) have multiple OpenCV library versions installed make sure the correct version is specified in the CMakeLists.txt for DBoW2 and Kimera-VIO
- fix Kimera-VIO visualizer, which seems to be a little broken for me, fix is here
When making Kimera-VIO itself you can use the following to also install the library, for use in this repo.
sudo make -j $(nproc) install
- gtsam is checked out to
-
Download the vocab file and unzip into
vocabulary
link to file -
Build the project:
mkdir build && cd build cmake .. make -j $(nproc)
-
From the root of this repo run the experiment:
./oakd_kimera.bash