Simplest possible simulation on stock KSP

Материал из SpaceProgram Wiki
Перейти к: навигация, поиск

The full Simulation mod pack is relatively reousrce demanding (RSS with medium textures require 12+ GB RAM). But you can try Simulation experience using Stock KSP with minimal number of mods.

You'll need

Software

  • Kerbal Space Program 1.6.0+ [1]
  • KSPTOT 1.6.0+ [2]
  • Putty [3]
  • Zello - mobile push-to-talk рация (или настоящая рация).

Mods

kOS scripts

Initial save for KSP

saves/initial_save.sfs from archive

Mission Architect scenarios

ma/duna-depature.mat from archive ma/duna-correction-burn.mat from archive


Installation

Install KSP

Buy KSP on Steam, GOG or developer site and install on your PC. Remember KSP installation folder path (will be referenced next as $KSP_PATH).

Install KSP inital save

  1. Launch KSP
    1. In main menu select "Start new"
    2. Click "New game"
    3. Select game type "Sandbox" and enter name "Simulation"
    4. Click "Start!"
  2. Copy file initial_save.sfs from saves folder from archive to $KSP_PATH/saves/Simulation folder

Install KSPTOT

  • Download latest release archive compatible with your KSP version. Unzip to any folder.
  • This archive also contains KSPTOTConnect plgin (you'll need it on next step).
  • Copy scenarios duna-depature.mat and ma/duna-correction-burn.mat from ma folder from archive to KSPTOT folder.

Install mods

Download archive with kOS release compatible with your KSP version. Unzip into $KSP_PATH folder.
Copy GameData folder from KSPTOT folder to $KSP_PATH folder.

Install kOS scripts

Copy files warpup and res from kos folder from archive to $KSP_PATH/Ships/Script folder.

Setup voice commlink

Install Zello app to your smartphone or use real ptp radio.

Run Simulation

  1. Load initial save in KSP:
    1. Run KSP.
    2. Click "Start game".
    3. Click "Resume saved.
    4. Select "Simulation" and click "Load".
    5. Press Alt+F9 and select initial_save from the list.
  2. Launch kOS server
    Launch kOS server
  3. Run Putty (putty.exe)
  4. Connect to kOS server
    Connect to kOS server
  5. Launch KSPTOT (KSPTrajectoryOptimizationTool.exe)
  6. Connect KSPTOT to KSPTOTConnect
    Connect KSPTOT to KSP
  7. Launch Mission Architect in KSPTOT
  8. Make sure that you have voice commlink up and running (through Zello or radio).

How it works

Only scheme en.png

Data exchange channels are shown on the schema:

  • Mission control uses putty terminal to run kOS commands on the simulation computer:
    • _warput_ command is used to start time warp to the given date mark. Command accepts single argument: the target date mark in the timestamp foramt (number of seconds passed from the epoch). Date timestamps are calculated in KSPTOT.
    • _res_ command prints out ship resouses into terminal.
  • Mission control uses KSPTOT to:
    • Calculate maneuvers data and control their excution by Crew with the help of Mission Architec
    • Get engine startup time with the help of Maneuver Execution Assistant.
    • Convert date from calendar format to timestamp for the warput command (any date field in KSPTOT).
    • Upload maneuver data to KSP.
    • Get telemetry from KSP with MCC Real Time System.
  • Communication between Mission Control and Crew is run through single voice channel over Zello or PTT radio.

Lets start

We have:

  • Space flight simulation (in KSP) up and running on the simulation computer.
  • kOS server is up and runing in KSP.
  • We have putty terminal connected to kOS server and we can use it to control simulation.
  • KSPTOT connected to KSP through KSPTOTConnect and Mission architect opened and ready to use.
  • Voice commchannel ready to use..

We need to assign roles next. We need minimum two participants:

  • One (Mission Control) will play as Flight Director, CAPCOM, EECOM and FDO.
  • Another (Crew) will combine roles of Spacecraft Commander and Pilot.

Our flight plan:

  • We start from low Kerbin orbit at the beginning of Duna transfer window period.
  • Our tasks:
    • Plan Duna depature burn.
    • Execute it.
    • Verify orbit params after burn execution.
    • Compute correction burn if needed.

How to execute flight plan:

  • Mission Control calls Crew and informs them that maneuver calculation process begins.
  • To calculate maneuver data you need:
    • Load duna-depature.mat scenario into Misson Archtect
    • Import initial orbit params from KSP.
    • Run optimization (Ctrl+O)
  • After optmization Mission Control calls Crew and informs them that maneuver data is ready.
  • Crew confirms that they are ready to receive maneuver data.
  • Mission Control uploads maneuver to KSP and informs Crew that maneuver has been uploaded.
  • Crew confirms that they see maneuver and copy maneuver dV to Misison Control.
  • Misison Control now needs to calculate engine startup time (relative to maneuver date).
    • First current orbit params are imported into Maneuver Execution Assistant (MEA) tool.
    • Next import maneuver data to MEA.
    • Get ship mass by runnig command "run res." in the kOS terminal.
    • Enter ship mass, engine Isp and Thrust (Isp=350s, Thrust=250kN) into corresponding fields in MEA.
    • Click "Compute Burn Timing Information"
  • Mission Control calls Crew and tells them Burn Start Time.
  • Crew copy burn start time.
  • Mission Control requests how many time for preparation for maneuver execution do Crew need.
  • Crew estimates time required to turn ship into direction of the maneuver in minutes (i.e. 1 minute) and passes it to Mission Control.
  • Mission Control calculates date timestamp to warp time using formulae: T = Maneuver time - engine startup time - preparation time. Let's say maneuver time is 40210 seconds, engine startup time is 100 seconds and Crew requested 1 minute to prepare. This gives warp timestamp = 40210 - 100 - 60 = 40050.
  • Mission control calls Crew and requests are they ready for time warp.
  • Crew says ok.
  • Mission control enter command "run warput(40050)." into kOS terminal - time warp starts in KSP.
  • Mission control asks Crew do they observe time acceleration.
  • Crew confirms.
  • When time warp ends, Crew informs Mission control.
  • Crew begins maneuver execution:
    • Turn ship into direction of maneuver (using SAS mode or manually).
    • Start engine in time.
    • Mission control monitors maneuver execution through MCC Real Time System.
    • Crew waits until maneuver dV indicator reaches zero and turns off engine.
  • Crew notifies Mission Control that maneuver was executed.
  • Mission Control verivies maneuver execution:
    • Load duna-correction-burn.mat secnario into Mission Architect
    • Import current orbit data into Initial State event
    • Chck orbital params inside Final Spacecarft State box: if Orbiting about = Duna and in the mouse over popup Periapsis Alt. = 100-200 км, then maneuver execution was succesful. If no, we need to calculate correction burn:
    • Run optimization.
    • If optimization result gives orbit that satisfies constraints (Periapsis Alt. = 100 km, Inclanation = 0-10 degree), maneuver data is uploaded to KSP and executes in the same way as was descibed before. If not, when:
    • You need to increase optimization variables range or shift maneuver date.
  • The flight plan is considered completed if, after correction, the ship is on a course leading to Duna with pericenter ~100 км and low inclanation.