Fatal crash when switching from Manual to POSCTL: Need help verifying mistake


Hello all, I need help verifying that I found my mistake that led to the crash.

After setting everything with pixhawk 1 to fly a standard plane and flying manually correctly for a few laps the pilot I was flying with (very experienced) attempted to switch to POSCTL mode. Right away the plane went full pitch up and the pilot managed to regain Manual control when falling down. On the second attempt to turn on POSCTL, the plane went pitch down right away and the pilot couldn’t save him in time.

Flight log is here: https://review.px4.io/plot_app?log=3cd5f6e5-cb10-4fb6-86f3-77691564acd3

Now, I think I may have found the cause for this, and wanted mainly some help in making sure this was the error in order to prevent it next time.

I believe the issue was a combination of poor radio calibration and wrong mixer configuration
Despite everything working fine in Manual flight, we can see two things comparing these two graphs:

  • First, the roll control has an offset between what we are sending in the RC and what PX4 believes we want (not sure if caused crash, but must be fixed next flight);
  • Second, and most critical, the pitch control is reverted.

My main error was reversing the signal on the RC when I noticed the elevator needed reverting, and that led to an extreme unstable flight when switching POSCTL.

As can be seen above, the pitch setpoint is decreasing. However, due to mixer complications, the servo output increases, which causes the real pitch to increase. After the initial unbalance, PX4 probably keeps trying to correct increase in pitch it sees, causing even more increase. The same is repeated (but in reverse, with the plane trying to climb) in the second instance of POSCTL, where the plane crashed:

It is left to verify that the seen increase in the elevator servo increases the pitch angle and vice-versa. One place we observe this is in the successful manual flight. At around 30:10 in the log file takeoff occurs:

We can also see the pitch angle is correctly observed as positive:

And the servo output is positive as well:

So, if the Pixhawk wanted to climb but sent the servo the reversed signal, I am led to believe this is purely a configuration/calibration error.

This is my first even build and contact with PX4, despite having studied it quite a bit. Can someone with more experience corraborate that this was the problem? And also, if so, what would be the best way to fix it and test for this kind of issues before takeoff next time?

Also, how safe is to fly the same pixhawk/gps that crashed if they behave well in the lab bench?

Thank you for your time,
Miguel Barros


Some crash pictures to satisfy the curiosity:

1 Like