Q450 wobbles during descent

Hi,

I’m trying to get my quad to fly nicely, and I was hoping for some guidance with tuning.
The specs are as follows:
Frame: Q450
Motors: Emax 2216 (810Kv)
Battery: 5000MaH 4S
Controller: Pixhawk (clone)
Firmware: Arducopter 4.0.3

I have run autotune a couple of times now. Both times the tune has gone really well, and I am happy with all the characteristics, except for descent.
Slow descent is ok, but on rapid descent, the quad wobbles (oscillates) very severely.
I understand wobble on descent is a common problem, but this seems to be a really bad case.

I have never manually tuned an aircraft, so I was hoping for some advice.
I have reduced ATC_THR_MIX_MAX to 0.3. This seemed to reduce the wobble, but did not eliminate it. This is out of the supported recommended range of 0.5-0.9, so I would rather not do this anyway.

I have looked at the following parameters, but they seem to have already been set pretty low by the autotune:
ATC_ACCEL_R_MAX: 42374.14
ATC_ACCEL_P_MAX: 38419.02
ATC_RAT_RLL_P: 0.05722752
ATC_RAT_PIT_P: 0.05823669

Here is the auto-analysis of the last flight:
Log File C:\Users\shane\AppData\Local\Temp\tmpDCD.tmp.log
Size (kb) 23843.7177734375
No of lines 276314
Duration 0:14:11
Vehicletype ArduCopter
Firmware Version V4.0.3
Firmware Hash ffd08628
Hardware Type
Free Mem 0
Skipped Lines 0
Test: Autotune = UNKNOWN - No ATUN log data
Test: Brownout = GOOD -
Test: Compass = GOOD - mag_field interference within limits (10.25%)
Max mag field length (620.36) > recommended (550.00)

Test: Dupe Log Data = GOOD - 
Test: Empty = GOOD - 
Test: Event/Failsafe = GOOD - 
Test: GPS = GOOD - 
Test: IMU Mismatch = GOOD - (Mismatch: 0.42, WARN: 0.75, FAIL: 1.50)
Test: Motor Balance = GOOD - Motor channel averages = [1338, 1353, 1384, 1391]
Average motor output = 1366
Difference between min and max motor averages = 53
Test: NaNs = FAIL - Found NaN in CTUN.DSAlt

Test: OpticalFlow = FAIL - FAIL: no optical flow data

Test: Parameters = FAIL - 'MAG_ENABLE' not found
Test: PM = GOOD - 
Test: Pitch/Roll = UNKNOWN - 'BarAlt'
Test: Thrust = GOOD - 
Test: VCC = UNKNOWN - No CURR log data

The logs from the last flight can be found here:

Can anyone offer any advice on how I can reduce this wobble?

You actual Roll and Pitch depart quite a bit
image

SInce it’s basically flyable, set these parameters and run Autotune:
ATC_THR_MIX_MAX,0.5
ATC_THR_MIX_MAN,0.5
BATT_ARM_VOLT,14.7
BATT_CRT_VOLT,14
BATT_LOW_VOLT,14.4
BATT_FS_LOW_ACT,1
BATT_FS_CRT_ACT,2
MOT_BAT_VOLT_MAX,16.8
MOT_BAT_VOLT_MIN,13.2
PSC_ACCZ_I,0.38
PSC_ACCZ_P,0.19

You’ve got a few really big voltage drops:
image

And corresponding Current spikes:
image

They seem to be associated with climbs, maybe keep an eye on that in case it’s an actual problem.
You also have Vcc voltage sag that follows the battery voltage down - this is typical of the cheap/clone power bricks. You might want to invest in a better quality power brick before it causes a brown-out mid-flight.
image

1 Like

I also meant to say that wobble during decent is very hard to resolve - the answer is better tuning will help, but descend slower or manually come in at an angle or circular spiral.

1 Like

You might try increasing D and/or P for your pitch and roll axes above what you got w/ auto tune. I’m flying very different vehicles from you, but I find auto tune is too conservative and my vehicle is more in control if I increase them a bit.

