Skip to content

Enhancement: Declarative Programmable Autostaging #951

Description

@lamont-granquist

There's a bunch of rockets that we can't fly entirely correctly with PEG or autostaging because they need special things to happen which violating the "simple" Kerbal-style autostaging rules. For example:

  • Atlas stage-and-a-half: At 164 seconds into the flight we need to drop the boosters even though no fuel tanks have run dry.

  • Delta IV Heavy (and likely any similar looking things like Atlas V HSB or Falcon 9 Heavy): At +44 seconds the core engine throttles down to 55% and then at booster sep it throttles back up to 100%

  • Delta II: I haven't researched this extensively but some variants airlight some of its SRBs halfway up and I imagine it uses throttle control similar to Delta IV Heavy.

So we need a way to do this. It might mean writing a MissionPlanner controller on top of the ThrottleController and StagingController, which PEG and FuelFlowSimulation would both query. Or it might mean being able to inspect the existing scripting module to see what it will eventually do (probably need consistent common APIs on top of the scripting controller that other controllers can query to get information about what staging events will happen.

This likely means breaking the correspondence between kerbal staging and MechJeb's staging display. This may be good because I'm running into some bugs around where the zero-dV stages land and where the non-zero-dV stages land in the FuelFlowSimulation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    EPICMassive rollup issues to reduce dupsTRIAGEDThis is an issue that still needs fixing

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions