Get desktop application:
View/edit binary Protocol Buffers messages
* > Introduced in BSL v2.17 and firmware v1.18 This section describes the additional data output of on-device algorithms. The data is attached to the frame.
Used in:
Refer to [BackgroundSubtraction](#blickfeld.protocol.data.Algorithm.BackgroundSubtraction).
Refer to [NeighborFilter](#blickfeld.protocol.data.Algorithm.NeighborFilter).
Refer to [StaticTransformation](#blickfeld.protocol.data.Algorithm.StaticTransformation).
Execution time of the algorithm in [s]
* The description of the algorithm can be found at [config.Algorithm.BackgroundSubtraction](#blickfeld.protocol.config.Algorithm.BackgroundSubtraction). The algorithm does not output any additional information. It subtracts returns from the main frame.
Used in:
(message has no fields)
* The description of the algorithm can be found at [config.Algorithm.NeighborFilter](#blickfeld.protocol.config.Algorithm.NeighborFilter). The algorithm does not output any additional information. It subtracts returns from the main frame.
Used in:
(message has no fields)
* The description of the algorithm can be found at [config.Algorithm.StaticTransformation](#blickfeld.protocol.config.Algorithm.StaticTransformation). The algorithm does not output any additional information. It transforms the cartesian coordinates in the frame.
Used in:
(message has no fields)
* This section describes the contents of a point cloud frame.
Used in: , ,
Incremental frame ID since startup of the device
Unit: [s] – start frame timestamp
Refer to [ScanPattern](#blickfeld.protocol.config.ScanPattern)
<blockquote>Introduced in BSL v2.16 and firmware v1.17</blockquote> If the frame_mode in the scan pattern is set to SEPARATE, this value indicates if the given frame was captured during up-ramping or down-ramping.
Number of laser pulses emitted in this frame.
Number of returned points recorded: Each point of the [total_number_of_points](#blickfeld.protocol.data.Frame.total_number_of_points) can produce several returns.
Refer to [Scanline](#blickfeld.protocol.data.Scanline)
<blockquote>Introduced in BSL v2.16 and firmware v1.17</blockquote> Refer to [Packed](#blickfeld.protocol.data.Frame.Packed)
<blockquote>Introduced in BSL v2.17 and firmware v1.16</blockquote> Refer to [data.Algorithm](#blickfeld.protocol.data.Algorithm). Each algorithm configured can output additional data, which is provided with this field.
* > Introduced in BSL v2.16 and firmware v1.17 This format returns point clouds as flat binary structures. These can be efficiently encoded & decoded, which increases the performance on low-performance clients significantly. The network bandwidth is usually slightly higher as the data is not encoded. Note: The reference frame concept is handled differently for packed structures. To activate the packed format, it is sufficient to set an empty packed message in the reference frame. The requested fields need to be selected in the scanlines structure. Refer to REF_FRAME_PACKED in the client implementations.
Used in:
Length of arrays
Cartesian coordinates. 3-dimensional array in row-major format with [x, y, z] tuples. Unit: [m]. Type: Float32. Byte Order: Big Endian.
Polar coordinates. 2-dimensional array in row-major format with [azimuth, elevation] tuples. Unit: [rad]. Type: Float32. Byte Order: Big Endian.
Distance to the return. 1-dimensional array. Unit: [m]. Type: Float32. Byte Order: Big Endian.
Intensity of the returned laser pulse. 1-dimensional array. Type: UInt32. Byte Order: Big Endian.
Ambient light level in the direction of the point. 1-dimensional array. Type: UInt32. Byte Order: Big Endian.
Starting time of the point in relation to [Frame.start_time_ns](#blickfeld.protocol.data.Frame.start_time_ns). 1-dimensional array. Unit: [ns]. Type: UInt64. Byte Order: Big Endian.
Unique point identifier within a frame and scan pattern. 1-dimensional array. Type: UInt32. Byte Order: Big Endian.
Identifier of the channel that detected the point. 1-dimensional array. Type: UInt8.
Identifier of the return. Note: Returns are ordered by intensity not by distance. 1-dimensional array. Type: UInt8.
* > Introduced in BSL v2.18 and firmware v1.19 The Cube has an on-board IMU, which can be used for e.g. mapping applications or static auto-leveling.
Used in:
Unit: [ns] – start timestamp of data. The start_offset_ns in each sample refers to this value. The timestamp is synchronized to the ones in point cloud frames.
Refer to [Sample](#blickfeld.protocol.data.IMU.Sample)
Refer to [Packed](#blickfeld.protocol.data.IMU.Packed)
Used in:
Length of arrays
Starting time of the point in relation to [Data.start_time_ns](#blickfeld.protocol.data.IMU.Data.start_time_ns). 1-dimensional array. Unit: [ns]. Type: UInt64. Byte Order: Big Endian.
Accerlation. 3-dimensional array in row-major format with [x, y, z] tuples. Unit: [g]. Type: Float32. Byte Order: Big Endian.
Angular velocity, measured with gyroscope. 3-dimensional array in row-major format with [x, y, z] tuples. Unit: [rad/s]. Type: Float32. Byte Order: Big Endian.
* Describes a single IMU state. Data rate is approx. 1.125 khz.
Used in:
Unit: [ns] – Offset to [start_time_ns](#blickfeld.protocol.data.IMU.start_time_ns)
Unit: [g] - Format: [x,y,z] - Measured acceleration for 3-axes.
Unit: [rad/s] - Format: [x,y,z] - Measured angular velocity by gyroscope for 3-axes.
* This section describes the contents of a single point of a point cloud frame or scan line. Each point resembles a direction in which the laser has fired. From each point (direction) the device can receive several responses/returns, see [Point.Return](#blickfeld.protocol.data.Point.Return).
Used in:
Point ID in the corresponding frame
Refer to [Point.Return](#blickfeld.protocol.data.Point.Return)
Unit: [ns] - starting time of the point in relation to [Frame.start_time_ns](#blickfeld.protocol.data.Frame.start_time_ns)
Ambient light level in the direction of the point
Refer to [Point.Direction](#blickfeld.protocol.data.Point.Direction)
ID of the channel that detected the point
Refer to [Point.ErrorFlag](#blickfeld.protocol.data.Point.ErrorFlag)
* This section describes the direction and the origin of a point. Use these polar coordinates combined with the range information of a given return, if you want to locate the reflection in the spherical coordinatesystem.
Used in:
Unit: [rad] - azimuth angle: Angle with respect to y-z plane
Unit: [rad] - elevation angle: Angle with respect to x-y plane
Unit: [m] - origin of the laser beam [x,y,z]
* Error flag indicating why a point delivers no valid returns. If a flag is set, the point should not be interpreted neither processed. Flags are only set temporarily for a short period of time. If the error state does not recover, the device will stop operation.
Used in:
The environmental vibration threshold was exceeded. This should not happen in normal operation.
* This section describes the contents of a single return of a point, sorted by intensity. A return is created when the LiDAR detects the laser light of the reflection of an object.
Used in:
ID of the return in the point
Unit: [m] – Cartesian coordinates of the target [x,y,z]
Unit: [m] – distance of target to the origin
Intensity of the returned laser pulse
* A point cloud object can contain either a full frame or a single scan line.
Used in:
Refer to [PointCloud.Header](#blickfeld.protocol.data.PointCloud.Header)
Refer to [Frame](#blickfeld.protocol.data.Frame)
Refer to [Scanline](#blickfeld.protocol.data.Scanline)
* This section describes the contents of a point cloud header.
Used in: ,
Legacy serial number of the device which recorded the pointcloud
Serial number of the device which recorded the pointcloud
Unit: [s] - Start timestamp of the requested pointcloud stream
Firmware version of the device which recorded the pointcloud
Hardware variant of the device which recorded the pointcloud
<blockquote>Introduced in BSL v2.16 and firmware v1.17</blockquote> Used & merged subscription for stream
* This section describes the contents of a single scan line in a point cloud frame.
Used in: ,
Scan line ID in the corresponding frame
Frame ID of the corresponding frame
Refer to [Point](#blickfeld.protocol.data.Point)
Unit: [ns] - start time of the scanline in relation to [Frame.start_time_ns](#blickfeld.protocol.data.Frame.start_time_ns)