Jump to content

Minimal Manned Mars in RO RSS RVE add: kOS & Action Groups Extended


DBowman

Recommended Posts

I've been working on a hypothetical Mars flyby using, as far as possible, only currently commercially available vehicles. It turns out that it looks very possible on paper / spreadsheets - the next step is to see how it works out 'in real life', or at least in Realism Overhaul of Real Solar System.

I'd been interested to try ROnRSS but it seemed complicated and a lot to learn; install a lot of mods (which might have who knows what issues), learn about real fuels (fun?), ooohh often no throttling, limited ignitions, whaaa ullage, ... etc. Now I have a good reason to try it, I started, it's fairly approachable (you can enable the reality incrementally), and the issues have been interesting / entertaining. I thought I'd make 'the mission' be the whole trip of getting to grips with RO in case it's handy for anyone else thinking about it. I know I've found little comments scattered in other threads to be a real help.

  1. 1.1.3 - RO & RSS are not updated yet.
  2. using CKAN things installed fairly smoothly
    1. except that for Real Solar System I had to do a second pass - but once it's in it looks fantastic
    2. it does make the start time long ...
  3. 16,921Module Manager patches ...
  4. I included Tantares, Tantares LV,  and RO .craft files - so I could look at/fly a Soyuz launcher
    1. Soyuz-T looks great
    2. It doesn't launch out of the box - 'failed to ignite due to insufficient resources' :(
    3. After playing around I realized that the fuel loading on the tanks didn't include the High Test Peroxide needed for the turbo-pumps.
      1. Real Fuels makes it easy to switch them to the correct proportions (or at least something that lets the engines light).
      2. There is a GUI you can pop from the tweakables GUI.
      3. It lets you assign available volume to whatever real resources you want and looks at the connected engines to give you helpful pre-sets.
      4. I still haven't figured out the Soyuz orbiter maneuver engines - insufficient fuel pressure ... later
    4. The Soyuz Launch Vehicle (why did they name the LV and the spacecraft the same? does not help the googlability) is very stable in flight - but I have to look up / discover the ascent profile that will put it into orbit. InsaneDruid has some advice on flying the Proton which probably holds for Soyuz LV also. 
  5. I had included Raidernick's Soviet Rockets, Tantares, & Tantares LV and seemed to have multiple Proton fragments (which I'd expect) which I couldn't figure out how to put together - which I didn't expect - how hard should it be? and why does a third stage engine only have one attach node (maybe there is some adapter thingy supposed to go between the tank and engine that is hard to find).
  6. Anyway those two Sov packs didn't include a Briz-M upper stage that I wanted so I tried Insane Druid's Proton-M / Breeze-M
    1. easy to put together
    2. rcs for Briz? the parts are there but worry about that if I can orbit something
    3. has a nice Proton launch pad included
    4. RO worries include ascent path (fail so far) and vapor in the fuel lines on the upper stage

 Phm3P26.pngI banged a Cygnus on top of a Briz on a Proton - i't doomed by mass and my piloting, but the Himalayas look great and it should give the PRC a scare.  

Edited by DBowman
Link to comment
Share on other sites

To amp up the Reality you can install RSS Visual Enhancements - RVE which adds clouds and atmospheric scattering. Again this one sounds complex to install because it's built on a few other mods like EVEScatterer, and Texture Replacer. I found this video helpful, but for me it boiled down to:

  1. use ckan to install scatterer
  2. Texture Replacer was already present from ckan RSS install
  3. take the 'any CPU' EVE release and copy from .zip to GameData - but not the configs .zip cause that is Kerbol system
  4. download RVE for KSP 1.0.4 LInux64 from Pingopete (just hit the green button) and unzip merge the files - there is a clash on scatterer/config/PlanetsList.cfg (but for with capitalization different - so not sure what happens on linux) let RVE replace Scatterer  
  5. start her up and wait quite a while ....

0q6ZTbt.png

flying past Buenos Aires. MJ adjust attitude lets you turn on some arrows, in this case orbit velocity vector.

 

8eVD7tR.png

Madagascar looks nice

ObpyTJg.png

the reality upped map view. RVE is still working on the other planets...

Link to comment
Share on other sites

AGX & kOS

The realistic craft often need an 'ullage' burn to settle the propellant. I found some references for the Briz seems they use the verniers for 15 seconds, then light the main engine, leave some over lap, and finally 'tune' the burn with the verniers again. That means each burn has four regimes for computing delta-v - yuk. Anyway that's how they do it.

I installed Action Groups Extended AGX - so I could set up a button panel with labeled actions like:  toggle verniers, main, RCS (when it's part of a stack with a Soyuz I'll likely switch the 4 blocks off cause the Soyuz ones will have more leverage), etc. It works very nicely, though you have to be careful not to make 'overlapping toggle groups' that confuse it (or you). The panel works fine but it's still painful to do the burns, so ...

Kerbal Operating System kOS - which lets you write programs for your craft. It's easy to install, and you can 'come at it slowly sideways' if you are not a strong programmer.

