User Tools

Site Tools


algorithms:create

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, and the explanation of each file can be found. 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.

algorithms/create.1743341461.txt.gz · Last modified: 2025/03/30 13:31 by liuxzh12023