Crash Log Analyze (Heavy Drone)

Hi
I just had the first flight of my heavy drone and it didn’t end well. It is a heavy X8 drone with 8 U10 II and 30-10.5 prop with pixhawk cube orange
before this, I had flown this drone with Ardupilot (It was OK). after some upgrades and modifications, I decided to go on with PX4 for easier development.
I did several mistakes and the drone flow was only 6 seconds and oscillated around the roll axis and diverges and it flipped upside down. I didn’t have enough time to react well since I didn’t expect this
I list my assumptions on my mistakes:
1- after frame modification, The drone was too light. I didn’t install the dummy payload or anything else. so it was below 30 KG although it is designed for about 45 Kg. So not only it was too light, The CG was too up and making it more unstable.
2- Based on some past experience and advice over the internet and my own mistake I reduced the PID gains. almost to 0.3. (I think this is the killer)
3- I should have engaged the kill switch sooner.
4- I didn’t set PWM_MAIN_MIN to a value that when I arm the vehicle, the motor starts rotating on min RC.
5- Motor Ramp up Throttling was too aggressive
The flight condition was:
RTK float active, Takeof with Position Flight Mode to about 3-4 meters. a roll oscillation started. first about 2-3 degrees, next 10 degrees next 30 deg, and … in diverged until flipping.
before the first flight, I attached the drone to the ground and add about 70 percent throttle, and analyzed the log to make sure no bad vibration exist below cut off frequency

First I wanted to share my bad day and bad experience with you guys so maybe it helps somebody out there.
Now I want you guys that have much more experience please help me with the log. Did I do anything else wrong? do you think by just making the drone heavier and moving the CG down and resetting the PID, the problem would be solved? I appreciate your advice…

First Real Flight and Crash Log:
https://review.px4.io/plot_app?log=47ccc86f-be52-43ec-9bd0-d6a15eeb4026

Fixed to the ground throttle test to find the vibration and FFTs
https://review.px4.io/plot_app?log=66d0ef8e-3e75-465c-964b-ff06491caad1

Have a Safe Flight

1 Like

I’m new to the PX4 world, but getting ready to set up a larger hexacopter. I’ll be interested to see any feedback you get. One thing that surprised me is that the roll and pitch angle setpoints were oscillating as well. I’d expect the controller to keep a (0,0) deg set point and then you might see the rates oscillating to keep the UAS level. It seems to me that once your angle set point starts oscillating you’re going to lose the aircraft. But like I said I’m new to this controller.

1 Like

Thanks
The roll and pitch serpoints oscilation is because we are in position flight mode and drone started to deviate in XY position and started to compensate for that .
I believe the real problem is that the P rate gain was too low and the drone had almost no damping and resistant and deviated so much in pitch and roll. By the time the control moment succeded to stop the rotation (because of attitude P term) it was too late and it overshoorted to other side.(again because lack of damping and too low P rate ) and so on
Can you confirm this theory ?
I managed to repair the drone and replace the props already , increased the gains to PX4 default ones . but need you guys confirmation to try takeoff again :slightly_smiling_face:
And do you think adding the dummy payload and lowering the CG help on stablizing ?

Hi,
Firstly I would be flying such large frames in stabilise mode rather than altitude control modes.
Yes I would totally do changes in PID values starting with changing one controller at a time instead of using K value to changes PIDs. Also try changing thrust hover value to a calculated value which suits the best for the frame you will be flying and also set the PWM_MAIN_MIN values accordingly. Lower the thrust min value also.
After flying in stabilise mode and try manual tuning to get the craft in air using Multicopter PID Tuning Guide (Manual/Advanced) | PX4 User Guide and MC Filter Tuning & Control Latency | PX4 User Guide. Analyse the log file and do necessary changes.
Hope that will help.

1 Like

Thanks for your explanation

1- you mean start with default gains (K=1 , …) and change one by one?
2- For PWM_MAIN_MIN I manually check on what RC PWM motor start spining. it was about 1180 and set that as PWM_MIN. is this a correct method?
3- What about the Thrust curve? is 0.3 a good value?
4- for hover throttle, honestly I have never touched this setting in any of my drones and it was acceptable. should I change it now? what is the procedure for that?

First try flying only in STABILISE mode with the default settings though they are bit high for your drone or you could start with reducing P and D gains:

  1. Set k=1 and reduce your P and D gains first. MC_PITCHRATE_P, MC_ROLLRATE_P, MC_ROLLRATE_D and MC_PITCHRATE_D. Then see the the perofrmance and follow the tuning guide- Multicopter PID Tuning Guide (Manual/Advanced) | PX4 User Guide.
  2. PWM_MAIN_MIN is set correctly but set MPC_THR_MIN to a lower value like 8%.
  3. Thrust curve is only used to cover the non-linear characterstics of the ESCs and is only used in STABILISED mode. So my suggestion is to keep it to 0 and if you feel that thrust curve is not linear you can start with changing its value.
  4. Hover thrust is the initial value from which hover estimation initialises. Though hover estimator always runs but it is a good practice to set it to a pre calculated value where you feel that your drone will hover.
2 Likes

First,sorry to here that,and I am anew to PX4 too.I have a heavy drone,but smaller than yours,I use the bobbywing X9 motors with quadrotor.Hope I will lucky than you….

1 Like

very nice explanation … thanks man
I will give these try and plan to do some static tests again before the first flight.
Do I need to change the cutoff freqs as well? This frame had a successful fight with ardupilot default gains and I believe ardupillot default Cutoff frequency is about 20 but the PX4 Gyro cutoff is more. I think these heavy drones don’t need that many big cutoff frequencies. by the way, with ardupilot the Payload was mounted and the CG was much lower and acted as a stabilizer. but in the crash flight, I had no payload and I believe CG was above or the same Z as the motors and the drone actually act as an inverted pendulum. So you agree to add a dummy payload and add more stability terms like a pendulum?

One more question, I am somehow afraid to use stabilized flight mode in big heavy drones. and believed that the position at least reduces workload. am I wrong? I used to believe if the rate controller is tuned Ok, position or altitude will do the job.

As far as cutoff frequencies are considered you can reduce the filters as bigger frames do not need that much of low latency. You can reduce the filters to 20 or 15.
I believe in Ardupilot you have to set initial parameters according to your prop size and that automatically set the PIDs for you. So technically they are not same as default.
Considering your AUW of the frame you should mount dummy payload so that the motors should not be so overpowered.
If you are experienced in piloting, I think for safety reasons if your frame is not tuned you should always fly in stabilized mode. And I would also suggest to keep MPC_THR_CURVE to “Rescale”. It would be much safer.

1 Like

The roll and pitch serpoints oscilation is because we are in position flight mode and drone started to deviate in XY position and started to compensate for that .

Ah, of course. Thank you. Interesting discussion that I will be reading carefully before my first flight.