Построение каркаса LVLH МКС в координатах ECEF/ITRF

Я пытаюсь рассчитать базовые векторы Международной космической станции (МКС) LVLH (Local-Vertical-Local-Horizontal), выраженные в кадре ECEF/ITRF в данный момент времени. Затем нужно рассчитать матрицу вращения для поворота векторов из ECEF в LVLH (и наоборот).

У меня есть процедура, чтобы сделать это, но я не уверен, что это сделано правильно. Вот почему я прошу помощи здесь, чтобы проверить, что я делаю, представленное далее.

Кадр ISS LVLH определяется, как показано на следующем рисунке:

введите описание изображения здесь

Давайте рассмотрим конкретное время: 2019-Mar-24 00:31:53.135444 UTC.

Во-первых, библиотека Skyfield на Python используется для получения положения МКС и вектора ее скорости за определенное время с помощью метода ITRF_position_velocity_error класса sgp4lib.EarthSatellite :

Долгота (градус), широта (градус), высота (км): 55,34071583, 0,10055032, 408,59435164
Единичный вектор положения (ITRF): R == (0,56869428, 0,82254713, 0,00174319) Единичный
вектор скорости (ITRF) : V == (-0,7741 , 0,33092048, -0,81587662)

(Используемый TLE:
1 25544U 98067A 19083.06129885 -.00367384 00000-0 -62017-2 0 9991
2 25544 51,6362 64,4008 0003657 1426,0534 252,6522 91,5272 15,5272

Затем базовые векторы LVLH X - Y - Z рассчитываются с помощью:

Z = - R / || Р ||
Y = Z X V
РЕДАКТИРОВАТЬ: должно быть: Y = Z X V / || Z Х В ||
Х = Y X Z

Что в данном случае дает значения:

X = (-0,47480547, 0,33000101, -0,81587857)
Y = (0,67167383, -0,4631578, -0,57821957)
Z = (-0,56869428, -0,82254713, -0,00174319)

Затем вычислить матрицу вращения и инвертировать ее несложно.

Правилен ли этот метод?

Заранее спасибо за помощь.

Ответы (3)

Правилен ли этот метод?

Не совсем. Вы предполагаете, что р ^ и в ^ являются ортогональными. Быстрая проверка показывает, что это не совсем так. Орбита МКС не совсем круговая.

Это означает, что пока ваш у ^ указывает в правильном направлении, это не единичный вектор. Вы можете сделать его единичным вектором, разделив на величину. Затем вы можете вычислить г ^ "=" Икс ^ × у ^ . К сожалению, это также не будет единичным вектором из-за капризов арифметики с плавающей запятой, но он будет очень близок.

Выглядит правильно для меня в первом приближении.

Одна полезная проверка здравомыслия состоит в том, что X выходит близко к V (потому что орбита близка к круговой, и, таким образом, V уже был почти перпендикулярен R с самого начала).

Другой - отметить, что МКС собиралась пересечь экваториальную плоскость (ITRF г координата R почти равна нулю) и движется в направлении немного южнее юго-востока: V образует с этой плоскостью угол 54,67 градуса. Это больше, чем наклонение орбиты 51,6 °, потому что ITRF вращается вместе с Землей на восток. Единичный вектор скорости, выраженный в инерциальной системе отсчета, будет иметь немного большую составляющую в направлении местного востока и, таким образом, будет образовывать более острый угол с экваториальной плоскостью.

Однако я считаю, что вам придется компенсировать этот эффект «аберрации», чтобы получить правильный Y , а затем X . (Рассмотрите спутник LEO на круговой полярной орбите в тот момент, когда он пересекает экваториальную плоскость с юга на север. Он будет иметь северный небесный полюс прямо перед собой: X = (0, 0, 1). Но его V в термины ITRF будут указывать немного западнее строго на север, потому что ITRF продолжает двигаться на восток примерно на пол км/с выше экватора, точное значение зависит от высоты спутника.)

Основная проблема, которую я вижу, заключается в том, что включенное изображение на самом деле не определяет то, что нам нужно знать. Он показывает, где оси ориентированы относительно формы станции, но ничего не говорит о том, куда указывает любое из этих направлений. Даже при работе со стабилизированным вращением космическим кораблем или вращающейся планетой нет необходимой связи между осью вращения одного тела и осью орбитального вращения вокруг другого тела. Благодаря трехосевой системе управления, которую предоставляет группа CMG, спутниковый оператор может выбрать любое направление в любое время. Нет ничего, что определяло бы, какие отношения на самом деле управляются на практике, связано ли это с соответствием +Z ±R, ±V, ±R. × V, или указывая на центр солнца, звезду Арктур, дом оператора или что-то еще.

Комментарий о том, что LVLH «четко определен», неверен. Разные ссылки обозначают одни и те же оси разными буквами, что приводит к несоответствию двух вещей, которые говорят, что они LVLH. Даже если две ссылки согласуются в том, какое направление является вертикальным и какая буква соответствует ему, любые два перпендикулярных направления в горизонтальной плоскости так же действительны, как и любой другой выбор.

Например, если вы используете STK, его онлайн-справка определяет LVLH как

  • ось X проходит вдоль вектора положения + р (позиция)
  • ось Z проходит по нормали орбиты + р × В (орбита нормальная)
  • ось Y направлена ​​к скорости Д "=" Z × Икс

Если вместо этого вы используете FreeFlyer, его онлайн-справка определяет LVLH как

  • Ось Z: вектор, указывающий в направлении, противоположном вектору положения (указывает на центр Земли).
  • Ось Y: вектор, указывающий в направлении, противоположном направлению нормали орбиты (нормаль орбиты представляет собой векторное произведение положения и скорости).
  • Ось X: вектор, перпендикулярный осям Y и Z, формирующий правую систему координат.

Чтобы заставить STK дать вам то, что FreeFlyer называет LVLH, вы должны вместо этого запрашивать не LVLH, а VVLH («Скорость транспортного средства, местная горизонталь»).

Попытки найти, что именно использует МКС, привели сюда и сюда . Первый из них говорит, что LVLH на МКС обычно означает +Z = -R и +X к +V, но иногда они отклоняются на 90 градусов (но не говорит, превращает ли это +X в +Y или -Y) в альтернативный вариант. LVLH, а иногда они указывают X перпендикулярно плоскости орбиты и позволяют Z указывать, где бы он ни приземлился. Второй говорит, что переход от +Z надира к околоинерциальному зависит от угла наклона Солнца от плоскости орбиты, но и это слишком просто, так как в так называемом LVLH они фактически немного отлетают, чтобы нейтрализовать момент сопротивления.

Если вы хотите знать, где что находится, исходя из его положения относительно осей корпуса МКС, одних букв «LVLH» просто недостаточно.

Заявлено, что это LVLH, что хорошо определено.
Комментарий выше правильный. Это четко определено - официально определено - для ISS на странице 3-12 здесь asi.org/adb/04/02/00/iss-coordinate-systems.pdf