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

Enable control of throttle using Throttle channel in 3D cruise mode #4932

Closed
padcom opened this issue Jul 13, 2019 · 3 comments
Closed

Enable control of throttle using Throttle channel in 3D cruise mode #4932

padcom opened this issue Jul 13, 2019 · 3 comments

Comments

@padcom
Copy link

padcom commented Jul 13, 2019

Current Behavior

Currently only two modes can be observed when using the Throttle value in 3D Cruise mode:

  • automatic management with no influence whatsoever based on how much the throttle stick is up
  • no throttle when the stick is down

Desired Behavior

I'd like to be able to make the plane go faster/slower depending on the value of the throttle stick.

Who does this impact? Who is this for?

Long-range FPV pilots on windy days :)

Additional context

Sometimes during long flights we fly with or against the wind. With the wind is easy and fast :) However sometimes when flying against the wind the case is that we have more than enough battery to punch it through the head wind but the 3D cruise mode just won't use it.

I can see at least 3 throttle ranges to control this behavior:

  • throttle all down - descent at zero throttle (as it is right now because it is very useful for landing)
  • throttle above zero but below 50% - as it is right now
  • throttle above 50% - punch as much as much the stick is above 50% keeping the plane level using the elevator to level off.

50% is actually just an arbitrary value (coming from the world of 3D flying where 50% throttle actually means idle), would be great if we could customize it. Some planes have such a huge amount of power reserves that just 50% of throttle control would be inadequate.

I think it really doesn't matter if we go with or against the wind, does it? Being able to go faster or more conservative on the energy would be of great help in any situation.

Possible implementation

Some pilots use the "Adjustments" tab to apply in-flight changes to the "Navigation FW Cruise Throttle". I think the implementation of this feature would simply add a value on top of the nav_fw_cruise_thr if the throttle is above the threshold. It should actually be quite simple to implement.

Let's assume we have a new parameter nav_fw_cruise_thr_adj_threshold (in absolute channel value) that defines how much throttle above zero means it uses 0 adjustment. By default it would be 1500 with min value of 1300 (just to be on the safe side) and max being let's say same as max_throttle (or 1850)

This would mean that the actual nav_fw_cruise_thr would be calculated as follows:

if (current_throttle > nav_fw_cruise_thr_adj_threshold) {
  scale = (current_throttle - nav_fw_cruise_thr_adj_threshold) / (max_throttle - nav_fw_cruise_thr_adj_threshold)
  actual_nav_fw_cruise_thr = nav_fw_cruise_thr + (nav_fw_max_thr - nav_fw_cruise_thr) * scale
} else {
  actual_nav_fw_cruise_thr = nav_fw_cruise_thr
}

For example:

max_throttle = 1850
nav_fw_max_thr = 1750
nav_fw_cruise_thr = 1350
nav_fw_cruise_thr_adj_threshold = 1500

For current_throttle = 1600

scale = (1600-1500)/(1850-1500) = 0.2857
actual_nav_fw_cruise_thr = 1350 + (1750-1350) * 0.2857 = 1464

For current_throttle = 1850

scale = (1850-1500)/(1850-1500) = 1
actual_nav_fw_cruise_thr = 1350 + (1750-1350) * 1 = 1750
@issue-label-bot
Copy link

Issue-Label Bot is automatically applying the label Feature request to this issue, with a confidence of 0.90. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

@padcom
Copy link
Author

padcom commented Jul 13, 2019

Duplicate of #3278

@padcom padcom closed this as completed Jul 13, 2019
@padcom
Copy link
Author

padcom commented Jul 13, 2019

The setting I was looking for is already implemented under a flag nav_fw_allow_manual_thr_increase (OFF by default). There's very little to no documentation about this feature and I think it is actually very, very important in the case of windy weather.

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

1 participant