-
Notifications
You must be signed in to change notification settings - Fork 31
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
Acceleration limiting by engine shutdown #10
Comments
I was thinking about this feature as well, engine shutdowns would come in particularly handy for very powerful first stages. But at this moment I don't have a good idea how to solve it; by good I mean:
Best solution would do it in a way that allows shutting down engines both in the passive and active guidance phases. The only facility PEGAS has for doing things in a phase-independent way is So it seems that these are the options:
I will admit, my largest concern right now is not "how to do it with the least amount of code", but "how to do it so that it's clear enough to everyone that I don't have to spend twice as much time on making separate tutorials about it" :P PS: I allowed myself to change the name of this issue so it better reflects what it is about. |
I noticed that the gLimit doesn't seem to hold the acceleration at the specified value, instead the acceleration is slowed down a bit. I'm guessing that's because Pegas doesn't take in to account the engine throttleability. This isn't a problem in stock as all engines can throttle down to 0 but it is in RO. The throttle setting and the throttle indicator (by the NavBall) and even the thrust limiter slider in right click menu are not setting/showing the "actual" engine throttle, they control the usable range of the engine (range between minimum throttle and maximum throttle), with the exception that setting it to 0 will cause a shutdown. What I mean by that is if an engine can only be throttled down to a minimum of 50% then when you set the "throttle" via kOS or using the keyboard to 0.5 (slider exactly half way through the scale) then the engine will actually produce 75% of it's max thrust, which is 50% of it's throttle range. You can verify this by looking at the "Current Throttle" field in engine right click menu. You can see it on this video here. I suggest adding another (optional) parameter to "engines" where users can specify the minimum throttle of an engine and Pegas could calculate what throttle setting it needs to use to acheive the desired result. In the script used in video above, I just made a multiplier Edit: It may have been better to post this as a separate issue really. |
Thank you @Patrykz94, this is a very important find. I never knew RO worked this (imho, broken!) way. |
@TheGrover @Patrykz94 PEGAS now allows you to shut down engines by tag, using a Thank you for your patience. It has taken me a while, but as a wise man once said: if a man says he'll do it - he will do it, no need to remind him every two years 😅 |
In its current implementation, the program allows G limiting only when engines are sufficiently throttlable, and doesn't allow throttling similar to Apollo's Saturn I stage, which shutdown a central J1 engine to reduce acceleration.
I suggest using action groups to set the program to shutdown one or multiple engines during flight to reduce acceleration
This would be done by setting the action groups up in the VAB, then an entry in the "vehicle" list along with the g limiter setting:
[String] for "throttle" or "shutdown (throttle setting works as current
[Number] for action group number
[Number] for new thrust after engine shutdown
Now I don't have a good understanding of how the UPFG algorithm does its magic, but I believe that for the algorithm to work, it would need to know exactly when the engine shutdown occurs in order to converge properly, so it may be necessary to program the engine shutdown to occur at a given time, rather than when a certain acceleration is achieved, then have the algorithm treat this as two distinct "stages" to converge correctly
The text was updated successfully, but these errors were encountered: