GCS failsafe withoout RC override

First of all I apologise if this is in the wrong section: I wanted to suggest a feature (or understand why it is not implemented) and could not find a more suitable place for the request.

I think it would be useful to make it possible to trigger the GCS failsafe even when it is not being used for RC overriding. If GCS contact is lost, the pilot will lose access to all telemetry information, namely flight mode, which can make it hard for him to safely fly. Given that it is relatively simple for the telemetry link to be lost without the pilot noticing, don’t you think it would be useful if a failsafe could be configured for this event?

Until now, I didn’t know that failsafe only worked during override. I never use it, but just assumed it would initate regardless of who/what was controlling it. Glad I looked.

That said, if you need GCS feedback to know what flight mode you’re in, I think that’s an operator skill issue that needs to be addressed. You should not require a GCS to tell you what mode you’re in. Loss of GCS telemetry should not be a safety problem. If it is, the safety problem is really operator experience and comfort. Practice more, making a concerted effort to know where you are, what mode you’re in, and the feel of the switches.

I don’t really think it is just a skill/experience issue; the autopilot may switch flight modes on its own (eg: due to a failsafe triggering), and it may be hard to figure out what’s going on without GCS feedback

I’ll give you that it can be helpful. But a great many people fly with no GCS at all too. If you’re paying attention, you should be able to recognize what it is doing compared to what you expect it to be doing. Being aware of your battery time, location, distance, and what the failsafe conditions are is critical.

That said, I guess as long as it’s an option, it can be a useful one. For example:
GCS Failsafe Disable
GCS Failsafe only in RC Override
GCS Failsafe always

What part of GCS Failsafe isn’t sufficient:
http://ardupilot.org/plane/docs/apms-failsafe-function.html

james_pattison I was referring to ArduCopter GCS failsafe
http://ardupilot.org/copter/docs/gcs-failsafe.html

The issue, for me, is this: More specifically, if you have been using the GCS to control Copter (i.e. using a joystick) and then lose GCS contact for at least 5 seconds…. That is, the GCS failsafe only triggers if you are using the GCS to control Copter (through RC override). I think it would make sense to make it possible to trigger when not using RC override (eg: in the most usual setup of one RC controller and one telemetry tablet or laptop). Wouldn’t you agree?

Ok. Sorry. Have a look at Advanced Failsafe (AFS). The docs may say it can only be enabled in plane, but you can use it in copter. Not sure if it’s in a stable release, but it is in recent builds (master and/or rcN).

Thanks, I’ll have a look and see if I can use that.

In copter, is uses the same parameter, but only has options of on or off. And on only applies when in RC override.

I am flying my copter over joystick on mission planner. This failsafe is very critical for me even if I am not doing rc override. Could you help me how to implement this failsafe function?

Sorry for the delay in replying. I intend to make a change in the code to add a new option in the GCS failsafe configuration parameter to make it trigger even when RC_OVERRIDE is not being used. When I do I will make a pull request and hopefully it will be accepted and merged for the next release.

Until then a (very) quick and dirty workaround is to go to Arducopter/events.cpp, look for the ‘void Copter::failsafe_gcs_check()’ function and change

if ((!failsafe.gcs)&&(g.failsafe_gcs == FS_GCS_DISABLED || failsafe.last_heartbeat_ms == 0 || (!failsafe.rc_override_active && control_mode != GUIDED))) {

to

if ((!failsafe.gcs)&&(g.failsafe_gcs == FS_GCS_DISABLED || failsafe.last_heartbeat_ms == 0 )) {
1 Like