I played around learning about; tags ( https://ksp-kos.github.io/KOS/general/nametag.html ) and getting the various engines by tag, some control structures, and did some test burns. The Briz verniers can pulse for 0.05 secs and KSP physics + kOS seems to have 0.02 sec tics - but the engines take more than a tic to turn off so it ends up pretty close to realistic 'delta v resolution'.

I had a look at a couple of 'maneuver burn' scripts:

but they all seemed to focus on getting the right delta-v -  my burns will be like 5 - 12 minutes so trying to match the impulsive maneuver delta v doesn't sound right I decided I'd shoot for hitting my desired Ap and thus orbit period. I set the script up to do the ullage and overlap then burn main until the Ap is 4 * the last Ap change below the desired Ap, kill main (it doesn't shut off immediately), start the verniers (about 1/10 th main thrust) and burn until Ap is 3/2 the last ApChange below the desired, and kill verniers. At 200 km it will get the Ap within a couple of meters, and within a couple kilometers out past the moon.
grfAqkc.png
it's doing the ullage burn with verniers, debug is printing per kOS tick: deltaV m/s, deltaT seconds, Ap, delta Ap error (here the error is getting 5m smaller per second) the script is below in case it's useful
Spoiler

// track engine burn time & mass for audit
set m0 to mass.
set t0Main to -1.
set tMain to 0.
set t0Ullage to -1.
set tUllage to 0.

declare function onMain {
    for e in ship:partstagged("Main") { e:ACTIVATE. }.
    PRINT "Main ACTIVATED".
    if t0Main < 0 { set t0Main to TIME:SECONDS. }
}
declare function offMain {
    for e in ship:partstagged("Main") { e:SHUTDOWN. }.
    PRINT "Main SHUTDOWN".
    if t0Main > -1 { set tMain to tMain + (TIME:SECONDS - t0Main). }
    set t0Main to -1.
}
declare function onUllage {
    for e in ship:partstagged("Ullage") { e:ACTIVATE. }.
    PRINT "Ullage ACTIVATED".
    if t0Ullage < 0 { set t0Ullage to TIME:SECONDS. }
}
declare function offUllage {
    for e in ship:partstagged("Ullage") { e:SHUTDOWN. }.
    PRINT "Ullage SHUTDOWN".
    if t0Ullage > -1 { set tUllage to tUllage + (TIME:SECONDS - t0Ullage). }
    set t0Ullage to -1.
}

    // from http://spaceflight101.com/spacerockets/proton-m-briz-m/ 15sec + a bit
    set burnUllageTime to 20.
    set burnOverlapTime to 5.

    // burn control info
    set targetAp to nextnode:ORBIT:APOAPSIS.
    set b0 to TIME:SECONDS.
    set mA to b0 +burnUllageTime-burnOverlapTime.
    set uD to b0 +burnUllageTime.
    set mainActivated to FALSE.
    set ullageShutdown to FALSE.
    set tuneActivated to FALSE.
    set tuneShutdown to FALSE.

    lock throttle to 1.
    set pmann to R(0,0,0) * nextnode:deltav.
    lock steering to pmann.

    // loop init
    set ApEp to targetAp - ORBIT:APOAPSIS.
    set tsp to TIME:SECONDS.
    set dvp to nextnode:deltav:mag.

    onUllage().
    until tuneShutdown {
        set dvc to nextnode:deltav:mag.
        set ddv to dvp - dvc.
        set dvp to dvc.

        set tsc to TIME:SECONDS.
        set dts to tsc - tsp.
        set tsp to tsc.

        set ApEc to targetAp - ORBIT:APOAPSIS.
        set dApE to ApEc - ApEp.
        set ApEp to ApEc.

        // not every kOS tick is a physics tick - seem to be more kOS than physics
        //if ddv > 0 or dts > 0 or dApE > 0 {
        if dApE <> 0 {
            PRINT round(ddv,6) +" "+ round(dts, 6) +" "+round(ApEc, 3)+" "+round(dApE,6).
        }

        if TIME:SECONDS > mA and not mainActivated { onMain(). set mainActivated to TRUE.}
        if TIME:SECONDS > uD and not ullageShutdown { offUllage(). set ullageShutdown to TRUE.}
        if 10*ddv > dvc or ORBIT:APOAPSIS >= (targetAp + 4*dApE) and not tuneActivated {
            offMain(). set tuneActivated to TRUE. onUllage().
        }
        // when raising Ap dApE is -ve
        if ORBIT:APOAPSIS >= (targetAp + 3*dApE/2) { // seems to take a tic to off it
            offUllage(). set tuneShutdown to TRUE.
        }
    }

    lock throttle to 0.
    PRINT "ApE: "+round(targetAp - ORBIT:APOAPSIS,3) + " Ap: "+ round(ORBIT:APOAPSIS,3).
    PRINT "tMain: "+ round(tMain,2) + " tUllage: " + round(tUllage,2) + " dm: "+ round(1000*(mass - m0)).

 

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...