Skip to content

This repository contains information on how to communicate with SICK LiDARs such as the multiScan100 family or the picoScan100 family.

Notifications You must be signed in to change notification settings

SICKAG/SICK-LiDAR-API-Documentation-and-Examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 

Repository files navigation

LiDAR API Documentation

#f03c15 This document is on DRAFT stage! #f03c15

This description covers all possibilities to work with the following sensors.

  • multiScan100 family
  • picoScan100 family

... you have your sensor on hand: Kick start here 🚀

Table of content

Introduction

The LiDAR API documentation differentiates between two communication concepts. For both cases there are multiple ways to work with the sensor.

1. Receive event-driven measurement data streaming

Communication concept of measurement data streaming:

sequenceDiagram
    client->>sensor: enable measurement data streaming
    sensor-->>client: acknowledge measurement data streaming
    client->>sensor: measurement data packet [0]
    client->>sensor: measurement data packet [1]
    client->>sensor: measurement data packet [...]
Loading


2. Read or write sensor parameters

Communication concept of sensor configuration:

sequenceDiagram
    client->>sensor: set parameter1
    sensor-->>client: acknowledge parameter1
    client->>sensor: set parameter2
    sensor-->>client: acknowledge parameter2
    client->>sensor: ...
Loading

General information

Drivers and SDKs

For complete drivers instead of single telegrams, the following options are available:

Examples

All available examples can be found here.

Default IP address

The default IP address for the sensors (if not specified different is 192.168.0.1)

Measurement Data Streaming - Comparison and choice

Transport Layer Port Advantages Bandwidth factor
Compact UDP default is port 2115 - smallest traffic
- best fit for PLCs
1
MSGPACK UDP default is port 2115 - available libraries in almost all programming languages ~2
WebSocket TCP 80 - uses port 80 which is open in most circumstances
- good for low output frequencies
- uses JSON structure
~3

Device configuration - Comparison and choice

Transport Layer Port When to use what
REST TCP 80 - if you only want to read data - if your system can handle a challenge and response process
CoLa A TCP default is port 2111 - if your system cannot handle a challenge and response process
CoLa B TCP default is port 2112 - if your system cannot handle a challenge and response process
- it is the best fit for PLCs.

Getting started to work with a sensor

0️⃣ Prerequisites

✔️ SICK sensor (e.g. multiScan100)

✔️ Power cable

✔️ Ethernet cable to connect the sensor to your system

1️⃣ See scan data on sensor web server

2️⃣ Decide how you want to work with the device

  • Case 1: You want to test the device and change some settings with the given web browser.
    • You are ready to got and do not need any further actions.
  • Case 2: You want to integrate the device into a ROS environement (ROS / ROS2)
  • Case 3: You want to use an existing driver (C++ or Python)
  • Case 4: You want to build your own driver in specidic programming language.
    • Decide which measurement data straming approach you want you use. You can choose from these:
      • Compact Format via UDP
      • MSGPACK Format via UDP
      • ScanData via WebSockets
    • Decide which sensor configuration approach you want you use. You can choose from these:
      • HTTP/REST via TCP
      • CoLa via TCP

About

This repository contains information on how to communicate with SICK LiDARs such as the multiScan100 family or the picoScan100 family.

Topics

Resources

Stars

Watchers

Forks