Coding Tools & Examples¶
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.
Recommended starting points: for C++, sick_perception_sdk; for Python, ScanSegmentAPI to receive data and sick_scan_rest_client to configure the sensor; for ROS, see ROS Integration.
Coding Tools & 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, Compact (UDP/TCP), IMU and encoder, 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, Compact, MSGPACK, LMDscandata | LRS4000, multiScan100, picoScan100 |
| Python | sick_scan_rest_client | Scripted REST configuration with challenge-response handled for you. | REST, challenge-response, password change | LRS4000, multiScan100, multiScan200, picoScan100 |
| Python | sick_scan_xd | Python API of the sick_scan_xd driver: receive point clouds without ROS on Linux and Windows. | CoLa, Compact, MSGPACK, LMDscandata | LRS4000, multiScan100, picoScan100 |
| Python | ScanSegmentAPI | Receive and analyze segmented scan data, for example plot it with matplotlib or record it to JSON. | Compact, 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 |
| Multiple languages | KaitaiStructDescriptions | Generate your own Compact parser in Python, C++, C#, Java, Go, and other supported languages. See Kaitai Struct Parsers for the steps. | Compact, Kaitai Struct .ksy |
LRS4000, multiScan100, multiScan200, picoScan100 |
For MATLAB, see MATLAB Integration.
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.