Kakute F4 strange attitude in acro during roll

kakute F4 AIO
external M8N gps and compass mounted about 1.5" from FC/PDB
spedix 30A blheli S
2206 motors 1700 kv
7x3 props, 3 blade
4s 6000 mah
850g TOW
hover current: 8.5A
hover throttle: ~16%
Tuned with autotune

When I try to roll 360 in acro there is strange attitude behavior, both heading and pitch drift a lot.
FC doesn’t have ability to write logs, but maybe someone can recognize symptoms on video:

Can you post your settings?

09_28_2019.param (20.2 KB)

This was autotuned, initial parameter settings according to this process:
http://ardupilot.org/copter/docs/tuning-process-instructions.html

I think without a log it’s going to be very difficult to diagnose. Nothing obvious in the params but if there are vibrations or something - how would you know?

I can measure vibrations by taping external FC like old pixhawk, I also have tlog, but that has limited usefulness

Looks like tuning was not aggressive enough. Tuning instructions and settings that I mentioned before are too conservative for acrobatic flight tuning. I changed ATC_RAT_RLL_FILT and ATC_RAT_PIT_FILT way up from recommended from 30 to 80 hz, like you suggested in other post. Roll and pitch PIDs went up by ~2.5 times. Now it flies more like my racing betaflight copter. Thank you for your help.

Ah that’s interesting - I know for my 250mm and below 80Hz or above is absolutely key, interesting that it’s true for larger copters as well, maybe @Leonardthall needs to change his instructions :smile:
My apologies though - I did notice that your PIDs looked quite low, but wasn’t certain enough to give you a steer.
You’ll also find that changing the INPUT_TC will markedly improve the feel in acro as well.

The tuning guide is general but maybe we have been too conservative on the low end. For small agile quads I generally use 80 - 40 or 100 - 50 on the gyro and D term filters.
It sounds like you have increased just the D term filter to 80 hz. I would suggest that you also increase the Gyro filter.

This is where things get interesting. We want the lowest possible filter setting without compromising performance (assuming you are not causing heating of your motors and esc’s). Generally a rule of thumb of Gyro filter being 2 x D term filter is good. The question is how high you need to go. If you are interested in experimenting I would set the gyro filter to 2 x the d term filter and step them both down until you start to feel the performance change. Then you will be pretty close to max performance and minimum noise.

The new harmonic notch filter that Andy added will further reduce the noise of the system and does a great job improving the tune!!

1 Like

Can you please explain ,what performance changes should we look at.?
[[[. If you are interested in experimenting I would set the gyro filter to 2 x the d term filter and step them both down until you start to feel the performance change. ]]]

What you will observe with too little filtering is that your motors will heat up and the copter will be more twitchy. If you are reducing filtering then always do a very short (5-10s) flight and check that your motors are not hot. If they are cool then you are ok.
With lower (i.e. higher cutoff frequency) filtering your PIDs will go higher - so you need to autotune again to achieve that.
With that done if you reduce your filtering you will see obvious oscillation when your filtering is getting into your control frequencies. You can generally hear it as well - although the best way to see is with a log.

Thank You very much, I will try this.

Yes, I set both filters to 80/80. Unfortunately I did not have enough time to experiment with that due to weather and workload. But I intend to experiment with filters when possible. I did not pay attention to motor temperatures, but I know that current draw did not increase. Only oscillations I noticed were due to radio stick bounce. For example when I let roll stick go it bounces few times and copter attempts to repeat that movement.
I assume I have to re-tune with every filter step/change to see performance impact?
What about motor speed? I have about 100-120 hz motor speed hover/cruise. Should I worry about or avoid any frequencies?
Any guidance about using notch filters?
Thank you.

I’m going to do a write-up on the harmonic notch for the wiki shortly. For now best to enable the notch and set the frequency to the hover frequency and the bandwidth at maybe half the hover frequency.

Yes best to re-tune if you can after changes.

I don’t think you will see high current draw if there are issues - it is the rate of change that is the problem if there is too much noise getting through

1 Like

Higher filter settings -> Less filtering -> Lower latency -> Higher Autotune PID values -> Better control

Except

Higher filter settings -> Less filtering -> More noise -> More junk control to ESC’s ->

  • More heat in motors
  • Rough sound (maybe)
  • Jittery (maybe)
  • Poor control (extreme noise)

Found something else.
Does ATC_RATE_FF_ENAB = 0 has any effect on copter performance if
ATC_RAT_PIT_FF, ATC_RAT_RLL_FF and ATC_RAT_YAW_FF are all 0 ?
I had ATC_RATE_FF_ENAB = 0 and all FF’s =0 when I recorded problem, see par file.
When I set ATC_RATE_FF_ENAB = 1 problem goes away, with all FF’s still zero.
Looks like I don’t understand how feedforward works.
Thank you

FF does not work the same way that it does for BF and you should not use it on multicopters. @Leonardthall and I have been discussing whether the BF approach has merit and the jury is still out…

So why does ATC_RATE_FF_ENAB = 1 fix attitude problem (that is shown on the video in 1-st post), even when all FF gains set to zero?

I don’t know but I think that is a different kind of FF