Main Content

Simulation 3D Probabilistic Radar

Probabilistic radar sensor model in 3D simulation environment

  • Simulation 3D Probabilistic Radar block

Libraries:
Automated Driving Toolbox / Simulation 3D

Description

Note

Simulating models with the Simulation 3D Probabilistic Radar block requires Simulink® 3D Animation™.

The Simulation 3D Probabilistic Radar block provides an interface to the probabilistic radar sensor in a 3D simulation environment. This environment is rendered using the Unreal Engine® from Epic Games®. You can specify the radar model and accuracy, bias, and detection parameters. The block uses the sample time to capture the radar detections and outputs a list of object detection reports. To configure the probabilistic radar signatures of actors in the 3D environment across all radars in your model, use a Simulation 3D Probabilistic Radar Configuration block. If you do not specify the radar signatures using the Simulation 3D Probabilistic Radar Configuration block, the radar cross section values of all the targets will be -20 dBsm.

If you set Sample time to -1, the block uses the sample time specified in the Simulation 3D Scene Configuration block. To use this sensor, you must include a Simulation 3D Scene Configuration block in your model.

Tip

The Simulation 3D Scene Configuration block must execute before the Simulation 3D Probabilistic Radar block. That way, the Unreal Engine 3D visualization environment prepares the data before the Simulation 3D Probabilistic Radar block receives it. To check the block execution order, right-click the blocks and select Properties. On the General tab, confirm these Priority settings:

  • Simulation 3D Scene Configuration0

  • Simulation 3D Probabilistic Radar1

For more information about execution order, see How Unreal Engine Simulation for Automated Driving Works.

Examples

Ports

Output

expand all

Object detections, returned as a Simulink bus containing a MATLAB structure. For more details about buses, Create Nonvirtual Buses (Simulink). The structure has this form.

FieldDescriptionType
NumDetectionsNumber of detectionsinteger
IsValidTimeFalse when updates are requested at times that are between block invocation intervalsBoolean
DetectionsObject detectionsArray of object detection structures of length set by the Maximum reported parameter. Only NumDetections of these detections are actual detections.

Each object detection structure contains these properties.

PropertyDefinition
TimeMeasurement time
MeasurementObject measurements
MeasurementNoiseMeasurement noise covariance matrix
SensorIndexUnique ID of the sensor
ObjectClassIDObject classification
MeasurementParametersParameters used by initialization functions of nonlinear Kalman tracking filters
ObjectAttributesAdditional information passed to tracker

  • For Cartesian coordinates, Measurement and MeasurementNoise are reported in the coordinate system specified by the Coordinate system parameter.

  • For spherical coordinates, Measurement and MeasurementNoise are reported in the spherical coordinate system based on the sensor Cartesian coordinate system. MeasurementParameters is reported in sensor Cartesian coordinates.

Measurement and MeasurementNoise

Coordinate System Used to Report DetectionsMeasurement and MeasurementNoise Coordinates
'Ego Cartesian'

This table shows the coordinate dependence when you enable or disable range rate measurements using the Enable range rate measurements parameter.

Range rate measurementsCoordinates
Enabled[x;y;z;vx;vy;vz]
Disabled[x;y;z]
'Sensor Cartesian'
'Sensor spherical'

This table shows the coordinate dependence when you enable or disable the range rate and elevation angle measurements, by using the Enable range rate measurements and Enable elevation angle measurements parameters, respectively.

Range rate measurementsElevation angle measurementsCoordinates
EnabledEnabled[az;el;rng;rr]
EnabledDisabled[az;rng;rr]
DisabledEnabled[az;el;rng]
DisabledDisabled[az;rng]

Measurement Parameters

