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

Инструмент трехмерной визуализации движения космического аппарата вокруг центра масс

3D-сцена. Визуализация движения КА.
Собственное вращение

Данный веб-документ является программным средством трехмерной визуализации движения космического аппарата (КА) вокруг центра масс. Выше по тексту на 3D-сцене представлено интерактивное изображение КА. Документ перехватывает и обрабатывает некоторые события клавиатуры. Цифровые клавиши: "1", "2", стрелки, – включают двигатели по осям системы координат привязанной к корпусу КА. Клавиши: PgUp / PgDn, – приближают или удаляю камеру.

Для визуализации движений КА используется интерфейс прикладного программирования WebGL API [1] [2], который поддерживают браузеры отвечающие стандартам HTML5. Для выполнения аффинных преобразований в пространстве применена javascript-библиотека glMatrix [3], поддерживающая матрицы поворота, перехода и гиперкомплексные числа (кватернионы). Впрочем, существуют конкурирующие решения [4].

Движение КА, как твердого тела, вокруг центра масс, вычисляется с помощью "Динамических уравнений Эйлера" и "Кинематических уравнений в кватернионной форме (Родрига-Гамильтона)" [5], [6], [7]. Система динамических уравнений позволяет вычислить проекции угловых скоростей на оси подвижной системы координат. Кинематические уравнения в кватернионной форме – гиперкомплексное число для поворота КА в пространстве. Движение центра масс КА не рассматривается. Так же как любые внешние возмущения: гравитационные, аэродинамические, магнитные. Физические свойства КА описаны осевыми моментами инерции: Jx, Jy, Jz. Момент инерции по оси z в два раза больше. Центробежные моменты инерции: Jxy = Jyx, Jxz = Jzx, Jyz = Jzy, – приняты равными нулю. Т.е. распределение масс КА подобно юле. Двигатели ориентации по оси z в 4 раза мощнее.

Программу, которая описывает движение КА можно изменить. Для этого необходимо сохранить документ на локальном диске1 и открыть для редактирования в любом редакторе текстовых документов. Следует обратить внимание – браузер должен сохранить два файла. Один из которых – библиотека gl-matrix-min.js. Программный код2, встроенный в веб-страницу, можно разделить на две части. Первая – отвечает за визуализацию и была составлена по примеру уроков 2 и 4 учебного пособия "WebGL lessons" [1], [2]. Т.е. хорошо документирована автором пособия [1]. Вторая часть кода – это одна функция, в которой составлена вычислительная модель движения КА.

Суть экспериментов, которые можно выполнить с моделью, состоит в том, чтобы сначала раскрутить КА случайным образом, а потом, ориентируясь на раскраску КА, прекратить его вращение. Человеку, решить эту задачу, помогает неравенство моментов инерции по осям КА. Одна ось вращения легко вычисляется, а справиться с движениями по двум оставшимся осям существенно легче. Для автоматического решения задачи ориентации КА применяют векторную систему управления. С тремя подчиненными контурами: момента, скорости и положения. Самый важный датчик, который необходим для решения задачи – это датчик углового положения (как и в электроприводе). Точность любого численного расчёта зависит от периода дискретизации. Если раскрутить модель КА, то количество расчетных точек на периоде вращения (на периоде синусоиды) будет меньше. Ошибки интегрирования будут накапливаться, и модель пойдет в разнос. По оси цилиндра корпуса, КА раскрутить легче.

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

Литература

  1. Giles Thomas. WebGL lessons: 3D Programming for the Web // URL: http://learningwebgl.com/blog/?page_id=1217 (дата обращения: 03.08.2017).
  2. Sergey. Перевод уроков "WebGL lessons: 3D Programming for the Web" // DevBurn.ru. URL: http://devburn.ru/%d1%83%d1%80%d0%be%d0%ba%d0%b8-webgl (дата обращения: 03.08.2017).
  3. Brandon Jones. glMatrix – Javascript Matrix and Vector library for High Performance WebGL apps // URL: http://glmatrix.net (дата обращения: 03.08.2017).
  4. Ricardo Cabello (Mr.doob). Three.js – кроссбраузерная библиотека JavaScript, используемая для создания и отображения анимированной компьютерной 3D графики при разработке веб-приложений // URL: https://threejs.org (дата обращения: 03.08.2017).
  5. Ф. Л. Черноусько, Л.Д.Акуленко, Д. Д. Лещенко. Эволюция движений твердого тела относительно центра масс.
  6. Кафедра теоретической механики, Самарский государственный аэрокосмический университет им. академика С. П. Королёва (СГАУ), Самара.
  7. Юдинцев В.В. Презентация к лекции, посвященной движению твёрдого тела в случае Эйлера.
  8. Жидкова Н.В., Волков В.Л. Моделирование бесплатформенной системы ориентации // Современные проблемы науки и образования. – 2015. – № 1-1.; URL: https://www.science-education.ru/ru/article/view?id=17099 (дата обращения: 03.08.2017).
  9. Карпенко С. Открытое ПО численного моделирования: SPUTNIX Satellite Simulator. // URL: http://www.sputnix.ru/ru/technologies/numerical-simulation (дата обращения: 03.08.2017).
  10. Д.В. Гриневич, А.В. Лебедев, О.В. Мороз. Разработка универсального моделирующего программного комплекса для создания стендов отладки и поддержки систем ориентации космических аппаратов // Вопросы электромеханики Т. 135. 2013. URL: http://jurnal.vniiem.ru/text/135/21-30.pdf (дата обращения: 03.08.2017).
  11. Гулиа Н.В. Магия вращательного движения Можно ли вращаться по инерции?
  12. Steve Baker. Euler Angles are Evil.
  13. Кручу-верчу, запутать хочу: углы Эйлера и Gimbal lock.

Примечания

  1. Для сохранения веб-страницы на локальном диске пользователя необходимо открыть веб-страницу браузером, который имеет команду сохранения веб-документов (в браузере MS Edge такой команды нет). Активировать скрытое меню браузера (нажать клавишу ALT). Выбрать команду меню: Файл > Сохранить как. Или нажать сочетание клавиш: CTRL + S. Рекомендуется использовать для сохранения браузер MS IE. Браузер FF сохраняет веб-документы не в исходном состоянии, а в перестроенном скриптами.
  2. Для написания программ, которые встраивают в веб-страницы, используют язык программирования JavaScript. Любой браузер для настольных компьютеров и ноутбуков (IE, FF, Eg, Ch) имеет интегрированную среду разработки и отладки программ, написанных на языке JavaScript. В любом браузере она активируется функциональной клавишей F12 или через меню браузера. Нажмите F12 сейчас. Найдите в коде "Математическую модель движения космического аппарата вокруг центра масс".

2017.07.31