Skip to content

mac137/ConSLAM

Repository files navigation

ConSLAM: Construction Dataset for SLAM

Maciej Trzeciak · Kacper Pluta · Yasmin Fathy · Lucio Alcalde · Stanley Chee · Antony Bromley · Ioannis Brilakis · Pierre Alliez

Table of Contents
  1. Download the dataset
  2. Hardware
  3. Evaluate your trajectory
  4. TODOs
  5. Citation
  6. Contact

Download the dataset

LINK to the dataset

The bag file in sequence 1 is faulty. Do no use it for your SLAM algorithm

Hardware

Software installation

Tested on Ubuntu 20.04 with ROS Noetic.

  1. Clone this repo to your catkin work space path/to/ros_ws/src
  2. Install the dependencies of the packages in this repo using for example rosdep install --from-paths src --ignore-src -r -y as instructed here
  3. Install the packages in this repo using a standard catkin_make command as instructed here

How to run

Connect all the sensors: RGB camera, Velodyne and IMU to your computer/laptop. Make sure the system recongises them all.

Run roslaunch pp_launcher 4london.launch

Evaluate your trajectory

We have extended a popular trajectory evaluation package evo for odometry and SLAM trajectory evaluation.

Save your poses you would like to evaluate as individual .txt files containing 4x4 pose matrices. Our script in tools/ can then convert the poses into two file formats that EVO uses. These file formats are TUM and KITTI.

To run the code type:

python ./tools/pp2evo.py -w <path_to_dir_ppix_matrices> -t <output_tum_file_format> -k <output_kitti_file_format>

The tool can output a TUM, a KITTI file, or both if necessary.

Using EVO

For general information about Evo, please, see the official project web page: https://github.com/MichaelGrupp/evo

Plotting trajectories by EVO

To plot trajectories against a reference, it is sufficient to call:

evo_traj tum 00_ORB.txt 00_SPTAM.txt --ref=00_gt.txt -p --plot_mode=xy

in the above example, TUM file format is used (see the first argument). The KITTI file format is quite limited, and it should not be used.

To compute Absolute Pose Error we can simply call

evo_ape tum 00_gt.txt 00_ORB.txt -v --plot --plot_mode xy --save_results results/ORB.zip

In this example, the automatic alignment of trajectories is switched off.

Note that the zip file can be used for further plotting in using evo_res, e.g.,

evo_res results/*.zip -p --save_table results/table.csv

Generating high-quality plots

To generate plots ready for a paper, set up the configuration of Evo as you desire with evo config, for example:

evo_config set plot_seaborn_style whitegrid \
               plot_fontfamily serif plot_fontscale 1.2 \
               plot_linewidth 1.0 \
               plot_figsize 5 4.5 \
               ros_map_unknown_cell_value 128 \
               plot_usetex               

Before and after:

evo evo

You can find more information about this configuration here.

TODO

  • Replace evo images with ConSLAM trajectories.
  • create a docker image for faster installation

Citation

Please cite either of the papers:

@inproceedings{trzeciak2023conslam,
  title={Conslam: Periodically collected real-world construction dataset for SLAM and progress monitoring},
  author={Trzeciak, Maciej and Pluta, Kacper and Fathy, Yasmin and Alcalde, Lucio and Chee, Stanley and Bromley, Antony and Brilakis, Ioannis and Alliez, Pierre},
  booktitle={Computer Vision--ECCV 2022 Workshops: Tel Aviv, Israel, October 23--27, 2022, Proceedings, Part VII},
  pages={317--331},
  year={2023},
  organization={Springer}
}
@article{trzeciak2023conslamExtension,
  title={ConSLAM: Construction Data Set for SLAM},
  author={Trzeciak, Maciej and Pluta, Kacper and Fathy, Yasmin and Alcalde, Lucio and Chee, Stanley and Bromley, Antony and Brilakis, Ioannis and Alliez, Pierre},
  journal={Journal of Computing in Civil Engineering},
  volume={37},
  number={3},
  pages={04023009},
  year={2023},
  publisher={American Society of Civil Engineers}
}

Contact

I have ideas on how to improve this dataset, but I am just about to graduate so I might not have much time to work on this these months. If you are interested in cooperation, feel free to reach out: mac137.github.io

Licence

Copyright (C) 2023, University of Cambridge, all rights reserved.

THIS SOFTWARE IS PROVIDED “AS IS” FOR ACADEMIC USE ONLY AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY. OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.