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

Allow fixed wing launch with throttle low option #6389

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

breadoven
Copy link
Collaborator

@breadoven breadoven commented Dec 7, 2020

Currently it's necessary to raise the throttle after arming to allow the motor to run during launch with a fixed wing, If you forget to raise the throttle the motor won't start and the launch will fail. Given that launch takes full control of the throttle and flight it seems reasonable it can do the same with the throttle stick maintained in the low position throughout the launch avoiding the need to set the throttle, avoiding failed launches.

This PR provides an option to allow launch with throttle low. After arming the plane can be launched without touching the throttle stick. It then completes the launch as it does currently until the launch sequence finishes based on launch timeout or max altitude limit at which point launch control is maintained with AUTO throttle set to Nav cruise throttle. This state ends immediately if a preselected Nav mode can be activated or after some time when the pilot decides to take control by raising the throttle or moving the pitch/roll stick.

Points to note:

  1. It's an optional setting, default set to OFF
  2. If launch idle is set to run motor or motor stop is off then the motor will start immediately when armed (unavoidable)
  3. In light of 2) this PR allows switched launch to be cancelled after arming but before launch by moving the Pitch/Roll stick (currently this only works if launch is enabled as a feature). Provides a quicker means of killing the motor than using the launch switch (throttle can't be used because it's already low).

This has been tested on the ground with various combinations of settings and works as expected although it's possible some combination may have been missed. Also tested in flight for both the "pilot takes control" and preselected Nav mode possibilities and works as expected.

As an aside it was noticed the following code in fwLaunchState_FW_LAUNCH_STATE_IN_PROGRESS is repeated twice. Is this a typo or intended ?

if (isLaunchMaxAltitudeReached()) {
     return FW_LAUNCH_EVENT_SUCCESS; // cancel the launch and do the FW_LAUNCH_STATE_FINISH state
 }

Change to allow FW launch with throttle mainted low throughout launch.
Fix to avoid throttle glitch when switching to preselected Nav mode when launch finished.
Added new launch state FW_LAUNCH_STATE_FINISH_THR_LOW
Smooth throttle transition  when throttle stick raised to end launch
@digitalentity
Copy link
Member

Requirement to raise the throttle exists as an additional safety measure, so you don't accidentally trigger a launch by shaking the wing when moving it around after arming. Since 2.6 we have a distinct beeping pattern to remind the user of low throttle in launch mode, reducing the possibility of forgetting to raise the throttle stick.

I think this new setting adds complexity and also reduces the safety of the launch mode.

@breadoven
Copy link
Collaborator Author

Well leave it open for discussion see what others think. It is an option so if it doesn't suit your way of launching no need to use it. Personally I don't understand why anyone would arm without the plane ready to launch. If you can raise the throttle stick just before launch how is this any different to flicking the arming switch just before launch ? The launch beeper was changed but for me it was a bit too subtle although this isn't a problem if you build your own firmware, easily changed. Maybe this will prevent people suffering failed launches, I'm not sure it will. The benefit of this is there's nothing to forget ... other than arming perhaps.

@digitalentity
Copy link
Member

I agree, let's keep it open and collect other people's oppinions.

@harkal
Copy link
Contributor

harkal commented Jan 27, 2021

I would like to see this merged. I can understand the safety issues mentioned, but that is what arming is for. In the same manner one can argue that after throttling up you are in the same danger. Which you will probably just get into to habit of doing after a while.

Having done several throws where the aircraft crashed 4 meters in front of me because I forgot to raise throttle, I find it makes sense to have the option. Additionally I always know that when armed the plane is hot. At anytime it can go and there is no extra “postarm”. Users should be educated to this, and not educated to feeling “safe” with an armed plane. I believe this is more consistent mentally.

@avsaase
Copy link
Member

avsaase commented Mar 20, 2021

Personally, I have never had this problem, but that is probably because I use FXT Viper goggles that allow me to launch with my goggles on but still walk around. Other than that I can understand why people would want this feature and I agree that arming the plane is the moment from where the pilot needs to be mindful of a potentially dangerous plane.

However, one thing I really don't like about this is

  1. If launch idle is set to run motor or motor stop is off then the motor will start immediately when armed (unavoidable)

I would say enabling this feature should set the idle throttle to zero.

@breadoven
Copy link
Collaborator Author

breadoven commented Mar 20, 2021

Personally, I have never had this problem, but that is probably because I use FXT Viper goggles that allow me to launch with my goggles on but still walk around. Other than that I can understand why people would want this feature and I agree that arming the plane is the moment from where the pilot needs to be mindful of a potentially dangerous plane.

However, one thing I really don't like about this is

  1. If launch idle is set to run motor or motor stop is off then the motor will start immediately when armed (unavoidable)

I would say enabling this feature should set the idle throttle to zero.

But that would prevent it working if you want to use launch idle throttle.. Which is why it is an option. If this doesn't fit with the way you prefer to do things then you wouldn't use it. The new Prearm feature would be very useful here if you were concerned about accidental arming.

@stale
Copy link

stale bot commented Jan 9, 2022

This issue / pull request has been automatically marked as stale because it has not had any activity in 60 days. The resources of the INAV team are limited, and so we are asking for your help.
This issue / pull request will be closed if no further activity occurs within two weeks.

@stale stale bot added the Inactive label Jan 9, 2022
@DzikuVx DzikuVx removed the Inactive label Jan 9, 2022
@stale
Copy link

stale bot commented Apr 18, 2022

This issue / pull request has been automatically marked as stale because it has not had any activity in 60 days. The resources of the INAV team are limited, and so we are asking for your help.
This issue / pull request will be closed if no further activity occurs within two weeks.

@stale stale bot added the Inactive label Apr 18, 2022
@DzikuVx
Copy link
Member

DzikuVx commented Apr 18, 2022

@breadoven what should we do with this one?

@stale stale bot removed the Inactive label Apr 18, 2022
@breadoven
Copy link
Collaborator Author

@breadoven what should we do with this one?

Maybe do a poll in discussions and decide based on that but only if there are more than so many responses, at least 10 perhaps ?

@breadoven
Copy link
Collaborator Author

Ah well, doesn't seem to be any great interest in this PR so closing.

@breadoven breadoven closed this May 6, 2022
@DzikuVx
Copy link
Member

DzikuVx commented May 7, 2022

Let's keep it open just for future reference. Maybe it will become relevant

@DzikuVx DzikuVx reopened this May 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants