Simplest possible simulation on stock KSP
The full Simulation mod pack is relatively resource 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
- Launch KSP
- In main menu select "Start new"
- Click "New game"
- Select game type "Sandbox" and enter name "Simulation"
- Click "Start!"
- 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
- Load initial save in KSP:
- Run KSP.
- Click "Start game".
- Click "Resume saved.
- Select "Simulation" and click "Load".
- Press Alt+F9 and select initial_save from the list.
- Launch kOS server
- Run Putty (putty.exe)
- Connect to kOS server
- Launch KSPTOT (KSPTrajectoryOptimizationTool.exe)
- Connect KSPTOT to KSPTOTConnect
- Launch Mission Architect in KSPTOT
- Make sure that you have voice commlink up and running (through Zello or radio).
How it works
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.