Skip to content
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

Review autolaunch behaviour when launch is NOT detected. #7512

Closed
pulquero opened this issue Oct 17, 2021 · 11 comments
Closed

Review autolaunch behaviour when launch is NOT detected. #7512

pulquero opened this issue Oct 17, 2021 · 11 comments

Comments

@pulquero
Copy link

Recently, I had an incident where my wing wouldn't respond to control inputs during an autolaunch. Upon DVR review, it appears the fc did not detect the launch, and nav_fw_launch_idle_thr was sufficiently high that the wing had enough thrust to sustain a climb (and as the throw wasn't completely level, also banked to the left). I don't expect this to be 'solved' but most accidents are a result of a chain of bad outcomes, and maybe there are a few things we can do to break that chain.

Current Behavior

In autolaunch mode, the controls are disabled until the fc detects the launch.

Desired Behavior

Mitigate the scenario of an airborne vehicle which hasn't detected launch.

Suggested Solution

  1. I think the first thing that can be done is to improve the status message. At the moment, before launch detection, the message is autolaunch/ready (OSD alternately displays the words 'autolaunch' and 'ready'). My brain saw the word 'autolaunch' and thought "ah good, yes, I'm autolaunching, all ok". Then the OSD flashes 'ready' and my brain thought "ah good, ready==good, all ok". At no point did my brain go red alert red altert launch not triggered. An improvement would be "waiting"/"for launch". Normally, waiting==bad, e.g. waiting for gps fix. "for launch" suggests something is not right with launch.
  2. Use of additional sensors. For example, if baro or gps detects a height gain above some configured value, then the fc should consider itself as airborne (maybe also if it had moved some horizontal distance as well).
  3. Bad pilot habit. I had become over-reliant on using stick movement to end autolaunch instead of switching off autolaunch via say an aux switch (which would have given my back control). I don't think this is even an option if autolaunch is enabled as a feature.
  4. There are probably other things that I haven't thought of.

Who does this impact? Who is this for?

Autolaunch users.

Additional context

FB group thread:
https://www.facebook.com/groups/INAVOfficial/posts/1276936489415666/

@pulquero pulquero changed the title Review autolaunch behaviour for when launch is NOT detected. Review autolaunch behaviour when launch is NOT detected. Oct 17, 2021
@MrD-RC
Copy link
Collaborator

MrD-RC commented Oct 18, 2021

2
Which version of iNav are you using? 2 is already implemented in 3.0 #6726

1
I don’t really think the system messages for autolaunch are bad. If I see READY, I read it as iNav is ready to do something. As in, it hasn’t yet but is waiting to do so. Ready doesn’t mean that it’s doing something, it means that everything is OK to do something. So the message is correct. The message shouldn’t suggest that something is bad, as there isn’t anything bad.

But, just READY isn’t quite so clear. Ready for what? Perhaps changing the wording to READY TO LAUNCH would be clearer and more explicit. The word to in there, also backs up that the launch hasn’t been detected.

3
Stick movement to end the launch sequence. The only issue I have with this, is that if you have raised the throttle, exiting launch will output that throttle value instantly. This is why it’s better to demand a low throttle or disarm before exiting launch mode after the throttle has been raised. It is a safety thing

Ultimately, I believe that the launch detection sanity checking should be performed by 2. This should be in iNav now. So the issue may be that this needs some fine tuning.

@pulquero
Copy link
Author

2
3.0.1. But #6726 requires gps, so didnt help in my case. But good to know. Maybe there is a case for including relative height change from arm based on baro.

1
Yes, the existing message is semantically correct, but imo it doesnt clearly communicate the current situation, especially if you are in a paniac because your aircraft is not responding. I think 'ready to' would be an improvement. My current preference at the moment is still WAITING/FOR LAUNCH because under normal flight conditions, you shouldnt be waiting for anything, and 'ready' to my mind triggers 'green for go'. I think the problem is having single words flash 'randomly' on the screen. A good example is the 'move sticks to exit launch' osd message. I find that very clear and obvious. So, yes, maybe just need to avoid single words which might appear to be unrelated to each other.

3
Sorry, I wasn't advocating using stick movement to end the prelaunch sequence. Only that my reliance on it to end the normal launch sequence rather than an aux switch contributed to the incident. Don't know if inav can do anything about this, but I included it for completeness as it was a contributing factor.

@MrD-RC
Copy link
Collaborator

MrD-RC commented Oct 18, 2021

1
The issue I have with WAITING FOR LAUNCH is that it can also be misconstrued that auto launch isn't ready yet. It is ready, it's just waiting for you to throw the plane. It is green for go. There has just been a problem with the go part. That's why I think READY TO LAUNCH would be the best option. If you see that, you don't think that it is launching, and there's no ambiguity as to what it's waiting for.

2
I see the problem. But, personally, I don't get why people don't use iNav with GPS. A cheap BN-220 is all that's needed, and it opens up more features and information; even if you don't want to use the autopilot stuff. However, what if the GPS fails on launch and the launch is not detected. Another edge case maybe.

