Skip to content

A universal LiDAR and radar driver for ROS 2, supporting Hesai, Velodyne, Robosense and Continental sensors.

License

Notifications You must be signed in to change notification settings

tier4/nebula

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nebula

build-and-test documentation codecov

Welcome to Nebula, the universal sensor driver

Nebula is a sensor driver platform that is designed to provide a unified framework for as wide a variety of devices as possible. While it primarily targets Ethernet-based LiDAR sensors, it aims to be easily extendable to support new sensors and interfaces. Nebula works with ROS 2 and is the recommended sensor driver for the Autoware project.

Documentation

We recommend you get started with the Nebula Documention. Here you will find information about the background of the project, how to install and use with ROS 2, and also how to add new sensors to the Nebula driver.

Quick start

Nebula builds with ROS 2 Galactic and Humble.

Note

Boost version 1.74.0 or later is required. A manual install may be required in Ubuntu versions earlier than 22.04.

Note

A TCP enabled version of ROS' Transport Driver is required to use Nebula. It is installed automatically into your workspace using the below commands. However, if you already have ROS transport driver binaries installed, you will have to uninstall them to avoid conflicts (replace humble with your ROS distribution): sudo apt remove ros-humble-udp-driver ros-humble-io-context

To build Nebula run the following commands in your workspace:

# In workspace
mkdir src
git clone https://github.com/tier4/nebula.git src
# Import dependencies
vcs import src < src/build_depends.repos
rosdep install --from-paths src --ignore-src -y -r
# Build Nebula
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

To launch Nebula as a ROS 2 node with default parameters for your sensor model:

ros2 launch nebula_ros *sensor_vendor_name*_launch_all_hw.xml sensor_model:=*sensor_model_name*

For example, for a Hesai Pandar40P sensor:

ros2 launch nebula_ros hesai_launch_all_hw.xml sensor_model:=Pandar40P