RTX Lidar Config Parameters
There are base parameters that affect the entire Lidar, and there are emitter parameters. An emitter state is an array of emitter parameters with one entry for each individual emitter. At least one emitter state is mandatory, but multiple emitter states can exist, and will be cycled through according to the base parameters.
Parameters that are only for Rotary, or only for Solid State will be marked with (Rotary) or (Solid State) after their name. It is not part of their name, and if there are two parameters of the same name it is because they mean different things for the different scan types.
Base Parameters
The following parameters are mandatory, and the config file won’t load correctly without them.
scanType: set to “rotary” for spinning Lidar, and “solidState” for stationary lidar.
nearRangeM: the min valid range in meters
Warning
rangeOffset
andminDistBetweenEchos
must both be belownearRangeM
. [IMPORTANT]minDistBetweenEchos
defaults to 0.4 meters if not set, therefore ifnearRangeM
is < 0.4 thenminDistBetweenEchos
is required to be set set to <=nearRangeM
to get all outputs.farRangeM: the max valid range in meters
[start,end]AzimuthDeg: start/end azimuth (horizontal angle) for the filed of view (fov) in degrees
[up,down]ElevationDeg: upper/lower elevation (vertical angle) for the fov in degrees
rangeResolutionM: range resolution in m
rangeAccuracyM: range accuracy in m
avgPowerW: average power of laser in W. This is a per pulse power.
waveLengthNm: wavelength of laser in nanometer
pulseTimeNs: laser pulse time in ns
maxReturns: number of returns of the Lidar (Using 1 return has an optimized path)
reportRateBaseHz: the number of times the firing pattern is shot per second
scanRateBaseHz: (Rotary) frequency of the sensor, i.e. how many times it spins per second
scanRateBaseHz: (Solid State) frequency of the sensor, i.e. number of fill firing cycles per second
numberOfEmitters: number of emitters per sensor position (tick)
numLines: (Solid State) Number of rows per full scan.
numRaysPerLine: (Solid State) Number of emitters in a row.
Optional Parameters
The following parameters are optional
rangeOffset: start beam firing after this distance
This is helpful for Lidar inside housing geometry.
intensityProcessing: specifies the in render intensity correction method
This parameter only affects the raw non scaled intensity available from the ReadRTXLidarData node, and is in the range [0.0, 1.0]
“normalization” - normalizes based on the Rayleigh range
“correction” - a range based correction that is not derived from a gaussian beam profile, and treats all ranges past 100m the same
Any other string - fallback behavior
intensityMappingType: specifies the mapping type for post-process intensity from the ComputeRTXLidarPointCloud node
“LINEAR” - uses only the intensityScalePercent, and maps [0, 1] to [0, intensityScalePercent/100]
rayType: specifies the modeled ray type
“IDEALIZED” - emitter is modeled as an idealized (single) ray (Less GPU Memory used)
“GAUSSIAN_BEAM” - emitter is simulated as an gaussian beam
“UNIFORM_BEAM” - emitter is simulated as a uniform beam
effectiveApertureSize: effective aperture size of collector in meters
focusDistM: Focusing distance in m, distance to beam waist
valid[Start,End]AzimuthDeg: star/end azimuth in degrees for capped sensor fov
[hor,vert]ResolutionDeg: horizontal/vertical resolution in degrees
minDistBetweenEchos: return ranges below this threshold will be set to 0. Defaults to 0.4 meters
minReflectance: minimum reflectance at a
minReflectanceRange
minReflectanceRange: specified range with
minReflectance
in m[azimuth,elevation]ErrorMean: error profile average in degrees for sensor azimuth/elevation position
[azimuth,elevation]ErrorStd: error profile standard deviation in degrees for sensor azimuth/elevation position
numberOfChannels: number of channels = detectors per sensor position(tick)
Multiple emitters can map to the same channel.
rangeCount: number of different emitter ranges, and size of the
ranges
arrayThe index of the range each emitter uses is stored in the
rangeId
emitter state parameter.ranges: list of max/min pairs of size
rangeCount
If range and
rangeCount
is not used, then the[near,far]RangeM
parameters are used for all emitters.stateResolutionStep: (Rotary) step in degrees used to cycle through emitter states if
emitterStateCount > 1
The rotary Lidar has only have one state per tick (one shooting of the pattern)! For example, a
stateResolutionStep = 0.1
means that it will fire a pattern every \(0.1deg\) with a different state. If the delta between different ticks (\(\frac{ 360}{reportRateBaseHz}\)) is also \(0.1deg\), then state changes every tick. However, if there are \(10\) ticks in \(0.1deg\) then each of the \(10\) ticks will fire with the same emitter state.stateResolutionStep: (Solid State) number of frames per state
emitters: (Rotary) holds the single emitter state if
emitterStateCount
is NOT setemitterStateCount: number of different emitter states
emitterStates: holds the list or emitter states if
emitterStateCount
is set
Emitter State Parameters
Emitter states hold properties that are arrays of size numberOfEmitters
.
The following parameters are mandatory, and the config file won’t load correctly without them.
azimuthDeg: azimuth deviation in degrees of the emitter as measured from the angle the firing starts at
elevationDeg: elevation deviation in degrees, must be between
[up,down]ElevationDeg
fireTimeNs: firing time of emitter (delta to tick start time) in ns
It should be in the range \([0, 1.000.000.000/reportRateBaseHz]\).
Optional Emitter Parameters
The following parameters are optional
focalDistM: focal distance in m
focalSlope: focal slope in m
reportRateDiv: report rate divisor
bank: the line index (Solid State) or beam bank (Rotary), should be filled if the line/bank information is important in post processing
channelId: channel of beam
rangeId: emitter range id, should be filled if
ranges
andrangeCount
are used