Evaluating Vibrations and Optimizing Damper Systems: Difference between revisions

From STorM32-BGC Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(47 intermediate revisions by 2 users not shown)
Line 1: Line 1:
For aerial video applications, one of the most difficult aspect of a DIY gimbal system is to achieve a low level of vibration and a well working damping system. The first reaction of most users to artefacts such as micro vibs or jello in the video seems to be "better PID tuning", while in fact the secret sauce of a well working system usually lies not in the PID tuning, which generally is "simple", but the copter's vibration level and construction of the gimbal damping system.  
For aerial video applications, one of the most difficult aspect of a DIY gimbal system is to achieve a low level of vibration and a well working damping system. The first reaction of most users to artefacts such as micro vibs or jello in the video seems to be "better PID tuning", while in fact the secret sauce of a well working system usually lies not in the PID tuning, but the copter's vibration level and construction of the gimbal damping system.  


Unfortunately, when it comes to the latter aspects the current approach available to us DIY guys is essentially trial-and-error, which at times can be frustrating. The STorM32 NT thus aims at providing tools to alleviate the situation. This is still an effort in progress, meaning that the best set of tools and/or best set of recipes to achieve the goals have not yet been established. However, some tools and procedures have emerged.
Unfortunately, when it comes to the latter aspects the current approach available to us DIY guys is essentially trial-and-error, which at times can be frustrating.


== Conceptional ==
== Conceptional ==


The basic idea of the STorM32's vibration and damping system analysis is sketched in the following picture.  
The basic idea of a vibration and damping system analysis using IMUs is sketched in the following picture.  


[[File:Storm32-nt-vibrations-overview-01.jpg|680px|center]]
[[File:Storm32-nt-vibrations-overview-01.jpg|680px|center]]


Nowadays, flight controller often provide options for analyzing the copter's vibrations. However, the disadvantage is obvious: In most cases it doesn't see the real copter vibrations, since it is mounted with some dampers. What matters are the vibrations at the camera, which is "far away" from the flight controller. That is, in a technical language, the transfer functions for the copter's vibrations to the flight controller or the camera are substantially different. For a complete vibration analysis one needs to know the vibrations on the copter, on the gimbal frame, and the camera. It is pointed out that only with knowing the vibrations on the copter '''''and''''' the gimbal frame, the performance of the gimbal damping system can actually be assessed.  
Flight controller often provide options for analyzing the copter's vibrations. However, the limitation is obvious: In most cases it does not see the real copter vibrations, since it is mounted with some dampers to the copter. Also, what matters to us are the vibrations at the camera, which is "far away" from the flight controller. That is, in a technical language, the transfer functions for the copter's vibrations to the flight controller and to the camera are substantially different. For a complete vibration analysis one needs to know the vibrations on the copter, on the gimbal frame, and the camera. It is pointed out that only with knowing the vibrations on the copter '''''and''''' the gimbal frame, the performance of a gimbal damping system can actually be assessed.  


That's the basic idea of the STorM32's three IMU setup, to provide us with a means to properly evaluate the vibrations and especially the gimbal damping system, which hopefully will allow us to get better gimbals.
<!--This is the basic idea of the STorM32's three IMU setup, to provide us with a means to properly evaluate the vibrations and especially the gimbal damping system, which hopefully will allow us to get better gimbals.