ParameterDefinition
Frame Enumerated type that indicates the frame used to report measurements. When Frame is set to 'rectangular', detections are reported in Cartesian coordinates. When Frame is set to 'spherical', detections are reported in spherical coordinates.
OriginPosition3D vector offset of the sensor origin from the ego vehicle origin. The vector is derived from the location and height of the sensor, as specified by the Mounting location parameter and the Z value of the Relative translation [X, Y, Z] (m) parameter, respectively.
OrientationOrientation of the radar sensor coordinate system with respect to the ego vehicle coordinate system. The orientation is derived from the roll, pitch, and yaw values specified in the Relative rotation [Roll, Pitch, Yaw] (deg) parameter.
HasVelocityIndicates whether measurements contain velocity or range rate components.
HasElevationIndicates whether measurements contain elevation components.

The ObjectAttributes property of each detection is a structure with these fields.

FieldDefinition
TargetIndexIdentifier of the actor, ActorID, that generated the detection. For false alarms, this value is negative.
SNRSignal-to-noise ratio of the detection. Units are in decibels.

The ObjectClassID property of each detection has a value that corresponds to an object ID. The table shows the object IDs used in the default scenes that are selectable from the Simulation 3D Scene Configuration block. If you are using a custom scene, in the Unreal® Editor, you can assign new object types to unused IDs. For more details, see Apply Labels to Unreal Scene Elements for Semantic Segmentation and Object Detection. If a scene contains an object that does not have an assigned ID, that object is assigned an ID of 0. The detection of lane markings is not supported.

IDType
0

None/default

1

Building

2

Not used

3

Other

4

Pedestrians

5

Pole

6

Lane Markings

7

Road

8

Sidewalk

9

Vegetation

10

Vehicle

11

Not used

12

Generic traffic sign

13

Stop sign

14

Yield sign

15

Speed limit sign

16

Weight limit sign

17-18

Not used

19

Left and right arrow warning sign

20

Left chevron warning sign

21

Right chevron warning sign

22

Not used

23

Right one-way sign

24

Not used

25

School bus only sign

26-38

Not used

39

Crosswalk sign

40

Not used

41

Traffic signal

42

Curve right warning sign

43

Curve left warning sign

44

Up right arrow warning sign

45-47

Not used

48

Railroad crossing sign

49

Street sign

50

Roundabout warning sign

51

Fire hydrant

52

Exit sign

53

Bike lane sign

54-56

Not used

57

Sky

58

Curb

59

Flyover ramp

60

Road guard rail

61Bicyclist
62-66

Not used

67

Deer

68-70

Not used

71

Barricade

72

Motorcycle

73-255

Not used

Parameters

expand all

Mounting

Specify the unique identifier of the sensor. In a multisensor system, the sensor identifier enables you to distinguish between sensors. When you add a new sensor block to your model, the Sensor identifier of that block is N + 1, where N is the highest Sensor identifier value among the existing sensor blocks in the model.

Example: 2

Name of the parent to which the sensor is mounted, specified as Scene Origin or as the name of a vehicle in your model. The vehicle names that you can select correspond to the Name parameters of the simulation 3D vehicle blocks in your model. If you select Scene Origin, the block places a sensor at the scene origin.

Example: SimulinkVehicle1

Sensor mounting location.

  • When Parent name is Scene Origin, the block mounts the sensor to the origin of the scene. You can set the Mounting location to Origin only. During simulation, the sensor remains stationary.

  • When Parent name is the name of a vehicle, the block mounts the sensor to one of the predefined mounting locations described in the table. During simulation, the sensor travels with the vehicle.

Vehicle Mounting LocationDescriptionOrientation Relative to Vehicle Origin [Roll, Pitch, Yaw] (deg)
Origin

Forward-facing sensor mounted to the vehicle origin, which is on the ground and at the geometric center of the vehicle (see Coordinate Systems for Unreal Engine Simulation in Automated Driving Toolbox)

Vehicle with sensor mounted at origin

[0, 0, 0]

Front bumper

Front center

Forward-facing sensor mounted to the front bumper

Vehicle with sensor mounted at front bumper

[0, 0, 0]

Rear bumper

Rear center

Backward-facing sensor mounted to the rear bumper

