Simplest possible simulation on stock KSP — различия между версиями
Greywind (обсуждение | вклад) (Новая страница: «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…») |
Greywind (обсуждение | вклад) (→Lets start) |
||
Строка 91: | Строка 91: | ||
We need to assign roles next. We need minimum two participants: | We need to assign roles next. We need minimum two participants: | ||
− | *One (Mission Control) will play as | + | *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: | |
* ЦУП связывается с Экипажем и сообщает что начинает расчет маневра | * ЦУП связывается с Экипажем и сообщает что начинает расчет маневра | ||
* Для для расчета маневра нужно: | * Для для расчета маневра нужно: |
Версия 22:21, 4 марта 2019
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
- 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:
- ЦУП связывается с Экипажем и сообщает что начинает расчет маневра
- Для для расчета маневра нужно:
- Загрузить в MA сценарий расчет отлета к Дюне (duna-depature.mat)
- Импортировать параметры начальной орбиты из KSP
- Запустить оптимизацию
- После завершения оптимизации ЦУП связывается с Экипажем и сообщает что маневр готов
- Экипаж подтверждает готовность принять маневр.
- ЦУП загружает маневр в KSP и сообщает Экипажу что маневр загружен
- Экипаж подтверждает, что видит маневр и для проверки называет величину маневра
- ЦУП теперь должен рассчитать время включения двигателя
- Для этого в утилиту Maneuver Execution Assistant импортируются параметры текущей орбиты
- Импортируются параметры маневра.
- В терминале запускается команда "run res.", которая выводит текущую массу корабля
- Масса корабля и параметры двигательной установки (Isp=350s, Thrust=250kN) вводятся в Maneuver Execution Assistant.
- Нажимается кнопка "Compute Burn Timing Information"
- ЦУП вызывает экипаж и сообщает ему время включения двигателя относительно времени выполнения маневра (Burn Start Time = T-100 sec -> Время включения двигателя 100 секунд до времени маневра).
- Экипаж подтверждает получение времени включения двигателя.
- ЦУП запрашивает у экипажа, сколько времени ему нужно на подготовку к маневру
- Экипаж оценивает время на построение ориентации корабля для выполнения маневра (в минутах, например 1 минута) и сообщает ЦУПу.
- ЦУП рассчитывает дату для ускорения времени по формуле: T = Время маневра - Время включения двигателя - Время на подготовку. Допустим время маневра - 40210 секунд, время включения двигателя - 100 секунд до маневра и экипаж просит 1 минуту (60 секунд) на подготовку. Дата для перемотки времени = 40050.
- ЦУП запрашивает у Экипажа готовность к ускорению времени.
- Экипаж подтверждает
- ЦУП вводит в терминале команду "run warput(40050)." - начинается ускорение времени в игре.
- ЦУП запрашивает у Экипажа, видит ли тот ускорение времени.
- Экипаж подтверждает.
- Когда ускорение времени заканчивается, Экипаж сообщает об этом ЦУПу.
- Экипаж выполняет маневр:
- Строит ориентацию для маневра.
- В установленный момент времени запускает двигатель.
- ЦУП наблюдает за выполнением маневра с помощью телеметрии KSPTOT.
- Ждет когда индикатор dV маневра дойдет до нуля.
- Экипаж сообщает ЦУПу о успешном выполнении маневра.
- ЦУП проверяет результат выполнения маневра:
- Загружает в MA сценарий duna-correction-burn.mat
- Смотрит на параметры орбиты в боксе Final Spacecarft State: если там Orbiting about = Duna и в попапе при наведении Periapsis Alt. = 100-200 км, то коррекция не нужна. Если нет, то:
- Запускается оптимизация
- Если в результате оптимизации получается орбита, удовлетворяющая граничным условиям (Periapsis Alt. = 100 km, Inclanation = 0-10 degree), то маневр передается экипажу для исполнения как и было сделано ранее. Если нет, то:
- Надо попробовать увеличить диапазоны переменных оптимизации или время маневра
- План полета считается выполненным, если после коррекции корабль оказывается на курсе, ведущем к Дюне с перицентром орбиты ~100 км и небольшим наклонением.