Scan Pattern

Scan Pattern

The scan pattern defines the movement of the mirrors. The key parameters of the pattern are the horizontal and vertical fields of view (FoV) as well as the number of scan lines per frame. The frame rate is defined by the total number of scan lines and the oscillation frequency of the mirrors which is fixed and device-specific.

Table 1. Available fields in blickfeld.system.config.ScanPattern
Field Type Default Unit

horizontal

Horizontal

-

-

vertical

Vertical

-

-

pulse

Pulse

-

-

read_only

bool

false

-

this is an read_only flag and it will be set if this is a default scan pattern, which can’t be changed or deleted.

frame_rate

optional FrameRate

-

-

frame_mode

FrameMode

FRAME_MODE_UP_DOWN

-

Horizontal

This section defines the movement of the horizontal mirror. The mirror moves continuously with its own frequency. Each half-oscillation period of the mirror results in one scan line.

Table 2. Available fields in blickfeld.system.config.ScanPattern.Horizontal
Field Type Default Unit

field_of_view

float

1.57079637

rad

Unit: [rad] – optical field of view of the horizontal mirror. Note: In v2.2* and below, this was defined as a mechanical FoV.

Vertical

This section defines the movement of the vertical mirror within one frame. The mirror moves for from 0 degrees to the configured target FoV (up-ramping phase) and back to 0 degrees (down-ramping phase) with its eigenfrequency. The number of scanlines for each phase can be configured. Due to the dynamics of the mirror, a certain number of scan lines are required to reach the target FoV and then to reach 0 degrees again. Consequently, if the limit is reached, a lower number of scan lines requires a reduced FoV. Thus, a higher number of scan lines allows a larger vertical FoV. The vertical FoV is limited by the optical components.

Note: Due to the time required for one scan line, the rounded even number of scan lines directly scales inverse proportionally with the frame rate.

Table 3. Available fields in blickfeld.system.config.ScanPattern.Vertical
Field Type Default Unit

field_of_view

float

0.87266463

rad

Unit: [rad] – FoV in the center of the frame. Due to the eye shape of the scan pattern, the vertical FoV decreases the outer boundaries of the horizontal mirror.

scanlines_up

optional uint32

40

-

Configures the number of scan lines required for the up-ramping phase. During the up-ramping phase, the vertical mirror increases its amplitude from 0 degrees to the target FoV. Default: 200

scanlines_down

optional uint32

40

-

Configures the amount of scan lines required for the down-ramping phase. During the down-ramping phase, the vertical mirror decreases its amplitude from the target FoV to 0 degrees. Default: 30

foveation

optional Foveation

-

-

Optionally configures a foveated region.

Foveation

Configures a vertical field of view foveation.

This enables the user to specify a region of interest with a different scanline density which is defined as the number of scanlines per degree of vertical field of view. For constant frame rate this allows increasing the resolution in the region of interest without having to reduce the vertical field of view.

Table 4. Available fields in blickfeld.system.config.ScanPattern.Vertical.Foveation
Field Type Default Unit

fraction

float

0.2

-

The fraction of the field of view that the density factor is applies to. The allowed value range is [0.15, 0.85].

density_factor

float

3

-

The foveation density factor defines the ratio of scanline density and consequently point density inside the foveated region compared to outside of it.

scanlines

optional uint32

-

-

Read-only parameter showing the number of scanlines in the foveated region. If the frame mode is set to up-down or separate, this applies to both the up-ramping and down-ramping phase individually.

Pulse

This section defines the pattern in which the laser pulses and captures sample points

Table 5. Available fields in blickfeld.system.config.ScanPattern.Pulse
Field Type Default Unit

angle_spacing

optional float

0.0043633231

rad

Unit: [rad] – This defines the angle within which the horizontal mirror moves between two laser pulses. This parameter therefore defines the horizontal sampling resolution.

uniform

optional Uniform

-

-

Optional configure a uniform scan pattern

Uniform

Configure the uniform scan pattern

The classic scan pattern does not benefit uniformly from increasing the scanline count in a frame. The uniform scan pattern is an optimization that tries to provide an optimally homogeneous point cloud given the system’s constraints. To configure the scan pattern, the vertical field of view, the target frame rate and the pulse mode are used.

Table 6. Available fields in blickfeld.system.config.ScanPattern.Pulse.Uniform
Field Type Default Unit

pulse_mode

eye_safety.data.PulseMode

PULSE_MODE_B

-

Pulse mode to use for the uniform scan pattern. This will overwrite the horizontal angle spacing.

Frame Rate

This section defines the frame rate of a scan pattern

Table 7. Available fields in blickfeld.system.config.ScanPattern.FrameRate
Field Type Default Unit

target

optional double

-

Hz

Target frame rate used to synchronize the point clouds of multiple LiDAR devices in a sensor setup

actual

optional double

-

Hz

Read-only parameter for the actual frame rate the LiDAR is currently running at

maximum

optional double

-

Hz

IMPORTANT: This field is deprecated. It has been replaced by "actual" and will not be supported in future releases.

Read-only parameter for maximum achievable frame rate of the scan pattern

Frame Mode

The frame mode specifies the point cloud frame’s composition and can be used to fine tune the LiDAR to specific use cases.

Table 8. Available values for blickfeld.system.config.ScanPattern.FrameMode enum
Name Value Description

FRAME_MODE_UNSPECIFIED

0

Unspecified frame mode

FRAME_MODE_UP_DOWN

1

The laser will trigger both during up and downramping phase and a point cloud frame is the combination of the two. Points that are close in azimuth and elevation in both phases will be recorded up to two seconds apart, this mode is therefore recommended only for high frame rates or scenes without fast objects.

FRAME_MODE_UP

2

The laser will only trigger during the upramping phase. Because no laser is fired during the downramping phase, this mode results in a more uniform motion deformation for fast objects.

FRAME_MODE_SEPARATE

3

The laser will trigger both during up and downramping phase but separate point cloud frames will be emitted, which maximizes frame rate.

Named Scan Pattern

Temporary container used for config storage TODO Remove when map type is supported.

Table 9. Available fields in blickfeld.system.config.NamedScanPattern
Field Type Default Unit

name

optional string

-

-

scan_pattern

ScanPattern

-

-