Hexarotor experiencing serious instability and vibrations

Hello,

I’m new to these forums so I apologize if this is in the wrong place or has inadequate information. I will do my best to explain my problem completely but if I am missing something please let me know.

This is the build I currently have:

  • Tarot T960 frame
  • Pixhawk 3 Pro flight controller
  • Drotek F9P RTK GPS + compass linked here
  • Hobbywing 40A ESCs
  • Tarot 5008 340 KV motors
  • 1855 props
  • X8R radio
  • 915 MHz telemetry radio

I have been trying to test this out by doing position hold hover tests for the past few weeks. It started out with serious vibrations or instability in the roll and pitch axes (see video here and log here). I figured it was probably propeller balance since we had not flown this copter in over a year. So I spent some time balancing the props and adding a vibration mount to the FC. Here is a video of another attempt where it ended up flipping over. Here is the log for the same flight:

NOTE: between these two attempts I also had to roll back on the PX4 firmware revision. I was using v1.11.1 the first time and found that after mag calibration one of the three magnetometers was not being detected (2 on FC + 1 on GPS). This was not an issue on v1.10.xx revisions. I managed to reproduce this issue on another FC + GPS so there is clearly a bug in the code somewhere.

We tried again today several times. Position hold tests showed the same type of behavior; small instabilities in the roll and pitch axes that seem to amplify over time. We tried Altitude mode and that just ended up flipping the drone over. We also tried changing the derivative gain a bit but that didn’t seem to do much either. Here are the logs from earlier today:





NOTE: One important thing to note is that in all these tests I see the same type of behavior on the graphs: there is a lot of vibration (“Raw Acceleration” and “Vibration Metrics”) and the “Pitch Angular Rate” and “Roll Angular Rate” show an amplifying sinusoidal shape. “Raw Angular Speed (Gyroscope)” also show similar waveforms in each instance in X and Y. Typically this would indicate a mechanical issue by my understanding but we’ve flown this copter before albeit using a Navio2 and Ardupilot. I have also tested each arm independently in the powertrain by measuring its thrust on a weighing scale. I honestly can’t think of what else could be going wrong. Can someone please help? Could it possibly be the flight controller? Perhaps FMUv4 does not work well with hexacopters? I have tested these avionics on a quad and it works perfectly fine.

It looks to me like you battery is dumping.
The voltage just drops off and it seems to line up the oscillations.
Go look at the graph labeled Power.

Wouldn’t that happen anyway if there was instability? In other words, how do we determine a cause and effect?

Typically batteries are not so much affected.
I agree determining cause and effect can be hard.
It also looked like your PID charts look very strange. I don’t know what it means.
Typical PID chart:


Yours:

Thank you for bringing this to my attention. I am not sure I understand it much either but I am going to have to do some research on this for a bit. One thing that pops out is that my PID graph is quite coarse in comparison to the one you’ve posted. Is that a low loop frequency? Any and all comments are welcome in the meantime.

@plasmatorus I’ve had a similar experience with my hexarotor that hopefully can serve as an example of things to try to troubleshoot.

At the time I successfully built an F450-based quad running Pixhawk 4 Mini - which flew and hovered very stably - and moved up to a hexarotor, powered by a pix32v5. The hex would take off fine, but once in hovering position it would start to wobble, eventually in extreme fashion and would crash (every single time). It was puzzling, because the hex had flown fine earlier under the control of a different FC (sound familiar?). The usually recommended troubleshooting steps of checking rotor order wiring etc. didn’t uncover any issues.

I never had any instability like this with the quad.

After a handful of frustrating crashes which were putting my equipment at risk, I decided to try to underpower the hex by only changing the props (from 1045 to 8045) to see how it would behave. The hex took off and flew reliably with that configuration. Since then I dialed down slightly the main gain settings and put the 1045 props back, plus a bunch of additional equipment on the hex which increased TOW, forcing the motors to work more just to stay in equilibrium.

My educated guess at the time was that it had to do with one of the main gain settings being set too high for the quad configuration and its weight. With 2 more motors in the mix as compared to a quad setup, less thrust per motor is needed to keep a hex stable. When the gain is set past some threshold, an initial over-correction by a motor may trigger a runaway effect with opposing rotors increasingly “overreacting” to compensate for the change in attitude from the instant before, eventually causing a crash.

Software-wise it’s possible that the gain settings are not driven in correct proportion to the airframe setting. I can also imagine that with six motors the range of appropriate values between different setups out there may be simply too wide to have a one-size-fits-all-out-of-the-box solution.

Try to dial down gain(s) even more. If you’re not sure what to tweak and are worried about crashing again, temporarily put on weaker props - a controlled configuration change that will help you keep flying and troubleshooting until you get more familiar with analyzing/optimizing the (gain) settings.

Thank you for sharing your experience, Adam. I have also realized that my ESCs were not properly calibrated. They should spin up when armed and stay spinning even if the drone is tilted around (reference here). I am not sure if uncalibrated ESCs can cause something like this but I’d like to try that before messing around with PID gains (I have no prior experience with that).

Can you please clarify where you got that graph from? Is that from a physical system or SITL?
I just tried again today after enabling high data rate logging and my graph looks a lot smoother now albeit still not ideal. I have still not figured out the cause of the issue.

If you mean the one I posted as normal, I got from the log from my drone.