Skip to content

5.Performance Analysis

Kevin Guest edited this page Feb 12, 2016 · 17 revisions

The APM or Pixhawk Flight Controllers (FC) flashed with APM:Copter firmware have the ability to log an update status of how much stress the FC is under at each point of a flight. It is important to consider that this Performance Analysis refers to the Flight Controllers ability to process the internal threads / code and not the overall performance of the model and other hardware.

Where information is available the APM Log File Analyser will attempt to review this information and summarise it along with pointing out any issues found.

Towards the top of the text based analysis we detail the type of Flight Controller, the installed firmware and as part of the Performance Analysis the internal clock frequency. Older firmwares would clock at 100Hz, newer firmwares at 400Hz.

Clock Frequency

The datalogs do not contain any errors related to flight controller performance issues, however we can determine the status of the Flight Controller by analysing data provided. The APM Log Analyser does this and will detail any issues during the text based analysis where the Flight Controller becomes under pressure to perform all that is being asked of it.

Warning Long Loops

In the above example we are getting very close to the maximum number of Long Loops allowed as specified by the APM:Copter developers as 15%, should it reach 15% the Warning will become an Error message.

Long Loops Error

To the left of the main text based analysis panel there is the option to see additional information about the performance of the flight controller. This can be handy at times but by default this is unchecked. Activating this option will provide Information about the % of long loops between 3% and 10% which adds very little value.

Performance Monitoring Addition Info

Information Long Loops

During the text based analysis we are using the following rules where NLon is the % of Long Running Loops. MaxT is the Time the Longest Loop took, for APM this will be around 10ms as standard, for Pixhawk anything between 2ms and 3.5ms is normal but regular spikes can occur up-to 20ms. One-off spikes running into 1000's of milliseconds will be ignored as they are considered normal.

Analysis Rules

Regardless of which option is selected at the end of the Text Based Analysis there is a summary of the Flight Controller performance. This includes all the information required to make an assessment of the model along with an automated evaluation by the APM Log Analyser.

Performance Summary

The details in the summary are the average values with the one-off exceptions filtered as this is normal during take off, landing and some mode changes. As noted above, the % of Long Loops should not be above 15%, this is defined by the Developers of APM:Copter.

To take this analysis one step further I have analysed many logs to determine what the acceptable levels are that any one loop should be running for and detail the average in the summary. According to my analysis anything less than 20ms is normal, anything over that should start to increase the Long Loops %.

The evaluation is determined based on the following rules.

Summary Evaluation Rules

It is VERY important to look through the main text based analysis rather than just rely on the summary. This is because the summary may evaluate lower than overloaded (based on the average results), but there may be times during the flight that we are pushing the boundaries of the flight controller. There is an example above that shows a battery fail safe event, immediately after we see that the Long Loops goes above the recommended 15%. However, the summary for that flight has an average of only 12% long loops with an Almost Overloaded evaluation.

For further information, these were my final test logs...

Final Test Logs