Теория и практика межпланетных перелетов. Часть 4. Выход на орбиту с заданной ориентацией в пространстве

Kerbal Space Program » Гайды

Ноги этого вопроса растут из игровых задач. Например в карьере есть контракты типа "запустить спутник Кербина с заданными параметрами орбиты". И приводятся параметры орбиты: наклонение, долгота восходящего узла, аргумент перицентра и высота перицентра и апоцентра над поверхностью планеты.

Кроме того, ну мало кто из опытных и не очень игроков не летал на Минмус. Орбита Минмуса, в отличие от Мун, наклонена к плоскости орбиты Кербина (к эклиптике!) под углом 6 градусов. А долгота восходящего узла этой орбиты - 78 градусов.

Выходя на экваториальную орбиту довольно сложно спланировать экономный трансфер к Минмусу, даже используя MechJeb. Никто не говорит, что это нереально, но затраты выйдут довольно серьезыми, да и поймать нужную точкность для орбиты подхода к спутнику довольно тяжело.

Очевидное решение - выровнять плоскости орбит. Это можно сделать и руками, можно и MechJeb-ом. Но на круговой орбите в 80 км это потребует около 240 м/с дельты. А если для межпланетного трансфера требуется большее наклонение опорной орбиты? Ведь старт к планетам не всегда можно произвести из экваториальной плоскости.

Другое решение - сразу выйти на орбиту с нужной ориентацией. Это серьезно съэкономит топливо - заставим первые ступени РН не только забросить нас на нужную высоту, но и сразу построим нужную орбиту.

Другой вопрос - где брать данные о параметрах текущей орбиты? MechJeb и VOID показывают наклонение, но не долготу узлов. И вот тут нам на помощь приходит точный расчет.

1. Системы координат, отсчета времени и механика вращения небесных тел в KSP

Чтобы ориентироваться в пространстве, надо знать, как в каждый интересующий нас момент времени расположена планета, с которой мы стратуем. Вот так например, выглядит наша планета Земля

Теория и практика межпланетных перелетов. Часть 4. Выход на орбиту с заданной ориентацией в пространстве

Горизонтальная плоскость на рисунке - плоскость эклиптики. Плоскость, наклоненная под углом delta - плоскость экватора Земли. Пересекаются они по прямой, направленной на точку весеннего равноденствия. Именно линия пересечения экватора Земли с плоскостью её орбиты и есть то направление, откуда в Солнечной системе отсчитываются все угловые координаты. Прямая NS - ось вращения Земли. Соответственно N - северный полюс, а S - южный. Если пренебречь прецессией и нутацией, то ось вращения Земли движется в пространстве поступательно и не меняет своей ориентации в пространстве. А линия углов экватора всегда смотрит в сторону точки весеннего равноденствия.  Дуга NAS идущая через полюса есть нулевой меридиан Гринвича, относительно которого отсчитываются на Земле все долготы. Поскольку Земля вращается, то нулевой меридиан, в каждый момент времени повернут относительно точки весеннего равноденствия на некоторый угол t, называемый часовым углом. Этот угол характеризует так называемое звездное время

Наконец положение нашего космодрома M определяется широтой - дуга BM (угол phi), и долготой - дуга AB (угол lambda).

Если говорить о других планетах Солнечной системы, то линия узлов их экваториальных плоскостей не направлена на точку весеннего равноденствия, а составляет с ней некоторый угол Omega, так, как показано на следующем чертеже.


Здесь формулы для расчета наклонения орбиты к плоскости эклиптики и долготы её восходящего узла придется воспользоваться довольно громоздкими формулами. 

Что касается Кербальской системы, то тут пока что всё предельно просто - экваториальные плоскости всех планет лежат в плоскости эклиптики и всё выглядит так


Красной линией показана трасса орбиты на поверхности планеты. Очевидно, что положение узла орбиты зависит от того, на какой угол t повернута планета в момент запуска, а так же от долготы места запуска. Красный вектор vk - фактическая круговая скорость движения по орбите, получаемая при запуске (ограничимся рассмотрением круговых орбит). Зеленый вектор vs - скорость точки поверхности планеты, из которой производится запуск. Да-да, когда ракета отрывается от старта, она уже имеет орбитальную скорость равную окружной скорости  вращения планеты в данном месте. Для KSC эта скорость примерно 174 м/с. Именно поэтому ракеты стараются пускать на восток, дабы получить халявную дельту. Эта скорость зависит от широты места старта phi


Здесь: omega - угловая скорость вращения планеты; R - экваториальный радиус планеты. Угловая скорость планеты легко вычисляется через известный параметр - период вращения планеты вокруг своей оси Tr
 
 

Кроме того, космодром лучше располагать поближе к экватору по двум причинам. Первая - большая окружная скорость из-за меньшей широты. Вторая - больший диапазон достижимых наклонений орбиты. Чтобы понять, почему так происходит, следует ответить на вопрос, а чем вообще определяется наклонение орбиты? Оно определяется азимутом запуска Az. Его можно рассчитать, зная широту места старта и желаемое наклонение, а так же требуемую орбитальную скорость



здесь у нас: i - желаемое наклонение орбиты, а угол обозначенный закорюкой с именем "кси" - азимут старта, который требовался бы, если бы планета не вращалась. Напомню, что азимутом называется угол между направлением нашего движения и касательной к меридиану, направленной в сторону севера. В KSP этот параметр называется истинным курсом - HDG.

Из второй формулы видно важную вещь - синус не может быть более единицы и менее минус единицы. А значит


откуда следует, что


то есть

При запуске с поверхности планеты, наклонение орбиты не может быть меньше, чем широта точки старта

Поэтому космодром лучше располагать на экваторе. А вот, например, для Байконура нельзя получить наклонение менее 45 градусов, ибо такова его широта. Ограничения на район падения ступеней увеличивает этот предел до 51 градуса. Американцам в этом смысле проще - 28 градусов широты и океан, куда ступени могут спокойно падать. На Кербине ещё проще - широта KSC составляет 6 минут южной широты, то есть доступны наклонения до 6 угловых минут.

Программное поддержания азимута в процессе выведения ракеты даст нам требуемое наклонение орбиты. И тут есть сложность - азимут будет изменятся, ведь меридианы искривляются по мере того как мы поднимаемся в более высокие широты. Поэтому, для точного выведения требуется периодически пересчитывать азимут, меняя курс. 

Что касается долготы узла, то нам необходимо вычислить, на какой угол должен быть повернут космодром относительно точки весеннего равноденствия, чтобы обеспечивался требуемая долгота восходящего узла. Этот угол лежит в пределах от 0 до 360 градусов и его можно вычислить по формулам



Угол поворота точки старта связан с долготой места старта и углом поворота планеты (звездным временем)


Откуда мы найдем требуемые в момент старта угол поворота планеты


Подобрав время запуска, и соблюдая азимут запуска мы получим нужную нам орбиту.

Такова теория. Теперь рассмотрим практику

2. Выход на орбиту для полета на Минмус

Параметры орбиты Минмуса таковы: наклонение - 6 градусов, долгота восходящего узла - 78 градусов. Координаты точки запуска: широта минус 6 минут 10 секунд, долгота - минус 74 градуса 34 минуты 31 секунда. Исходя их этих формул рассчитаем азимут старта и угол поворота планеты, учитывая, что скорость вращения Кербина на данной широте - 174.53 м/с, а орбитальная скорость на высоте 80 км равна 2279 м/с. Воспользовавшись формулами получим следующие данные


У нас есть азимут пуска - 83.50 градуса. Хорошо. Нам так же стало известно, что нулевой меридиан Кербина должн быть повернут на угол 153.54 градуса. Когда нам стартовать? Это зависит от текущей даты. Допустим у нас 31 год 1 день 0 часов 0 минут 0 секунд. Переведем это время в секунды T = 276048000 секунд, прошедших от эпохи UT 0 (1 год 1 день 0 часов 0 минут 0 секунд). Расчитаем угол поворота Кербина в интересующую нас дату


Здесь - Tr = 21599.912 секунд - период вращения Кербина вокруг своей оси. Внимание: не 21600, а именно 21599.912!. Имеются в виду звездные сутки Кербина, его фактический период вращения относительно инерциальной системы отсчета. Взяв 21600 на больших промежутках времени мы получим большую ошибку.

Угол t0 в KSP называется initialRotation - начальный угол поворота планеты в эпоху UT 0. Для Кербина он равен 90 градусам, для Ив - 0 градусов, для Дюны - 230 градусов.

Если мы посчитаем угол tc, то получим значение много превышающее 360 градусов. Ещё бы, за 30 лет планета совершит не один оборот. Отбросим целое число оборотов, и получим угол поворота


равный 108.74 градуса. За 30 лет Кербин сделает 12780 оборотов вокруг оси и довернется ещё на 108.74 градуса.

Итого, выходит нам нужно подождать ещё некоторое время, когда Кербин довернется на dt = 153.54 - 108.74 = 44.8 градуса. За какое время он это сделает? Если 360 градусов занимает 21599.912 секунд, то с 44.8 мы управимся за 44 минуты 47 секунд. Итак, дата старта 31 год 1 день 0 часов 44 минуты 47 секунд. Проверим что получится.

3. Выход на расчетную орбиту

Запуская KSP, ставим дату 31 год 1 день 0 часов 0 минут 0 секунд. Это удобно сделать с помощью HyperEdit. Теперь вопрос - чем выводить? Автопилот мехджеба не подходит - он отвратительно делает наклонение орбиты. Видимо он не учитывает ни вращения планеты, ни изменения азимута в процессе выведения. Так что используем Smart S.A.S от мехджеба, на которой выставим курс 83.5 градуса и тангаж в 90 градусов. Наклонение орбиты будем контролировать по утилите Orbit Info. Стартуем в 0:44:47 по кербальскому времени.


Теперь рулим по тангажу и одновременно следим за ступенями и наклонением орбиты. Когда оно достигает 6 градусов - отсекаем тягу.  Сразу после отсечки программируем циркуляризацию орбиты.


Такой подход - вынужденная мера и неверен технически, но точного автопилота по наклонению у нас нет. После того как отработает циркуляризация идем в карту, выбираем Минмус в качестве цели и смотрим плоскости орбит


Отклонение от плоскости - 0.3 градуса. При необходимости это проще нивелировать, чем все 6 градусов. Таким образом мы достигли цели - вышли на орбиту, лежащую в плоскости орбиты Минмуса и можем строить трансфер.

Заключение

Что мы выяснили? Что азимут запуска влияет на наклонение орбиты, а время запуска определяет долготу её узлов. Надеюсь читателю это пригодится.

P.S.: Я научил "Звездочета" определять дату запуска.  Для межпланетного перелета рассчитывается наклонение опорной орбиты, дата запуска и азимут запуска. Новую версию программы можно получить вот тут. Исходники по прежнему доступны в официальном репозитории проекта.


Теория и практика межпланетных перелетов. Часть 3. Программа "Звездочет"
Теория и практика межпланетных перелетов. Часть 3. Программа "Звездочет"
13 окт 2015 в 09:16, Гайды
Теория и практика межпланетных перелетов. Часть 2.
6 окт 2015 в 00:37, Гайды
  1. Airtra

    Airtra @Airtra 23 октября 2015 09:28

    Информация крайне интересна!
    Но думаю к минмусу летал таки каждый, хоть и выходило не очень экономично!

    Статья просто бурлит формулами, некоторые из которых даже прочитать немогу).
    Буду стараться понять, учить и считать. А пока + за то что понял, + за достойное насыщение картинками и графикой, позволяющей понять хоть что то из АРКсинусов,косинусов, азимутах и пр.

    П.С. Малек оЧепятка: "да и поймать нужную точкность для орбиты подхода к спутнику довольно тяжело".
    (3й абзац)

    РЕСПЕКТУЮ стоя! am

  2. maisvendoo

    maisvendoo @Дмитрий 23 октября 2015 10:21 Автор

    Минмас выбран в качестве примера из-за того, что очень легко проверить точность выведния по карте в игре. Всё написаное справедливо и для полета к планетам, ведь низкая опорная орбита имеет вполне определеную ориентацию для реализации точного трансфера. Конечно, показать полный цикл полета к планете в планах есть, посто будет слишком много информации разом

  3. Bradley_

    Bradley_ 23 октября 2015 12:05

    Годнота, перечитаю все твои статьи если еще в КСП играть буду основательно, может хоть полеты мои станут чутка по научнее, а не на интуитивно методом тыка планировщиком в небо. Так в КСП можно, но как-то не ролеплейно.

  4. alexoff

    alexoff @Александр 23 октября 2015 12:24

    мехджеб умеет летать к Минмусу, кстати. а вот вопрос - в какую орбиту лететь на Мохо, чтобы потом оптимально долететь до Кербина?

  5. Axmetov

    Axmetov @Михаил Ахметов 23 октября 2015 12:37

    Да, кстати как экономичнее всего слетать на Мохо? Я делал гравиманевр за счет Евы туда и обратно, но не уверен что оптимально.

  6. fatalovalex

    fatalovalex @Алексей Фаталов 23 октября 2015 13:35

    Инфа о том, что мех не умеет делать нужное наклонение орбиты не верна . Наклонение он делает прекрасно при включенном corrective steering. Единственное где может промахнулся - в процессе создания наклонения чуть сдвигается координата узла орбиты. Но ошибка не велика

  7. maisvendoo

    maisvendoo @Дмитрий 23 октября 2015 13:51 Автор

    Надо попробовать

  8. fatalovalex

    fatalovalex @Алексей Фаталов 23 октября 2015 13:54

    Регулярно летаю к минмусу с мехом и минимальной ошибкой. К другим планетам пока так не пробовал

  9. mr.geko

    mr.geko @Геннадий Брущенко 23 октября 2015 13:55

    Очень полезная статья, пригодится однозначно! Плюсую.

    На правах рекламы)))

  10. maisvendoo

    maisvendoo @Дмитрий 23 октября 2015 14:30 Автор

    Цитата: alexoff
    мехджеб умеет летать к Минмусу, кстати.

    Да я ж не спорю с этим. Трансфер к лунам он строит великолепно.

    Видимо я не умею расставлять акценты - статья не о полете к Минмусу, а о том, как правильно строить плоскость орбиты с заданными параметры. И приводится пример - например для полета к Минмусу надо иметь НОО наклонением 6 и долготой узла 78. Давайте рассчитаем время запуска и азимут и попробуем такую орбиту получить.
    А в конце приводится скрин, где видны результаты аналогичного расчета НОО для перелета к Дюне.

    Что касается Мохо, то путь связзанный с гравитационным маневром около Ив кажется наиболее практичным. Хотя есть и более экзотичные методы

  11. alexoff

    alexoff @Александр 23 октября 2015 16:57

    для Мохо я говорю, что в его случае по идее необходимо выходить не на экваториальную орбиту, а на какую-то наклоненную. что туда, что обратно.

  12. maisvendoo

    maisvendoo @Дмитрий 23 октября 2015 17:14 Автор

    Если говорить о прямом перелете, то как-то так


    Это минимальная дельта для данной даты и в условиях ограничений на траекторию, что предъявляет мой алгоритм. Это не самый минимум.

    На вскидку - гравитационный маневр у Ив будет эффективнее, но этим я ещё не занимался.

    И НОО таки да - аж 18 градусов наклона

  13. SSGolgo

    SSGolgo @Владимир 24 октября 2015 14:35

    А не проще выйти на классическую экваториальную орбиту и построить маневр таким образом, чтобы точка встречи аппарата и Минмуса были в точке пересечения орбит? Быть может на это уйдет 5-10 м/с лишних, но в сравнении с наклонением орбиты вокруг Кербина - экономия существенная. По итогу полет и приземление на Минмус обойдется нам в 1450 м/с.

  14. Falco

    Falco @Сергей Кононов 24 октября 2015 21:12

    Нет.

  15. maisvendoo

    maisvendoo @Дмитрий 25 октября 2015 08:35 Автор

    Старт с экваториальной орбиты к Минмусу возможен только когда точка встречи с ним будет расположена в узле орбиты. А это означает, что возможность для такого перелета появляется лишь два раза за 49 дней. При этом так же надо выбирать дату запуска.

    Во всех остальных случаях вектор начальной скорости будет направлен под углом к экваториальной плоскости, что равносильно изменению угла наклона орбиты и мы ничего не экономим

  16. Major Tom

    Major Tom 25 октября 2015 11:21

    Очень здорово. Плюс. Но я такой разгильдяй, что предпочту немного больше топлива чем ждать окно (скажем до Минмуса ...) . Тем более что мехжабу мои дефолтные кербалы не изобрели, а в ручную это практически не выполнимо. Надеюсь разработчики сделают когда я постарею какой-нить дефолтный мехжабозаменитель, чтобы юзеры смогли вводить в него параметры орбиты...

  17. maisvendoo

    maisvendoo @Дмитрий 25 октября 2015 12:01 Автор

    40 минут даже ожиданием сложно назвать. При полете к спутнику ожидание сводится ко времени менее либо равному периоду обращения планеты вокруг своей оси, так что для Кербина это ожидание не более 6 часов

    Цитата: Major Tom
    разработчики сделают когда я постарею какой-нить дефолтный мехжабозаменитель,


    Они хотя бы сделали бы отображение параметров ориентации орбиты - наклонение, долгота узла и параметр перицентра. А то в карьере задания на получение определенных орбит дают, а средств объективного контроля не дают

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

    А вообще, из Википедии, о планах разработчиков


    Возможности, которые не появятся в игре

    - оружие и военные функции (возможно добавление при помощи модификаций);
    - автопилот(возможно добавить различными модификациями, например: MechJeb);
    - внеземные цивилизации;
    - терраформирование;
    - симуляция точек Лагранжа;
    - большие и правдоподобные размеры астрономических объектов (добавляется модификацией Real Solar System);
    - переход на другой физический или игровой движок.

  18. SSGolgo

    SSGolgo @Владимир 25 октября 2015 14:22

    Когда я говорил о потраченных лишних десятках дельты я имел ввиду вытягивание апопсиса орбиты вокруг Кербина за орбиту Минмуса. Стоит это пару едениц дельты, но позволяет скомпенсировать погрешность в старте весьма существенно. Аппарат на вершине апопсиса просто дождется, когда Минмус подлетит в узел орбит и заберёт корабль в свой гравитационный колодец.

  19. maisvendoo

    maisvendoo @Дмитрий 25 октября 2015 17:09 Автор

    Этот вариант полета далек от практической космонавтики. Период обращения Минмуса по его орбите - 49 дней. Период обращения космического корабля по вытянутой орбите будет сравним с этой цифрой. Меньше, но сравним. Потом, надо соотносить положение корабля и положение спутника чтобы когда спутник проходит через узел корабль был в апоцентре. Сколько времени уйдет на это? Это надо считать, это надо прикидывать. В любом случае путешествие затянется.

    При выводе на НОО лежащей в плоскости орбиты цели мы имеем возможность стартовать в пределах одного витка по НОО, а это 31 минута для орбиты высотой в 80 км. Не тратим ни секунды лишнего времени. Если бы в полеты на Луну закладывали ожидание перехвата в апогее, то пришлось бы отправлять с кораблем вагоны воздуха и еды и экономия дельты уже исчезает.

    Все приемы, которые показаны в статьях - это отражение реальной техники выполнения космических полетов в игре.

  20. maisvendoo

    maisvendoo @Дмитрий 25 октября 2015 17:12 Автор

    Проверил "жабу" с выставлением галочки corrective steering. Ошибка получения наклонения - 0.1 градуса. Ошибка несовпадения плоскостей НОО и орбиты Минмуса - 0.4 градуса. Всё таки МЖ не достаточно точен.

    Когда я делал мод для орбитера - Project R-7, то добился точности отработки наклонения в 0.001 градус.

  21. SSGolgo

    SSGolgo @Владимир 25 октября 2015 17:15

    Я нисколько не преуменьшаю представленные методики и расчеты. Просто в существенно упрощенных реалиях игры такой простой перелет потребует достаточно большого количества расчетов. Я предложил более простой, топорный и немного дорогой способ. В любом случае лучше уж так, чем наклонять орбиту на Кербине. catt

  22. maisvendoo

    maisvendoo @Дмитрий 25 октября 2015 17:25 Автор

    Космонавтика всегда требует много точных расчетов. Без них в космос не летают :)

  23. fatalovalex

    fatalovalex @Алексей Фаталов 25 октября 2015 19:42

    Для меня вполне приемлемая точность)

  24. maisvendoo

    maisvendoo @Дмитрий 25 октября 2015 20:05 Автор

    В общем то с орбитальным скоростями KSP ошибка в 0.1 градус поправима - около 4 м/с дельты на коррекцию плоскости около Кербина.

    Однако, автопилот можно спроектировать и лучше, тем более есть пример. В свое время я консультировался у этого парня по "семерке", но полностью воссоздать его автопилот я не смог

  25. Stanislav_2015

    Stanislav_2015 @Станислав Крутских 27 октября 2015 13:00

    Автору однозначно + за труд. Но на мой взгляд, статья для тех, кто решил поиграть в реализм. Сама же игра (дефолт) далека от реализма, да и абсолютному большинству игроков проще потратить лишние 100-500 дельты на орбите, для придания нужного угла орбите, нежели ломать голову кучей формул при старте )))

  26. Bellendir

    Bellendir @Лев Беллендир 29 октября 2015 14:02

    Выходит, без жабы тут никак? А получится без неё хотя бы примерно выходить на нужную орбиту? Чтобы хоть немного сэкономить горючего.

  27. Silver

    Silver Гость 29 октября 2015 15:24

    Ну почему никак. Все это можно и по хардкору сделать, вручную задавая углы, тягу и вектор, динамически все изменяя. Но это уже даже не хардкор, пожалуй, а мазохизм. Аля автопилот установить забыли.

  28. maisvendoo

    maisvendoo @Дмитрий 1 ноября 2015 02:50 Автор

    Цитата: Stanislav_2015
    Сама же игра (дефолт) далека от реализма

    Долго думал, прежде чем придумал ответ.

    Сама игра не так далека от реализма как кажется. Что мы имеем? 17 притягивающих тел на своих орбитах и модель расчета траекторий методом склеивания конических сечений. Все законы физики тут работают. Допущение насчет склейки вполне оправданно - плюс к скорости и устойчивости симуляции. Так что, игра ли далека от реализма? Или далек от реализма принятый способ в неё играть?

    Я не навязываю своё мнение, я лишь говорю "ребята, можно вот так летать". Кому-то это нравится, кто-то проходит мимо. Но говорить о том, что "да, это ксп, там же всё упрощенно, нафиг-нафиг", по-моему не корректно.

  29. Spacemen

    Spacemen @Вабаджек 4 ноября 2015 19:00

    Ну на новый движок они перешли почти,думаю что следующим пунктом будет создание мод лоадера.

  30. Цефалоп

    Цефалоп Гость 9 декабря 2021 12:23

    Жалко что изображения с хостинга уже не загружаются(

{login}
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Последние сообщения с форума
  • Автор
    Тема в разделе: Вопросы по игре
    Просмотров: 1566139
    Ответов: 12701
  • Автор
    Тема в разделе: В ангаре у Боба
    Просмотров: 9488
    Ответов: 55
  • Автор
    Тема в разделе: Технические вопросы
    Просмотров: 25849
    Ответов: 68
  • Автор
    Тема в разделе: Моды
    Просмотров: 2078
    Ответов: 2
  • Автор
    Тема в разделе: В ангаре у Боба
    Просмотров: 219337
    Ответов: 1484
    Все сообщения..
    Полный список последних сообщений
    Loading...

    Нашли ошибку?
    Вы можете сообщить об этом администрации.
    Выделив текст нажмите Ctrl+Alt