Main Content

Visualize Sensor Data and Tracks in Bird's-Eye Scope

The Bird's-Eye Scope visualizes signals from your Simulink® model that represent aspects of a driving scenario. Using the scope, you can analyze:

  • Sensor coverages of vision, radar, and lidar sensors

  • Sensor detections of actors and lane boundaries

  • Tracks of moving objects in the scenario

This example shows you how to display these signals on the scope and analyze the signals during simulation.

Open Model and Scope

Open a model containing signals for sensor detections and tracks. This model is used in the Sensor Fusion Using Synthetic Radar and Vision Data in Simulink example. Open the example model in MATLAB®.

openExample('driving/SensorFusionUsingSyntheticRadarAndVisionDataExample')

A Simulink model titled "Synthetic Data Simulation"

Open the scope from the Simulink toolstrip. Under Review Results, click Bird's-Eye Scope.

Find Signals

When you first open the Bird's-Eye Scope, the scope canvas is blank and displays no signals. To find signals from the opened model that the scope can display, on the scope toolstrip, click Find Signals. The scope updates the block diagram and automatically finds the signals in the model.

Bird's-Eye Scope canvas displaying a car on a road with sensor coverage areas in red and blue

The left pane lists all the signals that the scope found. These signals are grouped based on their sources within the model.

Signal GroupDescriptionSignal Sources
Ground Truth

Road boundaries, lane markings and barriers in the scenario

You cannot modify this group or any of its signals.

To inspect large road networks, use the World Coordinates View window. See Vehicle and World Coordinate Views.

Actors

Actors in the scenario, including the ego vehicle

You cannot modify this group or any of its signals or subgroups.

To view actors that are located away from the ego vehicle, use the World Coordinates View window. See Vehicle and World Coordinate Views.

Sensor Coverage

Coverage areas of vision, radar, and lidar sensors, sorted into Vision, Radar, Lidar, and Ultrasonic subgroups

You can modify signals in this group.

You can rename or delete subgroups but not the top-level Sensor Coverage group. You can also add subgroups and move signals between subgroups. If you delete a subgroup, its signals move to the top-level Sensor Coverage group.

Detections

Detections obtained from vision, radar, and lidar sensors, sorted into Vision, Radar, Lidar, and Ultrasonic subgroups

You can modify signals in this group.

You can rename or delete subgroups but not the top-level Detections group. You can also add subgroups and move signals between subgroups. If you delete a subgroup, its signals move to the top-level Detections group.

Tracks

Tracks of objects in the scenario

You can modify signals in this group.

You can rename or delete subgroups but not the top-level Tracks group. You can also add subgroups to this group and move signals into them. If you delete a subgroup, its signals move to the top-level Tracks group.

The Bird's-Eye Scope displays tracks in ego vehicle coordinates. Tracks in any other coordinate system will appear as offset in the scope.

Other Applicable Signals

Signals that the scope cannot automatically group, such as ones that combine information from multiple sensors

You can modify signals in this group but you cannot add subgroups.

Signals in this group do not display during simulation.

  • Blocks that combine or cluster signals (such as the Detection Concatenation block)

  • Vehicle To World and World To Vehicle blocks

  • Any blocks that create nonvirtual Simulink buses containing actor poses

    For details on the actor pose information required when creating these buses, see the Actors output port of the Scenario Reader block.

  • Any blocks that create nonvirtual Simulink buses containing detections

    For details on the detection information required when creating these buses, see the Object Detections and Lane Detections output ports of the Vision Detection Generator block.

  • Any blocks that create nonvirtual Simulink buses containing tracks

    For details on the track information required when creating these buses, see the Confirmed Tracks output port of the Multi-Object Tracker block.

Before simulation but after clicking Find Signals, the scope canvas displays all Ground Truth signals except for non-ego actors and all Sensor Coverage signals. The non-ego actors and the signals under Detections and Tracks do not display until you simulate the model. The signals in Other Applicable Signals do not display during simulation. If you want the scope to display specific signals, move them into the appropriate group before simulation. If an appropriate group does not exist, create one.

Run Simulation

Simulate the model from within the Bird's-Eye Scope by clicking Run. The scope canvas displays the detections and tracks. To display the legend, on the scope toolstrip, click Legend.