Otherwise like xfacta says, everyone has that issue. And also like he says, I fly down at an angle or in spirals if I don’t have much space. I often descend at over 20 meters per second at a steep angle, probably about 70 degrees, and it’s completely smooth.

1 Like

You might try increasing D and/or P for your pitch and roll axes above what you got w/ auto tune.

Just to be clear, are you referring to these parameters?:
ATC_RAT_RLL_D: Currently 0.003547989
ATC_RAT_RLL_P: Currently 0.05722752
ATC_RAT_PIT_D: Currently 0.005119562
ATC_RAT_PIT_P: Currently 0.05823669

Sorry if this is a silly question - I am struggling to make sense of all these parameters.

Thanks for the great feedback, guys.
I will try out your suggestions.

I have heard that this is a problem everyone has to some extent. I am happy to live with a bit of wobble, but in my case the copter swings quite wildly - sometimes going almost on it’s side, which is really difficult to recover from.

I wonder how DJI (et al) handles this problem. Surely the off-the-shelf stuff they sell couldn’t have this issue?

Apart from your copter not being perfectly tuned yet, the wobbling during decent is essentially from decnding through your own prop wash - dirty air. There’s technical terms like Ring Vortex… Once tuned you can test the decent rate that works best in alt hold or stabilise, check logs and set that as your LAND_SPEED_HIGH and PILOT_SPEED_DN - be aware of centimeters per second!

The DJIs have a very tightly controlled decent rate that you cant really exceed, and we dont really have an insight into how much R&D they put into their equipment and software. You never know, they could have had a large team working for months on the design, build and tuning of a Phantom before release.
Also take a very close look at the angles of the props (and motors) on a Phantom and I’m sure you’ll see they’ve adopted some level of physical design to augment stability and possibly reduce their software processing or tuning requirements. Also it might help by reducing prop-wash across the camera gimbal. And I’m sure it’d be a double edged sword with plenty of trade-offs…
By the same token we’ve got a 450 quad with a low cross-sectional area and we spent time getting the props all perfectly level (less affected by wind) and you’d see it in AltHold in wind and swear this thing was in Loiter mode.

1 Like

Yes, you could probably safely set these and test-fly before running Autotune:
ATC_RAT_PIT_P,0.10 or up to 0.15
ATC_RAT_PIT_I,0.10 or up to 0.15
ATC_RAT_PIT_D,0.007
ATC_RAT_RLL_P,0.10 or up to 0.15
ATC_RAT_RLL_I,0.10 or up to 0.15
ATC_RAT_RLL_D,0.007
When changing these - do a takeoff in Stabilise and just cautiously test if the copter is reacting as planned and staying relatively stable before launching to the moon and trying acrobatics.

1 Like

I thought I would give an update…
I made the following changes:

ATC_RAT_PIT_P,0.10
ATC_RAT_PIT_I,0.10
ATC_RAT_PIT_D,0.007
ATC_RAT_RLL_P,0.10
ATC_RAT_RLL_I,0.10
ATC_RAT_RLL_D,0.007

Performance was heaps better. I could still manually induce a death-wobble by heavy pitching/rolling during descent, but it was no longer terrifying fly.

I then increased the P & I values as follows:

ATC_RAT_PIT_P,0.14
ATC_RAT_PIT_I,0.14
ATC_RAT_RLL_P,0.14
ATC_RAT_RLL_I,0.14

I can no longer induce the wobble. There is a slight sway during descent, but it doesn’t get out-of-hand like it did before.
The quad is a little more docile than before, but much more comfortable to fly.

I must say I am a little surprised by this result, I would have thought increasing those values would have made the problem more severe (i.e. I thought the quad would get its wobble going faster and more extreme), but thankfully this was not the case.

Thanks for your help.

I know! All the tuning advice you read out in the web is to lower PID’s when you get any sort of oscillation. But I have almost never seen oscillations from too high PID on any of my vehicles unless I put in a stupid high value on purpose.
But, almost every copter I’ve built has had control issues and oscillations until I INCREASED them! Sad to say it took me almost a year of tuning to finally be confident in my results… Hard to convince myself I was right and the thousands of forum posts I read were wrong.

1 Like