MicroArduCopter, 3" props, Omnibus Nano, Success!

Ok, this is not doing what you expect.

You can basically ignore INS_HNTCH_FREQ if you have mode set to 4 - the harmonic notch will be set from the detected motor peak. Since you are searching between 100-350Hz (your MINHZ,MAXHZ) it will find the biggest peak at 150 and set the notch there. But you also have the bandwidth set very wide so you will be taking out a lot of useful control information. Your D-Term filtering is pretty low for a copter this size as well.

Here is what I recommend changing:


Accel can be filtered far more aggressively because it is not used for fine control - only for AltHold and the like.

Ok here’s a weird thing. When I look at you log above it’s detected the peak at 300Hz. I’m not sure why this is:

Maybe that’s because that is where the peak is? These are really high Kv motors so could easily be spinning at 300Hz. So maybe you having the static notch at 150 is correct.

1 Like

OK, I’d say it’s working… :slight_smile:

On a different subject…
Is anyone still having the issue where the copter leans more and more?
This new firmware is causing more of that for me… There was some discussion that it might be related to processor load, and I do believe I have a higher load on my processor w/ the FFT filtering.

Same as 6 or 8 months ago when I last talked about it. It starts off level, starts tilting more and more if I have no GPS lock. I’m at about 45 degrees after a couple minutes. If I get GPS lock it levels, and up until now, stayed level. Now, it’s going out of level w/ GPS lock, though not bad.

Last spring I also figured out different FC’s did it differently (all omnibus nanos, some tilted a lot more than others). I guess this will encourage me to try the new 20x20 kakute f7.

Can you get a log with this happening? I’m sure a log would tell us a lot. Also I would raise a bug on github - could get some attention that way.

I’ve put a log on google drive (This is also the pre-filter FFT flight above, if you want to review it for any reason(FFT Driven Harmonic Notch Enabled)):

I checked the roll parameters mentioned in “the leans” section of the vibration analysis section of the arducopter docs… Looks ok to me. Me and the other few people w/ this problem all did not think it was an issue w/ vibrations. I think we might have also all been using omnibus nanos. And if it is just an issue w/ this particular FC, I don’t expect it to get a lot of attention.

But if anyone wants to look, or recommend some areas for me to check in the logs, I’d appreciate it.

Also worth mentioning, yawing around in a circle seems to reset the lean, so maybe something magnetometer related… And maybe that makes sense w/ the GPS lock fixing it, because then maybe EKF doesn’t rely on the magnetometer as much… (all just guesses).

In choosing bandwidth I followed your instruction (PR on wiki https://github.com/ArduPilot/ardupilot_wiki/pull/2072/files)
INS_HNTCH_BW = hover_freq / 2

Even on the log I see BwAvg is half the PeakAvg

Is there something wrong with this?

1 Like

Interesting! Ok then - your setting is good. My BwAvg never gets very large, but this is designed to find the 3db points so if it’s 150 then that’s a reasonable value.

My BW is also about 140 in the logs… I have it set to 50 in the parameters, and I don’t see any sign of noise on either end of the notch on the FFT.

The default attenuation is actually 15dB which is quite a lot, so 140Hz is probably the full width of the noise. If you set FFT_ATT_REF to 3, say, you will probably get a more reasonable version of the noise. I think I had it set high because I was only getting a 3 bin widths which is the minimum. Note that for gyro sampling at 1Hkz and an FFT length of 32 your bin size is 1000/32 = 31.25Hz and so the very smallest BW you will register is 3x31.25 = 93.75Hz. If you increase your FFT length you can get a more accurate reading, but your CPU load will also go up. I have run 128 on an F4 ok, but that’s pushing it.

Also note that seeing “noise” in MP FFT graph is quite difficult - this is an average of sample snapshots so you will be averaging out a lot of the variability. To get a more accurate picture you need to hover for an extended period, but even then you are only seeing information from one part of the throttle range.

I’m thinking of starting a new 4.0 thread for dynamic notch tuning to cover all this, do people think that’s a good idea?

For the curious the bandwidth is trying to find the width of the noise peak, since FFT only gives you a single value per-frequency bin the closest you can guess is by finding the bins at which the noise reduces by a given amount from the center bin, hence why the minimum number of bins is 3.

1 Like

Yes… I’d imagine a lot of people will be interested in it.

Do you think the FFT controlled notch will eventually make it in to 4.0, in a future release, like 4.0.2 or whatever…
Or will it not be until the next full version which might be a year from now?

Not sure. Tridge has shown some interest and Leonard is on the case - so I’m hopeful.

So I took a look at your log. I think like me its your gyro bias that is the problem:

GX is the roll axis so you are getting a large learnt gyro bias and I suspect this is why you are getting a lean and also why lowering the learning rate makes things better. I have no idea why these small copters have this problem although I suspect the issue is vibration.

Thanks a lot.
So I guess I should lower ek2_gbias_p_nse?
I was actually messing w/ ek2_abias_p_nse before… Maybe I lowered the gbias, too… It’s been months.

I’ll try it… I’m doing some indoor test flights at the moment, and it is leaning…

Dunno, the EKF is a mystery to me - looking through the history of this channel I see ABIAS cured things as well. Your ABIAS also seems bad! But I can’t see anything else that would explain it and given it’s on roll seems likely. Give it a go I guess. You used to be able to turn off bias learning but maybe that’s not possible now.

One thing w/ abias, some of it is temperature drift… If you power up the copter for 5 minutes or so, you’ll see it increase a lot… But if you reboot while it’s warm it likely won’t change much after that.

Hello to all,
I’m always struggling with my 90mm 2 "prop 2s 450mA FW3.6 quad. In stabilize it flies well but in alt hold it goes full throttle to the ceiling (I put a cable to avoid the ceiling crash.) I also mounted the rings but nothing has changed.If I start in stabilize and then change to alt hold a little seems to fly well, but then the engines go full throttle : (((
I attach my parameter file. I don’t know what to try anymore :frowning:althold crazy rocket roof.param (15.3 KB)

I’ve done 45 flights so far, but I haven’t solved it!

Switch to 4.0rc2 and use the harmonic notch. I’m willing to bet most of your problems will disappear.

I will definitely try … can it work even without a log?
I set the arming flag on barometer and weapon regularly also in alt hold. With this I can exclude a fault in the barometer?

For omnibus F4 pro, i found in beta only this:


It’is OK?

Thanks :slight_smile:

Yes is RC2 … sorry :slight_smile: