Анимационные модели
системы управления беспилотным летательным аппаратом
В.В. Макаров,
с.н.с., к.т.н, с.н.с, makarov@ipu.ru
ИПУ РАН, г. Москва
С.С. Панин,
студ., paninss@yandex.ru
М.С. Шибаев
студ., maxshepard@hotmail.com
НИЯУ МИФИ, г. Москва
В
докладе рассматриваются анимационные модели системы управления беспилотным
летательным аппаратом. В данном случае под системой управления беспилотным
летательным аппаратом подразумевается модель сложной технической системы,
разработанной по технологии MDD, на основе
когерентного набора ряда UML-диаграмм.
Беспилотный
летательный аппарат (БЛА) с ручным управлением и автоматическим (программным)
управлением – динамический объект, непрерывное изменение состояния которого
описывается математической моделью полета БЛА в виде системы дифференциальных
уравнений. В модель введены ряд упрощений движения. Для упрощения интегрирования уравнения движения центра масс БЛА удобно пользоваться
начальной стартовой системой координат в момент запуска, которая в дальнейшем
не меняет своей ориентации относительно абсолютного пространства (звезд), т.е.
является инерциальной. Направление осей этой системы координат можно задавать
на борту БЛА.
Разработанная
модель описана UML-диаграммами, с точки зрения требований к проекту, системную
архитектуру, организацию всей модели системы, диаграммы объектов, диаграммы
вариантов использования, диаграммы состояний. Средства системы для быстрого
создания прототипов, визуальной отладки и выполнения модели IBM Rational Rhapsody позволяют отображать в режиме реального времени
анимированные диаграммы состояний, диаграммы последовательности. Анимированные
элементы интерфейса оператора БЛА обеспечивают мониторинг текущих показателей
объекта управления. Также средствами gnuplot реализована возможность отображения траектории движения
БЛА в режиме реального времени.
Animated models of unmanned
aerial vehicle control system are considered. In this case control system of unmanned
aerial vehicle system is understood as the model complex technical system developed
on technology MDD, on the basis of a coherent set of some UML-diagrams.
UAV hand-operated and automatically
(programmed) operated - the dynamic object, continuous change of a condition is
described by mathematical model of flight UAV in the form of the differential
equations set. Into model are entered a number of simplifications of movement. For
simplification of integration of the equation of movement of center of inertia
UAV it is convenient to use initial starting system of co-ordinates at the
moment of start which does not change further the orientation concerning
absolute space (stars), i.e. is inertial. The direction of axes of this system
of co-ordinates can be set onboard UAV.
Developed model is described
by UML-diagrams from the point of view of requirements to the project, system
architecture, the organization of all model system, the object diagrams, use
case diagram, state machine diagram. IBM Rational Rhapsody system tools for
rapid prototyping, visual debugging, and running model allow to display
real-time animated diagrams of states, sequence diagrams. Animated elements of
the UAV operator interface provide monitoring of current values of the control
object. Also possibility of displaying
the trajectory of UAV motion in real time was implemented by gnuplot means.
Разработанная
модель системы управления БЛА реализована в виде проекта в программном средстве
для быстрого создания прототипов, визуальной отладки и выполнения модели IBM
Rational Rhapsody.
В
ходе выполнения модели имеется возможность получения анимированных UML-диаграмм состояний и последовательностей в режиме
реального времени. Исполнение UML-моделей в режиме анимации называют динамической
отладкой.
Рис. 1
Иллюстрация анимированной диаграммы состояний класса ControlUAV
после запуска системы
Такая
визуализация позволяет не только выполнять отладку разработанной модели, но и
наглядно продемонстрировать работу модели. Например, благодаря анимированной
диаграмме состояний можно наблюдать пространство состояний алгоритма поведения
объекта управления, а также события, которые послужили причиной срабатывания
переходов из одних состояний в другие, и действия, выполняющиеся при таких
переходах. Анимированные диаграммы последовательностей позволяют наблюдать жизненные
циклы объектов системы.
Для
демонстрации работы модели в режиме анимации рассматривается простой сценарий:
1.
Оператор
запускает систему. На анимированной диаграмме состояний класса ControlUAV можно наблюдать текущее состояние элементов (Рис.1).
После запуска системы находятся в состоянии ожидания.
2.
Оператор нажимает
кнопку «Проверка связи», расположенную на реализованном интерфейсе (Рис.2), а
затем кнопку «Start», инициализирующую взлёт.
Интерфейс оператора также
реализован в программном средстве IBM Rational Rhapsody и представляет
собой объект типа «Panel diagram». На рисунке ниже (Рис.2) продемонстрирована только
часть реализованного интерфейса. Выбранное программное средство поддерживает
создание «мультиоконного» интерфейса, т.е. интерфейс
оператора может состоять из нескольких объектов типа «Panel diagram».
Рис. 2
Иллюстрация элементов интерфейса оператора
На анимированной диаграмме
состояний класса ControlUAV можно наблюдать
смену текущего состояния с «Idle» на «Flight» после нажатия оператором кнопки «Start» (Рис.3). На рисунке ниже (Рис.3) видно, что теперь
система выделила цветом новое состояние. Также можно отметить, что на данном
переходе из состояния «Idle» в
состояние «Flight» стоит соответствующий
флаг, делающий переход невозможным без выполнения проверки связи, т.е. оператор
не сможет инициализировать взлёт, пока не произойдёт успешного выполнения
функции «ConnectionCheck()».
Рис. 3
Иллюстрация анимированной диаграммы состояний класса ControlUAV
после инициализации взлёта оператором
Генерируемые события и
вызываемые в системе функции со значениями входных параметров можно наблюдать
на анимированной диаграмме последовательности (Рис.4).
Рис. 4
Иллюстрация элемента анимированной диаграммы последовательности класса ControlUAV
Анимированная диаграмма
последовательности визуализируется на протяжении всей работы системы с последующей
возможностью сохранения диаграммы после завершения работы системы.
На представленном элементе
анимированной UML-диаграммы последовательности отражены события «evCheckConnection()» и «evStartFlight()», сгенерированные при нажатии оператором кнопок
«Проверка связи» и «Start» (Рис.2) соответственно.
Также на диаграмме отражены методы, выполнение которых было вызвано сгенерированными
событиями.
Реализация
графического отображения траектории движения БЛА в работе была выполнена
следующим образом. Для визуализации было выбрано средство gnuplot (свободная
программа для создания двух- и трёхмерных графиков). Работа
происходит следующим образом. Система управления во время выполнения программы
производит вывод телеметрии объекта управления на дополнительную консоль оператора
и файлы, с которым работает программное средство визуализации gnuplot. В свою очередь в gnuplot был
написан скрипт, считывающий файлы телеметрии и отрисовывающий
траекторию движения БЛА в проекциях на плоскости XZ, XY с задаваемым
интервалом времени. Таким образом, можно наблюдать движение управляемого устройства
в пространстве.
Для
представления работы визуализации траектории движения БЛА в реальном времени
рассматривается следующий сценарий с предусловием: аппарат находится в
состоянии «Control» диаграммы состояний
класса ControlUAV,
отвечающим стабилизации полёта на заданной высоте (Рис.5). Именно из этого
состояния согласно реализации становится доступным ручное управление
устройством.
Рис. 5 Иллюстрация перехода в состояние стабилизации полёта на заданной высоте
Рис. 6 Иллюстрация элемента интерфейса оператора
Затем оператор изменяет угол
рыскания с помощью соответствующей кнопки, расположенной на панели управления
(Рис.6).
Рис. 7 Иллюстрация изменения угла рыскания БЛА
Соответственно,
после этого действия в окне визуализации программного средства gnuplot на
графике, представляющем проекцию траектории движения на плоскость XY, можно наблюдать изменение направления движения устройством
(Рис.7). Можно наблюдать, как БЛА осуществил поворот направо относительно
направления движения.
Программное
средство для быстрого создания прототипов, визуальной отладки и выполнения
модели IBM Rational Rhapsody,
в котором была разработана модель системы управления БЛА, позволяет получать
(генерировать) исходный код на С++ для заданной
целевой платформы (целевого процессора).
Представленная
в докладе анимация выступает как один из способов проверки работы генерируемого на основе UML-диаграммам и реализованных
функций ПО. Благодаря такой анимации существенно упрощается проверка и
демонстрация работы системы на предмет выполнения функций, заявленных в
техническом задании.
1. Грушин А.И. Верификация в вычислительной технике.
(Электронный ресурс). – Режим доступа: http://www.ipmce.ru/about/press/popular/potencial4-2007
2.
Douglass B. P. Real-Time UML Workshop for Embedded
Systems. – Oxford, UK, Elsevier Inc., 2007. p.408.
3. Зыль С.Н. Проектирование, разработка и анализ программного
обеспечения систем реального времени. – СПб.: БХВ-Петербург,
2010. 336с.