Very large UAV drone - stability issues

Hey guys, our team haw recently built a large (2000mm diameter) octacopter UAV with a 40 kg Payload capability.

Unfortunately, the drone becomes unstable almost immediately after takeoff. The stock PID tuning seems completely off. There are no mechanical issues with the frame, arms, motors (we have enhanced all the connections and made it super rigid). The Pixhawk 6X FMU sits on vibration dampeners (is this correct or should we hard mount the Pixhawk to the frame ?)

The drone appear to do a wobble and increasing oscillations in both pitch and roll axes begin to appear as soon as you move the sticks during the tuning phase.

We have tried zeroing the I term, and reducing the P and G gains of the rate in both pitch and roll. Also, we reduced the attitude P gainsand the behaviour of the drone got better but it is still not flyable.

Are there any other parameters that we should be aware of (maybe harmonic notch filters etc). Does anyone have experience with massive drones and PID on PX4 ?

I will provide some photos and flight logs for reference.

MC_ROLL_P and MC_PITCH_P for the attitued controller were reduced from 6.5 to 4.0.
MC_PITCHRATE_D was reduced from 0.003 (default value) to 0.001.
MC_ROLLRATE_D the same reduction as pitch.
MC_ROLLRATE_P was reduced from 0.15 default to 0.05
The I term was set to 0, in an attempt to reduce the low frequency oscillations of the UAV.

The throttle curve was set to 0.3

Any advice on how to continue from this point ?

Thanks in advance,

George Katevatis





If you share a link to the log that would help.

I think what you tried makes mostly sense. One more thing to consider might be to increase MC_ROLLRATE_P slightly instead of reducing it, just as a try.

To avoid crashing, I would build some sort of setup that allows you to tune it without falling on the ground, e.g. suspended on a rope (with a kill switch ready).

And let me tag @bresch here, he might have better advice than me.

I also got a similar issue.
Ticket is there with the details: Drone starts crashing after Auto-Tune (PX4, OctaQuad, Larger Inertia, Pixhawk 6X) · Issue #24505 · PX4/PX4-Autopilot · GitHub

These are the log files from 4 different flights we did while tweaking some of the PID loop parameters. Some videos are also in the folder for reference.

We haven’t yet autotuned the UAV, we change the relevant parameters manually for now, until we can achieve a stable hover.

Hey Julian,

we had another testing round and the behaviour of the drone seems better. The is still a low frequency oscillation on pitch and roll axis. Here is the link containing 2 flight logs and 2 videos for reference.

There seems to be high accelerations on z axis, a 80-90 Hz resonance frequency and quite a lost of vibrations. Also the magnetometer seems to have noise and some unwanted yaw rotations were seen without any input from the pilot.

Should we hard mount the pixhawk 6x to the frame ? Also, a notch filter will be applied around the resonance frequency and gyro_cutoff frequency will be adjusted accordingly.

We are also thinking of adding a dummy weight of 20 Kg near the C.G because the UAV seems a bit light and overpowered without any payload. What do you think ? Is this something we should try in your opinion ?

Any other suggestions or parameters we should take into account in the next flight ?

Thanks for the help,

George

Which autopilot are you using?

What’s the hover throttle? If it is too extreme there isn’t enough control margin and it would be hard to tune.

By the way, I don’t have the time to download and look at log files, so if you want me to look at a log, please upload to logs.px4.io and share the link here.

The hover throttle is at 40%. I will try to reduce the max_throttle parameter or add a payload for the next test.

The Flight controller is the Pixhawk 6X (PX4_FMU_V6X (V6X003)). The firmware is PX4 v1.15.2. These are the logs :

The two flight have slighlty different pid values and parameters. The second one seems a bit better.

The flights were made in Position mode which is not tuned, so that might interfere with the stability of the drone. I will try to fly in stabilized mode next time.

@George_Katevatis
The main issue is that the drone seems to struggle to produce yaw torque. The rotors are then running at highly different operating points and this creates coupling between the roll and pitch axes (e.g.: due to nonlinearities, roll torque creates an undesired pitch torque)

This is not a tuning issue but a hardware problem and can be addressed by tilting the rotors (by 2-3 degrees) to increase the yaw effectiveness of the drone.

Thanks for the response @bresch. Each two arms are mechanically coupled which seems to have resulted in a weird angle of the motors (in the tangent to the circle of the arms direction) in a way which counteracts the yaw authority of the UAV.

I have a questions about the actuator controls diagram : Can an actuator control be negative (like yaw counterclockwise is negative on the y axis, and vice versa ?) How did you deduce that the drone doesnt have enough yaw authority ? The pilot didnt input any yaw command but the drone seems to have an actuator yaw control input. Is this because of the misaligned motors ?

The non-zero yaw control value is generated by the yaw/yaw-rate controllers. If all rotors are perfectly aligned, this value should be zero, but in your case, the drone produces a positive yaw torque when all rotors are spinning at the same speed. To counteract this, the controller generates a negative yaw torque.

I said that it doesn’t have enough yaw authority because it needs about 20% of its maximum yaw torque just to stay in place. With higher yaw authority (by tilting the rotors), the yaw controllers will have to work much less and all rotors will be operating at a similar RPM, making the whole system more linear and stable.

2 Likes

@bresch we have chaged the tilt angle of the motors to increase the yaw authority of the drone. This solved most of our stability issues. The drone is stable now and well tuned. The only issue remaining is a slow unwanted counterclockwise yaw rotation. We tried to push the I and P gains of the yaw controller, but the controller seems unable to counteract this rotation. Let me share a log file and a video for reference. From the diagramms one can see that there is a yaw FF setpoint offset and the motors seem to operate at a slightly different point. In the manual radio/joystick diagram there seems to be a command to yaw without the pilot giving any input with the joystick. Is this a radio calibration issue, a faulty compass or a motor thrust imbalance due small differences in tilt angles? Feel free to give any suggestions. The vehicle struggles in mission mode as well, after a stable ascend it toilet bawls during the transition to forward flight.

The log file can be found here :

Thanks in advance !
George

This usually means that your compass is measuring power electronics (motor wiring or motors) interference or isn’t calibrated properly.

I don’t see this problem from the log though. It looks ok, or what am I missing?

the log was from another shorter test flight in Altitude mode, not in mission. We have added height to the GPS module so that it is quite far from the power cables. In the logs i don’t really see any interference issues, have you found any indications of that ? The problem with the compass might be the reason for the unwanted yaw also… Do you recommend making the pixhawk’s 6X internal compass the primary one and disable the GPS one ?

The GPS one should be correct. Are you sure it is actually detected and used?

You can do startup without it connected and then listener sensor_mag and then start it up with GPS/mag connected, and check again. You should see one more topic in that case.