-
Notifications
You must be signed in to change notification settings - Fork 13.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PX4 1.6.5 Stbl: Loiter switching BUG. #8376
Comments
On first pass it looks like a mechanical failure: Everything is going well up until the point when suddenly the system is not able to achieve the pitch demand any more: It pitches up instead of the commanded down pitch. The pilot is not involved in this (he is not controlling the plane at this point). Could you please check the plane and actuators to see if you see any signs of pre-crash mechanical failure on the servo or flight control surfaces for the elevator? |
@dagar Happy to have your review as well. |
Thanks a lot for the quick response. But I could not agree with the mechanical failure so I changed the name again. Here is why I don't agree. Usually the first thing I do is look for mechanical failure. And after I exhaust all the options I continue to look for some other reasons. I spend at least 4 hours with this log. I haven't been at the flight, but I got very detailed explanation of what happened combined with a video.
Please can you confirm it is a mechanical failure while digging deeper in the LOG. Sorry I oppose you but I think this time it is not mechanical. |
@LorenzMeier The pitch demand could not be reached in the under speed condition as well... |
@tubeme edit2: @tubeme It looks like it's in fully manual: the controllers are saturating but the actuators outputs are following the RC controls directly |
@bresch Exactly my point. It was funny Manual... It does not have to be like this!!! It is a corner case, when he made a switch in the modes while Pause was still ON. Pause (Loiter) should be implemented like RTL. Before that it was not possible because you had to switch to Mission in order to have the Pause activated. But after a long discussions I think @AndreasAntener made the Pause to work like the RTL and could be activated from all modes. I insisted on this implementation and it is just very good one. But probably there is something left in the implementation, and this is the first time anybody has this case. This is due to inconsistent pilot. But that is what pilots do, sometimes they are inconsistent. In our other projects the pilots are pretty well trained on PX4 so they are very consistent. So we did not experience it yet. |
It is very good idea to give a pitch control in the loiter in order to climb or descend but other than that there should be no manual control. Otherwise it happens this :) Total crash |
@tubeme I didn't dig into the implementation of the modes switch, but obviously this is a bug and has to be fixed. There is no reason that it goes into fully manual if you switch to stabilized. (Even if it's unlikely that someone has the same problem soon (I don't think many people use loiter on a 2nd switch), but I set it to Priority critical since it leads to an unexpected mode that can easily lead to a crash.) |
@bresch Fair enough let it be Full Auto mode then, as it is meant to be for now. There is another approach to the problem. If it is in Pause, then the RC pitch up command could trigger MAV command for altitude gain or descend and not manual controlled one. |
Standby, I may have found something. |
Sigh, this is the IO taking over in MANUAL (main mode switch), and not aware of the FMU side logic change respecting LOITER switch precedence. The controllers are still running, but don't know their output is ignored. Hence it looks convincingly like a mechanical failure. This is why we need everyone focused on using/developing/testing the same core feature set. I'll look into a short term fix for v1.7.0. |
@dagar I know he commanded RTL because of his explanation, but i see it was too late in the dive, so no time for recovery... Probably we could omit the old style in favor of the new style. But the current new style with only 6 positions (that I can split in to multiple switches in the RC mixer) is not enough for more complex setups regarding the PRO use, being pro rider use (multiple of acro manual ratitude modes) or pro commercial use like geodesy or observation and inspections use. There was discussion on this matters I remember in the issue i mentioned above : #6733 We could rethink the whole idea with a new perspective, make it simple and tight but at the same time flexible and powerful. |
Yes you can see the brief RTL in the my first plot (light red near the end). |
Fixed in the referenced PR. |
Hi guys,
We've had a total crash with a Skywalker, Plain Airplane profile. PX4 ver 1.6.5 stable.
https://logs.px4.io/plot_app?log=6daee88d-90d7-4cbe-abb7-440591fef87d
I think I found the reason but it is very strange and I need conformation. This is due to a BUG if I'm correct so please can you take a look and confirm the reason.
The pilot is not novice, it is pretty experienced one in terms of piloting a plane, but somehow sometimes the PX4 is overwhelming for him especially in certain situation and he is doing irrational switching (as many PX4 users might do).
This is the case:
He flew in Position and went in to Loiter (Pause). Then at some point he wanted to gain altitude while in Pause mode. In the graph it is obvious he started pitching up. But nothing happened as it should be, the plain continued to control the speed and throttle in the Loiter, despite the throttle lever was at 60%. In the latest implementation the Pause button will get the plane in Loiter from any mode. So initially he was in Position mode with activated Position switch. Absolutely normal operation as it is meant to be. Then strangely enough he switched to Manual in the attempt to gain altitude, without turning off the Pause button. The plane continued to circle, but strangely enough transferred the full control of the Throttle to the lever of the RC instead of controlling the throttle in the loiter itself automatically. At the same time the pilot continued to pitch up and gained altitude and I see it clearly in the graphics.. Because he had the lever at 60% throttle it was not enough to sustain the loiter, so the plane started stalling, but still trying to continue to sustain the loiter radius and gain altitude in the condition of under throttle. Because of the stalls the plane was rather going in spirals toward the pilot, and he explained that he thought it is drifting still not realizing what is going on. He did not realize that the Throttle is in his control. Then at the last stall the plane just plunged in nose dive. Because we have a hard limit of 45deg for the pitch, the plane did not have any altitude and time to recover.
I did not see any mechanical failure, neither to the servos neither to the GPS nor the airspeed sensor nor anything else.
Please can you confirm this and if it is a BUG it should be corrected.
Pause should be totally Auto mode, probably allowed to have some small amount of pitch control in order to gain or loose altitude, but in no case we have to give the throttle a manual control at this moment.
The text was updated successfully, but these errors were encountered: