This is an old revision of the document!
Algorithm Creation
How to create algorithm in SLAM-Hive System.
Full Version
1. Build SLAM algorithm images
We provide some SLAM algorithms Dockerfile and running scripts, here is an example to build an image:
cd SLAM_Hive mkdir slam_hive_algos cd slam_hive_algos git clone https://github.com/SLAM-Hive/orb-slam2-ros-mono.git cd orb-slam2-ros-mono sudo chmod +x install.sh ./install.sh
You can check whether the image is successfully built as follows:
$ docker images
You can see:
slam-hive-algorithm orb-slam2-ros-mono [IMAGE ID] [CREATED] [SIZE]
Go go to other directory in /SLAM_Hive/slam_hive_algos/<> and execute the above command to build remaining images. After that you will see the following images:
REPOSITORY TAG IMAGE ID CREATED SIZE slam-hive-evaluation evo 0254b6ded2cb 5 weeks ago 1.79GB slam-hive-algorithm vins-mono de2b13e0fc07 5 weeks ago 2.96GB slam-hive-algorithm vins-fusion-mono-imu 9078af9ba64a 7 days ago 3.1GB slam-hive-algorithm vins-fusion-stereo 9078af9ba64a 7 days ago 3.1GB slam-hive-algorithm vins-fusion-stereo-imu 9078af9ba64a 7 days ago 3.1GB slam-hive-algorithm orb-slam2-ros-mono 2f8241d1df9a 6 weeks ago 3.39GB slam-hive-algorithm orb-slam2-ros-rgbd 2f8241d1df9a 6 weeks ago 3.39GB slam-hive-algorithm orb-slam2-ros-stereo 2f8241d1df9a 6 weeks ago 3.39GB slam-hive-algorithm orb-slam3-ros-mono 28c13955a331 9 days ago 4.17GB slam-hive-algorithm orb-slam3-ros-mono-inertial 28c13955a331 9 days ago 4.17GB ...
2. Add new SLAM algorithm to SLAM-Hive
For example, you want to upload a new SLAM algorithms named “New-SLAM” with mono mode and stereo mode:
You can firstly create Docker images following other provided algorithms and name them as: “slam-hive-algorithm:new-slam-mono” and “slam-hive-algorithm:new-slam-stereo”.
https://github.com/SLAM-Hive/slam_hive_web?tab=readme-ov-file#631-create-your-own-algorithm lists the components of a algorithm. Here is a tree structure of a algorithm folder:
/SLAM-Hive/slam_hive_algos/orb-slam2-ros-mono$ tree -L 1 . ├── Dockerfile ├── install.sh ├── ORB_SLAM2 └── **slamhive** /SLAM-Hive/slam_hive_algos/orb-slam2-ros-mono/slamhive$ tree -L 1 . ├── mapping.py ├── mappingtask.yaml ├── mono.launch └── template.yaml
Then you input:
Image tag: new-slam-mono Dockerfile and mapping script address link: Docker build link # If you provide Algorithm Class Name: new-slam Description: # Some description of algorithm Attribute: # Some special attributes of algorithm
After all, you can click save button to add the algorithm to the database.