Image Transform Vision Write JPEG File navigation bar

Table of Contents

LIDAR Scan Match

Matches LIDAR scans to determine the transformation between the reference scan and the current scan.

Library

QUARC Targets/Image Processing/Generic

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

qc_open_library('quarc_library/Image Processing/Generic')

Description

LIDAR Scan Match

The LIDAR Scan Match block matches a reference LIDAR scan to a current LIDAR scan and uses a grid matching algorithm to determine the translation and rotation of the current LIDAR scan relative to the reference scan. Both current and reference scans may change at each sampling instant.

Input Ports

refrng

A vector of range values for the reference scan.

refang

A vector of angle or headnig values for the reference scan.

reflen

The number of valid points in the reference scan. This input is only present when the mode parameter is set to Fixed-input with size.

currng

A vector of range values for the current scan.

curang

A vector of angle or headnig values for the current scan.

curlen

The number of valid points in the current scan. This input is only present when the mode parameter is set to Fixed-input with size.

initial

The initial pose as a 3-vector at which to start the grid search. The translation search range and rotation search range are relative to this initial pose. The pose consists of the elements [x, y, theta] where x and y denote the translation in meters and theta denotes the rotation in radians.

trans

The translation search range as a 2-vector [x,y] indicating the cartesian search range in meters.

rot

The rotation search range as a scalar indicating the angular search range in radians.

Output Ports

pose

The pose as a 3-vector [x,y,theta] representing the transformation between the current scan and the reference scan. The (x,y) components are the translation and the theta component is the rotation.

score

A score representing the confidence in the match. Higher values denote higher confidence. The value is not normalized so it is highly dependent on the input scans and block parameters.

cov

A 3x3 matrix representing an estimate of the covariance of the result. This output is currently set to zero but may be added in future revisions.

err

A negative error code or zero on success.

Data Type Support

The LIDAR Scan Match block supports any of the standard Simulink data types at its inputs. Fixed-point data types are not supported. The pose, score and cov outputs are single. The err output is an int32.

Parameters and Dialog Box

LIDAR Scan Match

mode

The mode determines the nature of the inputs. In Fixed-input with size mode the scans are input as a vector of ranges and angles, with a length input indicating how many of the points are actually valid in each vector.

In Variable-size mode, the scans are input as a variable-size vector of ranges and angles. Since variable-size signals have an inherent length, no length input is provided.

Resolution (tunable offline)

The resolution is a scalar value representing the number of grid cells per meter. The LIDAR scan is divided into a grid of cells, with the given resolution, and then these grid elements are evaluated to see which one is most likely to be the location of the current scan relative to the reference scan.

Maximum range (tunable offline)

The maximum range to allow in the LIDAR scans. Any values beyond this range are discarded. The range is a scalar value in meters.

Use initial pose

If this option is checked then three extra inputs are provided: initial, trans and rot representing the initial pose, translation search range in meters, and rotation search range in radians. The grid search is initiated at the given initial pose and extends up to the given ranges from that point.

If this option is not checked, then the algorithm searches the entire grid space defined by the Maximum ranga parameter (over a 360 degree rotation).

Targets

Target Name

Compatible*

Model Referencing

Comments

QUARC Win32 Target

Yes

Yes

QUARC Win64 Target

Yes

Yes

QUARC Linux Nvidia Target

Yes

Yes

QUARC Linux QBot Platform Target

Yes

Yes

QUARC Linux QCar 2 Target

Yes

Yes

QUARC Linux QDrone 2 Target

Yes

Yes

QUARC Linux Raspberry Pi 3 Target

Yes

Yes

QUARC Linux Raspberry Pi 4 Target

Yes

Yes

QUARC Linux RT ARMv7 Target

Yes

Yes

QUARC Linux x64 Target

Yes

Yes

QUARC Linux DuoVero Target

Yes

Yes

QUARC Linux DuoVero 2016 Target

Yes

Yes

QUARC Linux Verdex Target

Yes

Yes

QUARC QNX x86 Target

Yes

Yes

Last fully supported in QUARC 2018.

Rapid Simulation (RSIM) Target

Yes

Yes

S-Function Target

No

N/A

Old technology. Use model referencing instead.

Normal simulation

Yes

Yes

* Compatible means that the block can be compiled for the target.

See Also

 

navigation bar