Acrobatic Arducopter

I have built a FPV type 6in prop size quadcopter with an stretch X-frame and am using a Matek F405SE FC with BLHeli_32 ESCs. I have used the bdshot target for the board and am working on setting up ESC rpm based dynamic notch filters. I plan to use this quad for acrobatic (“acro” mode) flying, but also to learn more about Ardupilot in general on small quads.

I was wondering, specifically for smaller quads, if it is recommended to increase/alter the following parameters for better filtering/tuning/flying results. I know @andyp1per has done a lot of work on these type of quads - Andy, do you have any recommendations?

FRAME_TYPE: - set to “H” for “props out” (what I would like to fly) instead of the typical Arducopter “props in”?

ACRO_OPTIONS - I’m not sure what to set here.

ACRO_TRAINER: - Disable if I’m already comfortable flying “acro” mode in Betaflight, etc.

SCHED_LOOP_RATE - Increase?

INS_GYRO_RATE - Increase?

INS_GYRO_FILTER - Adjust after viewing batch logs?

ACRO_OPTIONS - Rate Loop Only?

Multi-notch options? I’d imagine a lot of these would over-tax an F405, but I thought I’d check.
https://ardupilot.org/copter/docs/common-imu-notch-filtering.html#multi-notch

Thanks in advance!

Read thru these Build and tune Blogs by Andy.
7" LR build
5" LR Build

They are both built for aggressive Acro flying.

Let more experienced users and developers fix me where I am wrong, but here are my five cents.

FRAME_TYPE: as most hobby-grade flight controllers target Betaflight, you may get less confusion if you choose “BetaflightX” frame type for props out and same motor numbering as Betaflight. The numeric value is FRAME_TYPE = 12. You may find this useful as some ground control software tries to use too much syntactic sugar to configuration, and may choke on that - so knowing how to set a thing in full parameter list is generally good.

ACRO_OPTIONS: My preference is that I would just go with bit 0 “Air mode” set to 1. I have tried bit 1 “Rate Loop Only” in the past and disliked it, because it requires a very different PID tuning. This bit has an additional advantage of being less afraid to hit branches, because the craft remembers the attitude you should be at. However, once everything flies normally and you remain curious enough, you may want to try this bit as well…

ACRO_TRAINER: just set to zero.

SCHED_LOOP_RATE: you are on a F405 processor, which is not too powerful. On my 2" F405-based quad I managed to get it to 500 instead of 400 with no problems, however, setting it to 800 already introduces a significant amount of long loops. Long loops might mean that scheduling suffers, and for some components (such as e.g. FFT-based filters) this might be too much. Your mileage may vary though.

INS_GYRO_RATE: safe to set to 3, the drivers will do the job. Edit: I was wrong, see below.

INS_GYRO_FILTER: just like filters in ATC_RAT_*_FLT*, these highly depend on the particular craft, e.g. how noisy the frame is, and how responsive the power train is. The default values from the spreadsheet linked from the documentation seem to be on the lower side for race quads. The blogs linked by @dkemxr above contain some information about how to find the right balance between too sluggish and too noisy settings.

INS_HNTCH_*: my 2" F405-based quad copes nicely with BDshot-based filtering in terms of CPU load, so, in my opinion, if you have nice enough ESCs, this is where you start, and all other options (including switching it off) needs experimenting.

You are running at 8Khz gyros on an F405?! You are brave. That will be where all your CPU is going.

Well, I was kinda wrong, my value of INS_GYRO_RATE is actually zero. Probably I’ve remembered your recommendations written somewhere else when configuring, but forgot that when writing the comment above.

(I still think that I have too many long loops at 800Hz, and I believe my problems with that craft are not associated with the differences in loop frequencies like 400 vs 500 vs 800)

Thanks everyone! I appreciate all the links and suggestions. Plenty of material to go through, test, and learn with now. :smiley:

I was finally able to do some flying in Acro with the quad after doing a basic Roll/Pitch Autotune. I’m planning on setting up filtering and tuning again, but today when I tried a throttle cut type flip, the quad seemed like it just lost stabilization and fell. (I was flying LOS) It seemed to be okay, so I tried flying again, and I was able to do power-on flips/rolls, etc. I’ve been seeing some posts recently related to the ATC_THR_MIX_MAN parameter. I already have Air-mode on, so from what I can tell, I would need to increase the ATC_THR_MIX_MAN parameter to a higher value to maintain better control during low throttle. This quad is not extremely high powered, 6in props on old 2205 3S motors, but does anyone have a ballpark of what I should not go above in terms of values of ATC_THR_MIX_MAN? I don’t want to create a fly-away type situation, but I also understand the the default range of 0.1-0.9 is not really designed for FPV-type drone power-weight ratio setups. I saw that Andy set this to “4” in the 5in Rekon build. Can anyone tell me if I’m on the right track here, or if I’m totally off?

I’m also wondering about ATC_ANGLE_BOOST and ATC_THR_G_BOOST - any thoughts there, as I think these are relatively new parameters?
Thanks!

Log from short flight flip/crash -

00000006.BIN (600 KB)

1 Like

I think I answered some of my own questions here Airmode not keeping quad stable for flips/rolls w/throttle low - #46 by Leonardthall
The AP community is awesome. :heart: