rslidar_sdk is the official SDK package developed and maintained by RoboSense Technology Co., Ltd. (Suteng Innovation Technology, Shenzhen). It serves as the primary integration stack between RoboSense LiDAR sensors (mechanical R-platform and solid-state M/E-platform families) and robotics applications based on ROS, ROS 2 and native C++.
The SDK is a multi-platform C++14 package built around the low-level rs_driver library. It acts as an adapter layer and ROS/ROS 2 node component — it receives MSOP/DIFOP UDP packets from the sensor, decodes them into PointCloud objects (sensor_msgs/PointCloud2 or RoboSense's native point type) and publishes them on a configurable topic. Model configuration (RS-LiDAR-16, RS-LiDAR-32, RS-Helios-16/32, RS-Helios-5515, RS-Bpearl, RS-Ruby/Ruby Plus, RS-LiDAR-M1, RS-LiDAR-M2, RS-LiDAR-M3) is done via a YAML file.
rslidar_sdk enables: (1) online data reception from the sensor over Ethernet (UDP MSOP/DIFOP), (2) replay of recorded .pcap files, (3) saving point clouds to PCD files, (4) single- and dual-return decoding, (5) time synchronization via GPS ($GPRMC + 1PPS) or PTP, (6) configuration of FOV blanking, intrinsic calibration parameters and motion compensation. It supports multiple concurrent LiDAR instances on a single host.
The package integrates natively with ROS 1 (Melodic, Noetic) and ROS 2 (Foxy, Humble, Iron, Jazzy) as an official vendor wrapper. It exposes sensor_msgs/PointCloud2 and RoboSense's own rslidar_msgs/RslidarPacket type. It works with Nav2, RVIZ/RVIZ2, Cartographer, LIO-SAM, FAST-LIO and Autoware. The sibling rs_driver repository allows integration without the ROS layer (pure C++).
The source code is published on GitHub (RoboSense-LiDAR/rslidar_sdk) under the BSD-3-Clause license. Installation is via source build (CMake + colcon for ROS 2, catkin_make for ROS 1) or prebuilt Docker images. Supported architectures include x86_64 and ARM64/aarch64 (NVIDIA Jetson). The package has been actively developed since 2018.
An SDK (Software Development Kit) is a curated set of libraries, interfaces, tools, sample code, and documentation intended for building applications and integrating with a specific hardware device, platform, or service. In robotics, an SDK typically exposes device control, telemetry, sensor access, configuration, and execution functions, significantly reducing the time-to-first-integration for developers targeting a specific robot or platform.
A Driver is a software layer responsible for communication with a specific hardware device or component. In robotics, drivers enable support for sensors (LiDARs, cameras, IMUs), actuators, motor controllers, grippers, and other modules at the hardware or low-level OS layer. They abstract device-specific protocols (USB, CAN, UART, EtherCAT) and expose a standardised interface to the middleware or application layer above.
Used by hundreds of AGV/AMR integrators and in autonomous vehicles equipped with RoboSense LiDARs (BYD, GAC, XPeng, NIO, Smart). Default integration stack in Autoware reference projects featuring RoboSense LiDARs.
GitHub: ~600+ stars, ~340+ forks (RoboSense-LiDAR/rslidar_sdk); canonical for the RoboSense LiDAR community
Ubuntu 24.04 LTS 'Noble Numbat' — supported until April 2029. The host for ROS 2 Jazzy.
100 Mbps or Gigabit Ethernet NIC with jumbo frame support for high-channel models (Ruby Plus 128). MTU ≥ 1500 B.
License family: Permissive