Installation

The Multi-Sensor Calibration Toolbox is released as an official package for ROS 2, named 'multisensor_calibration' can be installed with apt-get. Since ROS 1 is soon end-of-life, there will be no official release for ROS 1.

In addition to the official release 'multisensor_calibration' can also be build from source for ROS 1 and ROS 2 as described below.

Official ROS 2 Package

TODO: How to install as official ROS 2 Package

Build from Source

ROS 1

  1. Initialize catkin workspace, if required:
    mkdir -p calibration_ws/src
    catkin init --workspace calibration_ws
    
  2. Clone repository and checkout `noetic` branch:
    cd calibration_ws/src
    git clone git@github.com:FraunhoferIOSB/multisensor_calibration.git
    cd multisensor_calibration
    git checkout noetic
    cd ../../
    
  3. (OPTIONAL) Clone and build 'small_gicp'.
    If this step is omitted, it will be executed as part of the first build.
    src/multisensor_calibration/thirdparty/clone_small_gicp.sh && src/multisensor_calibration/thirdparty/build_and_install_small_gicp.sh
    
  4. Initialize `rosdep` and install dependencies:
    sudo rosdep init
    rosdep update
    rosdep install --from-paths src -y --ignore-src
    
  5. (OPTIONAL) Copy custom example robot workspaces and populate resource file (see Workspace) page)
    src/multisensor_calibration/scripts/populate_robot_workspaces_qrc.sh <custom_robot_ws_directory>
    
  6. (OPTIONAL) Copy custom launch files
    src/multisensor_calibration/scripts/copy_launch_files.sh <custom_launch_directory>
    
  7. Run `catkin` to build from source:
    To build in 'Debug' mode add `-DCMAKE_BUILD_TYPE=Debug` to catkin command. If 'CMAKE_BUILD_TYPE' omitted, multisensor_calibration will be build in 'Release' mode.
    catkin build -j8 -DCMAKE_BUILD_TYPE=Release multisensor_calibration
    

ROS 2

  1. Create workspace folder, if required:
    mkdir -p calibration_ws/src
    
  2. Clone repository:
    cd calibration_ws/src
    git clone git@github.com:FraunhoferIOSB/multisensor_calibration.git
    
  3. (OPTIONAL) Clone and build 'small_gicp'.
    If this step is omitted, it will be executed as part of the first build.
    src/multisensor_calibration/thirdparty/clone_small_gicp.sh && src/multisensor_calibration/thirdparty/build_and_install_small_gicp.sh
    
  4. Initialize `rosdep` and install dependencies:
    sudo rosdep init
    rosdep update
    rosdep install --from-paths src -y --ignore-src
    
  5. (OPTIONAL) Copy custom example robot workspaces and populate resource file (see Workspace page)
    src/multisensor_calibration/scripts/populate_robot_workspaces_qrc.sh <custom_robot_ws_directory>
    
  6. (OPTIONAL) Copy custom launch files
    src/multisensor_calibration/scripts/copy_launch_files.sh <custom_launch_directory>
    
  7. Run 'colcon' to build from source:
    To build in 'Debug' mode add '--cmake-args -DCMAKE_BUILD_TYPE=Debug' to colcon command. If 'CMAKE_BUILD_TYPE' omitted, multisensor_calibration will be build in 'Release' mode.
    colcon build --symlink-install --packages-up-to multisensor_calibration
    

Requirements

Apart from the basic catkin requirements, multisensor_calibration depends on the following third party libraries.

  • PCL
  • OpenCV
  • Qt
  • small_gicp: This is included as git-submodule and will be cloned and built on the first build. It is licensed under the MIT-License.
  • OpenMP (optional): This is used to parallelize and speed up the processing of each point in the point cloud. If not found by CMake the processing will be done sequentially.
  • Doxygen (optional): If available, this Doxygen documentation will be build automatically.