The most distinctive feature of the EmuFlight flight controller software is it's gyro Kalman filter. Yes, the same filter that some people name the dynamic PT1, doubt that it works or calls it magic. I will not discuss if the EmuFlight Kalman works and how it works (it works tho, I have enough time in the air to confirm that). Instead, I will show you how to tune the filter to get your racer's best performance or a freestyle machine.
EmuFlight Kalman Gyro Trust Factor
The most important setting of the Kalman filter is the Q factor. It is so-called, the quality factor that describes how much the gyro data can be trusted. The higher the value, the most trust can be placed on the gyro signal, and less filtering applied. The lower the Q factor, the more filtering is used, since gyro is probably noisier.
Higher Q factor usually means lower phase delay and better flight performance as long as the gyro signal is clean enough Lower Q factor usually means higher phase delay but cleaner data output: less noise in the output gyro data
The process of tuning the EmuFlight Kalman filter is mostly about adjusting the Q factor. You can do it in an either fast or precise manner. In a precise way, you will be tuning each axis separately: separately for roll
imuf_roll_q, independently for pitch
imuf_pitch_q, and individually for yaw
In a fast way, you will make one pass and adjust all three parameters to the same value.
- Start with the default Q of
- Increase the Q factor by
500and make a short test flight
- Observe the flight performance and is there is no degradation (bounceback, audible oscillation, overheating motors, etc.) go back to step 2
- If there is a flight degradation, go back to the previously used value. You might want to do more precise tuning with steps 100 or even less.
- Move to the next axis or call it a day
Usually, target q factors lay somewhere between
10000. The default
3000 is very conservative and almost always can be easily increased to
6000 or even more.
Kalman Window Size
Kalman Window Size
imuf_w is a setting that does not affect the phase delay of filtering strength. It's a period in which Kalman filter computes variation of the incoming data and decides is it should filter more or less. The length of the period decided how rapid filtering updates will be.
- the bigger the multirotor drone, the bigger the window size
- 5" multirotors work fine with
- 7" multirotors might like
imuf_wof 64 or even 128
- 9" and bigger might prefer even higher values, up to 192
- window size is also affected by the flying style. Racers might want to lower even down to 8-16 on 5" while freestyle pilots increase it
If you want to know more about EmuFlight Kalman Tuning, here is a detailed video on this topic