Since the drone was moving so unpredictably, I haven’t taken it out to try again yet. I’ve been reading through the PID documentation for troubleshooting steps, but since I’m so new to this, any ideas on how I should tune the PID before doing another test flight would be greatly appreciated. Here’s what I’ve verified since this failed flight:
The motors are all spinning correctly
The CW/CCW blades are on the correct motors
The motor mappings match the given PX4 diagram in QGroundControl for an Octorotor x airframe
The ESC and other sensors have been calibrated
None of the motors stop spinning when the drone is armed and tilted on each side (tested this with throttle engaged and propellers removed)
I’m brand new to making forum posts like this, so please let me know what other information I can provide to help figure out how I can solve this issue, and any help is immensely appreciated.
My guess is that some tuning is required but I’m not 100% sure which params to change how. I’m going to tag @MaEtUgR, hoping that he has some better input.
That being said I see that you took off in position control. I would probably use altitude control first, hoping that it won’t lead to the oscillations. You could even do a first hop instabilized/manual flight mode but it can be a little tricky on the throttle/altitude control at first.
Thanks for tagging me. The video is really helpful.
One thing I immediately noticed is that your vibration is very high: ± 6g in all axes while I’d try to target for sure less than ±1g in hover. How did you mount the autopilot to to frame? Are the propellers balanced? In there something on the frame that can rattle hard?
I’d assume there must be something improved also on the hardware side because it’s super violent and I’d expect it to be less bad with different tuning but and underlying hardware issue might make tuning impossible.
When looking at the log (and video) it’s pretty obvious that the attitude controller is unstable.
So first of all I’d fly in Manual/Stabilized mode for initial testing. It’s worth to train a bit of piloting before that but once you know how to use it this mode will give you much better control to test the tuning and avoid crashing. E.g. if you see it oscillating just drop the manual thrust and it’s back on the ground without flying off and dropping from high altitude.
Then for the next test I’d recommend to try lowering the parameters MC_ROLL_P and MC_PITCH_P also because it’s a fairly large vehicle. Maybe start with roughly half the default value 6.5 / 2 = 3.25 and see if you gather some stability and learnings even if you might be able to increase again after solving vibration issues and tuning the rate controller. E.g. follow Multicopter PID Tuning Guide (Manual/Basic) | PX4 User Guide until it’s hoverable.
Rate tracking looks kind of hesitant and you could possibly improve by increasing MC_ROLLRATE_P and MC_PITCHRATE_P but with such large vibrations, it might get even worse… To better tune the rate controller you ideally learn to hover in Acro mode and follow Multicopter PID Tuning Guide (Manual/Advanced) | PX4 User Guide but if you don’t want to do that or are already happy with the tuning after the basic tuning then that’s fine.
I hope that helps even though I don’t know for sure what in particular caused the oscillations.
Thank you both for taking the time to review my video and log for this flight, I apologize for my late response. I came to realize this failed flight was likely because PID auto-tune was enabled before taking off, so we did another test in Stabilized mode after making sure autotune was disabled, and it went well overall. However, I’ve had some additional issues after this flight that I’d like to ask about – should I provide the details in this thread, or would it be better to make a new one?
Yes – once I disabled autotune, the drone was able to take off no problem, but I had an issue getting the drone to come down to the ground with the throttle stick. I think this had something to do with the throttle scaling parameter, here’s the thread I started to ask about this.