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