Vehicle with sensor mounted at rear bumper

[0, 0, 180]
Right mirror

Downward-facing sensor mounted to the right side-view mirror

Vehicle with sensor mounted at right side-view mirror

[0, –90, 0]
Left mirror

Downward-facing sensor mounted to the left side-view mirror

Vehicle with sensor mounted at left side-view mirror

[0, –90, 0]
Rearview mirror

Forward-facing sensor mounted to the rearview mirror, inside the vehicle

Vehicle with sensor mounted at rearview mirror

[0, 0, 0]
Hood center

Forward-facing sensor mounted to the center of the hood

Vehicle with sensor mounted at hood center

[0, 0, 0]
Roof center

Forward-facing sensor mounted to the center of the roof

Vehicle with sensor mounted at roof center

[0, 0, 0]

Roll, pitch, and yaw are clockwise-positive when looking in the positive direction of the X-axis, Y-axis, and Z-axis, respectively. When looking at a vehicle from above, the yaw angle (the orientation angle) is counterclockwise-positive because you are looking in the negative direction of the axis.

The X-Y-Z mounting location of the sensor relative to the vehicle depends on the vehicle type. To specify the vehicle type, use the Type parameter of the Simulation 3D Vehicle with Ground Following to which you mount the sensor. To obtain the X-Y-Z mounting locations for a vehicle type, see the reference page for that vehicle.

To determine the location of the sensor in world coordinates, open the sensor block. Then, on the Ground Truth tab, select the Output location (m) and orientation (rad) parameter and inspect the data from the Translation output port.

Select this parameter to specify an offset from the mounting location by using the Relative translation [X, Y, Z] (m) and Relative rotation [Roll, Pitch, Yaw] (deg) parameters.

Translation offset relative to the mounting location of the sensor, specified as a real-valued 1-by-3 vector of the form [X, Y, Z]. Units are in meters.

If you mount the sensor to a vehicle by setting Parent name to the name of that vehicle, then X, Y, and Z are in the vehicle coordinate system, where:

  • The X-axis points forward from the vehicle.

  • The Y-axis points to the left of the vehicle, as viewed when looking in the forward direction of the vehicle.

  • The Z-axis points up.

The origin is the mounting location specified in the Mounting location parameter. This origin is different from the vehicle origin, which is the geometric center of the vehicle.

If you mount the sensor to the scene origin by setting Parent name to Scene Origin, then X, Y, and Z are in the world coordinates of the scene.

For more details about the vehicle and world coordinate systems, see Coordinate Systems for Unreal Engine Simulation in Automated Driving Toolbox.

Example: [0,0,0.01]

Dependencies

To enable this parameter, select Specify offset.

Rotational offset relative to the mounting location of the sensor, specified as a real-valued 1-by-3 vector of the form [Roll, Pitch, Yaw]. Roll, pitch, and yaw are the angles of rotation about the X-, Y-, and Z-axes, respectively. Units are in degrees.

If you mount the sensor to a vehicle by setting Parent name to the name of that vehicle, then X, Y, and Z are in the vehicle coordinate system, where:

  • The X-axis points forward from the vehicle.

  • The Y-axis points to the left of the vehicle, as viewed when looking in the forward direction of the vehicle.

  • The Z-axis points up.

  • Roll, pitch, and yaw are clockwise-positive when looking in the forward direction of the X-axis, Y-axis, and Z-axis, respectively. If you view a scene from a 2D top-down perspective, then the yaw angle (also called the orientation angle) is counterclockwise-positive because you are viewing the scene in the negative direction of the Z-axis.

The origin is the mounting location specified in the Mounting location parameter. This origin is different from the vehicle origin, which is the geometric center of the vehicle.

If you mount the sensor to the scene origin by setting Parent name to Scene Origin, then X, Y, and Z are in the world coordinates of the scene.

For more details about the vehicle and world coordinate systems, see Coordinate Systems for Unreal Engine Simulation in Automated Driving Toolbox.

