Calibration: Difference between revisions

From STorM32-BGC Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
The accelerometers within the IMU modules need to be calibrated for optimal performance (the gyros would also, but that's currently beyond reach). Several calibration techniques are available, and two are implemented in the STorM32 project, these are the "1-point" and "6-point" calibrations.  
The accelerometers within the IMU modules need to be calibrated for optimal performance (the gyros too, but that's currently beyond reach). Several calibration techniques are available, and two are implemented in the STorM32 project, these are the "1-point" and "6-point" calibrations.  


Unfortunately, it is not absolutely clear as to which method is the best. The firmware author doesn't have the resources for an extensive research project, which is what would possibly be needed for a determination. Hence, the situation is a bit experimental and might appear fuzzy to users, but - on the positive side - knowledge and experience is increasing and therefore calibration procedures may improve with time.  
Unfortunately, it is not absolutely clear which method is the best. The firmware author doesn't have the resources for an extensive research project, which is what would be needed for a determination. Hence, the situation is a bit experimental and might appear fuzzy to users, but - on the positive side - knowledge and experience is increasing and therefore calibration procedures may improve with time.  


__TOC__
__TOC__


== General ==
== General ==
The reasons for a calibrating are different for the camera IMU versus the 2nd IMU.  
The reasons for a calibration are different for the camera IMU and the 2nd IMU.  


'''Camera IMU:''' Calibration mainly affects "horizontal drift", i.e. the accuracy with which the horizon is held in quick yaw turns and other high-g maneuvers. It also determines the accuracy of how well the camera is leveled, but this can in principle be tuned out easily by other means (e.g. offset parameters). The main concern is the performance in high-g maneuvers.  
'''Camera IMU:''' Calibration mainly affects "horizontal drift", i.e. the accuracy with which the horizon is held in quick yaw turns and other high-g maneuvers. It also determines the accuracy of how well the camera is leveled, but this could in principle be tuned out easily by other means (e.g. offset parameters). The main concern is the performance in high-g maneuvers.  


'''Second IMU:''' The measurement accuracy of the 2nd IMU is in itself not very important. It is however very important that the 2nd IMU data is consistent with the camera IMU, and it is even more important with higher poled motors e.g. poles greater than the basic 14 poles.  
'''Second IMU:''' The measurement accuracy of the 2nd IMU is by itself not very important. It is however very important that the 2nd IMU data is consistent with the camera IMU, and it is even more important with higher poled motors e.g. poles greater than the basic 14 poles.  


It has been found that the calibration issue depends strongly on the orientation of the IMU module.  
It has been found that the calibration requirements are quite different for the different IMU axes.  


'''IMU Orientation:''' In general, the Z axis is more often wrong than the X and Y axes.
'''IMU Orientation:''' In general, the Z axis is more often wrong than the X and Y axes.
Line 18: Line 18:
Of course, the care with which a calibration is performed very much affects the final quality results of the calibration.  
Of course, the care with which a calibration is performed very much affects the final quality results of the calibration.  


'''Calibration Accuracy:''' A 6-point calibration is meaningful only if it is done very accurately. A poorly undertaken 6-point calibration can easily result in poorer performance than a supposedly "lesser" 1-point calibration. The resulting quality factor under the 6-point calibration option can give a good indication as to the results (a value of 80 is very good, 150 average, 250 not so good).  
'''Calibration Accuracy:''' A 6-point calibration is meaningful only if it is done very accurately. A poorly undertaken 6-point calibration can easily result in poorer performance than a supposedly "lesser" 1-point calibration. The resulting quality factor for the 6-point calibration option can give a good indication as to the results (a value of 80 is very good, 150 average, 250 not so good).  


From the above information these are rules of thumb to follow:  
From the above information these are rules of thumb to follow:  
Line 24: Line 24:
'''Rules of thumb:'''
'''Rules of thumb:'''
* The calibration only needs to be as good as you need it to be. If you are happy with the way your gimbal performs, you don't need to spend time on a (better) calibration.
* The calibration only needs to be as good as you need it to be. If you are happy with the way your gimbal performs, you don't need to spend time on a (better) calibration.
* IMU orientations with the Z axis pointing up or down seems preferable, as it lessens the need for calibration. But don't be fooled here, equally good results can be obtained for other orientation. Some of the best videos out there were in fact recorded with the IMU's Z axis in a horizontal orientation. It just means that with the Z axis pointing up or down it's more likely that one can get away with a "lesser" calibration for a desired level of performance.
* IMU orientations with the Z axis pointing up or down seem preferable, as it lessens the need for calibration. But don't be fooled here, equally good results can be obtained for other orientation. Some of the best videos out there were in fact recorded with the IMU's Z axis in a horizontal orientation. It just means that with the Z axis pointing up or down it's more likely that one can get away with a "lesser" calibration for a desired level of performance.
* The calibration of the camera IMU is more important than for the 2nd IMU, i.e. for the 2nd IMU a "lesser" calibration might be fully sufficient.  
* The calibration of the camera IMU is more important than for the 2nd IMU, i.e. for the 2nd IMU a "lesser" calibration might be fully sufficient.  
* The calibration of the 2nd IMU becomes more important as the motor pole count increases (e.g. 14 pole versus 22 pole).  
* The calibration of the 2nd IMU becomes more important as the motor pole count increases (e.g. 14 pole versus 22 pole).  


Even though, for the reasons mentioned previously, a clear cut calibration recipe cannot currently be offered, there are some recommendations in place:  
Even though, for the reasons mentioned previously, a clear-cut calibration recipe cannot currently be offered, there are some recommendations in place:  


'''Current Recommendations:'''
'''Current Recommendations:'''

Revision as of 02:05, 13 July 2016

The accelerometers within the IMU modules need to be calibrated for optimal performance (the gyros too, but that's currently beyond reach). Several calibration techniques are available, and two are implemented in the STorM32 project, these are the "1-point" and "6-point" calibrations.

Unfortunately, it is not absolutely clear which method is the best. The firmware author doesn't have the resources for an extensive research project, which is what would be needed for a determination. Hence, the situation is a bit experimental and might appear fuzzy to users, but - on the positive side - knowledge and experience is increasing and therefore calibration procedures may improve with time.

General

The reasons for a calibration are different for the camera IMU and the 2nd IMU.

Camera IMU: Calibration mainly affects "horizontal drift", i.e. the accuracy with which the horizon is held in quick yaw turns and other high-g maneuvers. It also determines the accuracy of how well the camera is leveled, but this could in principle be tuned out easily by other means (e.g. offset parameters). The main concern is the performance in high-g maneuvers.

Second IMU: The measurement accuracy of the 2nd IMU is by itself not very important. It is however very important that the 2nd IMU data is consistent with the camera IMU, and it is even more important with higher poled motors e.g. poles greater than the basic 14 poles.

It has been found that the calibration requirements are quite different for the different IMU axes.

IMU Orientation: In general, the Z axis is more often wrong than the X and Y axes.

Of course, the care with which a calibration is performed very much affects the final quality results of the calibration.

Calibration Accuracy: A 6-point calibration is meaningful only if it is done very accurately. A poorly undertaken 6-point calibration can easily result in poorer performance than a supposedly "lesser" 1-point calibration. The resulting quality factor for the 6-point calibration option can give a good indication as to the results (a value of 80 is very good, 150 average, 250 not so good).

From the above information these are rules of thumb to follow:

Rules of thumb:

  • The calibration only needs to be as good as you need it to be. If you are happy with the way your gimbal performs, you don't need to spend time on a (better) calibration.
  • IMU orientations with the Z axis pointing up or down seem preferable, as it lessens the need for calibration. But don't be fooled here, equally good results can be obtained for other orientation. Some of the best videos out there were in fact recorded with the IMU's Z axis in a horizontal orientation. It just means that with the Z axis pointing up or down it's more likely that one can get away with a "lesser" calibration for a desired level of performance.
  • The calibration of the camera IMU is more important than for the 2nd IMU, i.e. for the 2nd IMU a "lesser" calibration might be fully sufficient.
  • The calibration of the 2nd IMU becomes more important as the motor pole count increases (e.g. 14 pole versus 22 pole).

Even though, for the reasons mentioned previously, a clear-cut calibration recipe cannot currently be offered, there are some recommendations in place:

Current Recommendations:

  • A 1-point calibration is fairly simple, and is hence recommended for both the camera and the 2nd IMU.
  • If possible choose IMU orientations with the Z axis pointing up or down, but that's not a must as explained before.
  • Don't do a 6-point calibration unless you plan to do it very accurately (check out the rcgroups thread).
  • If motors with 12 or 14 poles are used, a 1-point calibration of the 2nd IMU is most likely sufficient. In contrast higher-pole motors require a careful 2nd IMU calibration.

Finally, some important advice:

Save your calibration data to a file! 

Ideally save it from within the [GUI:Acc Calibration] dialog window, as this stores the most detailed information. Consider also posting your calibration files in the rcgroups thread, so that the firmware author and others can enhance their knowledge and hopefully develop better calibration schemes.

Tutorial Videos

Rcgroups user mackar made a great videos on how to do a 6-point calibration (see also here and here).

Calibration Tools

bruce356's 3D printed calibration cube: http://www.rcgroups.com/forums/showpost.php?p=29983118&postcount=2346
stl files: http://www.rcgroups.com/forums/showpost.php?p=29983275&postcount=2351

GekoCH's wooden board calibration tool: http://www.rcgroups.com/forums/showpost.php?p=30034517&postcount=2439

larsm's calibration technique: http://www.rcgroups.com/forums/showpost.php?p=29649741&postcount=1897

OlliW's lego calibration tool: http://www.rcgroups.com/forums/showpost.php?p=29646349&postcount=1890