Create detection objects from radar measurements
Automated Driving Toolbox / Driving Scenario and Sensor Modeling
The Radar Detection Generator block generates detections from radar measurements taken by a radar sensor mounted on an ego vehicle. Detections are derived from simulated actor poses and are generated at intervals equal to the sensor update interval. By default, detections are referenced to the coordinate system of the ego vehicle. The generator can simulate real detections with added random noise and also generate false alarm detections. A statistical model generates the measurement noise, true detections, and false positives. The random numbers generated by the statistical model are controlled by random number generator settings on the Measurements tab. You can use the Radar Detection Generator to create input to a Multi-Object Tracker block. When building scenarios and sensor models using the Driving Scenario Designer app, the radar sensors exported to Simulink® are output as Radar Detection Generator blocks.
Actors
— Scenario actor posesScenario actor poses in ego vehicle coordinates, specified as a Simulink bus containing a MATLAB structure.
The structure must contain these fields.
Field | Description | Type |
---|---|---|
NumActors | Number of actors | Nonnegative integer |
Time | Current simulation time | Real-valued scalar |
Actors | Actor poses | NumActors -length array of actor pose structures |
Each actor pose structure in Actors
must contain
these fields.
Field | Description |
---|---|
ActorID | Scenario-defined actor identifier, specified as a positive integer. |
Position | Position of actor, specified as a real-valued vector of the form [x, y, z]. Units are in meters. |
Velocity | Velocity (v) of actor in the x-, y-, and z-direction, specified as a real-valued vector of the form [vx, vy, vz]. Units are in meters per second. |
Roll | Roll angle of actor, specified as a real-valued scalar. Units are in degrees. |
Pitch | Pitch angle of actor, specified as a real-valued scalar. Units are in degrees. |
Yaw | Yaw angle of actor, specified as a real-valued scalar. Units are in degrees. |
AngularVelocity | Angular velocity (ω) of actor in the x-, y-, and z-direction, specified as a real-valued vector of the form [ωx, ωy, ωz]. Units are in degrees per second. |
Detections
— DetectionsObject detections, returned as a Simulink bus containing a MATLAB structure. For more details about buses, see Create Nonvirtual Buses (Simulink).
You can pass object detections from these sensors and other sensors to a tracker, such as a Multi-Object Tracker block, and generate tracks.
Field | Description | Type |
---|---|---|
NumDetections | Number of detections | integer |
IsValidTime | False when updates are requested at times that are between block invocation intervals | Boolean |
Detections | Object detections | Array of object detection structures of length set by
the Maximum number of reported
detections parameter. Only
NumDetections of these are actual
detections. |
Each object detection structure contains these properties.
Property | Definition |
---|---|
Time | Measurement time |
Measurement | Object measurements |
MeasurementNoise | Measurement noise covariance matrix |
SensorIndex | Unique ID of the sensor |
ObjectClassID | Object classification |
ObjectAttributes | Additional information passed to tracker |
MeasurementParameters | Parameters used by initialization functions of nonlinear Kalman tracking filters |
For Cartesian coordinates,
Measurement
and
MeasurementNoise
are reported in
the coordinate system specified by the Coordinate
system used to report detections parameter.
For spherical coordinates,
Measurement
and
MeasurementNoise
are reported in
the spherical coordinate system based on the sensor
Cartesian coordinate system.
Measurement and Measurement Noise
Coordinate System Used to Report Detections | Measurement and Measurement Noise Coordinates | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
'Ego Cartesian' |
Coordinate dependence on Enable range rate measurements
| |||||||||||||||
'Sensor Cartesian' | ||||||||||||||||
'Sensor spherical' |
Coordinate dependence on Enable elevation angle measurements and Enable range rate measurements
|
MeasurementParameters
Parameter | Definition |
---|---|
Frame | Enumerated type indicating the frame used to
report measurements. When Frame
is set to 'rectangular' ,
detections are reported in Cartesian coordinates.
When Frame is set
'spherical' , detections are
reported in spherical coordinates. |
OriginPosition | 3-D vector offset of the sensor origin from the
ego vehicle origin. The vector is derived from the
SensorLocation and
Height properties specified
in the radarDetectionGenerator . |
Orientation | Orientation of the radar sensor coordinate system
with respect to the ego vehicle coordinate system.
The orientation is derived from the
Yaw ,
Pitch , and
Roll properties of the
radarDetectionGenerator . |
HasVelocity | Indicates whether measurements contain velocity or range rate components. |
HasElevation | Indicates whether measurements contain elevation components. |
The ObjectAttributes
property of each detection
is a structure with these fields.
Field | Definition |
---|---|
TargetIndex | Identifier of the actor,
ActorID , that generated the
detection. For false alarms, this value is
negative. |
SNR | Signal-to-noise ratio of the detection. Units are in dB. |
Unique identifier of sensor
— Unique sensor identifierUnique sensor identifier, specified as a positive integer. The sensor identifier distinguishes detections that come from different sensors in a multisensor system. If a model contains multiple sensor blocks with the same sensor identifier, the Bird's-Eye Scope displays an error.
Example: 5
Required interval between sensor updates (s)
— Required time interval0.1
(default) | positive real scalarRequired time interval between sensor updates, specified as a positive real scalar. The value of this parameter must be an integer multiple of the Actors input port data interval. Updates requested from the sensor between update intervals contain no detections. Units are in seconds.
Sensor's (x,y) position (m)
— Location of the radar sensor center[3.4 0]
(default) | real-valued 1-by-2 vectorLocation of the radar sensor center, specified as a real-valued 1-by-2 vector. The Sensor's (x,y) position (m) and Sensor's height (m) parameters define the coordinates of the radar sensor with respect to the ego vehicle coordinate system. The default value corresponds to a radar mounted at the center of the front grill of a sedan. Units are in meters.
Sensor's height (m)
— Radar sensor height above the ground plane0.2
(default) | positive real scalarRadar sensor height above the ground plane, specified as a positive real scalar. The height is defined with respect to the vehicle ground plane. The Sensor's (x,y) position (m) and Sensor's height (m) parameters define the coordinates of the radar sensor with respect to the ego vehicle coordinate system. The default value corresponds to a radar mounted at the center of the front grill of a sedan. Units are in meters.
Example: 0.25
Yaw angle of sensor mounted on ego vehicle (deg)
— Yaw angle of sensor0
(default) | real scalarYaw angle of radar sensor, specified as a real scalar. Yaw angle is the angle between the center line of the ego vehicle and the downrange axis of the radar sensor. A positive yaw angle corresponds to a clockwise rotation when looking in the positive direction of the z-axis of the ego vehicle coordinate system. Units are in degrees.
Example: -4.0
Pitch angle of sensor mounted on ego vehicle (deg)
— Pitch angle of sensor0
(default) | real scalarPitch angle of sensor, specified as a real scalar. The pitch angle is the angle between the downrange axis of the radar sensor and the x-y plane of the ego vehicle coordinate system. A positive pitch angle corresponds to a clockwise rotation when looking in the positive direction of the y-axis of the ego vehicle coordinate system. Units are in degrees.
Example: 3.0
Roll angle of sensor mounted on ego vehicle (deg)
— Roll angle of sensor0
(default) | real scalarRoll angle of the radar sensor, specified as a real scalar. The roll angle is the angle of rotation of the downrange axis of the radar around the x-axis of the ego vehicle coordinate system. A positive roll angle corresponds to a clockwise rotation when looking in the positive direction of the x-axis of the coordinate system. Units are in degrees.
Source of output bus name
— Source of output bus nameAuto
(default) | Property
Source of output bus name, specified as Auto
or
Property
. If you choose Auto
,
the block will automatically create a bus name. If you choose
Property
, specify the bus name using the
Specify an output bus name parameter.
Example: Property
Specify an output bus name
— Name of output busName of output bus.
To enable this parameter, set the Source of output bus
name parameter to Property
.
Maximum number of reported detections
— Maximum number of reported detections50
(default) | positive integerMaximum number of detections reported by the sensor, specified as a positive integer. Detections are reported in order of increasing distance from the sensor until the maximum number is reached.
Example: 100
Coordinate system used to report detections
— Coordinate system of reported detectionsEgo Cartesian
(default) | Sensor Cartesian
| Sensor Spherical
Coordinate system of reported detections, specified as one of these values:
Ego Cartesian
—
Detections are reported in the ego vehicle Cartesian
coordinate system.
Sensor Cartesian
—
Detections are reported in the sensor Cartesian coordinate
system.
Sensor spherical
—
Detections are reported in a spherical coordinate system.
This coordinate system is centered at the radar and aligned
with the orientation of the radar on the ego vehicle.
Simulate using
— Type of simulation to runInterpreted execution
(default) | Code generation
Interpreted execution
— Simulate the model using the
MATLAB interpreter. This option shortens startup time. In Interpreted
execution
mode, you can debug the source code of the block.
Code generation
— Simulate the model using generated C/C++
code. The first time you run a simulation, Simulink generates C/C++ code for the block. The C code is reused for subsequent
simulations as long as the model does not change. This option requires additional startup
time.
Azimuthal resolution of radar (deg)
— Azimuth resolution of radar4.0
(default) | positive real scalarAzimuth 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 two targets. The azimuth resolution is typically the 3dB-downpoint in azimuth angle beamwidth of the radar. Units are in degrees.
Example: 6.5
Elevation resolution of radar (deg)
— Elevation resolution of radar10.0
(default) | positive real scalarElevation 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 two targets. The elevation resolution is typically the 3dB-downpoint in elevation angle beamwidth of the radar. Units are in degrees.
Example: 3.5
To enable this parameter, select the Enable elevation angle measurements check box.
Range resolution of radar (m)
— Range resolution of radar2.5
(default) | positive real scalarRange 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 radar (m/s)
— Range rate resolution of the radar0.5
(default) | positive real scalarRange 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
To enable this parameter, select the Enable range rate measurements check box.
Fractional azimuthal bias component of radar
— Azimuth bias fraction0.1
(default) | nonnegative real scalarAzimuth 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
Fractional elevation bias component of radar
— Elevation bias fraction0.1
(default) | nonnegative real scalarElevation 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
To enable this parameter, select the Enable elevation angle measurements check box.
Fractional range bias component of radar
— Range bias fraction0.05
(default) | nonnegative real scalarRange 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
Fractional range rate bias component of radar
— Range rate bias fraction of the radar0.05
(default) | nonnegative real scalarRange 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 Range rate resolution of radar (m) parameter. Units are dimensionless.
Example: 0.2
To enable this parameter, select the Enable range rate measurements check box.
Total angular field of view for radar (deg)
— Field of view of radar sensor[20 5]
(default) | real-valued 1-by-2 vector of positive valuesField of view of radar sensor, specified as a real-valued 1-by-2
vector of positive values, [azfov elfov]
. 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]
Maximum detection range (m)
— Maximum detection range150
(default) | positive real scalarMaximum detection range, specified as a positive real scalar. The radar cannot detect a target beyond this range. Units are in meters.
Example: 250
Minimum and maximum range rates that can be reported
— Minimum and maximum detection range rates[-100 100]
(default) | real-valued 1-by-2 vectorMinimum and maximum detection range rates, specified as a real-valued 1-by-2 vector. The radar cannot detect a target outside of this range rate interval. Units are in meters per second.
Example: [-200 200]
To enable this parameter, select the Enable range rate measurements check box.
Detection probability
— Probability of detecting a target0.9
(default) | positive real scalar less than or equal to 1Probability of detecting a target, specified as a positive real scalar less than or equal to one. This quantity defines the probability of detecting target that has a radar cross-section specified by the Radar cross section at which detection probability is achieved (dBsm) parameter at the reference detection range specified by the Range where detection probability is achieved (m) parameter.
Example: 0.95
Rate at which false alarms are reported
— False alarm rate1e-6
(default) | positive real scalarFalse 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
Range where detection probability is achieved (m):
— Reference range for given probability of detection100
(default) | positive real scalarReference range for a given probability of detection, specified as a positive real scalar. The reference range is the range when a target having a radar cross-section specified by Radar cross section at which detection probability is achieved (dBsm) is detected with a probability of specified by Detection probability. Units are in meters.
Example: 150
Radar cross section at which detection probability is achieved (dBsm)
— Reference radar cross-section for given probability of
detection0.0
(default) | nonnegative real scalarReference radar cross-section (RCS) for given probability of detection, specified as a nonnegative real scalar. The reference RCS is the value at which a target is detected with probability specified by Detection probability. Units are in dBsm.
Example: 2.0
Enable elevation angle measurements
— Enable radar to measure elevationoff
(default) | on
Select this check box to model a radar that can measure target elevation angles.
Enable range rate measurements
— Enable radar to measure range rateon
(default) | off
| on
Select this check box to model a radar that can measure target range rate.
Add noise to measurements
— Enable adding noise to radar sensor measurementson
(default) | off
Select this check box 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
Add noise to measurements parameter. By leaving
this check box off
, you can pass the sensor's ground
truth measurements into a Multi-Object Tracker block.
Enable false detections
— Enable creating false alarm radar detectionson
(default) | off
Select this check box to enable reporting false alarm radar measurements. Otherwise, only actual detections are reported.
Select method to specify initial seed
— Method to specify random number generator seedRepeatable
(default) | Specify seed
| Not repeatable
Method to set the random number generator seed, specified as one of the options in the table.
Option | Description |
---|---|
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:
|
Specify seed | Specify your own random initial seed for reproducible results by using the Specify seed parameter. |
Not repeatable | The block generates a new random initial seed after each simulation run. Select this parameter to generate nonrepeatable results from the statistical sensor model. |
Initial seed
— Random number generator seed0
(default) | nonnegative integer less than 232Random number generator seed, specified as a nonnegative integer less than 232.
Example: 2001
To enable this parameter, set the Random Number
Generator Settings
parameter to Specify
seed
.
Select method to specify actor profiles
— Method to specify actor profilesParameters
(default) | MATLAB expression
Method to specify actor profiles, specified as
Parameters
or MATLAB
expression
. When you select
Parameters
, you set the actor profiles
using the parameters in the Actor Profiles tab.
When you select MATLAB expression
, set the
actor profiles using the MATLAB expression for actor
profiles parameter.
MATLAB expression for actor profiles
— MATLAB expression for actor profilesstruct('ClassID',0,'Length',4.7,'Width',1.8,'Height',1.4,'OriginOffset',[-1.35,0,0])
(default) | MATLAB structure | MATLAB structure array | valid MATLAB expressionMATLAB expression for actor profiles, specified as a MATLAB structure, a MATLAB structure array, or a valid MATLAB expression that produces such a structure or structure array.
If your Scenario Reader block reads data from a drivingScenario
object, to obtain the actor profiles directly from this
object, set this expression to call the actorProfiles
function on the object. For example:
actorProfiles(scenario)
.
Example: struct('ClassID',5,'Length',5.0,'Width',2,'Height',2,'OriginOffset',[-1.55,0,0])
To enable this parameter, set the Select method to specify actor profiles parameter to MATLAB expression
.
Unique identifier for actors
— Scenario-defined actor identifier[]
(default) | positive integer | length-L vector of unique positive
integersScenario-defined actor identifier, specified as a positive integer or
length-L vector of unique positive integers.
L must equal the number of actors input into the
Actor input port. The vector elements must
match ActorID
values of the actors. You can specify
Unique identifier for actors as
[]
. In this case, the same actor profile
parameters apply to all actors.
Example: [1,2]
To enable this parameter, set the Select method to
specify actor profiles parameter to
Parameters
.
User-defined integer to classify actors
— User-defined classification identifier0
(default) | integer | length-L vector of integersUser-defined classification identifier, specified as an integer or
length-L vector of integers. When
Unique identifier for actors is a vector, this
parameter is a vector of the same length with elements in one-to-one
correspondence to the actors in Unique identifier for
actors. When Unique identifier for
actors is empty, []
, you must specify
this parameter as a single integer whose value applies to all
actors.
Example: 2
To enable this parameter, set the Select method to
specify actor profiles parameter to
Parameters
.
Length of actors cuboids (m)
— Length of cuboid4.7
(default) | positive real scalar | length-L vector of positive valuesLength of cuboid, specified as a positive real scalar or
length-L vector of positive values. When
Unique identifier for actors is a vector, this
parameter is a vector of the same length with elements in one-to-one
correspondence to the actors in Unique identifier for
actors. When Unique identifier for
actors is empty, []
, you must specify
this parameter as a positive real scalar whose value applies to all
actors. Units are in meters.
Example: 6.3
To enable this parameter, set the Select method to
specify actor profiles parameter to
Parameters
.
Width of actors cuboids (m)
— Width of cuboid4.7
(default) | positive real scalar | length-L vector of positive valuesWidth of cuboid, specified as a positive real scalar or
length-L vector of positive values. When
Unique identifier for actors is a vector, this
parameter is a vector of the same length with elements in one-to-one
correspondence to the actors in Unique identifier for
actors. When Unique identifier for
actors is empty, []
, you must specify
this parameter as a positive real scalar whose value applies to all
actors. Units are in meters.
Example: 4.7
To enable this parameter, set the Select method to
specify actor profiles parameter to
Parameters
.
Height of actors cuboids (m)
— Height of cuboid4.7
(default) | positive real scalar | length-L vector of positive valuesHeight of cuboid, specified as a positive real scalar or
length-L vector of positive values. When
Unique identifier for actors is a vector, this
parameter is a vector of the same length with elements in one-to-one
correspondence to the actors in Unique identifier for
actors. When Unique identifier for
actors is empty, []
, you must specify
this parameter as a positive real scalar whose value applies to all
actors. Units are in meters.
Example: 2.0
To enable this parameter, set the Select method to
specify actor profiles parameter to
Parameters
.
Rotational center of actors from bottom center (m)
— Rotational center of the actorRotational center of the actor, specified as a
length-L cell array of real-valued 1-by-3
vectors. Each vector represents the offset of the rotational center of
the actor from the bottom-center of the actor. For vehicles, the offset
corresponds to the point on the ground beneath the center of the rear
axle. When Unique identifier for actors is a
vector, this parameter is a cell array of vectors with cells in
one-to-one correspondence to the actors in Unique identifier
for actors. When Unique identifier for
actors is empty, []
, you must specify
this parameter as a cell array of one element containing the offset
vector whose values apply to all actors. Units are in meters.
Example: [ -1.35, .2, .3 ]
To enable this parameter, set the Select method to
specify actor profiles parameter to
Parameters
.
Radar cross section pattern (dBsm)
— Radar cross-section{[10,10;10,10]}
(default) | real-valued Q-by-P
matrix | length-L cell array of real-valued
Q-by-P matricesRadar cross-section (RCS) of actor, specified as a real-valued
Q-by-P matrix or
length-L cell array of real-valued
Q-by-P matrices.
Q is the number of elevation angles specified by
the corresponding cell in the Elevation angles defining
RCSPattern (deg) parameter. P is the
number of azimuth angles specified by the corresponding cell in
Azimuth angles defining RCSPattern (deg)
property. When Unique identifier for actors is a
vector, this parameter is a cell array of matrices with cells in
one-to-one correspondence to the actors in Unique identifier
for actors. Q and P
can vary in the cell array. When Unique identifier for
actors is empty, []
, you must specify
this parameter as a cell array with one element containing a matrix
whose values apply to all actors. Units are in dBsm.
Example: [10 14 10; 9 13 9]
To enable this parameter, set the Select method to
specify actor profiles parameter to
Parameters
.
Azimuth angles defining RCSPattern (deg)
— Azimuth angles of radar cross-section pattern{[-180 180]}
(default) | length-L cell array of real-valued
P-length vectorsAzimuth angles of radar cross-section pattern, specified as a
length-L cell array of real-valued
P-length vectors . Each vector represents the
azimuth angles of the P-columns of the radar cross
section specified in Radar cross section pattern
(dBsm). When Unique identifier for
actors is a vector, this parameter is a cell array of
vectors with cells in one-to-one correspondence to the actors in
Unique identifier for actors.
P can vary in the cell array. When
Unique identifier for actors is empty,
[]
, you must specify this parameter as a cell
array with one element containing a vector whose values apply to all
actors. Units are in degrees. Azimuth angles lie in the range -180° to
180° and must be in strictly increasing order.
When the radar cross sections specified in the cells of Radar cross section pattern (dBsm) all have the same dimensions, you need only specify a cell array with one element containing the azimuth angle vector.
Example: [-90:90]
To enable this parameter, set the Select method to
specify actor profiles parameter to
Parameters
.
Elevation angles defining RCSPattern (deg)
— Elevation angles of radar cross-section pattern{[-90 90]}
(default) | length-L cell array of real-valued
Q-length vectorsElevation angles of radar cross-section pattern, specified as a
length-L cell array of real-valued
Q-length vectors . Each vector represent the
elevation angles of the Q-columns of the radar cross
section specified in Radar cross section pattern
(dBsm). When Unique identifier for
actors is a vector, this parameter is a cell array of
vectors with cells in one-to-one correspondence to the actors in
Unique identifier for actors.
Q can vary in the cell array. When
Unique identifier for actors is empty,
[]
, you must specify this parameter as a cell
array with one element containing a vector whose values apply to all
actors. Units are in degrees. Elevation angles lie in the range -90° to
90° and must be in strictly increasing order.
When the radar cross sections that are specified in the cells of Radar cross section pattern (dBsm) all have the same dimensions, you need only specify a cell array with one element containing an elevation angle vector.
Example: [-25:25]
To enable this parameter, set the Select method to
specify actor profiles parameter to
Parameters
.