Bird's-Eye Scope canvas with legend for road boundaries, vision coverage, radar coverage, vision detections, radar detections, and tracks

During simulation, you can perform these actions:

  • Inspect detections, tracks, sensor coverage areas, and ego vehicle behavior. The default view displays the simulation in vehicle coordinates and is centered on the ego vehicle. To view the wider area around the ego vehicle, or to view other parts of the scenario, on the scope toolstrip, click World Coordinates. The World Coordinates View window displays the entire scenario, with the ego vehicle circled. This circle is not a sensor coverage area. To return to the default display of either window, move your pointer over the window, and in the upper-right corner, click the home button that appears. For more details on these views, see Vehicle and World Coordinate Views.

  • Update signal properties. To access the properties of a signal, first select the signal from the left pane. Then, on the scope toolstrip, click Properties. Using these properties, you can, for example, show or hide sensor coverage areas or detections. In addition, to highlight certain sensor coverage areas, you can change their color or transparency.

  • Update Bird's-Eye Scope settings, such as changing the axes limits of the Vehicle Coordinates View window or changing the display of signal names. On the scope toolstrip, click Settings. You cannot change the Track position selector and Track velocity selector settings during simulation. For more details, see the Settings > Vehicle Coordinates View section of the Bird's-Eye Scope reference page.

After simulation, you can hide certain detections or tracks for the next simulation. In the left pane, under Detections or Tracks, right-click the signal you want to hide. Then, select Move to Other Applicable to move that signal into the Other Applicable Signals group. To hide sensor coverage areas, select the corresponding signal in the left pane, and on the Properties tab, clear the Show Sensor Coverage parameter. You cannot hide Ground Truth signals during simulation.

Organize Signal Groups (Optional)

To further organize the signals, you can rename signal groups or move signals into new groups. For example, you can rename the Vision and Radar subgroups to Front of Car and Back of Car. Then you can drag the signals as needed to move them into the appropriate groups based on the new group names. When you drag a signal to a new group, the color of the signal changes to match the color assigned to its group.

You cannot rename or delete the top-level groups in the left pane, but you can rename or delete any subgroup. If you delete a subgroup, its signals move to the top-level group.

Update Sensor Parameters and Rerun Simulation

After you run the simulation, modify the sensor parameters and inspect how the changes affect the visualization on the Bird's-Eye Scope. In the left pane, the Sensor Coverage group lists all the sensors in the scenario. You can right click the sensor Vision Detection Generator, and then click Open Sensor Block Parameters.

Sensor parameter update context menu.

This opens the sensor parameter dialog. On the Measurements tab, reduce the Maximum detection range (m) parameter to 50. The app automatically updates the sensor coverage area. You can also change any other desired sensor parameters and rerun the simulation.

When you modify block parameters, you can rerun the simulation without having to find signals again. If you add or remove blocks, ports, or signal lines, then you must click Find Signals again before rerunning the simulation.

Record and Replay Simulation Run

The Bird's-Eye Scope app always automatically records the current simulation run. When you click Run to run the simulation, the app automatically records all the scenario and sensor data during the simulation.

Bird's Eye Scope app canvas with playback control buttons.

After the simulation run is complete, you can use the playback controls pane in the bottom of the app to replay the recorded simulation. You can seek to any time step and also adjust the playback speed. You can use the Playback Controls option on the toolstrip to hide/unhide the controls at the bottom.

The app only records one simulation run. If you rerun the simulation, the app overwrites the existing record with the new simulation data.

Save and Close Model

When you save and close the model, the settings for the Bird's-Eye Scope are also saved.

If you reopen the model and the Bird's-Eye Scope, the scope canvas is initially blank. Click Run to run the simulation and visualize the saved signal properties. For example, if you reduced the detection range in the previous step, the scope canvas displays this reduced range.

Bird's-Eye Scope canvas with small vision detection ranges in blue

If you add new signals to the model, click Update Signals to find the new signals, and then click Run to visualize the model with the new signals.

Note

If you did not make a graphical change to the Bird's-Eye Scope before closing the model, then, when you reopen the model, you have to find signals again before running the simulation. Graphical changes include:

  • Dragging signals to new groups

  • Enabling the legend or World Coordinates View window

  • Changing axes limits

  • Changing the visual properties of actors, lane markings, or sensor coverage areas

See Also

Apps

Blocks

Related Topics