2. Installation

These installation instructions are designed to work with the latest Ubuntu LTS distribution https://wiki.ubuntu.com/Releases and the latest LTS ROS1 release http://wiki.ros.org/Distributions.

2.1. ROS Noetic

To get started, add ROS to the machine’s apt sources and set up the ROS package-signing keys by following the installation instructions for ROS Noetic here: http://wiki.ros.org/noetic/Installation/Ubuntu

For ROS Noetic we support installing the driver via source compilation.

2.1.1. ROS Noetic Source Installation

First, install all the ROS dependencies and basic tools needed for the MultiSense S21 sensor:

sudo apt-get update
sudo apt-get install ros-noetic-desktop-full
sudo apt-get install git python-rosinstall build-essential cmake

Next, create a catkin workspace and check out the source code for the MultiSense sensor by executing the following commands:

mkdir -p PATH_TO_SOURCE/src
cd PATH_TO_SOURCE/src
source /opt/ros/noetic/setup.bash
catkin_init_workspace .
git clone --recurse-submodules https://github.com/carnegierobotics/multisense_ros.git multisense
cd PATH_TO_SOURCE
rosdep install --from-paths src --ignore-src -r -y

Where PATH_TO_SOURCE should be replaced by the name of the local installation directory (like ~/multisense_ros_driver).

Finally the entire repository should be built by invoking catkin_make, where PATH_TO_SOURCE is again replaced by the name of the local install directory.

cd PATH_TO_SOURCE
catkin_make

To update the MultiSense ROS driver to the newest GitHub release, execute the following commands:

cd PATH_TO_SOURCE/src/multisense
git pull
cd PATH_TO_SOURCE
rm -r build && rm -r devel
catkin_make

2.2. ROS Melodic

To get started, add ROS to the machine’s apt sources and set up the ROS package-signing keys by following the installation instructions for ROS Melodic here: http://wiki.ros.org/melodic/Installation/Ubuntu

For ROS Melodic we support two methods of installing the driver, via a binary (pre-built) package OR via source compilation.

2.2.1. ROS Melodic Binary Installation

After installing ROS Melodic (see ROS Melodic), run this command to install the pre-built version of our driver:

sudo apt-get install ros-melodic-multisense

Once this is installed and the main /opt/ros/melodic/setup.bash configuration script is sourced, the standard ROS launch/run commands will work.

2.2.2. ROS Melodic Source Installation

If you do not want install the pre-built binary driver (see ROS Melodic Binary Installation), you can instead install the driver from source.

First, install all the ROS dependencies and basic tools needed for the MultiSense S21 sensor:

sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install git python-rosinstall build-essential cmake

Next, create a catkin workspace and check out the source code for the MultiSense sensor by executing the following commands:

mkdir -p PATH_TO_SOURCE/src
cd PATH_TO_SOURCE/src
source /opt/ros/melodic/setup.bash
catkin_init_workspace .
git clone --recurse-submodules https://github.com/carnegierobotics/multisense_ros.git multisense
cd PATH_TO_SOURCE
rosdep install --from-paths src --ignore-src -r -y

Where PATH_TO_SOURCE should be replaced by the name of the local installation directory (like ~/multisense_ros_driver).

Finally the entire repository should be built by invoking catkin_make, where PATH_TO_SOURCE is again replaced by the name of the local install directory.

cd PATH_TO_SOURCE
catkin_make

To update the MultiSense ROS driver to the newest GitHub release, execute the following commands:

cd PATH_TO_SOURCE/src/multisense
git pull
cd PATH_TO_SOURCE
rm -r build && rm -r devel
catkin_make

2.3. ROS Kinetic

To get started, add ROS to the machine’s apt sources and set up the ROS package-signing keys by following the installation instructions for ROS Kinetic here: http://wiki.ros.org/kinetic/Installation/Ubuntu

For ROS Kinetic we support two methods of installing the driver, via a binary (pre-built) package OR via source compilation.

2.3.1. ROS Kinetic Binary Installation

After installing ROS Kinetic (see ROS Kinetic), run this command to install the pre-built version of our driver:

sudo apt-get install ros-kinetic-multisense

Once this is installed and the main /opt/ros/kinetic/setup.bash configuration script is sourced, the standard ROS launch/run commands will work.

2.3.2. ROS Kinetic Source Installation

If you do not want install the pre-built binary driver (see ROS Kinetic Binary Installation), you can instead install the driver from source.

First, install all the ROS dependencies and basic tools needed for the MultiSense S21 sensor:

sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
sudo apt-get install git python-rosinstall build-essential cmake

Next, create a catkin workspace and check out the source code for the MultiSense sensor by executing the following commands:

mkdir -p PATH_TO_SOURCE/src
cd PATH_TO_SOURCE/src
source /opt/ros/kinetic/setup.bash
catkin_init_workspace .
git clone --recurse-submodules https://github.com/carnegierobotics/multisense_ros.git multisense
cd PATH_TO_SOURCE
rosdep install --from-paths src --ignore-src -r -y

Where PATH_TO_SOURCE should be replaced by the name of the local installation directory (like ~/multisense_ros_driver).

Finally the entire repository should be built by invoking catkin_make, where PATH_TO_SOURCE is again replaced by the name of the local install directory.

cd PATH_TO_SOURCE
catkin_make

To update the MultiSense ROS driver to the newest GitHub release, execute the following commands:

cd PATH_TO_SOURCE/src/multisense
git pull
cd PATH_TO_SOURCE
rm -r build && rm -r devel
catkin_make

2.4. Driver Layout

The MultiSense driver contains five ROS packages:

multisense_bringup

This is the set of launch files and configuration files used to start the ROS driver, as well as configuration scripts and other configuration files.

multisense_cal_check

This package provides software for evaluating the quality of the laser calibration stored in the MultiSense-SL non-volatile memory.

Note this package only supports MultiSense SL units.

multisense_description

This package contains the http://ros.org/wiki/urdf robot description XML file and associated meshes that represent the sensor head, sensor placement and kinematic structure of a MultiSense S21 sensor.

multisense_lib

This is the library that implements the wire protocol for communication with the MultiSense S21 sensor.

multisense_ros

This package contains the actual ROS drivers for the MultiSense S21. Individual drivers are included for the Camera and IMU subsystems.