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.
Device Integration denotes the role of software responsible for communication, configuration, initialization and handling of specific devices, sensors, controllers or hardware components within a robotic system.
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