Jump to content

Is there a simple config edit to fix ASAS?


Jm419

Recommended Posts

Everyone's had it happen; a rocket gets shaken apart on launch because the ASAS constantly overcorrects. While it seems to have gotten to be less of an issue on recent updates (or maybe I'm just getting to be a better engineer), the fact remains; ASAS is fairly broken. ASAS lies at the heart of the "MOAR struts" joke - but if ASAS didn't need to constantly overcorrect, the struts wouldn't be as necessary. What if we're looking at this from the wrong way - instead of MOAR struts (gasp, blasphemy!), what if we can fix the ASAS module?

I, like a few others, have two separate game downloads - one of them is pure, vanilla stock, and the other includes modded parts. The mod parts (I'm looking at you, Saturn V) often aren't up to the quality of the stock parts, but a lot of the time they can be fixed with config edits. You know - turning down the gimbal torque often makes an engine far more stable, or reducing the weight of the part can help too.

Still, I'm not a prolific modder by any means, and my skills are pretty limited in the config editors. I confess I've not looked at the ASAS config itself - this was just an idea that struck me. Is there a particular value, or set of values, we can change - the magnitude of the corrections, for instance - that would allow the ASAS to function more appropriately, and once it reaches a center value, to stay there, instead of fluctuating?

I realize ASAS may be broken for gameplay purposes, but we're all engineers - this is what engineers do, solve problems, right? So, what do you think? Is there a simple way to fix ASAS to prevent the constant overcorrections?

Link to comment
Share on other sites

The problem is that there is no one right set of parameters for the PID, in order to minimize the overcorrecting without causing undercorrecting, the PID values have to change per craft, and probably have to change per stage of each craft.

Link to comment
Share on other sites

The problem is that there is no one right set of parameters for the PID, in order to minimize the overcorrecting without causing undercorrecting, the PID values have to change per craft, and probably have to change per stage of each craft.

Ah, so it would have to constantly update. Unless you could have more than a single ASAS, and tailor each individual system for the stage it's connected to. That might be more trouble than it's worth.

Link to comment
Share on other sites

Ah, so it would have to constantly update. Unless you could have more than a single ASAS, and tailor each individual system for the stage it's connected to. That might be more trouble than it's worth.

which would inevitably lead to ASAS being integrated into the engine and no longer a component...

Link to comment
Share on other sites

To make things simple, they can just add a "Gain" value which you can change in-game, so people don't have to mess with all 3 proportional, integral and derivative values. Higher gain = more accurate but more likely to oscillate. This what real industrial servo controllers have. Basically there are 10 gain values (1-10), each value maps to a set of P I and D values.

Link to comment
Share on other sites

To make things simple, they can just add a "Gain" value which you can change in-game, so people don't have to mess with all 3 proportional, integral and derivative values. Higher gain = more accurate but more likely to oscillate. This what real industrial servo controllers have. Basically there are 10 gain values (1-10), each value maps to a set of P I and D values.

If it can be done, that sounds like a very good way to "fix" this problem. I certainly wouldn't mind adjusting a single value in flight.

Link to comment
Share on other sites

I came upon a temporary fix that solved all my problems with asas not too long ago, and it should see me through until the system is improved.

I turned off ASAS, and then the next time I didn`t put any on the ship to begin with.

Link to comment
Share on other sites

I just so happen to possess a plugin that allows tuning the PID values in flight. I have already uploaded it to the Space Port but it always takes its time to actually appear anywhere in the addon lists. Probably pending approval or something... It doesn't utilize sliders, just punching in numbers but that already pretty much does the trick. With this little baby I usually manage to control any kind of space-craft. You just have to find a good combination of PID parameters and adjust the overall damping properly and voilà, ASAS works like a charm, keeping my space-craft pointed in the right direction. It is so useful in fact, that you can even use it on entire space-stations!

Link to comment
Share on other sites

The problem is that there is no one right set of parameters for the PID, in order to minimize the overcorrecting without causing undercorrecting, the PID values have to change per craft, and probably have to change per stage of each craft.

Yet, Mechjeb manages a glass smooth continuous gravity turn regardless of the vehicle it's placed on. (Presuming the vehicle has sufficient control authority.) The fact is, control algorithms are fairly simple and widely known - there's absolutely no need for precise values known in advance. ASAS is simply a very, very, very crappy implementation that's never been fixed.

Link to comment
Share on other sites

Yet, Mechjeb manages a glass smooth continuous gravity turn regardless of the vehicle it's placed on.

This is really only true for extremely rigid (i.e. lots of struts, or a stout build) rockets. Long rockets that aren't strutted to death tend to develop a low-frequency "wobble" or "whirl" vibration mode that is excited by the way MechJeb handles its course corrections - specifically, it appears that flexing of the rocket can cause the nose and the engines to be pointing in different directions.

Also, MechJeb accomplishes its smooth turns (on suitably built rockets) by spamming ASAS on and off. On most of my launches the ASAS light is constantly flickering on and off - it's rarely on continuously until I reach orbit and tell Smart A.S.S. to hold an orientation.

Link to comment
Share on other sites

Yet, Mechjeb manages a glass smooth continuous gravity turn regardless of the vehicle it's placed on. (Presuming the vehicle has sufficient control authority.) The fact is, control algorithms are fairly simple and widely known - there's absolutely no need for precise values known in advance. ASAS is simply a very, very, very crappy implementation that's never been fixed.

MechJeb is a lot better, but it's far from perfect. Turn on RCS and watch it practically vibrate trying to hold it's heading. Though to be honest, I think that's more a limitation of the controls available to MechJeb.

I'm not saying that ASAS couldn't be better. Yes, dynamic tuning is possible and would virtually eliminate this kind of problem. On the other hand, with the number of other things they're working on, I'd rather have a simple partial solution to tide me over until they have the time to do a proper solution.

Link to comment
Share on other sites

Also, MechJeb accomplishes its smooth turns (on suitably built rockets) by spamming ASAS on and off. On most of my launches the ASAS light is constantly flickering on and off - it's rarely on continuously until I reach orbit and tell Smart A.S.S. to hold an orientation.

It also accomplishes smooth turns on rockets not equipped with ASAS too - which means that while it uses ASAS, it doesn't rely on ASAS. (A difference roughly as subtle as that between a firecracker and a thermonuclear weapon.)

Link to comment
Share on other sites

The problem is not the part itself (asas or mechjeb). Yes, they do correct and over-steer a lot in some cases.

Source in most cases is the flex of the rocket itself: you have a constant movement between the mass, orientation of thrust and the orientation of your guidance system. The guidance system tries to compensate the steering error, over adjusts the thrust vector and the rocket bends in the other direction. There you go: oscillating wobble, that rips your ship apart sooner rather than later. That problem can't be fixed with any change of any values for the asas or mechjeb. You'd have to analyse every bit of your rocket and calculate where your control systems and engines induce the bending force. Easiest solution here is more struts. Another is: place the mechjeb part or your asas as close to the engine as possible (or the source of your best steering force to be more precise). As long as your rocket is rigid, but also flexible enough that you don't get a resonance in your wobble, asas and mechjeb can do their job properly. In the end it's more the question of good engineering than modding.

Link to comment
Share on other sites

I have to wonder when ASAS and SAS parts become power-dependent, that we might also get the option to toggle individual SAS parts for power consumption. This might also provide for what you want running for a sense of how much SAS you want running at any one time.

Link to comment
Share on other sites

A lot of the problem with SAS is that it tries to keep a rocket on the EXACT heading it was set to, and therefore it tends to to to far to each side of the target heading.

Would it not be a relatively simple fix to have a dead area of 1-2 degrees (adjustable) and while the SAS will aim to get it to the correct heading it will be satisfied if its in the approximate area; therefore not going crazy if the rocket is 0.01 degrees of target.

Link to comment
Share on other sites

A lot of the problem with SAS is that it tries to keep a rocket on the EXACT heading it was set to, and therefore it tends to to to far to each side of the target heading.

Would it not be a relatively simple fix to have a dead area of 1-2 degrees (adjustable) and while the SAS will aim to get it to the correct heading it will be satisfied if its in the approximate area; therefore not going crazy if the rocket is 0.01 degrees of target.

You don't need a dead zone, that is caused by too high "P" in the PID controller. It needs to be reduced by like 10 times in the cfg file, you can try it yourself.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...