Here we give NDT-LOAM as a example to show how we make a new algorithm as a docker images that can be used for SLAM-Hive. (And it's also a good way for you to follow exist algorithm and dataset folder to build a same structure of your new one.) == Algorithm == We first git clone the repo on github, and check how to start this algorithm in a normal way. {{:ndt1.png?1400|}} You need to create a folder in slam_hive_algos : NDT-LOAM, and clone the repo here. In this folder, you need also create slamhive folder, Dockerfile following: https://github.com/SLAM-Hive/slam_hive_web/blob/main/repo_overview.md Then according its readme, we build the slamhive folder. We find the parameters the NDT-LOAM provided and write them to yaml file and the SLAM-Hive parameter template. And the create the mapping.py file. {{:ndt2.png?1400|}} Then we create Configurations for NDT-LOAM, selecting the parameter template we created before. {{:ndt3.png?1400|}} Then we can use this configurations to create task. == Dataset == For the dataset, you firstly need to change your dataset as rosbag file. Here we give you a new dataset folder structure: slam_hive_datasets For example: MH_01_easy sequence of EuRoC dataset, you should create a folder named "MH_01_easy", and then in this folder, you should have following files: MH_01_easy.bag (need to be same name as folder name) groundtruth.txt: the groundtruth of this sequence (in TUM format) rosbag_play.py: used to play the rosbag file and remap some topic (this script is called by algorithm mapping.py script) ------ And as the topic name is different between algorithm required and dataset provided. So you need to set "algorithm remap" and "dataset remap" parameters to unify them. For example, the image topic name in dataset is "/cam0/image_raw", and in algorithm is "/camera/image_raw", the we need to set two paramters: {{:ndt4.png?1400|}}