Main Content

Bird's-Eye Scope

Visualize sensor coverages, detections, and tracks

Description

The Bird's-Eye Scope visualizes aspects of a driving scenario or RoadRunner scenario found in your Simulink® model.

Using the scope, you can:

  • Inspect the coverage areas of radar, vision, lidar and ultrasonic sensors.

  • Modify sensor parameters and analyze the sensor detections of actors, road boundaries, and lane boundaries.

  • Analyze the tracking results of moving actors within the scenario.

  • Record and playback sensor detection and tracking data.

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 with a driving scenario, see Visualize Sensor Data and Tracks in Bird's-Eye Scope.

For more details about using the scope with a RoadRunner scenario, see Add Sensors to RoadRunner Scenario Using Simulink.

Bird's-Eye Scope app

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.

Parameters

expand all

Settings > Vehicle Coordinates View

Longitudinal axis limits, specified as a [min, max] vector.

Tunable: Yes

Lateral axis limits, specified as a [min, max] vector.

Tunable: Yes

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

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

Settings > Global
  • 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

Signal Properties (Subset Only)

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

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.

RoadRunner Scenario Simulation Limitations

  • Bird's-Eye Scope supports visualization of these lane marking types from RoadRunner scenario simulation:

    • Single solid

    • Double solid

    • Dashed single

    • Dashed solid

    • Dashed double

    Any other type of lane markings are not supported.

Simulation Record and Playback Limitations

  • The Bird's-Eye Scope app supports recording data for only a single simulation run.

  • Recorded simulation data is only present in the memory as long as the corresponding MATLAB instance is active.

More About

expand all

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