I’m reading the docs, which description below attracts my attention.
Here is my question:
“What will happen when copter is in Acro modes, and the throttle input is at minimum for freestle. Then a rare sitiuation RC signal lost happened”
Have a read through this thread, plus there’s a bunch more if you search.
The simple fix will be to always arm and takeoff in Loiter first - that way Home position is reliably set too.
@xfacta Thanks for your share and knowledge on failsafe.
I have read the link, and just copy a paragrah(Maybe not enought, even a bit of one-sided) of what you have provide to illustrate the behavior of the code to the simulation.
As I’m NOT going to test with my copter in real life especially I didn’t fully understand what I’m expecting.
If you are right about the code behavior. We might facing a critical issue when doing a freestyle such as powerloop (throttle down, minmum), radio failsafe occurs, then disarm???.
The radio failsafe timeout is 1 second by default, which will happen in a big powerloop.
It means if the copter is not flying (hasnt registered a takeoff) then disarm is immediate.
The default 1 second timeout for radio failsafe should precede the low-throttle disarm and so (typically) an RTL would be the result. From memory this is what I found during tests - I couldnt force a minimum-throttle disarm if radio failsafe was involved.
If you have good radio signal, and have minimum throttle for long enough in Stabilise or Acro then you may get a disarm.
I’ve done rapid descents in Stabilise mode and not had a disarm yet - maybe I didnt descend for long enough, however I almost never arm in Stabilise mode except for all but the most basic testing. I would have armed in AltHold or Loiter in nearly all cases.
I suspect that if the copter was ignoring not-landed/landed status and disarming in flight was an issue for Stabilise mode (especially) or Acro mode then we would see an awful lot of such cases. I know this not exactly a definitive argument, however I did spend some time looking through the code (some time back) and I know developers are highly focused on such behaviours, and I feel confident with the Arducopter behaviour.
I cant recalling seeing logs (except the one I noted) where there was an unexpected disarm.
EDIT:
If you arm in Acro mode and use the Airmode option then the throttle can never quite be nothing, so a disarm due to minimum throttle shouldn’t be possible.
The inbuilt/hard-coded disarm delay is 2 seconds (I just checked), so you’d need to hold minimum throttle for at least 2 seconds in Stabilise or Acro, if you also armed in Stabilise or Acro mode.
Well, I think most users will launch the drone with althold/loiter. But you know, quite a lot of FPV users don’t have GPS module on-board. And I will launch the FPV drone when I think it’s ready
Then there will be kind of concerns. And I’m in airmode, I think I’ll look into code when I have time, and I also will notice if there is any kind of log of this kind of issue. Hope it will never met.
EDIT: I disabled all checks, I know it’s NOT that safe, but as a FPV drone, we just fly in-range that I’m confident. If fly far away, then it should be serious.
You cant really get a fly-away if you are in Acro or Stabilise, since the copter will obey your throttle input.
There is a situation even in Stabilise where the copter can keep rising to maintain stability if you have ATC_THR_MIX_MAN set too high.
YES, if it’s in range of RC control, then there will be NO problem.
If fly far away, then there is high possibility of failsafe event (Most of time I fly copter in acro/stablize), the following cases should be handled in descending priority order:
smart RTL or RTL
dead reckoning
land
drop(disarm)
BTW, I have ATC_THR_MIX_MAN = 4. And it’s OK for acro/stablilize now.
I advise you to test RTL, you can use a switch on the transmitter - that is the same action as when there is an RC failsafe.
In that video it looked like you didnt have Home set, and it can be hard for small copters to get a GPS 3D fix while still on the ground. You could:
use some platform about 1m up off the ground, such as a table, to enable better GPS reception
or do a short flight to establish a low GPS HDOP then land and disarm, arm and perform the desired flight - this should set Home too.
Use GPS_GNSS_MODE to select just the specific constellations, usually just 2, that give you a lower HDOP and quicker time to 3D fix. Check GPA.Delta in logs for erratic update rates and change your GPS_GNSS_MODE to get a steady rate.
If safety and RTL (Home position) is essential then you can set FENCE_ENABLE,1 and you wont be able to arm in any flight modes until Home can be set.