Ouster ROS 2 driver¶
This page is a practical quick start for the official Ouster ROS 2 driver from ouster-lidar/ouster-ros. It focuses on the workflow we use most often: prepare a ROS 2 workspace, build the driver, and launch a live sensor.
For hardware background and model comparison, see the general Ouster overview in ouster.md.
What the driver does¶
The ROS 2 driver connects to an Ouster sensor, configures it, and publishes the live data as ROS topics. The main outputs are:
/ouster/imu/ouster/points/ouster/points2when the sensor is configured for dual return
Before you start¶
The official ROS 2 branch targets Rolling, Humble, Iron, Jazzy, and Kilted. In practice, you should already have a working ROS 2 installation and a sourced workspace environment.
Install the common dependencies first:
sudo apt update
sudo apt install -y \
build-essential \
cmake \
libeigen3-dev \
libjsoncpp-dev \
libspdlog-dev \
libcurl4-openssl-dev \
python3-colcon-common-extensions \
ros-$ROS_DISTRO-pcl-ros \
ros-$ROS_DISTRO-tf2-eigen \
ros-$ROS_DISTRO-rviz2
If you plan to use PCAP replay later, also install libpcap-dev.
Clone and build¶
Create a ROS 2 workspace and clone the ROS 2 branch of the driver into src:
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone -b ros2 --recurse-submodules https://github.com/ouster-lidar/ouster-ros.git
Source your ROS 2 environment and build the workspace with colcon:
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/ros2_ws
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
lexus_bringup repository.
To launch all sensors and generate a merged point cloud, run:
ros2 launch lexus_bringup lidar_os_merged.launch.py
The sensor configuration files are located in lexus_bringup/config/lidar.
The Ouster sensor IP addresses are:
- Ouster Center:
192.168.10.20 - Ouster Left:
192.168.10.23 - Ouster Right:
192.168.10.21