Dear PX4 users and developers,
I had a crash with my Quadcopter 2 weeks ago, when it flew behind trees and I had RC linkloss.
Now I repaired it, flys again, and made some tests to find out why the crash happened.
I noticed the following behaviour:
When I fly in position-mode slowly forward, then switch off the transmitter:
The Copter just continues the last RC command!
In my case, just flys forward.
How long? I tested it, more than 1 minute, so forever!
This is very dangerous in my opinion, it can easily crash into trees etc. like this.
I thought at least the linkloss should trigger after some time. I didn’t trigger at all! (was adjusted to 30s, RTL).
Have adjusted it shorter, 5s, and tested again. Did not work after switching off the transmitter!
In my opinion the behaviour in position-mode flying and RC link loos should be:
Stop, hover at the position where it is.
Just like no steering input from RC, sticks centered.
Wait until linkloss time is reached.
Then trigger the adjusted linkloss precedure, e.g. RTL.
Without these functions PX4 is not suitable for FPV flying. Because you often fly between objects and it can always happen to get short linkloss. To continue flying forward into fixed objects is the worst linkloss behaviour possible.
Can the behaviour somehow be adjusted in the parameters? I searched, und read the usermanual, but only found the know linkloss time parameters.
Would be thankful for any advice! Have a nice evening!
PX4 definitely has working RC and data link loss functions (I use them all the time).
Are you able to share the flight log? Please post to https://logs.px4.io/
Something is likely misconfigured with your RC or parameters. RC failsafe is enabled by default.
Can you verify that your receiver doesn’t hold the signals?
Some receivers (like the TBS Crossfire) have a mode to keep outputting the last received values even if the RC communication is lost.
I did some more tests in the meantime:
My receiver really just holds the last RC stick position, when I switched off the transmitter.
Luckily it was possible to change this behaviour by setting failsafe values in the receiver. I have set them all channels to 0% (=stick center positions). Checked it just with servos, without Pixhawk, worked.
RC-loss tests inflite again:
Unfortunately again no RC linkloss procedure was triggered!
What signal or behaviour exactly does a receiver need to do to be detected as RC-loss by Pixhawk and PX4?
I guess my receiver failsafe settings 0% have the effect, that the receiver still sends PWM 1500ms on all channels.
Maybe it just needs to send no PWM at all?
With my current receiver impossible as far as I know, but could maybe solved by a different receiver.
Telemetry link-loss behaviour:
During testing (in position-mode) I also tested to unplug the ground telemetry modem, to see its linkloss behaviour. Was set to 5s RTL.
Unfortunately no linkloss was triggered at all!
Does in position-mode maybe work no linkloss behaviour at all??
Thanks for any advice!