Расчет наблюдений заданной точки на поверхности Земли спутниками ДЗЗ.
- начальные условия для системы дифференциальных уравнений движения заданного состава КА в гринвичской относительной системе координат (ГОСК);
- геодезические координаты точки наблюдения;
- ограничения наблюдения по углу склонения Солнца;
- время начала и окончания расчета.
- Моделирование движения КА на основе системы дифференциальных уравнений в ГОСК и расчет трассы полета (геодезической широты и долготы) на расчетном интервале времени;
- Расчет угловых размеров мгновенных зон наблюдения;
- Расчет зон наблюдения заданной точки на поверхности Земли на расчетном интервале времени с учетом ограничений по углу склонения Солнца и представление результатов расчета в виде таблицы;
- Отображение на фоне карты Земли зон наблюдения заданной точки на поверхности Земли и текущего положения КА
Для выполнения поставленных задач задание было разбито на следующие этапы:
- Моделирование движения КА в АГЭСК и перевод полученных координат в ГОСК
- Расчет видимости заданной точки с учётом ограничений по углу склонения Солнца
- Расчет зоны видимости спутника в заданный момент времени
- Запись полученных данных в заданном формате
- Визуализация
Для моделирования системы спутников итеративно будет применяться метод Рунге-Кутты 4 порядка с шагом в 30 секунд (рассматривая каждый спутник как независимую систему Земля-Спутник). Будут использованы следующие ДУ в АГЭСК:
где
Для перевода из АГЭСК в ГОСК используются следующие формулы:
Из них выражаем X, Y, Z - координаты в ГОСК. Легко видеть, что для получения X и Y достаточно умножить вектор (x, y) на обратную матрицу поворота.
Здесь
Методы расчёта приведены в отчёте по ссылке
Для визуализации написана программа на Python. По записанным в ходе выполнения программы данным в файлы, строятся траектории и трассы полёта спутников. На участках, на которых точка наблюдения была видима, трассы рисуется более яркими точками, чем остальная трасса. Зона видимости обрисовывается красным цветом. Наблюдаемая зона отмечается ярко-голубым цветом.
Предоставим несколько примеров работы программы. Необходимо собрать программу при помощи cmake, запустить её, после чего запустить скрипт отрисовки результатов. Так, находясь в папке build в директории программы, необходимо выполнить следующие команды: cmake .. ; make ; ./run ; python3 ../visualize/visualize.py
Пример 1.
Исходные данные для прогноза:
- Расчётное время прогноза: 3 часа
- Юлианская дата: JD = 2460206.90
- Кеплеровские элементы орбиты
- Спутник 1
- Большая полуось: 6878136
- Эксцентриситет: 0.01
- Наклонение: 45
- Долгота восходящего узла: 45
- Аргумент перицентра: 60
- Истинная аномалия: 0
- Спутник 2
- Большая полуось: 6978136
- Эксцентриситет: 0.01
- Наклонение: 45
- Долгота восходящего узла: 240
- Аргумент перицентра: 225
- Истинная аномалия: 0
- Спутник 3
- Большая полуось: 7878136
- Эксцентриситет: 0.01
- Наклонение: 105
- Долгота восходящего узла: 60
- Аргумент перицентра: 45
- Истинная аномалия: 0
- Спутник 1
- Геодезические координаты точки наблюдения 40, 48, 0
- Ограничения по углу склонения Солнца 10.
- Угол обзора для всех спутников составляет 30
Результаты моделирования приведены ниже.
Пример 2.
Исходные данные те же, за исключением Юлианской даты.
- JD = 2460206.369
В данном примере ограничения по углу склонения Солнца препятствуют видимости зоны.