Flight Plan [0.10.7 for KSP2 v0.2.2+] (2024)

Flight Plan
Flight Plan [0.10.7 for KSP2 v0.2.2+] (1)
Plan your (Space) Flight! Fly your Plan! Handy tools to help you set up maneuver nodes that will get you where you want to be.
Making spaceflight planning easier for Kerbal Space Program 2 one mission at a time.

NOTE: This mod draws heavily on some core MechJeb2 code that has been adapted to work in KSP2, and would not be possible without the kind and generous contributions of @sarbianand the MechJeb development team! It is not intended to replicate all MechJeb2 features and functions in this mod, but merely to make some handy maneuver planning tools available for KSP2 players. While you may be able to create some useful nodes with this mod, you'll still need to execute them accurately! Also, understanding some basic mission planning will be very useful for those employing the tools in this toolbox.

Note:Version 0.8.0 has receivedsignificant updates and improvements in the GUI from@cfloutierwho richly deserves the credit for those parts. His contributionshave dramatically improved the quality of the user interface and made the mod not only more modern and visuallypleasing but also easier and more fun to use.

Compatibility

  • Tested with Kerbal Space Program 2 v0.2.2& SpaceWarp 1.9.5
  • Requires SpaceWarp 1.8.0+
  • Requires UITKForKsp22.4.0+
  • Requires Node Manager 0.8.1+
  • Optional, but highly recommended: K2-D2 v0.12.2+. See the capabilities described below.
  • Optional, but highly recommended:Maneuver Node Controllerv1.1.3+. See the capabilities described below.

Source Code

Latest Release:https://github.com/schlosrat/FlightPlan/releases/tag/0.10.0

Accolades and Mentions:

This thread was selected as a Thread of the Month for August 2023! Thank you, @adsii1970!

Flight Plan [0.10.7 for KSP2 v0.2.2+] (2)

When asked by @Spicat "What’s your favorite mod of ksp2 so far?", Chris @NerteaAdderley replied, "So I haven't dived into the modding scene a lot in KSP2, butI've been seeing some really good work that's come out of like improving trajectory planningand flight planning, and I can't think of the name of the mod off the top of my headbut those kind of mods are really cool, and I like to see what people are doing in that space with a new tool, so we've giventhem."

Video:

CKAN Installation

  1. Launch CKAN
  2. Ensure the game you want to add Flight Plan to is selected
  3. Check the box to install Flight Plan
  4. Optionally tick the boxes for K2-D2 and Maneuver Node Controller too if you want them
  5. Apply Changes - CKAN will make sure you've got the latest released version and all the right dependencies!

Manual Installation

  1. Download and extract BepInEx mod loader with SpaceWarp 1.0.1 or later (see link above) into your game folder and run the game, then close it. If you've done this before, you can skip this step. If you've installed the game via Steam, then this is probably here:C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program 2. If you complete this step correctly you'll have aBepInExsubfolder in that directory along with the following files (in addition to what was there before):changelog.txt, doorstop_config.ini, winhttp.dll
  2. Install Node Manager 0.5.2 or later (see link above). From the NodeManager-x.x.x.zip file copy theBepInExfolder on top of your game's install folder. If done correctly, you should have the following folder structure within your KSP2 game folder:...\Kerbal Space Program 2\BepInEx\plugins\node_manager.
  3. Download and extract this mod into the game folder. From the FlightPlan-x.x.x.zip file copy theBepInExfolder on top of your game's install folder. If done correctly, you should have the following folder structure within your KSP2 game folder:...\Kerbal Space Program 2\BepInEx\plugins\flight_plan.
  4. Optional: Download and install K2-D2, your friendly KSP Astromech ready to perform precision node execution for you! (see link above).From the K2D2_vx.x.x.zip file copy theBepInExfolder on top of your game's install folder. If done correctly, you should have the following folder structure within your KSP2 game folder:...\Kerbal Space Program 2\BepInEx\plugins\K2D2.
  5. Optional: Download and install Maneuver Node Controller to assist you with finetuning your maneuver nodes! (see link above). From theManeuverNodeController-x.x.x.zip filecopy theBepInExfolder on top of your game's install folder. If done correctly, you should have the following folder structure within your KSP2 game folder:...\Kerbal Space Program 2\BepInEx\plugins\maneuver_node_controller.

How to Use Flight Plan

Flight Plan employs a tabbed interface to help organize its features. The list of available tabs updates dynamically based on your current situation. Some tabs will always be available (e.g.,Ownship ManeuversandResonant Orbit Maneuvers), while others will be offered to you based on the orbit you're in and the type/location of your currently selected target. For example, if your current target is another vessel, and that vessel is in orbit about the same body as your active vessel, then theTarget Relative Maneuverstab will be available to you and it will have the sorts of maneuvers that are configured relative to a target (e.g.,Match Planeswith the target, etc.).

The basic workflow you'll want to follow when using Flight Plan is this.

  1. Select theTabthat has the type of maneuver you want to perform.
  2. Click theManeuver Typetoggle button you want. Once you've selected a maneuver type then the menu for Burn Time Options will automatically be configured for the options that make sense given that maneuver type and your current situation. For example, if you're in a hyperbolic orbit, then there will not be an option to perform a maneuver at the Ap, etc.
  3. Optional:Click theBurn Time Optionto display a list of available options. This step is optional because selecting the maneuver type prior to this automatically populates the listandsets the currently selected option to the default (if there wasn't an option selected previously), or to the previously selected option (if that's a viable choice for this maneuver type). If the Burn Time Option displayed suits your needs, then there's nothing you need to do on this step.
  4. Optional:Set theInput Field(s)for the maneuver type selected. Some maneuver types have input fields to the right of their toggle button and some don't. These fields are pre-populated with a default value or the last value you've used. Also, some Burn Time Options have additional input fields that are displayed when needed, e.g., "after a fixed time" and "at an altitude".
  5. Press theMake Nodebutton. Pressing this button will either cause the maneuver node you've configured to be created with an appropriate status message confirming this, or you'll get an error message in the Status field.
  6. Optional:Click theManeuver Node Controllericon button to the right of the Make Node button if you'd like to fine-tune your maneuver node. This button is only available if you also have the Maneuver Node Controller mod installed.
  7. Optional:press theK2-D2icon button to automatically execute the node! This button is only available if you also have K2-D2 installed.

Demos

Orbital Rendezvous

A Quick Trip to Minmus

All Aboard for Dres

Features
Easy Celestial Target Selection

Flight Plan [0.10.7 for KSP2 v0.2.2+] (3)

  • Menu for easy selection of Celestial Targets. Planets and their moons are graphically organized with moons indented below the planet they orbit. This capability augments the game's built-in target selection for easier selection of distant celestial bodies.

Burn Time Option Selection

Flight Plan [0.10.7 for KSP2 v0.2.2+] (4)

  • Automatically populated menu for available burn time options consistent with the selected maneuver type and the current situation. When a maneuver type is selected, if the previously selected burn time option is not a valid option for that maneuver type and your current situation, then a default will be populated. If the displayed maneuver time option is not what you need simply click the option to display a menu of available options to customize your maneuver.

Ownship Maneuvers

Flight Plan [0.10.7 for KSP2 v0.2.2+] (5)Always Available

  • Circularize
  • New Pe (user-specified value - km)
  • New Ap (user-specified value - km)
  • New Ap & Pe (uses inputs for New Peand New Apabove changing both in one maneuver)
  • New Inclination (user-specified value - degrees)
  • New SMA (user-specified value - km)

Target Relative Maneuvers

Flight Plan [0.10.7 for KSP2 v0.2.2+] (6)Available If the Selected Target is a Vessel

  • Select Docking Port
  • Display of Rendezvous Planning Info
    • Target Orbit: (periapsis x apoapsis)
    • Current Orbit: (periapsis x apoapsis)
    • Relative Inclination
    • Synodic Period
    • Next Transfer Window
    • Next Closest Approach
    • Separation at Closest Approach
    • Relative Velocity (displayed when the target is near)
  • Match Planes with Target
  • New Ap (same as on Ownship Maneuvers, useful for raising orbit for better phasing)
  • Circularize (as above)
  • Hohmann Transfer to Target
  • Match Velocity
  • Recommended Next Action for Rendezvous Operations

Flight Plan [0.10.7 for KSP2 v0.2.2+] (7) Available If Selected Target is a Celestial Body

  • Match Planes with Target
  • Hohmann Transfer to Target
  • Course Correction (requires being on an intercept trajectory)

Orbital Transfer Maneuvers

Flight Plan [0.10.7 for KSP2 v0.2.2+] (8) Available If Active Vessel is Orbiting a Moon

  • Moon Return(user-specified target Pe(km) for arrivalback at the parent planet)

Flight Plan [0.10.7 for KSP2 v0.2.2+] (9) Available If Active Vessel is Orbiting a Planet and Another Planet is the Selected Target

  • Display of Planetary Transfer Parameters:
    • Phase Angleto target (the current angle between the radius vectors for the origin and destination planets)
    • Transfer Window Phase Angle(the phase angle needed to be at or in a transfer window. When this equals Phase Angle you're ready to go)
    • Transfer Time(the approximate travel time for a vessel taking a Hohmann transfer from the origin planet to the destination)
    • Synodic Period(the time between transfer windows)
    • Time to Next Window
    • Approximate Eject DeltaV(based on Hohman transfer orbit, but neglecting the Delta-V needed to escape from the origin)

Resonant Orbit Maneuvers

Flight Plan [0.10.7 for KSP2 v0.2.2+] (10) Always Available

  • Display of Resonant Orbit Configuration Parameters
  • Payloads(Number of payloads to deployments. Click + / - buttons to change. Canbe 2 to *)
  • Deploy Orbits(Number of resonant orbit cycles between deployments. Click + / - buttons to change. Canbe 1 to *)
  • Target Altitudefor payload deployment (user configurable - km)
  • Current Orbit Apoapsis(click "⦾" button to set as Target Altitude)
  • Current Orbit Periapsis(click "⦾" button to set as Target Altitude)
  • Synchronous Orbit Altitude(click "⦾" button to set it as Target Altitude)
  • Semi Synchronous Orbit Altitude(click "⦾" button to set it as the Target Altitude)
  • SOI Altitude(FYI - cant deploy above this)
  • Min LOS Orbit Altitude(click "⦾" button to set as Target Altitude - Going below this will prevent Line of Sight between deployed payloads)
  • Occlusion(Toggle to accountfor atmospheric/planetary occlusion in Min LOS Altitude: On or Off)
  • Dive(Toggle to configures fordeployment at Apoapsis (ON) or Periapsis (OFF))
  • Period(FYI - Deployment orbital period)
  • Apoapsis(FYI - Deployment orbital apoapsis)
  • Periapsis(FYI - Deployment orbital periapsis)
  • Eccentricity(FYI - Deployment orbital eccentricity)
  • Injection Delta-V(FYI - Delta-V needed to circularize the payload's orbit at the point of deployment - typically lower for Diving deployments)
  • Fix Pe(Raise or Lower Pe to reach the configured deployment orbit)
  • Fix Ap(Raise or Lower Ap to reach the configured deployment orbit)

Display Status of Last Command

  • Normal/Good results are shown inGreenindicating a maneuver node was generated and it's ready for you to execute it.Don't forget to get your craft pointed in the right direction first!
  • Warnings and Cautions are shown inYellowindicating a node was generated, but you should inspect it carefully first and may need to modify it.
  • Failures are shown inRedindicating no node has been generated with some clue as to why.

Game Input Enable/Disable Status

  • To preventthings you type in a user input field from passing through to the game and affecting things in odd ways, the game input is automatically disabled when you click inside atext input field. This will cause the game to not respond to your mouse or to anything you type, although you can freely type what you need into the input field. Typing a "." as part of a decimal number will not increase your time warp setting, and using the 1 and 2 keys on your number pad will not mute the game or the music. To restore full functionality for keyboard and mouse inputs simply click anywhere else other than the text input field. Closing the Flight Plan GUI will also have this effect.

Integration with K2-D2, v0.8.1+

  • IfK2-D2 is installed, then a K2D2Icon button will be presented in the lower right part of the GUI whenever there is an executable maneuver node. If the version of K2-D2 is 0.8.0 orearlier, then pressing Flight Plan's K2-D2 button will bring up the K2-D2 GUI to assist with the precision execution of the planned maneuver. If K2-D2 0.8.1 orlateris installed, then pressing the K2-D2 button will cause K2-D2 toexecutethe next maneuver node - this doesn't bring up the K2-D2 GUI, but if you have it up you'll be able to watch it as it executes the node.

Integration with Maneuver Node Controller, v0.8.3+

  • If Maneuver Node Controller (v0.8.3 or later) is installed then an MNC Icon button will be presented to the right of the Make Node button and left of the K2D2 button. Pressing this button will bring up the Maneuver Node Controller mod to aid you in finetuning a Flight Plan-generated maneuver node. If the Launch Maneuver Node Controller configuration setting is Enabled, then when you activate an experimental node creation function the Maneuver Node Controller mod will automatically be brought up if it is not already up. This can make it easier to evaluate and adjust nodes constructed using experimental functions (those listed under Planned Improvement below).

UI Screens

The Flight Plan GUI will always display all Ownship maneuvers available in the current orbital situation. These are maneuvers that don't require a target and so are relative to your current vessel's orbit alone. Each Maneuver Type may be customized by making a selection from the Burn options menu (right below the Celestial Target Selection Menu). For example, selecting Circularize as the Maneuver Type will result in having Burn Time options for "at the next Ap", "at the next Pe", "at an altitude", and "after a fixed time". In the case of the latter two options, these will cause an additional input field to be presented where you can specify the Maneuver Altitude or Time From Now.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (11)

Similarly, selecting Match Planes will give Burn Time options for at the cheapest AN/DN w/Target, at the nearest AN/DN w/Target, at the next AN w/Target, and at the next DN w/Target. NOTE: In the Match Planes example above the Make Node button has been pressed and Flight Plan is showing a status indicating the node is ready. In this example, with K2-D2 installed, the K2-D2 Astromech Icon is displayed in the lower right indicating that K2-D2 is ready to help you fly the node.

In addition to the basic UI screens above, the UI will automatically adjust to offer capabilities relevant to the current orbit and selected target. Some options such as Interplanetary Transfer (above far right example) are only available if the Experimental Features option has been selected in the Flight Plan configuration options menu.

Configuration Parameters
Flight Plan [0.10.7 for KSP2 v0.2.2+] (12)

Flight Plan includes a number of user-configurable parameters which can be accessed through the SpaceWarp configuration screen. Press Alt + M to pull up the SpaceWarp Mod dialog, and select the Open Configuration Manager button at the bottom to display the list of installed mods with configurable settings. Clicking on the Flight Plan entry will display the interface shown above. There are tooltip strings that describe what each setting does.
Using the configuration parameters you can change a variety of things such as how long a status message sticks around before it starts to fade, and also how long it will take to fade.

NOTE:The following settings are dynamically managed and may be updated by the user while the game is running. All others will require exiting and restart to take effect.

  • Experimental Features: Enable/Disable
  • Launch Maneuver Node Controller: Enable/Disable
  • Status Fade Time: Seconds
  • Status Hold Time: Seconds

Planned Improvement / Experimental Features
Flight Plan [0.10.7 for KSP2 v0.2.2+] (13)
Work In Progress developmental features may be enabled by switching on the Experimental Features in the mod's configuration screen. You do not need to restart the game for this setting to take effect, and it will allow you to play with some broken toys if you like. As these features mature and become reliable enough to use they will be moved up into the main feature set available without turning on the Experimental Features setting.

WARNING! Switching on the Experimental Features will void the product warranty!

Ownship Maneuvers

Flight Plan [0.10.7 for KSP2 v0.2.2+] (14)Always Available

  • New LAN (user-specified value - degrees)

Target Relative Maneuvers

Flight Plan [0.10.7 for KSP2 v0.2.2+] (15) Available If the Selected Target is a Vessel

  • Intercept target (user specified encounter time from now)
  • Match Velocity

Orbital Transfer Maneuvers (only available if a planet is the selected target)

Flight Plan [0.10.7 for KSP2 v0.2.2+] (16) Available If Active Vessel is Orbiting a Planet and Another Planet is the Selected Target

  • Interplanetary Transfer
  • Advanced Interplanetary Transfer(Not implemented yet, but dang aren't those porkchop plots pretty!)

Example: Take a Trip to Minmus!

Step 1: Match Planes

Here we're starting out in a nicely equatorial Low Kerbin Orbit. As we want to go to Minmus, the first step is to get into a new circular orbit that's co-planar with the target. We can see that the necessary plane change maneuver has been planned and is ready to execute.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (17)

Here we can see that K2-D2 has been activated. The Flight Plan status has been updated to show that we're executing the planned maneuver, and K2-D2 is reporting its status indicating the vessel is turning to point in the right direction for the planned burn.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (18)

Here we can see K2-D2's status indicates we're warping to the burn. The Flight Plan status is unchanged.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (19)

Here we can see K2-D2's status indicates we're executing the burn. The Flight Plan status is unchanged.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (20)

Here we can see the plane change burn is done, the old node has been deleted, and we're now in a coplanar orbit with the target: Minums.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (21)

Step 2: Hohmann Transfer

Now that we're in a coplanar orbit with our target we're ready to plan a Hohmann Transfer. Note that Flight Plan generated Hohmann Transfer maneuvers are not always spot on but will get you close. For this reason, Flight Plan will bring up the Maneuver Node Controller mod if it's installed any time it produces a Hohmann Transfer. You may need to make minor adjustments to the prograde burn component or the node time, but should find that it's easy to get the transfer orbit you need with only a few clicks and no need to manually tweak the node. This example produced a good initial orbit that only required a few m/s more prograde delta-v and a slightly earlier burn time to get the result shown below.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (22)

Here we can see K2-D2 has been commanded to execute the node and we're warping to the starting point for the burn.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (23)

Here we can see K2-D2 executing the transfer burn.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (24)

Sometimes in the game, as in life, things don't go quite as planned. What if you overshot the planned burn slightly as shown below? This can easily happen when executing a burn manually, and may also happen in some isolated cases when executing an automated burn.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (25)

Here we can see a Course Correction burn has been planned. Like the Hohmann Transfer option, this option will also bring up the Maneuver Node Controller mod so you can fine-tune things to make sure you've got the exact node you want. In this case, very small prograde adjustments were made to get a good Pe at the Minmus flyby encounter.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (26)

Here we can see K2-D2 performing a flawless Course Correction burn to get us back on track and headed for the encounter we want.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (27)

Here we can see that we've arrived inside the Minmus SOI, and are on track for a nearly equatorial flyby with a nice low Pe in a prograde orbit. What if we'd like to have an inclined orbit when we get to Minmus? Easy! Use Flight Plan to set up a New Inclination at a burn time 30 seconds from now (this offset ensures we'll have sufficient time to point in the direction we need before the start of the burn).

Flight Plan [0.10.7 for KSP2 v0.2.2+] (28)

Here we can see we're in a 60-degree inclined flyby orbit and we've got a Circularization burn planned for the periapsis of the Minmus encounter.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (29)

Here we are approaching Pe in our Minmus Flyby with a Circularization burn planned to put us into a 60-degree inclined low circular orbit about Minmus. Perfect for picking a landing spot almost anywhere we may want to go. In this view, you can also see the Maneuver Node Controller's GUI showing that our planned maneuver will place us in the orbit we want.

Flight Plan [0.10.7 for KSP2 v0.2.2+] (30)

License:

As this mod updates and reuses some MechJeb KSP1 code that was released under the GNU GPL, those portions of the code retain that same license. The top-level GUI employs the MIT license. See the license.md file on GitHub for details, and the individual source code files which each declare their specific licensing information.

Edited by schlosrat
Updated for 0.10.7

Flight Plan [0.10.7 for KSP2 v0.2.2+] (2024)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Wyatt Volkman LLD

Last Updated:

Views: 6302

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Wyatt Volkman LLD

Birthday: 1992-02-16

Address: Suite 851 78549 Lubowitz Well, Wardside, TX 98080-8615

Phone: +67618977178100

Job: Manufacturing Director

Hobby: Running, Mountaineering, Inline skating, Writing, Baton twirling, Computer programming, Stone skipping

Introduction: My name is Wyatt Volkman LLD, I am a handsome, rich, comfortable, lively, zealous, graceful, gifted person who loves writing and wants to share my knowledge and understanding with you.