Приборы и техника эксперимента, 2022, № 5, стр. 154-159

УДАЛЕННАЯ ЛАБОРАТОРИЯ ДЛЯ ПРОЕКТИРОВАНИЯ СИСТЕМ ОРИЕНТАЦИИ МАЛЫХ КОСМИЧЕСКИХ АППАРАТОВ

А. Т. Лелеков a, В. А. Курешов b*

a Федеральный исследовательский центр “Красноярский научный центр СО РАН”
660036 Красноярск, ул. Академгородок, 50, Россия

b Сибирский государственный университет им. академика М.Ф. Решетнёва
660037 Красноярск, просп. им. газеты “Красноярский рабочий”, 31, Россия

* E-mail: va_kureshov@mail.ru

Поступила в редакцию 25.02.2022
После доработки 05.04.2022
Принята к публикации 21.04.2022

Полный текст (PDF)

Аннотация

Описан простой и недорогой, легкий в повторении и работе стенд для удаленного обучения проектированию систем ориентации космических аппаратов. Стенд построен на микрокомпьютере Raspberry Pi, датчиковый состав стенда аналогичен аппарату формата CubeSat, динамические параметры могут в некоторых пределах варьироваться. Алгоритм управления выполняется удаленно на компьютере студента, в среде Python или SimInTech. Возможности стенда позволяют изучить и отладить базовые алгоритмы управления угловой скоростью и положением космического аппарата для одномерного случая.

ВВЕДЕНИЕ

В период пандемии и введения ограничений все вузы перешли на дистанционный режим работы, что кардинальным образом повлияло на процесс обучения [1, 2]. Для технических и естественно-научных специальностей сразу же закрылась возможность проводить эксперименты с реальными объектами, а это составляет важнейшую часть обучения. Одним из наиболее эффективных способов обучения в таких условиях является организация удаленных лабораторий; в этом случае также используется реальная аппаратура, к которой предоставляется доступ через интернет для управления переменными состояния процесса и их измерения.

В программу подготовки специалистов для авиа- и космической промышленности входит ряд курсов по проектированию систем ориентации космических аппаратов (КА). Это одна из самых сложных служебных систем КА, основная функция которой − управление вращательным движением КА вокруг центра масс. Управление состоит в приведении КА в заданную ориентацию (совпадение триэдра осей связанной системы координат с желаемым положением) и стабилизацию в ней.

Система ориентации и стабилизации (СОС) может работать в различных режимах, как, например, гашение угловой скорости (после отделения от ракеты КА неизбежно начинает вращаться), слежение за Солнцем (для получения максимально возможной энергии от солнечных батарей), слежение за объектом на поверхности Земли (сопровождение), приведение в заданное положение для ориентирования научных приборов и т.д. (см., например, [3]).

Для оценки состояния КА (угловой скорости и положения) на борту устанавливаются датчики различной физической природы: датчик магнитного поля Земли (магнитометр), датчик угловой скорости (гироскоп), датчики направления на Солнце (фотодиоды) и на звезды (фотокамера), датчик местной вертикали (микроболометры и др.), приемник ГЛОНАСС/GPS. Численно оценка состояния проводится комплексированием информации (смешиванием с различной степенью доверия в зависимости от точности) с различных датчиков и с имитационных моделей (динамики КА, магнитного поля Земли), рассчитываемых на борту; для этого обычно используются различные формы фильтра Калмана [4].

В качестве исполнительных органов активной СОС на малых КА обычно используют маховики и магнитные катушки, последние намного легче и компактнее, потребляют значительно меньше энергии, но и создают меньший момент.

Система управления ориентацией строится по классической схеме с обратной связью. Алгоритмы управления обычно простые (различные вариации пропорционально-интегрально-дифференцирующего (ПИД) управления), но иногда применяются нетрадиционные, с элементами искусственного интеллекта. Отличный обзор современного состояния в этой области приведен в [5].

Мы предлагаем конструкцию стенда для проведения лабораторных работ, имитирующего поведение КА формата CubeSat [6] при его вращательном движении.

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

ОПИСАНИЕ ПРИБОРА

Назначение стенда – обучение практике проектирования систем управления вращательным движением КА. Стенд должен имитировать поведение КА (отсутствие трения, близкую к реальной динамику), предоставлять сигналы датчиков и позволять тестировать различные законы управления. Самое простое решение – подвешенный на нити микроконтроллер на аккумуляторном питании с комплектом датчиков и исполнительным устройством для создания вращательного момента. Понятно, что такая конструкция имеет всего одну степень свободы – поворот вокруг вертикальной оси z.

Структурная схема представлена на рис. 1, она полностью повторяет структуру системы управления с обратной связью. Система разделена на две части: клиентскую и серверную. Первую, ядро системы управления (регулятор, устройство сравнения, наблюдатель и задатчик), должен реализовать студент на своем компьютере.

Рис. 1.

Структурная схема стенда.

Серверная часть, выполняющая команды клиента, содержит объект управления (тело аппарата), исполнительные органы, датчики и управляющий всем этим интерфейсный контроллер.

Аппаратная часть

Функциональная схема стенда представлена на рис. 2, а на рис. 3 показан стенд в сборе.

Рис. 2.

Функциональная схема стенда.

Рис. 3.

Фотография стенда.

В качестве контроллера применен одноплатный компьютер Raspberry Pi. Он предоставляет интерфейсы I2C и SPI к датчикам, ШИМ-каналы к исполнительным устройствам (библиотека pigpio), беспроводную связь через WiFi, порты общего назначения к внешнему АЦП и интерфейс к фотокамере.

Шасси стенда изготовлено из листа винипласта толщиной 5 мм, на котором винтами, кабельными стяжками и термоклеем закреплены все составные части стенда, длина шасси составляет 0.9 м.

Стенд приводится в движение компьютерными вентиляторами (по одному на каждое направление вращения), которые имеют возможность управления скоростью (ШИМ-сигнал на одном из выводов). Хотя такие вентиляторы не останавливаются даже при нулевом коэффициенте заполнения, поток воздуха от каждого при минимальных оборотах почти одинаков и создаваемые моменты взаимно компенсируются. Для получения напряжения 12 В для питания вентиляторов на стенде был установлен повышающий преобразователь.

Создаваемое вентиляторами угловое ускорение примерно в 250 раз выше, чем у реального космического аппарата формата CubeSat [13], имеющего магнитную систему ориентации, это значительно снижает время эксперимента. На рис. 4 приведен график переходного процесса по угловой скорости (z-компонента сигнала гироскопа) в разомкнутой системе, по которому можно оценить динамику стенда.

Рис. 4.

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

Питание стенд получает от портативного аккумулятора с напряжением 5 В на 10 000 мА ⋅ ч (стандартный PowerBank, закреплен на обратной стороне стенда), его хватает на несколько часов работы. Вторая функция аккумулятора – смещение центра масс стенда максимально вниз; это уменьшает тенденцию к раскачиванию на предельных угловых скоростях (порядка 90°/с). Нити подвеса должны быть как можно тоньше, иначе они создадут ощутимый паразитный момент на больших углах закрутки.

Состав датчиков стенда соответствует космическим аппаратам формата CubeSat: гироскоп на MPU-9250, магнитометры AK8963 и HMC5883L (между собой отличаются точностью и уровнем шума). Гироскоп используется для измерения угловой скорости, а магнитометры – для ориентирования относительно магнитного поля Земли. В одном из вариантов стенда использовался датчик направления на Солнце, состоящий из нескольких разнонаправленных фотодиодов. Для расчета направления на источник света измеряется фототок каждого диода.

Программная часть

Архитектура программной части классическая: бесконечный цикл, последовательно вызывающий функции получения данных с датчиков, расчета вектора состояния, расчета сигнала задатчика, выполнения алгоритма регулятора и отправку сигнала управления на исполнительные органы. Обмен данными идет в режиме запрос−ответ: на сервер отправляется UDP-пакет с сигналами управления по каждому вентилятору, а в ответ приходят данные с датчиков, которые визуализируются в виде динамических графиков.

Клиентская часть − программа на языке Python, работающая на компьютере студента (домашнем или в аудитории университета). Здесь студент пишет логику управления и обработки информации с датчиков (регулятор), кроме того, здесь присутствует необходимый код для динамического отображения данных и реализации обмена данными с сервером.

Практика проектирования начинается с простых в понимании ПИД-регуляторов, далее коррекция на основе частотных методов теории автоматического управления (базисные в нашем университете), затем с элементами искусственного интеллекта (нечеткая логика и нейросети).

Клиент может быть реализован и в виде модели для системы имитационного моделирования SimInTech, которая крайне удобна для отладки алгоритмов управления (и бесплатна для вузов). Единственный момент – в настоящей версии не получается использовать его для удаленной работы через глобальную сеть, что связано с невозможностью явного задания порта в блоках приема и передачи UDP-пакетов; в локальной сети все отлично работает.

