Build a Profile from a Spec Sheet#

A Lidar generic core model profile combines manufacturer specifications, derived values and parameters that need calibration. Record each value’s source and uncertainty, then validate the profile in controlled scenes before using it to represent a device.

Before you start, see Lidar generic core model for model capabilities and USD Attributes for attribute definitions and namespaces.

Profiling workflow#

Start with published specifications, retain defaults for unavailable values, and record each value’s source. Validate the profile against recordings or controlled scenes. Calibration data, firmware behavior and proprietary post-processing may be absent from public specifications.

Record whether each parameter value is copied from a specification, derived, approximate or left at its default. See source-confidence categories for definitions.

Fields every sensor has#

The published output, update, scan or frame rate, a start delay or trigger offset and the device’s name go to the shared omni:sensor:* attributes (frameRate, startTime, marketName) as Shared attributes describes for every sensor; the table below maps the remaining fields.

Map the sheet to the model#

For an OmniLidar carrying OmniSensorGenericLidarCoreAPI, map the spec sheet to the core attributes and to the emitter-state attributes of OmniSensorGenericLidarCoreEmitterStateAPI. Every attribute below except the shared omni:sensor:frameRate is prefixed omni:sensor:Core:, and s# stands for an emitter-state instance such as s001. Types and defaults are in the generated schema reference; the Notes column holds the spec-sheet advice and names the page that explains each attribute in full.

The tutorials work three real sensors end to end through this table and ship the finished profiles.

Spec sheet field

Lidar attribute

Notes

Scan rate or update rate

omni:sensor:frameRate

The complete-scan rate as rational Hz. On a rotary sensor it also sets the firing-pattern tick rate together with rotPatternFiringResDeg; refer to Configure a Firing Pattern. A positive rate has a floor of 0.466 Hz.

Rotary or solid-state scanning principle

scanType

ROTARY for a rotating sensor, SOLID_STATE for a fixed-pattern one. The principle is chosen when the sensor is created; refer to USD Attributes.

Horizontal and vertical field of view, angular sample positions

validStartAzimuthDeg, validEndAzimuthDeg, emitterState:s#:azimuthDeg, emitterState:s#:elevationDeg, numLines, numRaysPerLine

Spec sheets often give only the field of view and the angular resolution. Build the emitter arrays from the published pattern, or from calibration data when you have it. The azimuth pair is the rotary field of view; a solid-state sensor takes its extent from the emitter arrays alone, as Configure a Firing Pattern describes.

Rotary angular firing resolution

rotPatternFiringResDeg

The angular step at which the firing pattern is applied. A step that does not divide 360 evenly has consequences for anything you size per rotation; refer to fractional ticks.

Minimum and maximum detection range

nearRangeM, farRangeM, rangesMinM, rangesMaxM, rangeCount, emitterState:s#:rangeId

A single published range becomes the nearRangeM/farRangeM band. When the sheet gives several range regions, set rangeCount to their number, author one rangesMinM/rangesMaxM window per region, and pick each emitter’s region with rangeId. How the windows and the band combine, and that farRangeM still bounds how far a ray is traced, is on the range band.

Range precision terms

rangeAccuracyM, rangeResolutionM

The accuracy or precision figure on the sheet goes into rangeAccuracyM; rangeResolutionM does not change the delivered coordinates. Refer to range accuracy and range resolution.

Number of returns

maxReturns

Raise it when the model should publish several returns per channel, for example when you validate against transparent or multi-surface scenes; refer to USD Attributes.

Wavelength, peak power, pulse duration

waveLengthNm, peakPowerW, pulseTimeNs

These shape intensity and radiometry, and the wavelength also affects the material’s spectral response; refer to Tune Intensity and Point Drops for what each one does.

Beam divergence or beam waist

divergenceHorDeg, divergenceVerDeg, beamWaistHorM, beamWaistVerM, focusDistM

Author the pair the sheet gives and set both values of the other pair to 0 so the model derives it. The derivation rule, what the defaults do and which values each rayType consumes are under divergence and beam waist.

Minimum reflectance detection claim

minReflectance, minReflectionRangeM

Approximate a guaranteed-detection claim, such as a target reflectance at a published range, with this pair; refer to the detection floor.

Verification#

Validate the profile against known targets in simple scenes before using it in a full simulation.

  • Check the basic geometry and the field of view against known targets.

  • Compare point clouds against the expected range, angular coverage and return count.

  • Confirm that the material, transparency, multi-return and motion settings match the behavior you are validating: the material labels on the targets, maxReturns, and the motion settings on Motion Artifacts.

Each tutorial ends with a validation step of its own, and Sensor Definition Validation checks the parameter set against the model’s rules before you render at all.

Potential issues#

If a published property has no matching attribute, record it as an unmodeled behavior. Calibration, firmware or proprietary post-processing may account for it. Do not substitute an unrelated attribute; document any defaults or approximations used.

If several attributes appear to match a specification, check how the selected mode uses them. For divergence and beam waist, specify one pair and set the other to zero so the model derives it.

For missing or unexpectedly few returns, check validation errors, then range and intensity limits. Invalid initial parameters prevent initialization until corrected. Configure a Firing Pattern describes the array and timing requirements, and Sensor Definition Validation checks the layer before rendering. See Constrain the Field of View and Tune Intensity and Point Drops for return filtering, and empty-output troubleshooting for other causes.

Check units. The usual lidar transcription traps are a rational Hz pair against a plain number, and divergence in degrees against beam waist in meters: omni:sensor:frameRate is (10, 1), not 10, and divergenceHorDeg is an angle in degrees while beamWaistHorM is the beam radius at the waist, in meters.