Клиначев Н.В.

Визуализация движения космического аппарата после включения систем ориентации и управления полётом

3D-сцена. Визуализация полёта КА с автопилотом
и с включенной системой ориентации

Данная веб-страница продолжает серию документов демонстрирующих программный код трехмерной визуализации движения космического аппарата (КА) и соответствующих систем управления. Выше по тексту, на 3D-сцене представлено интерактивное изображение КА. Ниже по тексту, в конце документа – гиперссылки на предшествующие и последующие документы.

Легенда к выполнению экспериментов. После многих лет полёта, где-то на окраинах солнечной системы, космический корабль перехватил астероид и летит по его орбите на удалении 100 км. Бортовая ЭВМ активирует и отстреливает посадочный модуль (далее КА). Будучи отстреленным, модуль вращается и отлетает в произвольном направлении. Но навигационные датчики были активированы еще на базовом корабле, и была дана команда занять определенную позицию на некотором удалении. Как только это случиться – навигационная аппаратура построит трек полёта для посадки КА на астероид. Вам лишь надо дать команду – нажать клавишу "F" (fly) – система управления движением (автопилот) включит маршевые двигатели и решит свою задачу.

Алгоритм выполнения экспериментов. После обновления веб-страницы КА появляется в некоторой точке пространства, свободно вращается, и летит в произвольном направлении (на некоторое время может вылететь за область обзора камеры). Через 4 секунды включаются: навигационная аппаратура, система ориентации, автопилот. Вращение – прекращается. Начальная скорость – гасится. Появляется вектор движения к позиции перед камерой. Навигационная аппаратура показывает задание на полёт (случайная выборка трека из шести вариантов). Камера привязана к полётному треку позади КА. Поэтому хорошо видны ошибки автопилота и соответствующая работа маршевых двигателей. Нажмите клавишу "F" (fly). Когда автопилот проведёт КА по треку – программа завершится, 3D-сцена заморозится. Для повторного запуска следует обновить веб-страницу.

Блок-схема системы управления движением космического аппарата
Рис. 1. Блок-схема системы управления движением космического аппарата

Блок-схема системы управления движением космического аппарата, по которой составлена программа визуализации, представлена на рис. 1. Объект – КА – описывают "Динамические уравнения Ньютона" и "Кинематические уравнения" (блоки ДУН и КУ соответственно). Три двухрелейных регулятора, с помощью реактивных двигателей, формируют управляющее воздействия – тяговые усилия, перемещающие КА в пространстве. Интеграл силы (F) – есть линейная скорость (V). Интеграл скорости – положение КА (P). Система управления движением – двухконтурная. Подчиненный контур обеспечивает постоянство линейной скорости при выполнении манёвров. Внешний контур решает задачу сведения к нулю ошибки позиционирования КА.

КА – это не робот Walle из мультика с огнетушителем в качестве реактивного двигателя. Маршевые двигатели КА жёстко закреплены на корпусе. Его система ориентации неидеальна (не может функционировать без ошибок). Или может быть отключена. Но при любых условиях система управления движением должна решать свою задачу. И это возможно, даже в случае, если КА вращается. В тот или иной момент времени, какой-то из маршевых двигателей окажется в положении, позволяющем создать импульс тяги в требуемом направлении. А процедура выбора двигателей легко автоматизируется с помощью нормированного кватерниона ориентации КА, yQ. Предположим один из трех двухрелейных регуляторов включил маршевый двигатель и создал импульс тяги по одной из осей КА ([Fд, 0, 0] или [0, Fд, 0] или [0, 0, Fд]). Вектор тяги двигателя, см. блок-схему на рис. 1, раскладывается блоком вращения вектора на проекции в неподвижной системе координат, [Fд, 0, 0] => [Fx, Fy, Fz]. И далее, вектор проекций тяги, как аргумент, передается в систему "Динамических уравнений Ньютона" для расчёта скоростей и последующего расчёта положения КА. Аналогичные преобразования выполняются и на входе регуляторов. Векторы скорости и ошибки положения КА, с помощью кватерниона ориентации, пересчитываются из неподвижной системы координат в систему координат связанную с осями вращающегося КА (т.е. с его маршевыми двигателями). В результате, при любой текущей ориентации КА, регуляторы включают именно те двигатели, импульс тяги которых перемещает его по заданной траектории. Уточняя преобразования, отметим, что переход в систему координат КА выполняется с помощью сопряжённого кватерниона ориентации (-yQ), а обратный переход (обратное вращение) – с помощью исходного кватерниона (+yQ).

Перемещение КА по треку организовано программным изменением координаты точки в пространстве, gP, которую он должен занять (см. рис. 1, сигнал задания, gP). Для КА с заданным тензором инерции, перемещающегося по треку с заданной скоростью, с заданным допуском ошибки, выбрано фиксированное расстояние (впереди от текущего положения КА), на котором навигационная система удерживает задание gP. В этой же точке, с использованием касательной к треку полёта, навигационная система вычисляет задание для контура ориентации КА – кватернион ориентации, gQ. Используемое упреждение необходимо, чтобы КА вписывался в виражи.

Согласно принципу действия системы управления движением, через какое-то конечное время КА может занять положение в окрестности любой точки, принадлежащей полётному треку (кривой Безье). Навигационной системе, с целью формирования упреждающего задания и продвижения КА по треку, необходимо знать параметр кривой Безье соответствующий текущему положению КА. Уточним. Параметр должен определить точку кривой Безье, через которую проходит касательная и перпендикулярная к ней плоскость, в которой есть точка, совпадающая с центром масс КА. Оценка искомого параметра может быть грубой. Применен циклический алгоритм из двух итераций. Чем меньше отклонение КА от трека, тем выше точность оценки. Нет особой разницы на два или на три корпуса вперед навигационная система сканирует трек и формирует задание. Но к этой же точке, по касательной, на определенном удалении и позади КА привязана камера снимающая сцену. Если ошибка оценки искомого параметра кривой Безье увеличивается, то 3D-сцена начинает подрагивать.

...

Инструкции к сохранению веб-страницы на локальном диске и к использованию интегрированной среды разработки браузера, [F12], (с целью изучения и отладки кода описанной программы), имеются в документе доступном по первой гиперссылке.

[КА: Собственное вращение] [КА: Контур скорости] [КА: Контур ориентации]
[КА: Отладка СОиС] [КА: Трек полёта] [КА: Полёт с СОиС]
[КА: Ручное пилотирование] [КА: Полёт с автопилотом] [КА: Автопилот без СОиС]
[КА: ДУ – 12 машин] [КА: ДУ – 8 машин]
[Методические указания к лабораторным работам]

2017.08.24