MechJeb2

MechJeb2

4M Downloads

Multiple Node Execution support from the background (KAC-like operation)

lamont-granquist opened this issue ยท 1 comments

commented

The basic idea is that I'd like to be able to setup something like a multi-planet flyby that would take potentially a few years. At every flyby there would need to be at least a small RCS burn to fix the errors that have piled up.

To do this accurately probably requires a finite burn execution engine as per #1061 first.

But then the idea would be that MJ would need some kind of centralized controller separate from the MechJebCore where the individual ships could register their needs to wake up at a certain time to execute a burn. Then the controller would drop the warp down, switch the active vessel to the one with the alarm, restore the state of the node executor if necessary (have to investigate how well mechjeb currently hibernates / de-hibernates its state and if anything needs to be done here, and if patches need to be made it should probably restore the state of all the computer modules), then automatically execute the burn, then flip back to the formerly active scene/vessel.

This probably encompasses more functionality than just multiple burn execution in principle since if you build a general purpose system then the node executor is only one particular module that you could wake up. If you wrote a satellite orbit controller you could set a repeating alarm to wake it up once a and have it flip to the satellite and then it would automatically fix its orbit before handing back control. Or something like that.

commented

I think this probably needs to be scaled down a little bit and not have full KAC-like operation, and to rely on the user using KAC or just remembering to go back to the active vessel. Maybe there could be a bit of KAC integration to setup an alarm or something very minimal like that.

But the idea would be to save the destination orbits of a flight plan, and use those to execute finite burns against them. So the new interplanetary autopilot would save a list of the target orbits, would sort of aggressively ignore KSP's inaccurate maneuver nodes and would be capable of loading in the next target orbit from a list and executing a finite burn against it. Would also probably need to setup mid course correction burns to fine tune the slingshot orbit.

Then it could also do things like the three-burn ejections to hyperbolic orbits and a variety of in-SOI multiple burn execution.

MAYBE this is just a new operation mode of the existing node executor, IDK.