The offered mechanisms however can also be used in other ways, e.g. for balancing motors and propellers. The possibilities are only limited by our creativity :).
The offered mechanisms however can also be used in other ways, e.g., for balancing motors and propellers. The possibilities are only limited by our creativity :).
-->
{{COMMENT|In order to avoid confusion, this clarification: In the above sketch the IMUs are numbered as IMU-A, IMU-B, and IMU-C, which is different to the usual terminology used by the STorM32 gimbal controller. This is so since, e.g., the 2nd IMU (in the terminology of the STorM32 gimbal controller) could be either IMU-B or IMU-C, depending on the user's setup. IMU-A is however IMU1.}}


{{COMMENT|In order to avoid confusion, this clarification: In the above sketch the IMU on the gimbal frame is named IMU2 and that on the copter IMU3. However, depending on the user's setup it could be also vice versa. That is because the 2nd IMU (in the terminology of the STorM32 gimbal controller) can be either located on the gimbal frame or the copter, and it is this 2nd IMU which is in the GUI, and else where, is called IMU2.}}
The following video explains that, and also shows possible uses of the NTLoggerTool.


The following video explains that too, and also shows possible uses of the NTLoggerTool and Blackbox Explorer.
{{#ev:youtube|nGp_PlPxleQ|480|center}}


{{#ev:youtube|nGp_PlPxleQ|480|center}}
{{COMMENT|A 3rd IMU was supported in firmware versions v2.19e to v2.53, but is not available in firmware versions higher than v2.53. Some information in the video is thus obsolete.}}


== Basic Physics ==
== Basic Physics ==
Line 33: Line 35:


'''''Vibration Absorption:'''''
'''''Vibration Absorption:'''''
The system is separated from a vibrating source by some dampers, with in addition a second mass of payload attached to the primary mass via some further dampers.  
The system is separated from a vibrating source by some dampers, where in addition a second mass of payload is attached to the primary mass via some further dampers.  


[[File:Vibration-isolation-absortpion-schemes-02.jpg|680px|center]]
[[File:Vibration-isolation-absortpion-schemes-02.jpg|680px|center]]
Line 39: Line 41:
The gimbal damper system by itself constitutes a vibration isolation system. However, if the stiffness of the gimbal is taken into account, the copter + gimbal frame + camera system is rather reminiscent of a vibration absorption system (but with swapped roles of the masses). Anyway, let's assume a perfectly stiff gimbal, and let's talk about the gimbal dampers as a vibration isolation system.
The gimbal damper system by itself constitutes a vibration isolation system. However, if the stiffness of the gimbal is taken into account, the copter + gimbal frame + camera system is rather reminiscent of a vibration absorption system (but with swapped roles of the masses). Anyway, let's assume a perfectly stiff gimbal, and let's talk about the gimbal dampers as a vibration isolation system.


Physically, the item which we commonly call a damper is a combination of a damping element and a spring element. The most crucial points to realize now are these. First:
Physically, the item which we commonly call a damper is a combination of a damping element and a spring element. The most crucial points to realize are these. First:


  The damping coefficient of (most) vibration dampers is relatively low.
  The damping coefficient of (most) vibration dampers is relatively low.


You may confirm that easily for yourself by using google. The damping coefficient of rubber e.g. is somewhere in the range of few 0.1 or less. And you may also easily confirm that by a simple test, namely tip your gimbal, and you will see it swinging back and forth a couple of times. The necessary consequence of that is, second:
You may confirm that easily yourself by using google. The damping coefficient of e.g. rubber is somewhere in the range of few 0.1 or less. You may also easily confirm that by a simple test: Tip your gimbal, and you will see it swinging back and forth a couple of times. The necessary consequence of that is, second:


  The vibration damper does not always reduce the vibrations.  
  The vibration damper does not always reduce the vibrations.  
  In some frequency range the vibrations are actually substantially amplified.
  In some frequency range the vibrations are actually substantially amplified.


This latter point makes the gimbal damping issue so complicated, because a good vibration reduction in some frequency range is payed for by some substantial amplification in vibrations in a lower frequency range.
This latter point makes the gimbal damping issue so complicated, because a good vibration reduction in some frequency range is payed for by some substantial amplification in vibrations in a lower frequency range. The situation is shown in this picture:


[[File:Vibration-isolation-amplitude-vs-frequency-01.jpg|360px|center]]
[[File:Vibration-isolation-amplitude-vs-frequency-01.jpg|360px|center]]


== 3rd IMU ==  
<!--
== 3rd IMU ==
''The information in this chapter refers to firmware v2.19e up to version v2.53.''
 
As discussed in the chapter [[#Conceptional|Conceptional]], the evaluation of all vibrations relevant to the gimbal performance asks for three IMUs. The STorM32 NT thus supports this, in the following way.
 
These general rules apply:
 
* The STorM32's numbering of the IMUs is IMU1, IMU2, IMU3 (IMU1 is actually presented as "IMU", for historical reasons). Per definition, IMU1 is the camera IMU, IMU2 is the 2nd IMU which when activated ({{PARAMNAME|Imu2 Configuration}} = {{PARAMVALUE|full}}) is used for advanced control performance, and IMU3 is a further IMU those data is read but otherwise not used by the gimbal controller.
 
* As always with NT, the camera IMU must be the 1st NT IMU module (ID = 1) or IMU1, respectively.
 
* The other two IMUs can be either two NT IMUs, one NT IMU and the on-board IMU, or one NT IMU and an external I2C-based IMU connected to the I2C#2 plug.
 
* Which of these two IMUs is used as IMU2 or IMU3 is determined by the parameter {{PARAMNAME|Imu3 Configuration}} in the {{GUI|Expert Tool}}.
 
* With respect to the IMU labeling used in the previous chapters, IMU1 always corresponds to IMU-A. IMU2 and IMU3 correspond to IMU-B and IMU-C or to IMU-C and IMU-B, depending on the placement of these IMUs on the copter.
 
The parameter {{PARAMNAME|Imu3 Configuration}} in the {{GUI|Expert Tool}} determines which IMUs are used as IMU2 and IMU3:
 
{| class="wikitable" style="text-align: center;"
! {{PARAMNAME|Imu3 Configuration}} !! IMU2 !! IMU3
|-
| style="text-align:left;"  | off || 2nd NT IMU (ID = 2) if present,<br> else on-board IMU || off
|-
| style="text-align:left;"  | default || 2nd NT IMU (ID = 2) if present,<br> else on-board IMU || 3rd NT Imu (ID = 12)
|-
| style="text-align:left;" | 2 = id2, 3 = onboard || 2nd NT IMU (ID = 2) || on-board IMU
|-
| style="text-align:left;" | 2 = onboard, 3 = id2 || on-board IMU || 2nd NT IMU (ID = 2)
|-
| style="text-align:left;" | 2 = onboard, 3 = id3 || on-board IMU || 3nd NT IMU (ID = 12)
|-
| style="text-align:left;" | 2 = onboard, 3 = off || on-board IMU || off
|}
 
{{COMMENT|"on-board" refers to either the on-board or the external I2C IMU. Which one is used as "on-board" IMU, is determined by the usual rules for using the on-board or external I2C IMU.}}
 
== Analysis Tools ==
 
The STorM32 NT project includes a range of hardware and software tools, which help tremendously in analyzing all sort of things, vibration issues would be one of them.
 
=== NT Logger ===
 
This piece of hardware can be connected to the NT bus and records all data on its Tx line on a micro SD card. For further info see the article [[NT Data Logging]].
 
=== NTLoggerTool ===
 
This piece of software, written with PyQT and pyqtgraph, is the STorM32 developer's main tool to inspect recorded data. The data can come from various sources:
 
* Data recorded with the NT logger on a SD card
* Data recorded with the DataDisplay of the o323BGCTool GUI
* Live-recording


== NT Logger ==
For further info see the article [[NT Data Logging]].


== NTLoggerTool ==
=== Blackbox Explorer for STorM32 ===


== Blackbox Explorer for STorM32 ==
The NTLoggerTool allows us to convert the data into Blackbox Explorer compatible .cfl files. The Blackbox Explorer allows us then to overlay the recorded video with the logged data, and thus to directly correlate any video artifacts with features in the logged data.
-->

Latest revision as of 15:21, 13 January 2023

For aerial video applications, one of the most difficult aspect of a DIY gimbal system is to achieve a low level of vibration and a well working damping system. The first reaction of most users to artefacts such as micro vibs or jello in the video seems to be "better PID tuning", while in fact the secret sauce of a well working system usually lies not in the PID tuning, but the copter's vibration level and construction of the gimbal damping system.

Unfortunately, when it comes to the latter aspects the current approach available to us DIY guys is essentially trial-and-error, which at times can be frustrating.

Conceptional

The basic idea of a vibration and damping system analysis using IMUs is sketched in the following picture.

Storm32-nt-vibrations-overview-01.jpg

Flight controller often provide options for analyzing the copter's vibrations. However, the limitation is obvious: In most cases it does not see the real copter vibrations, since it is mounted with some dampers to the copter. Also, what matters to us are the vibrations at the camera, which is "far away" from the flight controller. That is, in a technical language, the transfer functions for the copter's vibrations to the flight controller and to the camera are substantially different. For a complete vibration analysis one needs to know the vibrations on the copter, on the gimbal frame, and the camera. It is pointed out that only with knowing the vibrations on the copter and the gimbal frame, the performance of a gimbal damping system can actually be assessed.

Comment: In order to avoid confusion, this clarification: In the above sketch the IMUs are numbered as IMU-A, IMU-B, and IMU-C, which is different to the usual terminology used by the STorM32 gimbal controller. This is so since, e.g., the 2nd IMU (in the terminology of the STorM32 gimbal controller) could be either IMU-B or IMU-C, depending on the user's setup. IMU-A is however IMU1.

The following video explains that, and also shows possible uses of the NTLoggerTool.

Comment: A 3rd IMU was supported in firmware versions v2.19e to v2.53, but is not available in firmware versions higher than v2.53. Some information in the video is thus obsolete.

Basic Physics

The physics of vibrations and damper systems is elementary, and quite many aspects can be properly inferred by applying basic laws of physics. Surprisingly, it seems very rarely been done. In this chapter only one simple, but crucial point shall be pointed out:

The vibration dampers, as we like to call them, do not actually damp vibrations.

Before explaining that, it may be useful to first introduce the two general approaches of vibration isolation and vibration absorption (this classification seems to be widely, but not generally, accepted):

Vibration Isolation: The system is separated from a vibrating source by some flexible pieces of something (which we call dampers). Physically it is described as to consist of a damping element, spring element, and a mass of payload.

Vibration Absorption: The system is separated from a vibrating source by some dampers, where in addition a second mass of payload is attached to the primary mass via some further dampers.

Vibration-isolation-absortpion-schemes-02.jpg

The gimbal damper system by itself constitutes a vibration isolation system. However, if the stiffness of the gimbal is taken into account, the copter + gimbal frame + camera system is rather reminiscent of a vibration absorption system (but with swapped roles of the masses). Anyway, let's assume a perfectly stiff gimbal, and let's talk about the gimbal dampers as a vibration isolation system.

Physically, the item which we commonly call a damper is a combination of a damping element and a spring element. The most crucial points to realize are these. First:

The damping coefficient of (most) vibration dampers is relatively low.

You may confirm that easily yourself by using google. The damping coefficient of e.g. rubber is somewhere in the range of few 0.1 or less. You may also easily confirm that by a simple test: Tip your gimbal, and you will see it swinging back and forth a couple of times. The necessary consequence of that is, second:

The vibration damper does not always reduce the vibrations. 
In some frequency range the vibrations are actually substantially amplified.

This latter point makes the gimbal damping issue so complicated, because a good vibration reduction in some frequency range is payed for by some substantial amplification in vibrations in a lower frequency range. The situation is shown in this picture:

Vibration-isolation-amplitude-vs-frequency-01.jpg