This repo provides Python Bindings to OrbSlam (OrbSlam3).
OrbSlam3 is a simultaneous mapping and localization (SLAM) algorithm based on oriented fast rotated brief (ORB) descriptors.
it is based on https://github.com/UZ-SLAMLab/ORB_SLAM3 (module OrbSlam3), https://github.com/pybind/pybind11 (module pybind11), https://github.com/edmBernard/pybind11_opencv_numpy (module pybind11_opencv_numpy and setup.py), Code from these have their own licences
changes to make to Orbslam3: copy the folder "/modules/changesInOrbSlam3" into OrbSlam3
Compile the OrbSlam3 module according to the OrbSlam3 instructions
install sophos from the orbslam3 thirdparty modules (in the build folder: sudo make install)
in the main directory install PyOrbSlam3 by entering "pip install ."
Usage in Python: see example
Each row of the extracted Mappoints consists of 3-XYZ-Coordinates, 3-Normal-Vector, 1-NrOfObservations, 1-FoundRatio and *-Orb-Descriptor of the Mappoint
Currently only the monocular camera should work.
This repository contains a docker container to easily build everything. Communication with the Host is possible via redis
The Dockerfile and install-scripts are based on https://github.com/suchetanrs/ORB-SLAM3-ROS2-Docker
- git clone https://github.com/JHMeusener/pyOrbSlam3
- cd pyOrbslam
- git submodule update --init --recursive --remote```
cd pyOrbslam
sudo chmod +x docker_install.sh
./docker_install.sh
!!! Copy the Folder "Changes in OrbSlam3" from the modules folder into the OrbSlam3 folder. !!!
- Build the image:
sudo docker build -t orbpy .
- You can see the built images on your machine by running
sudo docker images
.
cd pyOrbslam
(ignore if you are already in the folder)sudo docker compose run orbpy
Launch the container using steps in (4). If you are inside the container, run the following:
python3 /dockerMount/redisConnectOrbSlam.py
From your host-machine you can connect with the Container with the following script:
python3 onHost_imageProvider.py