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.

  • [near,far]RangeM: the min and 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

  • 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 array

    The 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 set

  • emitterStateCount: 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 and rangeCount are used