Oscillation induced from dampened/loose payload

Hi All,

Really stuck here. Hoping someone has some insight into this issue.

1600mm Octocopter
T Motor MN605 170kv
22in props
Pixhawk 2.1
ArduPilot 4.0.3
Wire spring damper (it is soft, but does not have any “spring” to it that would induce an oscillation)

It seems like no matter what I try I cannot get rid of small oscillations after a small but sharp input when I have a payload attached. As you can see in the video below the payload damper is very loose. I need to keep it this loose to get the best camera stabilization possible. When I put the DJI A3 on the drone, I don’t have this oscillation, so I am really hoping a can “tune” it out somehow with ArduPilot.

Video: https://www.youtube.com/watch?v=_XxzNKjsUBQ
-Same gains in both flights. P gains cannot be any lower with a payload otherwise the aircraft flies terribly. The aircraft seems to fly the best (with payload) with P gains around 0.25 on pitch/roll (vs 0.2 in the video), but this causes the oscillation issue to be even worse.
-10kg (22lb) weight
-The FC is dampened on a silicone damper. I thought this may be part of the issue, but I have tried hard mounting the FC and the oscillation is still there.
-If I perform an Auto Tune (no payload) it gives me pitch/roll gains of approx
P: 0.15
I : 0.15
D: 0.005
ATC_ACCEL: 30000
Auto-Tune makes the graphs look better but the aircraft isn’t responsive enough. So I have settled into gains that you will see in the logs:
P: 0.2
I : 0.2
D: 0.005
ATC_ACCEL: 70000

Flight Log (no payload): https://www.dropbox.com/s/hq2zd692pjhr0xf/00000082%20-%20No%20Payload.BIN?dl=1
There is some overshoot but flies very well. There is little to no oscillation when the aircraft is returning to 0deg roll. The only way I can seem to remove the overshoot is by significantly reducing ATC_ACCEL but then the aircraft feels unresponsive. Regardless of what the graphs say, it feels great in the air.

Flight Log (with payload): https://www.dropbox.com/s/eaove7d0ra495ka/00000083%20-%20With%20Payload.BIN?dl=1
-Maybe I am missing something but the logs don’t seem to accurately show the small oscillation that are visible in the video. The graphs seem to show only “one” cycle of oscillation yet in the video it seems like there are 2-5 oscillations after a small sharp input. (maybe around 3hz?)

Anyways, hoping someone has an idea to fix this. Thanks!

I am more puzzled by what you are expecting than what I am seeing in your video.
If you watch the payload, the the copter is bringing the payload swing to equilibrium very quickly, in what you are calling an oscillation.
Your tune is tight, and the copter looks to be responding very well.
When you move it sharply it displaces the pendulum payload you have, so when released it does very well at arresting any pendulum effect created by your movement.
Try watching any videos of crane operators when they do a yaw movement and what is required to arrest the swing of the payload.
The copter is just doing the same.

1 Like

Hi Mike,

I think I should have done my test/video differently. The oscillation I am referring to is much faster (higher frequency) than the resonance oscillation caused by swaying of payload that I believe your are referring to. I agree the aircraft is doing a good job of fighting the payload swing and there is always going to be “wobble” caused by this.

I need to create another demo video where I increase the P gains about 25% (compared to this demo) which is where they need to be to have good performance with a payload. With the P gains around 0.25 the oscillation I am referring to is much more apparent and hopefully you’ll be able to see what I am referring to.

The oscillation I am seeing looks like any other multirotor that has the P gains set to high.

I understand the theory of why this is happening. The damper allows the aircraft to pitch/roll a few degrees without feeling the mass/inertia of payload. Setting the gains higher (0.25 for example) induces oscillation within that few degree area. Once you pitch more than a few degrees and the aircraft “feels” the payload, the P gains need to be higher otherwise it’s sluggish. It’s an interesting problem. I was just curious if there is anyway to apply a filter or something that may help with this. As I mentioned, somehow the DJI A3 algorithm minimizes this oscillation substantially while still allowing the gains to remain high.

The small oscillation really messes up my FPV feed especially when the aircraft is in forward motion and then the pitch/roll is brought back to 0deg and the aircraft glides through the air (during which it tests to oscillate).


I should have explained in more details the ‘tune is tight’ comment.
Here is what you are seeing, with payload-

Without payload-

There is considerable overshoot in Actual to Desired.
This is the tightness that is costing you power and creating vibrations.
Although your vibes look good the IMU data is shows some additional detail.

most notably in the Z axis which relates to the overshoots seen in the DvA graphs.

This is the vibration you are referring to which with a little help (upping the gains) results in the oscillations.

The copter is tuned too tightly.
Try reducing the INS_ACCEL_FILTER to around 10 and the INS_GYRO_FILTER to the recommended values in the tuning page although I have had good success with both at 10.
Reduce the Autotune aggressiveness and try re-autotuning.
With Autotune I always start at minimum (safe) and work up from there.