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.