Wobbling in hover flight, strong oscillations in servo output

I’m using a self build setup based on an F330 frame and a Pixhawk 2.4.8. Until recently, it used Extron 2208/34 motors, Extron IQ 20A ESC’s and a 3s battery. Also, it is outonomously controlled by an onboard Raspberry Pi running python. It managed to run simple test missions (start, hover in place, land) without any issues. However, I noticed that the servo output (RCOU.C1-4) often capped the maximum value of around 2000, which I interpreted as “propulsion too weak”.
So I recently upgraded the setup with Extron 2220/12 motors, Extron IQ30 ESCs and a large 4s battery. Now, when I execute the same hovering test mission, the drone flies way too high (up to 4m though it shoudn’t go higher than 1m), wobbles around the roll axis all the time and the servo output is …well, see for yourself:

And the complete log for that flight: https://www.dropbox.com/s/lf6947jxa9cuyje/2022-08-19%2011-22-29.bin?dl=0

I calibrated the accelerometer, used the automatic ESC calibration in Mission Planner 1.3.77 and did a compass calibration on the flight site. I did simple PID tuning according to this page, but as not even a simple hovering flight is currently doable, no further tuning was done.
The Pixhawk is mounted on the top of the frame using double sided foam tape. Also, I’m aware that the whole setup currently has an imbalance to the back because of the new battery.

Thanks in advance.

Nope changing from a 3s to a 4s requires full calibration from the start.

You can not do that and expect it to fly without retune.

And yes, you also need to use the notch filter.

Flight tuning is required. Start with the notch filter and evaluate the basic performance. If that’s good enough then run autotune.

I’ll try to get a halfway usable tuning flight done then.
I always regarded tuning to be a way to make a good flying drone fly a little better. This is actually the third build I’m involved in. None of the prior builds received any tuning and all of them flew pretty well.

Your pretty well is different from our pretty well :relaxed:

There’s a small combination of “standard” builds where the defaults will work. The quad may appear to fly well but when you look at the logs you’ll see it’s really struggling and always on the verge of a problem. Tuning is considered to be a mandatory part of the setup to have a good flying machine. It doesn’t have to be a laborious process, but it’s worthwhile doing.

Your next step is not really PID tuning. If you upgraded motors ESC and battery, you should redo the initial tuning. You can use the mission-planner helper for that. But also read through the documentation. Also do all the mandatory parameters setup.

When all the pre-flight parameters are set, you should enable the IMU batch sampler, I didn’t find any FFT analysis available in the log file. @amilcarlucas, What is the parameter for this now again?

Than do a test flight to set up your filters. You can use throttle based dynamic notch, ESC rpm if you have ESC telemetry, of FFT if you FC can run an FFT during flight, (not all flight computers are able to run it)

When all the initial seyup and filters are working okay, than you can start tuning or identifying problems with the aircraft.

Your aircraft draws around 40 amps as well. That’s allow for a 4s f330 based drone as far as I know. Maybe you’re a bit heavy too. Also, you didn’t have bad vibration on the craft, but a I think your FC needs vibration isolating mounting. Also, as you mentioned about the CG being off center, you might want to fix that as well, if possible.

I’m by no means an expert on ardupilot so if I got anything wrong, and you might know better, pleas correct me!



If you have done the Initial Parameters Setup (you have) and the outputs are oscillating (very common) it’s typically either or both Rate P&I values too high and PSC_ACCZ_I/P not set to the recommended values based on MOT_THST_HOVER.

Chances are if you drop the former to 0.1 from .135 say and set the PSC parameters the oscillation will be reduced/gone and you can continue start standard tuning.

PSC_ACCZ_I/P were set to 1 and 0.5 while MOT_THST_HOVER is around 1.99… I set the to 0.4 and 0.2 (0.1, according to Mission Planner, was out of bounds). However, no change, the drone still does the boogie.

Btw.: Here is a video of the latest test flight.

It was supposed to hover at 2 metres, what it wants at 3+ metres is a mystery to me.

And here are a few images of my build. Are there any potential aerodinamic problems?

The black box in the back contains a Zubax GNSS 2. On other builds, I had no trouble mounting it closer to the frame and under the rotors.

Get rid of the tether and attach a link to a .bin flight log after making a flight w/o it.

Note that the drone flies purely autonomously and that I’m not able to fly it manually. To be honest, I’m a little afraid of steering it.
In the autonomous mode, the behaviour is currently not controllable. It often rises way higher than it is supposed to and drifts sidewards without a reason. Therefore I’m hesitant to remove the tether at that point.
Can this really be so important?

No choice. You need to manually fly the craft to configure and tune it properly. You can’t do that with a tether.

1 Like