Example: [0,0,10]

Dependencies

To enable this parameter, select Specify offset.

Sample time of the block, in seconds, specified as a positive scalar. The 3D simulation environment frame rate is the inverse of the sample time.

If you set the sample time to -1, the block inherits its sample time from the Simulation 3D Scene Configuration block.

Parameters

Accuracy Settings

Azimuth resolution of the radar, specified as a positive real scalar. The azimuth resolution defines the minimum separation in azimuth angle at which the radar can distinguish between two targets. The azimuth resolution is typically the 3dB-downpoint in azimuth angle beamwidth of the radar. Units are in degrees.

Example: 6.5

Dependencies

Azimuth resolution must be less than or equal to the azimuth field of view specified in the Field of view (deg) parameter.

Elevation resolution of the radar, specified as a positive real scalar. The elevation resolution defines the minimum separation in elevation angle at which the radar can distinguish between two targets. The elevation resolution is typically the 3dB-downpoint in elevation angle beamwidth of the radar. Units are in degrees.

Example: 3.5

Dependencies

To enable this parameter, on the Parameters tab, in the Radar model section, select Enable elevation angle measurements.

Elevation resolution must be less than or equal to the elevation field of view specified in the Field of view (deg) parameter.

Range resolution of the radar, specified as a positive real scalar. The range resolution defines the minimum separation in range at which the radar can distinguish between two targets. Units are in meters.

Example: 5.0

Range rate resolution of the radar, specified as a positive real scalar. The range rate resolution defines the minimum separation in range rate at which the radar can distinguish between two targets. Units are in meters per second.

Example: 0.75

Dependencies

To enable this parameter, on the Parameters tab, in the Radar model section, select Enable range rate measurements.

Bias Settings

Azimuth bias fraction of the radar, specified as a nonnegative real scalar. The azimuth bias is expressed as a fraction of the azimuth resolution specified in the Azimuthal resolution of radar (deg) parameter. Units are dimensionless.

Example: 0.3

Elevation bias fraction of the radar, specified as a nonnegative real scalar. The elevation bias is expressed as a fraction of the elevation resolution specified in the Elevation resolution of radar (deg) parameter. Units are dimensionless.

Example: 0.2

Dependencies

To enable this parameter, on the Parameters tab, in the Radar model section, select Enable elevation angle measurements.

Range bias fraction of the radar, specified as a nonnegative real scalar. Range bias is expressed as a fraction of the range resolution specified in the Range resolution of radar (m) parameter. Units are dimensionless.

Example: 0.15

Range rate bias fraction of the radar, specified as a nonnegative real scalar. Range rate bias is expressed as a fraction of the range rate resolution specified in the Range rate resolution of radar (m/s) parameter. Units are dimensionless.

Example: 0.2

Dependencies

To enable this parameter, on the Parameters tab, in the Radar model section, select Enable range rate measurements.

Detector Settings

Field of view of the radar, specified as a positive real-valued 1-by-2 vector of the form [azfov, elfov]. azfov is the azimuth angle field of view. elfov is the elevation angle field of view. The field of view defines the angular extent spanned by the sensor. Each component must lie in the interval (0,180]. Targets outside of the field of view of the radar are not detected. Units are in degrees.

Example: [14 7]

Detection range, in meters, at which the radar can detect a target.

  • To set only a maximum detection range, specify this parameter as a positive real scalar. By default, the minimum detection range is 0.

  • To set both a minimum and maximum detection range, specify this parameter as a positive real-valued 1-by-2 vector of the form [min, max].

Example: 250

Minimum and maximum detection range rates, specified as a real-valued 1-by-2 vector. The radar can detect targets only within this range rate interval. Units are in meters per second.

Example: [-200 200]

Dependencies

To enable this parameter, on the Parameters tab, in the Radar model section, select Enable range rate measurements.

Probability that the radar detects a target, specified as a real scalar in the range (0, 1]. This quantity defines the probability of detecting a target that has a radar cross section specified by the Reference radar cross section (dBsm) parameter, at the reference detection range specified by the Detection probability range (m) parameter.

For more information about how the probabilistic detection parameters relate to each other, see Probabilistic Radar Detection Parameters.

Example: 0.95

False alarm rate within a radar resolution cell, specified as a positive real scalar in the range [10–7, 10–3]. Units are dimensionless.

Example: 1e-5

Reference range for a given probability of detection, specified as a positive real scalar. The reference range is the range at which the radar detects targets that have a radar cross section specified by Reference radar cross section (dBsm) with a probability of detection specified by the Detection probability parameter. Units are in meters.

For more information about how the probabilistic detection parameters relate to each other, see Probabilistic Radar Detection Parameters.

Example: 150

Reference radar cross section (RCS) for a given probability of detection, specified as a real scalar. The reference radar cross section (RCS) defines the RCS value of targets at the range specified by Detection probability range (m), for the radar to detect those targets with the probability specified by Detection probability. Units are in decibels per square meter.

For more information about how the probabilistic detection parameters relate to each other, see Probabilistic Radar Detection Parameters.

Note

An alternative unit for radar cross section value is m2. You can convert the RCS value to in m2 to dBsm using the following equation and specify it in the Reference radar cross section (dBsm) parameter:

RCS in dBsm = 10 log (RCS in m2)(1)

Example: 2.0

Radar Model

Select this parameter to model a radar that can measure target elevation angles. This parameter enables the Elevation resolution of radar (deg) and Fractional elevation bias component parameters.

Select this parameter to model a radar that can measure target range rates. This parameter enables the Range rate resolution of radar (m/s), Fractional range bias component, and Range rates (m/s) parameters.

Select this parameter to add noise to radar sensor measurements. Otherwise, the measurements are noise-free. The MeasurementNoise property of each detection is always computed and is not affected by the value you specify for the Enable measurement noise parameter. By not selecting this parameter, you can pass the sensor ground truth measurements into a Multi-Object Tracker block.

Select this parameter to enable reporting false alarm radar measurements. Otherwise, only actual detections are reported.

Method to set the random number generator seed, specified as one of the options in the table.

OptionDescription
Repeatable

The block generates a random initial seed for the first simulation and reuses this seed for all subsequent simulations. Select this parameter to generate repeatable results from the statistical sensor model. To change this initial seed, at the MATLAB command prompt, enter clear all.

Specify seedSpecify your own random initial seed for reproducible results by using the Specify seed parameter.
Not repeatableThe block generates a new random initial seed after each simulation run. Select this parameter to generate nonrepeatable results from the statistical sensor model.

Random number generator seed, specified as a scalar in the range [0, 232)

Example: 2001

Dependencies

To enable this parameter, set the Random number generator method parameter to Specify seed.

Detection Reporting

Maximum number of reported detections, specified as a positive integer. Units are dimensionless.

Example: 35

Coordinate system of reported detections, specified as one of these values:

  • Ego Cartesian — The radar reports detections in the ego vehicle Cartesian coordinate system.

  • Sensor Cartesian— The radar reports detections in the sensor Cartesian coordinate system.

  • Sensor spherical — The radar reports detections in the spherical coordinate system. This coordinate system is centered at the radar and aligned with the orientation of the radar on the ego vehicle.

Select this parameter to specify the name of the bus that the block outputs to the base workspace. Specify this name in the Output bus name parameter.

Name of the bus that the block outputs to the base workspace.

Dependencies

To enable this parameter, select the Specify output bus name parameter.

More About

expand all

Tips

References

[1] Blacksmith, P., R. E. Hiatt, and R. B. Mack. "Introduction to radar cross-section measurements." Proceedings of the IEEE. Volume 53, No. 8, August 1965, pp. 901–920. doi: 10.1109/PROC.1965.4069.

Version History

Introduced in R2019b

expand all