Static Log File Analysis
Now it is time to take a look at the data, to determine if its good enough. You may also need to remove noise in the start and beginning of your logfiles. To do that we use the log viewer in the AQ widget for QGroundControl. Please note that some of the log plot images on this page are using an older version of QGroundControl.
How to load log files in the viewer
Start the Qgroundcontrol station, open the Data view and select the‘AutoQuad Log Viewer tab:
Click ‘Select Log File’ and navigate to the file you want to view.
When the file is loaded, the right sidebar will show a list of parameters that can be selected for plotting.
Analyze the static files
First thing to check are the temperatures, to see if yours are reaching the temperature we expect to see. Select LOG_ADC_TEMP0 from the parameters list on the right and click ‘Show curves.‘ This image below shows an almost perfect temperature curve with a delta of about -20C to 48C on average over 90 minutes. If you see big spikes or dropouts you probably had a condensation glitch on one of the sensor and you have to repeat the static process. But what you see below is the ideal you should be aiming for:
The calibration uses the raw sensor data, regardless of if its the AIMU or DIMU. This is represented in the “voltage” logs – they represent analog voltages that is the raw signals directly from the sensors. The below examples come from different files and the curves for acc and mag will vary depending on the boards orientation during the static logging. So the below screenshots are examples, there will be slight variations. So, you are NOT looking to get curves exactly identical to the below examples. But rather you are looking for if the data is sane and not interrupted by glitches or spikes. The first thing to look at is the accels. Select LOG_VOLTAGE 8, 9 and 10 to plot them. The lines should be without spikes or signs of disturbances. The examples below are very good for both AIMU and DIMU.
Next, look at the 3 gyro axes. Again you should see nice curves without glitches or spikes. The examples below are close to ideal. The parameters are LOG_VOLTAGE 0, 1 and 2.
DIMU: Notice that for DIMU, at first glance it looks like the Gyro data is very noisy. But this is because the logviewer scales the curve to the data, so if you look at the magnitude scale on the Y axis, you will notice that the noise is very small and the bias falls within a very small range. So the below example is still very good:
Finally, take a look at the magnetometers and make sure they look good, free from spikes or signs of electromagnetic noise. The examples below are ideal.
AIMU: Note: For AIMU the Raw mag data does not make any sense, so we plot the values after beeing processed by the filter. The values to be plotted are LOG_IMU_MAGX, Y, and Z:
DIMU: For DIMU you plot LOG_VOLTAGE 3, 4 or 5:
If you get something similar to what you see above, you are on the right track with the static calibration data. Remember that no two boards are completely identical so you wont see completely identical curves. The whole purpose of the static calibration, is to calibrate offsets and Bias over a range of temperature, to account for subtle differences from board to board.
Errors and stuff to look out for in the static files
The most common type of error during the static calibration data gathering is condensation inside the box, when you take it out of the freezer. This can result in small shorts on the PCB that can either cause a sensor glitch or cause a board reset during the logging. 60 minutes of logging will give around 750K samples, and take up about 220MB (ca 3,7MB/min). So if your file is smaller or has less samples than expected, then something went wrong during the logging. If there was a reset, you will end up having more files generated. Here is an example of what condensation glitches can look like. Notice how the blue line is full of spikes and is not as “calm” as the other 2 axes. This is most likely a condensation glitch. Using this data will not give a good result!
Another common error is to place the box in a place where vibrational noise can reach the board. That would look something like this (but it could also be a condensation problem). Notice the noise happening at 250K samples. This will make it harder for the cal program to come up with a good solution:
So to sum up: Look out for spikes or noise that can throw off your result. Dont be shy to repeat the freezing/logging procedure if you see big spikes or massive noise on a sensor curve – the more care you take, the better your endresult will be! Once your files look somewhat similar to what you see outlined in this section, you can proceed to mount the board in your frame and gather the dynamic calibration data.