Skip to content

Programming Tools and Examples

Compatible with: LRS4000 multiScan100 multiScan200 picoScan100

Ready-made code for integrating SICK LiDAR sensors, published on GitHub (SICKAG). Use it as a starting point for receiving measurement data and controlling the sensor from your application. Check that a project supports your sensor firmware version (shown on the SOPASair Home page) before you start.

Programming Tools and Examples: language, project, use it for, technologies used, and compatible with.

Language Project Use it for Technologies used Compatible with
C++ sick_perception_sdk C++17 SDK: connect, configure, run diagnostics, and receive the Compact stream; includes worked examples. A strong starting point for custom applications. REST with challenge-response authentication, HTTPS, Compact scan, IMU, and encoder telegrams (Type 4), UDP unicast and multicast, TCP, PCD export LRS4000, multiScan100, multiScan200, picoScan100
C++ sick_scan_xd Generic C/C++ API of the sick_scan_xd driver: receive point clouds without ROS on Linux and Windows. CoLa over TCP for setup, Compact or MSGPACK over UDP (multiScan100, picoScan100), LMDscandata over CoLa B (LRS4000), IMU LRS4000, multiScan100, picoScan100
Python sick_scan_rest_client Scripted REST configuration with challenge-response handled for you. REST, challenge-response authentication (SHA-256 with salt), REST password change (AES-128, HMAC), CoLa A/B password hash multiScan200, picoScan100
Python sick_scan_xd Python API of the sick_scan_xd driver: receive point clouds without ROS on Linux and Windows. CoLa over TCP for setup, Compact or MSGPACK over UDP (multiScan100, picoScan100), LMDscandata over CoLa B (LRS4000), IMU LRS4000, multiScan100, picoScan100
Python ScanSegmentAPI Receive and analyze segmented scan data, for example plot it with matplotlib or record it to JSON. Compact (telegram type 1), MSGPACK, UDP, TCP, JSON export LRS4000, multiScan100, picoScan100
Python ScanSegmentDecoding Receive and decode MSGPACK scan segments without the full API. MSGPACK, UDP multiScan100, picoScan100
C# ScanSegmentAPICSharp Compact-format deserializer for .NET, with a worked example for receiving segmented scan data. Compact, UDP, .NET multiScan100, picoScan100

For MATLAB, see MATLAB Integration. To parse the Compact format in any other language, use the Kaitai Struct definitions.

For the REST API, start with the shared REST Interface guide. The complete, device-specific endpoint definitions are available in the LRS4000, multiScan100, multiScan200, and picoScan100 OpenAPI references.