Также студенты успешно реализовывали клиентскую часть в системе LabView, но ее фактически можно использовать только в университете из-за высокой стоимости домашних лицензий.

Серверная часть, исполняемая на Raspberry Pi, крайне проста. Это скрипт на Python, ожидающий посылки с одним float-числом – коэффициентом заполнения ШИМ-сигнала на вентиляторы. По приему скрипт опрашивает датчики и передает эти данные в ответ на адрес и порт отправителя. Данные идут в сыром виде, в приборных системах координат датчиков.

Работа со стендом внутри локальной сети не требует никаких настроек, нужно знать только сетевой адрес стенда. При удаленной работе со стендом из внешней сети необходимо настроить трансляцию внешних запросов на локальный адрес (port forwarding). Обычно задержка передачи пакета не оказывает существенного влияния на работу стенда. В любом случае, можно сохранить устойчивость системы, уменьшив полосу пропускания.

Для визуального контроля поведения стенда использовалась непрерывная видеосъемка. После опробования нескольких вариантов (видеопоток через vlc, стрим на YouTube) остановились на привычном для студентов Discord. Временнáя задержка картинки оказалась порядка 0.5 с, что не сказывается на работе.

Код для всех частей комплекса и видео с примером работы приведены в дополнительных материалах к статье.

ОСОБЕННОСТИ ПРИМЕНЕНИЯ И ЗАКЛЮЧЕНИЕ

Одна из лабораторных работ заключается в калибровке магнитометров. Магнитометр измеряет три составляющих вектора магнитного поля Земли (mx, my, mz) в собственной (приборной) системе координат. Его используют как для оценки угловой скорости, так и для расчета угла поворота аппарата относительно магнитного поля. В двумерном случае используется формула

(1)
${{\varphi }} = {\text{arctan}}2(my,mx).$

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

На стенде установлены два магнитометра на микросхемах QMC5883L и AK8963. Помимо того что они имеют разный уровень шума, один из них (AK8963Q) был намеренно прикреплен стальным винтом, который собственным магнитным полем достаточно сильно сдвинул его характеристику.

Если привести аппарат во вращение и измерить поле при разных углах поворота аппарата, то можно видеть, что показания магнитометров группируются в окружности, смещенные относительно нуля (рис. 5). Минимизируя функцию

(2)
$f({{x}_{c}},{{y}_{c}},r)\, = \,\sum\limits_i {{{{(m{{x}_{i}} - {{x}_{c}})}}^{2}}\, + \,{{{(m{{x}_{i}} - {{y}_{c}})}}^{2}} - {{r}^{2}}} \, \to \,0$
методами численной оптимизации в Python, находим центры окружностей; эти координаты мы должны вычитать из показаний магнитометров, чтобы работала формула (1). Примерно такая же по смыслу процедура калибровки проводится при комплексных испытаниях аппарата после сборки, а иногда и на орбите.

Рис. 5.

Схема калибровки и комплексирования. Точки − показания магнитометров, линия − их среднее.

Если усреднить показания магнитометров, мы получим более точную оценку угла поворота. Только нужно учесть, что уровень шума магнитометра QMC5883L примерно вполовину меньше, чем у AK8963; для этого возьмем взвешенную сумму по углу, доверяя показаниям магнитометра QMC8963 в два раза больше:

(3)
${{{{\varphi }}}_{{{\text{est}}}}} = (2{\text{/}}3){{{{\varphi }}}_{{{\text{QMC}}}}} + (1{\text{/}}3){{{{\varphi }}}_{{{\text{AK}}}}}$.

Однако можно еще улучшить точность оценки, если рассчитывать положение аппарата, интегрируя его угловую скорость (ее можно получить с гироскопа, а можно и из имитационной модели стенда). Фактически мы получаем еще одну оценку угла, которую можем добавить в формулу (3) со своим весом, характеризующим степень ее точности. Этим мы увеличиваем результирующую точность оценки, не отбрасывая никакую доступную нам информацию. На этом принципе комплексирования информации основывается фильтр Калмана.

В нескольких лабораторных работах студенты проводят идентификацию имитационной модели стенда. Эта модель используется в качестве имитатора стенда для первичной отладки алгоритма управления без подключения к стенду (приведена в дополнительных материалах к статье). В этом случае в серверной части стенда вместо опроса датчиков осуществляются: решение системы дифференциальных уравнений модели стенда, добавка шума и смещений, перевод в приборные системы координат.

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

