HOLD when no rtk GPS fix, and back to AUTO when it recovers

@Andrew_Tridgell and others,

I need my rover to HOLD when there is no rtk GPS fix (i.e. when GPS fix type is lower than 5). Also, after such a hold, if the GPS fix recovers (i.e. changes back to 5 or 6) I’d like the rover to resume its mission, i.e. go back to AUTO mode. The basic logic I need is:

  1. If in AUTO, and GPS fix changes from (5 or 6) to (value <5), change mode to HOLD and DO_SET_SERVO #5 to 900
  2. If in HOLD because of the above rule (i.e. and not because of some other reason), and GPS fix changes from (value <5) to (5 or 6), then DO_SET_SERVO #5 to 2000 and change mode to AUTO

I looked and didn’t see any internal support for this within the Failsafe mechanisms inside Ardurover… Right? Given that, what if any difference do you see between implementing this as a LUA script and building logic on my companion computer?

Thank you

Hi Cristopher
It would be very a very interesting improvement this failsafe for rovers . It would ensure a secure path over time in restricted areas. there was an issue raised about this time ago https://github.com/ArduPilot/ardupilot/issues/8787 but for some reason was never implemented in rover upgrades.
Let me know if you succeed in a sript. I tried it in dronekit time ago but had some difficulties. I don’t remember very well but i think there was no way to ask for rtk status (5 or 6) in dronekit

Jose Luis, I implemented this failsafe in my companion computer… It’s running mavproxy and as such knows the GPS status. So I have solved this another way, and moved on. -Chris