Skip to content

Latest commit

 

History

History
129 lines (109 loc) · 7.26 KB

File metadata and controls

129 lines (109 loc) · 7.26 KB

Radar sensor overview

The radar sensor is currently implemented as an ideal ground-truth based radar that does line-traces for each beam over a set rectangular field of view (FOV). One full frame of FOV beam line-traces is done at every sim time interval specified in the sensor's settings.

Radar detections

For any beam line-trace intersections with an object's mesh, a radar detection is generated with the value of the range, azimuth, elevation, relative velocity along the beam direction, and radar cross-section (RCS) in square meters. The range, azimuth, and elevation are determined by the position of the intersection point relative to the sensor. The relative velocity is determined by the ground-truth kinematics of the object relative to the ground-truth kinematics of what the sensor is attached to. The RCS value is determined by the size of a bounding sphere of the detected object's mesh to roughly approximate the overall scale of the object, and currently doesn't account for any material or reflectivity effects.

Radar tracks

The radar sensor also does track processing at a separate sim time interval from the detections, generally at a lower frequency. At each track update, the accumulated detections since the last track update are processed and each detection is associated to an object based on the ground-truth name of the object. Since the detections are based on ground-truth, every detection for the same object will have the same values and only one detection is needed to update each object's track. For each detected object, a track ID number is assigned and the detection's ground-truth values are used to output the track data with the value of the ID, azimuth, elevation, range, relative position, relative velocity, relative acceleration, and RCS. Since the values are based on ground-truth, no EKF or state estimation is done and the values are just passed through directly. Before a track is created for a newly detected object, 3 of the last 5 track updates have to have associated detections to the object. An existing track that hasn't had an associated detection in the last 3 updates will then be deleted.

Radar sensor settings

Sample config

{
"sensors": [
  {
    "id": "radar1",
    "type": "radar",
    "enabled": true,
    "parent-link": "RadarMountPoint",
    "fov": {...},
    "range-max": 500.0,
    "range-resolution": 1.0,
    "velocity-max": 100.0,
    "velocity-resolution": 1.0,
    "detection-interval": 0.02,
    "track-interval": 0.2,
    "rcs-adjust-factor": 0.1,
    "draw-debug-points": false,
    "origin": {
      "xyz": "0.6 0 0",
      "rpy-deg": "0 0 0"
    },
    "masks": [...]
  }
}
Parameter Value Description
id string Name of radar sensor.
type radar Sensor type specifying this as a radar sensor.
enabled bool Whether sensor is enabled or not.
parent-link string Name of the link that the sensor is attached to.
fov FOV settings Field of view settings. See below for details.
range-max float (>0) Max range for the radar beams in meters.
range-resolution float (>0) Resolution of the measured range values in meters.
velocity-max float Max amplitude of measured relative velocity in m/s. Negative values are if the object is moving toward the sensor, and positive values are moving away.
velocity-resolution float (>0) Resolution of the measured velocity values in m/s.
detection-interval float Time interval between each set of detections in seconds. Each set is a full FOV frame of beams.
track-interval float Time interval between each track update in seconds. Each track update is based on the accumulated detections since the last update.
rcs-adjust-factor float (>0) Global multiplier to adjust every measured RCS value.
draw-debug-points bool If true, green dots will be rendered at the beam hit points on the detected objects. This is not supported in Unreal's Shipping configuration.
origin: xyz string of 3 floats Position offset "X Y Z" of the sensor relative to the parent link's origin in meter units. Defaults to all zero if no origin is specified.
origin: rpy string of 3 floats Rotation offset "Roll Pitch Yaw" of the sensor relative to the parent link's origin in radian units. Defaults to all zero if no origin is specified.
masks Mask settings Array of mask settings. See below for details.

FOV settings

Field of view settings define the area that the beams will be sweeped across as a rectangular frame.

{
"fov": {
    "azimuth-max": 0.785,
    "azimuth-min": -0.785,
    "elevation-max": 0.524,
    "elevation-min": -0.524,
    "azimuth-resolution": 0.0175,
    "elevation-resolution": 0.0175
  },
}
Parameter Value Description
azimuth-max float Max azimuth angle in radians. Positive azimuth is in the rightward rotation direction from the centerline normal to the sensor's face.
azimuth-min float Min azimuth angle in radians. Negative azimuth is in the leftward rotation direction from the centerline normal to the sensor's face.
elevation-max float Max elevation angle in radians. Positive elevation is in the upward rotation direction from the centerline normal to the sensor's face.
elevation-min float Min elevation angle in radians. Negative elevation is in the downward rotation direction from the centerline normal to the sensor's face.
azimuth-resolution float Angular resolution between each beam in the azimuth sweep direction in radians.
elevation-resolution float Angular resolution between each beam in the elevation sweep direction in radians.

Mask settings

Mask settings define sections of the FOV that should NOT be included in the radar's output detections. Any detection that fits within all of the mask's windows for FOV area, range, velocity, and RCS will be filtered out. Any number of masks can be applied to a single radar sensor.

{
"masks": [
    {
      "azimuth-min": -0.8,
      "azimuth-max": 0.8,
      "elevation-min": -0.8,
      "elevation-max": -0.2,
      "range-min": 10.0,
      "range-max": 200.0,
      "velocity-min": -15.0,
      "velocity-max": 15.0,
      "rcs-sqm-min": 0.01,
      "rcs-sqm-max": 100.0
    }
  ]
}
Parameter Value Description
azimuth-min float Min azimuth angle of the masked window in radians.
azimuth-max float Max azimuth angle of the masked window in radians.
elevation-min float Min elevation angle of the masked window in radians.
elevation-max float Max elevation angle of the masked window in radians.
range-min float Min range of the masked window in meters.
range-max float Max range of the masked window in meters.
velocity-min float Min relative velocity of the masked window in m/s.
velocity-max float Max relative velocity of the masked window in m/s.
rcs-sqm-min float Min RCS of the masked window in m^2.
rcs-sqm-max float Max RCS of the masked window in m^2.

Copyright (C) Microsoft Corporation.
Copyright (C) 2025 IAMAI CONSULTING CORP

MIT License. All rights reserved.