Ok, where do I start here…
Vibrations come from a range of sources:
- High pressure impact to the top of the arms each time a blade passes over,
- The blade gets lifted each time it moves into the wind and drops when it moves with the wind,
- Unbalance of each motor and prop shake the aircraft front to back and left to right,
- Any movement in the frame joints and interfaces cause high magnitude and frequency noise.
Now each of these sources of vibration energy happen at different parts of the aircraft and at different times. Each move through the frame and are eventually felt by the flight controller through the vibration mounting of the controller.
The question is “how is each energy source felt by the flight controller?”
This is a very complex question and is heavily dependent on the structure of the aircraft. But the 6 axis we are talking about here (xyz, accel and gyro) all detect each source of vibration. Depending on the structures this vibration can be more pronounced in one sensor than another. Poorly designed vibration isolation systems can amplify signals or couple accelerations (accel) to rotations (gyro) signals. Similar things happen due to the frame structures.
The next important question is “how does this energy source move through the controllers?”
This noise impacts 3 main systems:
- EKF position estimate, height in particular,
- Rate controllers,
- Z Acceleration controller.
The most well known is the EKF position estimate as this has a dramatic impact on the aircraft. Basically it can cause the aircraft to fly away vertically (before Randy and I added some safety measures that detect and prevent this). People notice when their aircraft climb out of control
Less well known is rate controller noise. This has been very difficult to see directly before we added fast (full rate) rate logging. This is gyro noise that passes through each pid loop and is present on the output signals to the motor mixer. I generally consider anything more than 10% magnitude noise too much. This noise can be reduced by using the harmonic notch filter, low pass filters, or reducing the PID parameters.
Rate noise can enter through two paths, the EKF through the attitude controller or directly through the gyro and rate controllers. The angle P and T filter can be used to manage the EKF path. The Gyro filter, Notch and Harmonic Notch, E and D term filters and PID values can be used to manage the Gyro path.
The Z position controller should be well filtered and less susceptible to vibration.
There are a number of steps we should take to manage these vibrations:
- reduce the source of the vibration,
- minimise the magnitude of the vibration experienced by the flight controller,
- filter the vibrations at the inputs to the sensors,
- filter the vibrations in each sub system,
- detune the system to limit the magnitude of the vibration seen at the ESC’s.
I hope that goes some way to introducing the problem and some of the ways we address these problems in the greater system of the aircraft and autopilot.