Экспериментальная проверка стенда в нескольких курсах (“Системы управления летательными аппаратами”, “Системы управления с искусственным интеллектом”, “Автоматизация испытаний систем управления”, а также в рамках онлайн-школы ”Siberian Satellite Design School 2022”) показала рост интереса студентов к занятиям и, как следствие, некоторый рост успеваемости.

Хотя описанный стенд имеет всего лишь одну степень свободы, переход к трем измерениям почти не усложнит алгоритм управления. Несмотря на то что математическое описание трехмерного движения сильно усложняется, общие принципы управления остаются одинаковыми; они и должны быть освоены студентами при работе со стендом.

Таким образом, удалось спроектировать и изготовить простой и недорогой, легкий в повторении и работе стенд для обучения проектированию систем ориентации космических аппаратов. Авторы надеются на обмен опытом и сотрудничество в создании совместных удаленных лабораторий с целью повышения качества высшего образования в России.

Список литературы

  1. Бойкова А.В. // Международный журнал гуманитарных и естественных наук. 2020. С. 29. doi 10.24411/2500-1000-2020-10339

  2. Шляпников В.В. // Вестник Омского государственного педагогического университета. Гуманитарные исследования. 2021. Т. 2. № 31. С. 205. https://doi.org/10.36809/2309-9380-2021-31-205-208

  3. Бровкин А.Г., Бурдыгов Б.Г., Гордийко С.В., Горячев А.Ф., Заведеев А.И., Камальдинова Р.А., Козлов А.И., Комин В.И., Луняков С.В., Мищихин В.В., Полосин И.В., Попов Б.Н., Реутов В.Г., Семенов Е.Е., Соколов В.Н. и др. Бортовые системы управления космическими аппаратами: Учебное пособие. М.: Изд-во МАИ-ПРИНТ, 2010.

  4. Labbe Roger R. Kalman and Bayesian Filtersin Python. Published at GitHub, 2022. https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python

  5. Ovchinnikov M.Yu., Roldugin D.S. // Progress in Aerospace Sciences. 2019. V. 109. P. 100546. https://doi.org/10.1016/j.paerosci.2019.05.006

  6. Davoli F., Kourogiorgas C., Marchese M., Panagopoulos A., Patrone F. // International Journal of Online and Biomedical Engineering. 2021. V. 17. № 5. P. 33. https://doi.org/10.1002/sat.1277

  7. Garcia-Guzman J., Villa-Lopez F.H., Velez-Enriquez J.A., Garcia-Mathey L.A., Ramirez-Ramirez A. // Design, Control and Applications of Mechatronic Systems in Engineering. 2017. https://doi.org/10.5772/67459

  8. Abouhilal A., Moulay A., Taifi N., Malaoui A. // International Journal of Engineering and Technology. 2018. V. 7. № 4.32. P. 34. https://doi.org/10.14419/ijet.v7i4.32.23241

  9. Martin S., Fernandez-Pacheco A., Ruiperez-Valiente J.A., Carro G., Castro M. // IEEE Revista Iberoamericana de Tecnologias del Aprendizaje. 2021. V. 16. № 2. P. 180. https://doi.org/10.1109/rita.2021.3089916

  10. Hariton A., Zet C., Vremera E., Fosalau C. // 2020 International Conference and Exposition on Electrical and Power Engineering (EPE). IEEE. 2020. https://doi.org/10.1109/epe50722.2020.9305551

  11. Nafalski A., Milosz M., Considine H. // International Journal of Online and Biomedical Engineering (iJOE). 2020. V. 16. № 11. P. 16. https://doi.org/10.3991/ijoe.v16i11.16601

  12. Magyari A., Chen Y. // Electronics. 2021. V. 10. № 18. P. 2229. https://doi.org/10.3390/electronics10182229

  13. Celani F. // Aerotecnica Missili & Spazio, Springer Science and Business Media LLC. 2020. V. 100. P. 15. https://doi.org/10.1007/s42496-020-00062-2

  14. Lassakeur A., Underwood C. // 2019 9th International Conference on Recent Advances in Space Technologies (RAST). IEEE 2019. https://doi.org/10.1109/rast.2019.8767816

Дополнительные материалы

скачать pyRemote.zip
Приложение 1. Архив
 
 
скачать ESM.mp4
Приложение 1. Видеофайл