How to watch flight information

Sphinx offers several ways to observe data while (or after) a simulation is running. Depending on your needs, you may wish to monitor the drone behavior at runtime, with or without HMI, you may also need to investigate a problem more thoroughly with post-mortem flight data.

Here are the available methods:

  • runtime observation via a web HMI (sphinx dashboard)
  • runtime observation via command line tool (tlm-data-logger)
  • post-mortem analysis with recorded data files (.tlmb files)

Activating true data logging

To make sphinx provide and record data while simulation is running, you just need to launch it with the option --datalog.

$ sphinx --datalog my.drone

Sphinx dashboard

The web interface is the most handy way to observe flight data. It is the same web page as the one used to control drone’s internals. See Tuning of drone internals at runtime - interfaces.

To open it, run the following command:

$ sphinx-dashboard

This command opens the address @http://localhost:<port>@. The HTTP port being generally 9002. Note that this port may be different from 9002 in the following cases:

  • multiple instances of sphinx are running in parallel on the host
  • the user explicitly set the http port in the command line, using --http-port=

So if you cannot see the web dashboard, check Sphinx’s shell output. You should see a line like the one below indicating the URI to connect.

[Msg] WEB DASHBOARD IS ACCESSIBLE at http://localhost:9002

Plot widget

As shown in the video below, you may need to drag and drop one or several plot widgets at the desired location. Then, select the data variable you want to observe by clicking on the button customize. You can filter variables by typing text or a regular expression in the text field. Several variables can be plotted on the same graph. The X axis represents the time expressed in seconds.

The graphs are interactive: you can mouse over to highlight individual values. You can click and drag to zoom (Ctrl-click to zoom in different components simultaneously). Double-clicking will zoom you back out (Ctrl-double-click to zoom back out in different components simultaneously). Shift-drag will pan.

Map widget

To visualize the drone location and orientation on a map, make sure sphinx is launched with option --datalog, then drag and drop a map widget on your dashboard:

Note that the map widget will not show a path for drones without GPS like the minidrones (Airborne, Mambo and Swing).


tlm-data-logger is a command line tool that receives flight data and displays it in the shell output. To show simulation’s true flight information:

$ tlm-data-logger inet:

You should see something like that:

section 'omniscient_anafi4k':
   + relativeAngularAcceleration.x
   + relativeAngularAcceleration.y
   + relativeAngularAcceleration.z
   + relativeAngularVelocity.x
   + relativeAngularVelocity.y
   + relativeAngularVelocity.z
   + relativeLinearAcceleration.x
   + relativeLinearAcceleration.y
   + relativeLinearAcceleration.z
   + relativeLinearVelocity.x
   + relativeLinearVelocity.y
   + relativeLinearVelocity.z
   + worldAttitude.x
   + worldAttitude.y
   + worldAttitude.z
   + worldLinearVelocity.x
   + worldLinearVelocity.y
   + worldLinearVelocity.z
   + worldPosition.x
   + worldPosition.y
   + worldPosition.z
   + worldPressure
   + worldTemperature

omniscient_anafi4k.timestamp: 4.098000
omniscient_anafi4k.relativeAngularAcceleration.x: -0.000000
omniscient_anafi4k.relativeAngularAcceleration.y: -0.000000
omniscient_anafi4k.relativeAngularAcceleration.z: -0.000001
omniscient_anafi4k.relativeAngularVelocity.x: 0.000338
omniscient_anafi4k.relativeAngularVelocity.y: -0.054018
omniscient_anafi4k.relativeAngularVelocity.z: -0.000001
omniscient_anafi4k.relativeLinearAcceleration.x: -0.000000
omniscient_anafi4k.relativeLinearAcceleration.y: 0.000000
omniscient_anafi4k.relativeLinearAcceleration.z: -0.000000
omniscient_anafi4k.relativeLinearVelocity.x: -0.002743
omniscient_anafi4k.relativeLinearVelocity.y: -0.000016
omniscient_anafi4k.relativeLinearVelocity.z: -0.049045
omniscient_anafi4k.worldAttitude.x: 0.000005
omniscient_anafi4k.worldAttitude.y: -0.000861
omniscient_anafi4k.worldAttitude.z: 0.000000
omniscient_anafi4k.worldLinearVelocity.x: -0.002701

As the throughput may be very high, you can easily filter the desired variable using classical shell commands. For example:

$ tlm-data-logger inet: | grep worldPosition
   + worldPosition.x
   + worldPosition.y
   + worldPosition.z
omniscient_anafi4k.worldPosition.x: -0.000043
omniscient_anafi4k.worldPosition.y: -0.000000
omniscient_anafi4k.worldPosition.z: 0.049241
omniscient_anafi4k.worldPosition.x: -0.000043
omniscient_anafi4k.worldPosition.y: -0.000000
omniscient_anafi4k.worldPosition.z: 0.049241

Tlmb recordings

Sphinx is also capable of recording the same data in files, so they can be inspected later off-line.

By default, the file containing true data is located here: ~/.parrot-sphinx/telemetrylogs/log-11345.tlmb. If you did not use HMI port 11345, be sure to replace “11345” with your port number. Note that in the same folder, you may see other files like log-11345.tlmb.1. These are the earlier recordings, which belongs to a history whose size is limited.

To read a .tlmb file, several tools are at your disposal in Parrot Telemetry’s public github repository.