Flight Log Analysis
There are several software packages that exist to analyze PX4 flight logs. They are described below.
Reporting Flights
The instructions in the PX4 user guide detail how to report a flight or issues with a flight.
Structured Analysis
Before analyzing a flight log it is key to establish the context of it:
- If the analysis is done after a malfunction, did the log capture the crash or did it stop mid-air?
- Did all controllers track their references? The easiest location to establish this is comparing attitude roll and pitch rates to their set points.
- Does the sensor data look valid? Was there very strong vibration (a reasonable threshold for strong vibration is anything with a peak-to-peak of more than 2-3 m/s/s)
- If the root cause is not specific to the vehicle make sure to report it with a link to the log file (and video if one exists) on the PX4 issue tracker.
Ruling Out Power Failures
If a log file ends mid-air, two main causes are possible: A power failure or a hard fault of the operating system. On autopilots based on the STM32 series hard faults of the operating system are logged to the SD card.
These are located on the top level of the SD card and named fault_date.log, e.g. fault_2017_04_03_00_26_05.log. Please always check for the presence of this file if a flight log ends abruptly.
Flight Review Online Tool
Flight Review is the successor of Log Muncher, used in combination with the new
ULog logging format.
Example
Strengths
- web based, great for end-users
- user can upload, load and then share report with others
- interactive plots
FlightPlot Desktop Tool
Strengths
- java based, cross-platform
- intuitive GUI, no programming knowledge required
PX4Tools
Install
- The recommended procedure is to use anaconda3. See px4tools github page for details.
conda install -c https://conda.anaconda.org/dronecrew px4tools
Strengths
- easy to share, users can view notebooks on github (e.g. https://github.com/jgoppert/lpe-analysis/blob/master/15-09-30%20Kabir%20Log.ipynb)
- python based, cross platform, works witn anaconda 2 and anaconda3
- ipython/ jupyter notebooks can be used to share analysis easily
- advanced plotting capabilities to allow detailed analysis