LiDAR#

LiDAR sensors provide high-precision 2D planar scans and 3D point cloud perception for autonomous mobile robots (AMRs), navigation, and obstacle avoidance.

Validated Hardware#

The following LiDAR sensors have been validated for use with the Robotics AI Suite:

Sensor

Type

Interface

Output Topic(s)

ROS 2 Driver Package

Velodyne Puck (VLP-16)

3D LiDAR (16-channel)

Ethernet (UDP)

/velodyne_points (sensor_msgs/msg/PointCloud2)

velodyne

RoboPeak / Slamtec RPLIDAR

2D LiDAR (360° Planar)

USB (Serial UART)

/scan (sensor_msgs/msg/LaserScan)

sllidar_ros2 / rplidar_ros

SICK nanoScan3 Pro

2D Safety LiDAR

Ethernet (COAP/UDP)

/scan (sensor_msgs/msg/LaserScan)

sick_safetyscanners2


Integration Overview#

LiDAR integration is robot and driver dependent. Complete driver setup and verify sensor data before integrating with navigation or perception stacks.

1. Driver Installation & Bringup#

Install and configure the ROS 2 driver corresponding to your sensor interface:

The Velodyne Puck connects over Ethernet and streams raw UDP packets that are unpacked into 3D point clouds.

  • Driver: velodyne

  • Install (binary):

    sudo apt install ros-${ROS_DISTRO}-velodyne
    
  • Launch:

    ros2 launch velodyne velodyne-all-nodes-VLP16-launch.py
    
  • Default Output: /velodyne_points (sensor_msgs/msg/PointCloud2)

RoboPeak/Slamtec 2D scanners connect over USB serial (typically /dev/ttyUSB0) to publish 360-degree planar scan profiles.

  • Driver: sllidar_ros2 (or ros-${ROS_DISTRO}-rplidar-ros)

  • Install (binary):

    sudo apt install ros-${ROS_DISTRO}-rplidar-ros
    

    (Or clone and build sllidar_ros2 from source for newer A/S-series models.)

  • Launch:

    ros2 launch sllidar_ros2 sllidar_launch.py
    
  • Default Output: /scan (sensor_msgs/msg/LaserScan)

The SICK nanoScan3 Pro is an industrial safety LiDAR communicating over Ethernet via the SICK safety scanner protocol.

  • Driver: sick_safetyscanners2

  • Install (binary):

    sudo apt install ros-${ROS_DISTRO}-sick-safetyscanners2
    
  • Launch:

    ros2 launch sick_safetyscanners2 sick_safetyscanners2_launch.py sensor_ip:=<SENSOR_IP>
    
  • Default Output: /scan (sensor_msgs/msg/LaserScan)

2. Sensor Placement & Frame Transforms (TF)#

Confirm that static transforms for your LiDAR optical/mounting frames (for example, laser or velodyne) are broadcast relative to base_link:

  • Review the relevant Hardware Blueprint (such as the Clearpath Jackal AMR) for mounting geometries and transform definitions.

  • Verify published frames and data rates:

    ros2 topic hz /scan
    ros2 run tf2_tools view_frames
    

Applications & Pipelines#

Once verified, LiDAR streams feed directly into Robotics AI Suite perception and navigation components: