Телескопы покупают здесь


A A A A Автор Тема: Перевод TLE в вектор состояния.  (Прочитано 704 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн XanАвтор темы

  • Новичок
  • *
  • Сообщений: 5
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Xan
Перевод TLE в вектор состояния.
« : 06 Дек 2017 [15:31:30] »
У меня задача -- запустить (пока виртуально  :)) свой спутник так, чтоб он не столкнулся со всеми другими спутниками (пролетел достаточно далеко). Время жизни пара недель.
Для этого я беру на www.space-track.org файл, выбираю из него живые спутники с перигеем ниже 500 км, их штук триста-четыреста получается.
По документам M001-Keplerian_Orbit_Elements_to_Cartesian_State_Vectors.pdf и M002-Cartesian_State_Vectors_to_Keplerian_Orbit_Elements.pdf перевожу в вектор состояния.
А потом симулирую движение в поле эллиптической Земли (где только J2) по самым школьным формулам.
Беру TLE за вчера и за сегодня, симулирую от вчерашних к сегодняшним. Должно бы совпасть, но не совпадает на десятки/сотни километров.
Причём если время полёта подкрутить на пару минут (обычно в меньшую сторону), то можно получить приличное совпадение.
То есть, траектория получается правильная, но скорость, почему-то, неправильная.

Почему?

Подумал, что при переводе из TLE в вектор не учитывается разница гравитационных потенциалов сферической и эллиптической Земли.
Сделал костыли, чтоб до начала симуляции скорректировать скорость из вектора на величину разницы (по закону сохранения энергии), но всё равно получается фигня.

Да, я слышал про SPG, и накачал себе много разных файлов про это. Но переварить их в головном мозге не получается.
Простыни кода без объяснений и комментариев в голову не лезут.

Готовые чужие проги -- плохой вариант. Так как хочется свою прогу, в которую встроены нужные функции.

Оффлайн XanАвтор темы

  • Новичок
  • *
  • Сообщений: 5
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Xan
Re: Перевод TLE в вектор состояния.
« Ответ #1 : 06 Дек 2017 [18:47:41] »
Взял из документа "SPACETRACK REPORT NO. 3" тестовый пример, подсунул своей проге.
Сразу же получившиеся из TLE координаты оказались с ошибкой в 13.5 км.
(А после симуляции (сутки) уехали аж на 700 км.)

А если из примера взять сам вектор, то симуляция ошибается всего на 46 км за сутки.
И это за счёт отставания во времени.
Если подкрутить время на 6 секунд, то ошибка получается всего 1.3 км.
Но это может быть за счёт того, что спутник из примера сильно тормозится атмосферой, а я пока в симуляторе этого не учитываю.

Так что проблема правильного преобразования TLE в вектор остаётся.  :(

Оффлайн Toth

  • *****
  • Сообщений: 2 581
  • Благодарностей: 174
    • Сообщения от Toth
Re: Перевод TLE в вектор состояния.
« Ответ #2 : 06 Дек 2017 [20:55:41] »
Да, я слышал про SPG
Эти TLE - "не настоящие" элементы орбиты, а элементы орбиты предназначенные для расчетов именно по SGP/SDP .
Я вектор положения и вектор скорости определяю просто по SGP4 ( скачал в нескольких местах исходники на Паскаль, Фортран ).

Пробовал их использовать с самодельным интергратором движения - иногда получается точность, как у SGP4, иногда хуже.
Сопротивление атмосферы, высшие гармоники (J4,J6,J8), давление света, лунные и солнечные возмущения - их влияние зависит от орбиты.

Оффлайн XanАвтор темы

  • Новичок
  • *
  • Сообщений: 5
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Xan
Re: Перевод TLE в вектор состояния.
« Ответ #3 : 06 Дек 2017 [21:21:56] »
Я вектор положения и вектор скорости определяю просто по SGP4 ( скачал в нескольких местах исходники на Паскаль, Фортран ).

Да, я от безысходности уже "пополз на брюхе" по чужому коду SGP (на любимом Си).
Пока впечатление, что вектор возникает магическим образом!  ;D

Сопротивление атмосферы, высшие гармоники (J4,J6,J8), давление света, лунные и солнечные возмущения - их влияние зависит от орбиты.

Мне для низкой орбиты с коротким временем жизни.
Это я вон на ту штуку прицелился: http://n-prize.com  :)
Торможение атмосферой существенно и его надо будет симулировать.
А давления света и прочее на порядки меньше, так что несущественно.


Оффлайн Toth

  • *****
  • Сообщений: 2 581
  • Благодарностей: 174
    • Сообщения от Toth
Re: Перевод TLE в вектор состояния.
« Ответ #4 : 06 Дек 2017 [21:35:27] »
Торможение атмосферой существенно и его надо будет симулировать.
К тому же трудно предсказуемо. На высотах больше 120 км плотность воздуха сильно зависит от активности Солнца.
Если будете моделировать, посмотрите например модель атмосферы CIRA-2012, или ГОСТ 25645 115-1984 ( правда, отмененный вроде ).
 

Оффлайн XanАвтор темы

  • Новичок
  • *
  • Сообщений: 5
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Xan
Re: Перевод TLE в вектор состояния.
« Ответ #5 : 07 Дек 2017 [08:49:11] »
Если будете моделировать, посмотрите например модель атмосферы CIRA-2012, или ГОСТ 25645 115-1984 ( правда, отмененный вроде ).

Да, я про это уже думал:
http://n-prize.com/forum/viewtopic.php?f=8&t=396

И на скорость снижения МКС смотрел -- запросто меняется на порядок.

И, похоже, предсказать плохую погоду не получается. От магнитных бурь и вспышек на Солнце прямой зависимости не видно.
Так что рассчитывать на низкую активность Солнца лучше не надо. :)


Оффлайн Toth

  • *****
  • Сообщений: 2 581
  • Благодарностей: 174
    • Сообщения от Toth
Re: Перевод TLE в вектор состояния.
« Ответ #6 : 07 Дек 2017 [09:42:54] »
От магнитных бурь и вспышек на Солнце прямой зависимости не видно.
Когда как. Если небольшие возмущения, то почти не видно. А вот во время последней мощной вспышки в начале сентября зависимость была явная.
А МКС - все таки активный объект. Они иногда меняют свою ориентацию, и панели разворачивают ребром по движению, когда в тени.

Оффлайн XanАвтор темы

  • Новичок
  • *
  • Сообщений: 5
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Xan
Re: Перевод TLE в вектор состояния.
« Ответ #7 : 09 Дек 2017 [20:32:00] »
А вот во время последней мощной вспышки в начале сентября

Ну, это был редкостный бабах!
Поскольку я планирую использовать магнитный компас для ориентации, в такую магнитную бурю мне лететь нельзя. :)
Даже при гораздо меньших событиях поле колеблется и кривится слишком сильно.

=====

Таки вставил в свою прогу SGP4.
Но пока только tle --> вектор.
Теперь буду читать про "из вектора в tle".

Форум помог, да! :)