Skip to content

Latest commit

 

History

History
127 lines (101 loc) · 7.58 KB

readme_ru.md

File metadata and controls

127 lines (101 loc) · 7.58 KB

MechJet

Скрипты для kOS, частично повторяющие функционал MechJeb.


deorbit.ks (%L)

Компиляция не требуется.
Зависимости: lib.ks

Возврат с низкой орбиты Кербина на долготе L (по умолчанию 174.7) и сброс ступеней вплоть до 0 по достижении атмосферы.


exec.ks

Компиляция рекомендуется.
Зависимости: lib.ks (GUI/stat.ks пока убрана)


Программа выполнения следующего запланированного узла манёвра. Параметров не требует.


launch.ks (%ORB, %INC, %TSH, %PLM, %DN)

Компиляция рекомендуется.
Зависимости: lib.ks (GUI/stat.ks пока убрана)

Программа запуска на орбиту по траектории "MechJeb Classic". Автоматически сбрасывает ускорители (но не баки), отделяет обтекатели и открывает солнечные панели когда это нужно.
Запуск в плоскость цели пока что возможен только через GUI/gui_launch.ks.

Параметры:
ORB - Желаемая высота орбиты (км), по умолчанию 90.
INC - Желаемое наклонение орбиты, по умолчанию 0.
TSH - Кривизна траектории запуска, по умолчанию 0.5 (аналог 50 в MechJeb).
PLM - Угол тангажа в конце траектории, по умолчанию 0.
DN - Запуск в нисходящем узле (DN) цели, по умолчанию False.


lib.ks

Компиляция не требуется. Зависимостей нет.

Функции:
POP(STRING) - стандартное сообщение HUD.
MSG(STRING) - стандартное сообщение HUD с занесением в консоль.
WRN(STRING) - предупреждение HUD с занесением в консоль.
ERR(STRING) - ошибка HUD с занесением в консоль.
HMS(TIME) - возвращает строку формата Ч:М:С.
OrbN(ORBIT) - возвращает нормализованный перпендикулярный к орбите вектор.
RInc(Orbitable,Orbitable) - возвращает относительное наклонение (°).
TTLng (Longitude) - возвращает время полёта до долготы (с).
VNODE(Vector,Seconds) - создаёт узел манёвра с DeltaV = Vector через Seconds секунд.
BURN(VectorFunction,%Threshold) - прожигает в направлении вектора, возвращаемого VectorFunction пока длина вектора не уменьшится до Threshold (по умолчанию 0.1). (Иногда вызывает неожиданные баги.).


prepare_to.ks (MODE)

Компиляция не требуется.
Зависимостей нет.

Менеджер миссий на скорую руку. Чистит диск аппарата и загружает нужные файлы.
Значение MODE либо "launch_rocket", либо "orbital_stuff" (пока что).


rndzvs.ks (%DST)

Компиляция не требуется.
Зависимостей нет.

В основном обёртка вокруг других программ для выполнения манёвра перехвата. Не использует итеративные "приближалки" типа "Решения по Ламберту".
Параметр DST - это желаемое итоговое расстояние до цели. По умолчанию 80 (хотя более вероятно, что аппарат окажется в 100-160 метрах).


GUI/gui_launch.ks

Нужна компиляция?
Зависимостей нет.

Графический интерфейс для выбора MechJeb-образных параметров запуска.

Элементы:
ORB - Желаемая высота орбиты (км), по умолчанию 90.
INCL - Желаемое наклонение орбиты, по умолчанию 0.
TS - Кривизна траектории запуска, по умолчанию 0.5.
FPit - Угол тангажа в конце траектории, по умолчанию 0.
DN - чек бокс для случая запуска в нисходящем узле (DN) цели.


GUI/stat_gui.ks

Нужна компиляция?
Зависимостей нет.

Вспомогательный интерфейс для launch.ks и exec.ks. Показывает некоторые параметры полёта.
Временно убран из кода. MJ или KER показывают параметры куда лучше.


mp_altin.ks (ALT, T)

Компиляция не требуется.
Зависимостей нет.

Создаёт узел манёвра через T секунд от текущего времени, который задаст высоту ALT в противоположной манёвру точке.

Примеры:
run mp_altin(APOAPSIS,ETA:APOAPSIS). - Скругляем орбиту в апоцентре.
run mp_altin(PERIAPSIS,ETA:PERIAPSIS). - Скругляем орбиту в перицентре.
run mp_altin(20000,60). - Создаём узел манёвра для посадочной траектории через 60 секунд.


mp_hoh.ks (%PE)

Компиляция не требуется.
Зависимостей нет.

Создаёт узел для гомановского манёвра. PE - опциональный параметр, задающий желаемую высоту финального перицентра при манёвре к лунам или планетам. По умолчанию равен нулю - для манёвров сближения с аппаратами.


mp_inc.ks (%INC)

Компиляция не требуется.
Зависимости: lib.ks

Если выбрана цель - создаёт узел для уравнивания наклонения.
Если цель не выбрана - нужно указать параметр INC для того, чтобы задать желаемое наклонение.

Примеры:
RUN mp_inc(90). - Создаём узел для перехода на полярную орбиту.
RUN ONCE lib. IF HASTARGET AND RiNC(SHIP,TARGET)>0.5 {RUN mp_inc.} - Подгружаем мини-библиотеку для вычисления отклонения орбиты. Если у нас есть цель и отклонение больше 0.5° - создаём узел для уравнивания наклонения.


MP/mp_preland.ks (TLAT, TLNG, %PE)

Нужна компиляция?
Зависимостей нет.


Создаёт узел манёвра для примерного подгона перицентра в точку над точкой посадки с координатами TLAT,TLNG и понижения его до PE (по умолчанию 20000 м).
Идея манёвра © TheGreatFez.