rs_driver is a low-level, portable C++14 library developed by RoboSense Technology and released under the BSD-3-Clause license. It forms the core of the entire RoboSense SDK ecosystem — rslidar_sdk (the ROS/ROS 2 wrapper) and rs_perception and other RoboSense perception products are built on top of it.
The library has no external dependencies beyond the standard C++ library and optionally libpcap (for .pcap replay). It receives MSOP and DIFOP packets over UDP, decodes them into LidarPointCloudMsg and delivers them via a callback. Supported models: RS-LiDAR-16, RS-LiDAR-32, RS-Helios-16P, RS-Helios-5515, RS-Bpearl, RS-Ruby, RS-Ruby Plus, RS-LiDAR-M1, RS-LiDAR-M2, RS-LiDAR-M3, RS-LiDAR-E1.
Configuration is done via an RSDriverParam struct in code or a YAML file (when used through rslidar_sdk). Parameters include: sensor IP/port, return mode (single/dual), motion compensation, time sync (GPS $GPRMC + 1PPS or PTP IEEE 1588), FOV blanking angles and external calibration files.
rs_driver is used directly in ROS-free projects (autonomous vehicles, embedded systems, C++ applications on Jetson). It can be included via CMake FetchContent or as a git submodule. rslidar_sdk, rs_perception and other RoboSense packages depend on it as a submodule.
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.
GitHub: ~400+ stars (RoboSense-LiDAR/rs_driver); submodule of rslidar_sdk and rs_perception
Ubuntu 24.04 LTS 'Noble Numbat' — supported until April 2029. The host for ROS 2 Jazzy.
100 Mbps or Gigabit Ethernet NIC; optionally libpcap for .pcap replay.
License family: Permissive