Bird's-Eye Scope
Visualize sensor coverages, detections, and tracks
Description
The Bird's-Eye Scope visualizes aspects of a driving scenario found in your Simulink® model.
Using the scope, you can:
Inspect the coverage areas of radar, vision, lidar and ultrasonic sensors.
Analyze the sensor detections of actors, road boundaries, and lane boundaries.
Analyze the tracking results of moving actors within the scenario.
To get started, open the scope and click Find Signals. The scope updates the block diagram, finds signals representing aspects of the driving scenario, organizes the signals into groups, and displays the signals. You can then analyze the signals as you simulate, organize the signals into new groups, and modify the graphical display of the signals.
For more details about using the scope, see Visualize Sensor Data and Tracks in Bird's-Eye Scope.
Open the Bird's-Eye Scope App
Simulink Toolstrip:
On the Simulation tab, under Review Results, click Bird's-Eye Scope.
On the Apps tab, under Signal Processing and Wireless Communications, click Bird's-Eye Scope.
Examples
- Visualize Sensor Data and Tracks in Bird's-Eye Scope
- Visualize Sensor Data from Unreal Engine Simulation Environment
- Sensor Fusion Using Synthetic Radar and Vision Data in Simulink
- Lane Following Control with Sensor Fusion and Lane Detection
- Autonomous Emergency Braking with Sensor Fusion
- Test Open-Loop ADAS Algorithm Using Driving Scenario
- Test Closed-Loop ADAS Algorithm Using Driving Scenario
Parameters
Settings > Vehicle Coordinates ViewLongitudinal axis limits
— Longitudinal axis limits
[-60,60]
(default) | [min, max] vector
Longitudinal axis limits, specified as a [min, max] vector.
Tunable: Yes
Lateral axis limits
— Lateral axis limits
[-30,30]
(default) | [min, max] vector
Lateral axis limits, specified as a [min, max] vector.
Tunable: Yes
Track position selector
— Selection matrix used to extract positions of tracked objects
[1,0,0,0,0,0; 0,0,1,0,0,0]
(default) | 2-by-n matrix of zeros and ones
Selection matrix used to extract the positions of tracks output by the Multi-Object
Tracker block. The scope extracts the positions from the state vectors of the
tracks, which are stored in the State
fields of the output track
structures. If you specify the wrong selection, then the scope displays incorrect track
positions.
Specify Track position selector as a 2-by-n matrix of zeros and ones, where n is the size of the state vectors across all tracks. These state vectors contain position, velocity, acceleration, and other state information about the tracked objects.
The default selection matrix selects track positions from a 3-D constant-velocity
state vector of the form [x;vx;y;vy;z;vz]
. For each track, the scope
multiplies the selection matrix by the state vector to obtain the
x-position and y-position, as shown
here:
[1,0,0,0,0,0; 0,0,1,0,0,0] * [x;vx;y;vy;z;vz] = [x;y]
For MATLAB® code examples illustrating this selection process, see the getTrackPositions
function and multiObjectTracker
object.
The formats of the state vector and corresponding selection matrix depend on the
Kalman filter that the Multi-Object Tracker block uses to track objects.
Suppose the Multi-Object Tracker block is initialized to use a 2-D
constant-velocity linear Kalman filter, where the Filter initialization
function name parameter of the block is set to the initcvkf
function. For this type of filter, track states are of the form
[x;vx;y;vy]
. To visualize the positions of tracks output by this
block, set Track position selector to [1,0,0,0;
0,0,1,0]
.
Tunable: No
Track velocity selector
— Selection matrix used to extract velocities of tracked objects
[0,1,0,0,0,0; 0,0,0,1,0,0]
(default) | 2-by-n matrix of zeros and ones
Selection matrix used to extract the velocities of tracks output by the Multi-Object
Tracker block. The scope extracts the velocities from the state vectors of the
tracks, which are stored in the State
fields of the output track
structures. If you specify the wrong selection, then the scope displays incorrect track
velocities.
Specify Track velocity selector as a 2-by-n matrix of zeros and ones, where n is the size of the state vectors across all tracks. These state vectors contain position, velocity, acceleration, and other state information about the tracked objects.
The default selection matrix selects track velocities from a 3-D constant-velocity
state vector of the form [x;vx;y;vy;z;vz]
. For each track, the scope
multiplies the selection matrix by the state vector to obtain the track velocities in
the x-direction, vx
, and
y-direction, vy
, as shown
here:
[0,1,0,0,0,0; 0,0,0,1,0,0] * [x;vx;y;vy;z;vz] = [vx;vy]
For MATLAB code examples illustrating this selection process, see the getTrackVelocities
function and multiObjectTracker
object.
The formats of the state vector and corresponding selection matrix depend on the
Kalman filter that the Multi-Object Tracker block uses to track objects.
Suppose the Multi-Object Tracker block is initialized to use a 2-D
constant-velocity linear Kalman filter, where the Filter initialization
function name parameter of the block is set to the initcvkf
function. For this type of filter, track states are of the form
[x;vx;y;vy]
. To visualize the velocities of tracks output by this
block, set Track velocity selector to [0,1,0,0;
0,0,0,1]
.
Tunable: No
Display short signal names
— Display signal names without path information
on
(default) | off
Select this parameter to display short signal names (signals without path information).
Clear this parameter to display long signal names (signals with path information).
Consider the signal VisionDetection
within subsystem
Sensor Simulation
. When you select this parameter, the short name,
VisionDetection
, is displayed. When you clear this parameter, the
long name, Sensor Simulation/VisionDetection
, is displayed.
Tunable: Yes
Alpha
— Transparency of coverage area
0.1
(default) | real scalar in the range [0, 1]
Transparency of the coverage area, specified as a real scalar in the range [0, 1]. A value of 0 makes the coverage area fully transparent. A value of 1 makes the coverage area fully opaque.
This property is available only for signals in the Sensor Coverage group.
Tunable: Yes
Velocity Scaling
— Scale factor for magnitude length of velocity vectors
1
(default) | real scalar in the range [0, 20]
Scale factor for the magnitude length of the velocity vectors, specified as a real scalar in the range [0, 20]. The scope renders the magnitude vector value as M × Velocity Scaling, where M is the magnitude of the velocity.
This property is available only for signals in the Detections or Tracks groups.
Tunable: Yes
Limitations
General Limitations
Referenced models are not supported. To visualize signals that are within referenced models, move the output of these signals to the top-level model.
Rapid accelerator mode is not supported.
External mode and simulating a model from a generated executable is not supported.
If you initialize your model in fast restart, then after the first time you simulate, the Find Signals or Update Signals button is disabled. To enable Find Signals or Update Signals again, on the Debug tab of the Simulink toolstrip, click Fast Restart.
Scenario Reader Block Limitations
The Bird's-Eye Scope does not support visualization in a model that contains:
More than one Scenario Reader block.
A Scenario Reader block within a nonvirtual subsystem, such as an atomic or enabled subsystem.
A Scenario Reader block that is configured to output actors and lane boundaries in world coordinates (Coordinate system of outputs parameter set to
World Coordinates
).
For Scenario Reader blocks in which you specify the ego vehicle using the Ego Vehicle input port, the ego vehicle signal must be connected directly to the block. Visualization of ego vehicle signals that are output from a nonvirtual subsystem or referenced model are not supported.
3D Simulation Block Limitations
The visualization of roads, lanes, and actors from Simulation 3D Scene Configuration blocks is not supported. If your block contains a Simulation 3D Scene Configuration block, the Bird's-Eye Scope still displays an ego vehicle, but it has default vehicle dimensions.
More About
Tips
To find the source of a signal within the model, in the left pane of the scope, right-click a signal and select Highlight in Model.
You can show or hide signals while simulating. For example, to hide a sensor coverage, first select it from the left pane. Then, from the Properties tab, clear the Show Sensor Coverage check box.
When you reopen the scope after saving and closing a model, the scope canvas is initially blank. If you clicked Find Signals in a previous session, then click Run to run the simulation and visualize the previously found signals. The signals have the same properties from when you last saved the model. If you did not make a graphical change to the scope when you previously had it open, then the Run button is not enabled until you click Find Signals. Graphical changes include dragging signals to new groups, enabling the legend or World Coordinates View window, changing axes limits, or changing the visual properties of actors, lane markings, or sensor coverage areas.
To log and visualize new signals, click Update Signals, and then click Run to run the simulation.
If the simulation runs too quickly, you can slow it down by using simulation pacing. On the Simulation tab of the Simulink toolstrip, select Run > Simulation Pacing. Then, select the Enable pacing to slow down simulation check box and decrease the simulation time to less than the default of one second per wall clock second.
To better inspect the scenario, you can pan and zoom within the Vehicle Coordinates View and World Coordinates View windows. To return to the default display of either window, in the upper-right corner of that window, click the home button
.
Version History
Introduced in R2018b