Radar Sensors#
An ovrtx radar scene needs an OmniRadar sensor prim and a RenderProduct
whose PointCloud RenderVar requests the detection channels the application
will read. The same USDA pattern is used by C and Python.
Configure the Radar Prim#
def OmniRadar "Radar" (
prepend apiSchemas = ["OmniSensorGenericRadarWpmDmatAPI"]
)
{
token omni:sensor:WpmDmat:elementsCoordsType = "CARTESIAN"
double2 omni:sensor:frameRate = (10, 1)
double3 xformOp:translate = (0, 0, 1)
float3 xformOp:rotateXYZ = (90, 0, -90)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ"]
}
def OmniRadar "Radar" (
prepend apiSchemas = ["OmniSensorGenericRadarWpmDmatAPI"]
)
{
token omni:sensor:WpmDmat:elementsCoordsType = "CARTESIAN"
double2 omni:sensor:frameRate = (10, 1)
double3 xformOp:translate = (0, 0, 1)
float3 xformOp:rotateXYZ = (90, 0, -90)
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ"]
}
Use OmniSensorGenericRadarWpmDmatAPI for the generic WPM DMAT radar model.
The default scan is s001. Apply additional scan configuration API schemas
only when authoring multiple scan patterns.
Important Output Attributes#
Attribute |
Values |
Use |
|---|---|---|
|
|
Controls auxiliary data in |
|
|
Coordinate representation for detections. |
|
|
Frame of reference for all outputs. |
|
|
Custom transform used when the output frame is |
Configure PointCloud Output#
def "Render"
{
def "Products"
{
def RenderProduct "RadarProduct"
{
rel camera = </World/Radar>
rel orderedVars = [<../../Vars/PointCloud>]
}
}
def "Vars"
{
def RenderVar "PointCloud"
{
uniform string sourceName = "PointCloud"
string[] channels = [
"Coordinates",
"Counts",
"RadialVelocityMs"
]
}
}
}
def "Render"
{
def "Products"
{
def RenderProduct "RadarProduct"
{
rel camera = </World/Radar>
rel orderedVars = [<../../Vars/PointCloud>]
}
}
def "Vars"
{
def RenderVar "PointCloud"
{
uniform string sourceName = "PointCloud"
string[] channels = [
"Coordinates",
"Counts",
"RCS",
"RadialVelocityMs"
]
}
}
}
Request only the channels the consumer needs. Counts and Flags are
auto-enabled and delivered like ordinary channel tensors.
Radar Channels#
Channel |
Meaning |
|---|---|
|
Number of delivered detections. Use it to bound every per-detection tensor. |
|
Detection coordinates in the configured coordinate representation and frame. |
|
Radar cross section in dBsm. |
|
Signed Doppler radial velocity in meters per second. |
|
Per-detection time offset relative to scan start. |
|
Per-detection status bits. The |
Interpreting Radar Output#
Within the first Counts[0] entries, a detection is valid when
Flags[i] & 0x40 is non-zero. RadialVelocityMs is signed; approaching
detections can be negative, so use absolute value when checking only for
motion.
For map/read code, see Reading Sensor PointClouds. For material behavior that affects radar returns, see Non-Visual Materials.