The issue with the baro/altitude is how to calculate the detection.

  • How high can X model climb on idle throttle? Does it even climb, or is it just enough to maintain altitude and fly away. This will always be different from plane to plane, as well as depending on the settings.
  • How high was it thrown? You don't want it to trigger too early, it needs to be away from the pilot.
  • Where is the relative height calculated from, as we don't know when the throw attempt happened?
  • Is the baro suffering from drift?

Ultimately, this is why the GPS was used. It can determine a non-triggered launch much more precisely.

3
No problem. Suggestions are always helpful, and I totally get where you're coming from. I was in agreement until I remembered an incident I had a few years back. Ultimately though, this can't happen due to safety. For example, someone enabled launch, arms, raises the throttle, then accidentally bumps the aileron. That motor will instantly go to the stick throttle level, which could end up cutting the pilot badly. Some people have an idle delay, and put their transmitter down before throwing the model. So that situation could be very real.

@pulquero
Copy link
Author

2
I envisage a cli setting, e.g. zero disabled. Upon turning on autolaunch mode, take the current baro reading. If the baro reading reaches this value + the configured setting then assume a launch. You would set the cli setting to something like 10m - if the model has moved vertically by 10 since turning on launch mode then it is most likely airborne. NB: I'm not advocating this as being a primary way to detect a launch, only as a fallback, i.e. the minimum valid value (besides 0) should be a couple of metres.

@MrD-RC
Copy link
Collaborator

MrD-RC commented Oct 18, 2021

It's definitely something that can be looked at.

I'm not quite sure how the "Upon turning on autolaunch mode, take the current baro reading." part would work if launch is permanently enabled. But I guess an easy work around would be if launch is enabled (via whatever method), take the baro alt reading when the model is armed.

Maybe a minimum of 5 metres. That should be a big enough difference.

It would be interesting to read @avsaase thoughts on this. As he wrote the GPS based detection. Alex, what do you think about this as a fall-back, if GPS is not installed?

@pulquero
Copy link
Author

I guess if launch is permanently enabled then reading baro after boot would make the most sense if this setting is enabled.

An alternative to using baro to detect launch, is to just use it to display an osd warning message to alert the pilot that the aircraft finds itself in an unexpected situation.

@breadoven
Copy link
Collaborator

The other possibility here is to allow the launch to be cancelled by moving the sticks with the throttle NOT low but only if idle launch throttle has been set and the throttle stick position is no higher than the idle setting + some margin perhaps. Seems to me that if the "idle" launch throttle set is sufficient to keep the plane aloft it's already generating reasonable thrust so the safety issue with the motor suddenly starting when the launch is cancelled using the sticks isn't such a problem.

@MrD-RC
Copy link
Collaborator

MrD-RC commented Dec 1, 2021

There is still a chance of bumping sticks before launching though. While the idle throttle is already spinning the prop, so you are aware of it. If you accidentally exit launch mode before throwing, there is no warning. This could result in failed launches.

So would this lock the throttle to idle? Or is it reliant on the throttle stick position? Only people usually set the throttle stick to post-launch cruise throttle, which could be higher than idle in a good percentage of cases. Could iNav exit the launch mode, but keep the throttle at idle, regardless of where the throttle setpoint is. Then if the throttle is lowered and raised, the pilot regains control of the throttle. That way they can continue the flight, not just land on idle and launch again.

@breadoven
Copy link
Collaborator

This reverts to the throttle set by the stick position if aborted. Abort won't work if the stick position is set higher than launch idle throttle but I'm thinking the launch idle must be fairly high to keep the plane flying so maybe this would work in most cases where the plane has enough "idle" throttle to fly off. There is also the possibility of allowing a higher throttle stick setting than launch idle throttle, by some margin that doesn't result in too significant an increase in thrust if aborted.

I don't think accidentally aborting by knocking the sticks before launch is much different to the current situation. Launch can be accidentally aborted now if it's set as a feature and you knock the sticks before raising the throttle. And it can also be accidentally aborted immediately after launch is detected cancelling it close to the ground, it's always a risk if you're careless with the transmitter. It should be obvious it's aborted prior to launch by the beeper stopping, launch OSD messages disappearing and control surfaces resetting.

This is more about avoiding an out of control plane continuing to fly than saving the plane itself and also the fact that people instinctively try and use the pitch/roll stick to regain control and probably even raise the throttle rather than lowering it. Remembering to lower the throttle instead to regain control when in panic mode is counter intuitive.

@CertainBot
Copy link

CertainBot commented Jan 5, 2022

Isn't the launch aborted by just flicking the launch switch to off? This won't work for autolaunch always on but this feature has some serious drawbacks and safety hazards so I dont really encourage using it.

I agree with @MrD-RC that Ready to Launch is a clearer message than Waiting to Launch.

@b14ckyy
Copy link
Collaborator

b14ckyy commented Mar 20, 2024

Fixed with gps speed trigger and new Autolaunch messages a while ago.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants