Robots Atlas>ROBOTS ATLAS

Perception · Drivers & Firmware

rs_driver

RoboSense

Active Open source API available
CATEGORYPerception · Drivers & Firmware
READINESSTRL 9
ADOPTION SCALEProduction – Broad Deployment
LICENSESBSD-3-Clause
FIRST RELEASE2018

Overview

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.

Architecture

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

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.

Integration

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.

Type & Roles
Software types
SDK

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.

Driver

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.

Select an item to see its description.
Main category
Drivers & FirmwareSDKs
Roles in robotics ecosystem
Perception
Device Integration

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.

Select an item to see its description.
Maturity & Adoption
9 / 9
Proven in operational conditions
ResearchPrototypeProduction
Adoption scaleProduction – Broad Deployment
Maintenance statusMaintained by Single Vendor
First release2018
Last update22 May 2026
Community

GitHub: ~400+ stars (RoboSense-LiDAR/rs_driver); submodule of rslidar_sdk and rs_perception

Target robotic platforms
Mobile Robot
Industrial Robot
Humanoid
Research Robot
Quadruped
Drone / UAV
ROS supportCompatibility with ROS / ROS 2 ecosystem
Brak wsparcia ROSBrak jakiejkolwiek integracji z ekosystemem ROS
System capabilities
Open source
Source code is publicly available under an open-source license — enables security audits, custom modifications, and integration without licensing barriers.
Real-time capable
Designed with timing-determinism guarantees — meets the requirements of control loops, safety systems, and tasks demanding low, predictable latency.
×
⟨/⟩
API available
The software exposes a programmable interface (REST, gRPC, SDK, or language bindings) that enables automation and integration with other systems.
📦
Pre-built / binary
Distributed as ready-to-use binary packages, container images, or installers — no need to build from source.
×
Programming languages
C++
Operating systems
Ubuntu 20.04Ubuntu 22.04DebianJetPack LinuxWindowsmacOS
Ubuntu 24.04

Ubuntu 24.04 LTS 'Noble Numbat' — supported until April 2029. The host for ROS 2 Jazzy.

Select an item to see its description.
Minimum hardware requirements
Minimum hardware requirements
CPUx86_64 or ARM64/aarch64; 1 core (single-threaded library)
RAM (GB)1
GPUNot required
Disk (GB)1

100 Mbps or Gigabit Ethernet NIC; optionally libpcap for .pcap replay.

Packaging & distribution
Package managers
Source – CMake / ament_cmakeGitHub Releases / GitHub Actions Artifacts
CPU architectures
x86_64 (AMD64)ARM64 / AArch64NVIDIA Jetson – AArch64 (JetPack)
Installation difficulty
LevelŁatwa
Protocols and interfaces
Communication protocols
Ethernet / TCP-IPIEEE 1588 / PTP (Precision Time Protocol)
Hardware interfaces
Ethernet 100BASE-TX (Fast Ethernet)Ethernet 1000BASE-T (Gigabit Ethernet)
Latency classes
Soft Real-Time (20–100 ms)
Deployment types
On RobotEdgeLocal WorkstationContainerized
Licenses
BSD-3-ClauseBSD 3-Clause Licensev3-Clause

License family: Permissive

ModificationDistributionCommercial useSublicensingPrivate useROS-compatibleOSI approvedFSF Free/LibreRequires attribution
Version history
Jan 2023
Jan 2022
Jan 2021
Jan 2018