ВИЗУАЛИЗАЦИЯ ДИНАМИКИ ОБЪЕКТОВ УПРАВЛЕНИЯ В РЕАЛЬНОМ ВРЕМЕНИ
М.В. Михайлюк, М.А. Торгашев
НИИ системных исследований РАН, Москва, Россия
mix@niisi.ras.ru, mtorg@mail.ru
Содержание
2. Создание и визуализация виртуальной сцены
3. Архитектура системы визуализации «GLView»
В настоящей работе представлена технология реалистичной визуализации динамики сложных управляемых трехмерных устройств в виртуальной рабочей обстановке в масштабе реального времени. При этом управление может задаваться как непосредственно (с помощью компьютерной мыши или джойстика, виртуального или реального пульта управления или по сети), так и с помощью системы дифференциальных уравнений. Технология предполагает передачу в реальном времени вычисленных координат управляемых объектов в систему визуализации, которая осуществляет синтез изображения динамической модели и окружающей среды с частотой, не менее 25 кадров в секунду в моно или стерео режимах. Непосредственное наблюдение исследователем траектории движения объекта или синтезированной анимации управляемого процесса позволяет оценить адекватность использованного управления поставленной задаче.
Рассматриваемая система визуализации обеспечивает визуализацию трехмерных виртуальных сцен, созданных в системе моделирования 3D MAX. При этом для сцен, содержащих до 2 млн. полигонов обеспечивается масштаб реального времени в моно режиме. В системе визуализации поддерживается трассировка лучей, стерео визуализация, многоканальная работа в сети, моделирование спецэффектов, моделирование огня и дыма, сложные анимационные траектории объектов сцены, скриптовый язык сценариев, синтез текста на экране компьютера, морфинг объектов, скелетная анимация, многопортовый и мультиэкранный режимы, синтез теней от источников освещения и др. Стерео режим реализован в нескольких различных режимах: поляризационное стерео, анаглиф, с затворными очками, в шлемах виртуальной реальности и др. Система визуализации использует графическую библиотеку OpenGL и работает на персональных компьютерах под управлением операционной системы Windows.
Предлагаемая технология может быть применена для проверки адекватности не только методов управления, но и выбранных численных методов решения соответствующих дифференциальных уравнений, а также методов моделирования работы динамических элементов.
Ключевые слова: математическое моделирование, научная визуализация, трехмерные виртуальные сцены, виртуальные лаборатории.
Часто управление динамическими объектами описывается с помощью математической модели, представляющей из себя систему (линейных или нелинейных, обыкновенных или в частных производных) дифференциальных уравнений, которую либо можно решить непосредственно, либо с помощью некоторых численных методов (см., например [1]).
В сложных задачах автоматического управления объектами возникает проблема оценки конкретного управления и его адекватности поставленным задачам. Например, автоматическое управление для беспилотного аппарата или робота должно быть физически выполнимо этим аппаратом и не привести к его повреждению или возникновению нештатных ситуаций. Общепринятым методом является построение графиков, описывающих траекторию движения аппарата, зависимостей переменных состояния и управления от времени и других параметров [1]. Однако составить полное представление о движении аппарата по таким графикам часто затруднительно. Необходимо мысленно совместить эти графики по времени для получения полной картины движения. Кроме траектории важно также контролировать ориентацию объекта управления в каждый момент времени. Кроме того, часто необходимо учитывать окружающую обстановку, в которой движется объект управления с тем, чтобы исключить его коллизии с окружающими объектами, избегать слишком близкого сближения с опасными предметами и т.д. Одной из возможностей для визуального анализа управления является использование пакетов 3D анимации, встроенных в комплекс моделирования. Например, в состав комплекса Matlab входит пакет Simulink 3D Animation [2], поддерживающий язык виртуальной реальности VRML. Однако, перечень возможностей 3D визуализации подобных систем зачастую очень ограничен, и кроме того, их использование возможно только в рамках «родительского» комплекса.
Для решения вышеперечисленных задач предлагается использовать разработанную в НИИСИ РАН систему «GLView» визуализации трехмерных виртуальных сцен в масштабе реального времени (см. [3], [4]). В данной работе описывается технология работы и возможности этой системы.
Виртуальная сцена, содержащая объекты управления и окружающую обстановку, создается в системе трехмерного моделирования 3D MAX. Для облегчения и ускорения создания сцены в систему добавлен плагин, реализующий целый набор дополнительных готовых элементов (колеса, гусеницы, манипуляторы, шарниры, реактивные двигатели и т.д.). На рис. 1 показан пример разработки (ИТУЦР Минатома РФ) модели робота в среде 3D MAX с использованием встроенного конструктора. Другой разработанный плагин позволяет конвертировать созданную 3D виртуальную сцену из формата системы 3D MAX в формат системы визуализации «GLView» .
Общая структура всего комплекса показана на рис. 2. Сначала виртуальная трехмерная сцена загружается в систему визуализации. Затем начинается сеанс визуализации результатов моделирования управления. Система управления вычисляет текущие положения и ориентации, а также другие необходимые параметры всех управляемых динамических объектов и передает их в систему визуализации. Для этого разработан специальный информационный протокол.
Рис. 1. Конструктор в составе 3D MAX
Рис. 2. Общая схема комплекса
Система визуализации производит синтез изображения с новыми положениями и ориентациями объектов в масштабе реального времени (т.е. не более, чем за 40 мсек.) и выводит результат на средство отображения (монитор компьютера, настенный экран или др.). Если система управления также работает в масштабе реального времени, то наблюдатель видит на экране непрерывное и плавное движение всех объектов и может контролировать адекватность этого движения поставленным задачам. На рис. 3 показан пример визуализации колесного объекта, управление которым должно обеспечить его движение по заданной линии на полу. Визуально оператор может легко оценить, насколько точно тележка следует по этой линии. Если система управления не успевает вычислить результаты моделирования к моменту визуализации следующего кадра, то система визуализации может произвести экстраполяцию движения объекта на основе предыдущих данных. Если же система моделирования не может обеспечить реальный масштаб времени, то она может записать результаты своих расчетов в Log файл, который затем может быть загружен и воспроизведен системой визуализации в режиме реального времени (см. [5]). Система визуализации может также создать видео файл (моно или стерео, см. [6]), который можно затем использовать как архивный материал, иллюстрирующий процесс разработки адекватного управления. Такой режим работы может быть также использован для разработки автоматических операций, осуществляемых роботом в супервизорном (командном) режиме управления.
Рис. 3. Движение тележки по заданной линии
Рис. 4. Извлечение блока прибора «Биориск»
На рис. 4 показан стенд, который можно использовать для отработки супервизорного режима работы робота-андроида по выполнению операции извлечения научного блока прибора «Биориск», установленного на внешней поверхности Международной космической станции. В этом стенде для моделирования работы электрических моторов в шарнирах реального робота используются функциональные управляющие схемы, называемые ПИД регуляторами. ПИД (пропорциональный интегрально-дифференциальный) регулятор - это управляющая схема, которая в каждом шаге моделирования вычисляет такое текущее напряжение, подаваемое на электрический двигатель, чтобы компенсировать разрыв между реальным и необходимым углами поворота звена в шарнире. Управляющие функциональные схемы и редактор для их создания описаны в [7].
В настоящее время система визуализации «GLView» обеспечивает реальный масштаб времени визуализации для сцен сложности около 2 млн. текстурированных полигонов (в моно режиме), включая поверхности с основными текстурами, текстурами отражения, прозрачности и рельефа. Система поддерживает трассировку лучей, стерео визуализацию, многоканальную работу в сети, моделирование спецэффектов, моделирование огня и дыма, сложные анимационные траектории объектов сцены, скриптовый язык сценариев, морфинг объектов, скелетную анимацию, синтез теней от источников освещения и др.
Трассировка лучей в масштабе реального времени требует разработки эффективных алгоритмов и, вместе с тем, для сложных сцен (с большим числом объектов) этого может оказаться недостаточно. С другой стороны, во многих сценах наиболее важными являются близкие к наблюдателю объекты. Именно для них можно использовать визуализацию методом трассировки лучей. Для остальных же объектов достаточна и обычная визуализация. Примером такой ситуации является тренировка управления стыковкой космического аппарата к Международной космической станции. В этой случае очень важным является именно стыковочный узел, на котором необходимо как можно более точно смоделировать все объекты и их освещение (в частности, тени). На остальные, более удаленные объекты космонавт не обращает особого внимания. В системе «GLView» возможно указание границы расстояния от наблюдателя, до которой необходимо использовать метод трассировки лучей. На рис. 5 показан пример визуализации стыковочного узла МКС.
Рис. 5. Стыковочный узел МКС
Рис. 6. Разрушение стены роботом
Рис. 7. Открывание двери роботом.
Для повышения реалистичности очень важно обеспечить адекватное взаимодействие моделируемых управляемых объектов с окружающей обстановкой. В первую очередь сюда относятся коллизии (столкновения) управляемого объекта с другими объектами. Здесь следует различать столкновение со свободными объектами и столкновения с объектами, связанными шарнирами. На рис. 6 показан пример разрушения кирпичной стены при наезде на нее робота. Движение каждого кирпича при падении зависит от столкновений не только с роботом, но и с другими кирпичами. Примером моделирования объекта с шарнирами служит дверь, подвешенная на петлях. При коллизии объекта управления с дверью, она должна открыться ровно настолько, насколько сильным был удар и насколько большим является трение в петлях. Кроме того, необходимо учитывать, что существует максимальный угол поворота двери (ограниченный косяком двери). На рис 7 показан пример воздействия робота на дверь.
Среди моделируемых в системе «GLView» спецэффектов можно отметить белый шум, блики в оптических системах, засветка и пересветка оптических средств наблюдения, расфокусировка и т.д. Реализовано также моделирование огня и дыма, а также струи воды на основе системы частиц и Перлиновского шума. Параметры системы частиц (в частности, огня и дыма) можно задать в конструкторе, добавленном в 3D MAX и описанном выше. Кроме того, моделируется затухание огня в процессе его тушения струей воды. На рис. 8 показан пример тушения очага возгорания роботом с водяной пушкой.
Рис. 8. Моделирование огня и струи воды
Рис. 9. Синтез текста
Для контроля моделирования движения управляемого объекта или процесса служит возможность синтеза текста на экране монитора. В тексте могут выводиться любые параметры, которые необходимо контролировать (координаты, ориентации, скорости, температуры, давления и т.д.). Изначально данная возможность была реализована для имитации приборов «Символ» и «Символ-Ц» в составе космического тренажера. Однако синтез текста может быть полезен практически в любой области применения системы визуализации. Текст формируется с произвольным начертанием, задаваемым шрифтом, либо в векторном виде с помощью TTF файла (True Type Font), либо в растровом виде с помощью графического файла формата BMP. Иллюстрация синтеза символов для имитации аппаратуры «Символ-Ц» для космического тренажера приведена на рисунке 9.
Рис. 10. Многопортовая визуализация робота на космическом модуле МЛМ
Для более точной оценки адекватности управления можно использовать визуализацию в стерео режиме, многопортовую или мультиэкранную визуализацию. Система «GLView» поддерживает стерео режимы с использованием поляризационной технологии, анаглифа, технологии затворных очков, шлемов виртуальной реальности и др. (см. [8]). Во всех режимах основным является правильное задание параметров виртуальных камер, образующих стереопару. Многопортовый режим [9] заключается в разбиении средства отображения на области, в которые одновременно выводятся изображения одной виртуальной сцены с разных ракурсов (точек наблюдения). Это позволяет более точно рассмотреть особенности движения управляемого объекта. На рис. 10 показан пример визуализации действий робота в трех портах.
Рис. 11. Рассинхронизация при визуализации на три канала
При мультиэкранной визуализации изображения соседних частей сцены синтезируются разными компьютерами и выводятся на разные экраны. В этом случае важной задачей является синхронизация вывода этих изображений. На рис. 11 показан пример рассинхронизации изображений при визуализации на три экрана.
Другой возможностью визуального контроля является движение виртуальной камеры вдоль траектории управляемого объекта. Для этого камере можно задать анимационный трек, по которому она будет двигаться.
Рис. 12. Механизм Липкина-Посселье
Предлагаемая технология может быть применена для проверки адекватности не только методов управления, но и выбранных численных методов решения соответствующих дифференциальных уравнений, а также методов моделирования работы динамических элементов. Например, рассмотрим задачу моделирования работы шарниров в масштабе реального времени [10]. Для обеспечения высокой скорости расчетов необходимо использовать методы вычислительной динамики. Сходимость этих методов можно легко наблюдать на виртуальной сцене. На рис. 12 показан механизм Липкина-Посселье, преобразующий вращательное движение в поступательное. Он состоит из 7 звеньев, соединенных шарнирами. В самом левом шарнире осуществляются вращательные движения. Результатом этих вращений является поступательное движение самого правого шарнира вдоль вертикальной направляющей. Слабо сходящийся или неподходящий численный метод расчета приведет к тому, что результирующее движение механизма визуально будет неверным.
В качестве базовой технологии для вывода трехмерной графики система использует графическую библиотеку OpenGL. Базовые возможности ориентированы на версию 1.1, расширенные возможности визуализации (реализация сложных материалов и дополнительных эффектов визуализации) требуют версии OpenGL 2.0 c поддержкой шейдеров. При этом эффективное использование системы возможно практически на любом аппаратном оборудовании с поддержкой трехмерной графики; при отсутствии поддержки отдельных специфических возможностей автоматически выбирается более простой уровень отображения, работоспособность и базовая функциональность программы сохраняются. При разработке и тестировании системы использовались видеокарты GeForce. Система визуализации имеет модульную структуру, что позволяет наращивать список ее возможностей в дальнейшем, а также реализовывать взаимодействие с новыми устройствами управления и вывода (например, с компьютерными перчатками и системами трекинга в применении к комплексам виртуальной реальности). Система «GLView» независима от пользовательского интерфейса и реализована в нескольких версиях:
EXE приложение, выполняющее функции просмотрщика трехмерных сцен, в котором интерфейс пользователя реализован как надстройка, использующая функции системы визуализации;
DLL версия, которая интегрируется во внешнее приложение (например, приложение подготовки мультимедийных курсов [10]), взаимодействие с которым осуществляется по заданному программному интерфейсу;
ActiveX DLL версия, которая интегрируется в любое приложение, поддерживающее модули ActiveX (например, Internet Explorer, Microsoft Word, PowerPoint и т.д.).
Такой подход позволяет путем минимальных усилий построить любой программный комплекс, использующий высококачественную визуализацию трехмерных сцен, с необходимым пользовательским интерфейсом.
В данной работе представлена технология научной визуализации результатов управления сложными трехмерными динамическими моделями в масштабе реального времени. Управление при этом может задаваться как с помощью системы дифференциальных уравнений, так и вручную с помощью пультов управления, джойстика и т.д. Технология реализована в программном комплексе и использует разработанную в НИИСИ РАН систему визуализации «GLView» трехмерных виртуальных сцен в моно и стерео режимах. Апробация комплекса показала его адекватность поставленным задачам. Он может быть использован для создания учебных и научных виртуальных лабораторий, в которых отрабатываются и визуально контролируются различные типы управления сложными динамическими объектами.
Real-time visualization of controlled objects’ dynamics
M.V. Mikhaylyuk, M.A. Torgashev
Institute for System Analysis, Russian Academy of Sciences, Moscow, Russia
mix@niisi.ras.ru, mtorg@mail.ru
Abstract
The article presents the technique of realistic real-time visualization of complex devices’ dynamics in a 3D virtual working environment. The control can be set both directly (using a computer mouse or joystick, virtual or real control panels or over the network) and through the system of differential equations. The technique involves the real-time transmission of calculated coordinates of managed objects to the visualization system, where images of both dynamic model and the environment are synthesized with a frequency of at least 25 frames per second in either mono or stereo modes. Direct observation of the object's’ motion trajectories allows evaluating the adequacy of used control.
Regarded system provides visualization of three-dimensional virtual scenes created in the system of 3D modeling «3D MAX». In addition, for scenes containing up to 2 million polygons real-time mode is provided. The system supports ray tracing, stereo imaging, multi-channel network mode, special effects modeling, simulation of fire and smoke, complex animation of scene objects, scripting language, synthesis of text, morphing objects, skeletal animation, multi-port and multi-screen modes, synthesis of shadows from light sources etc. Stereo mode is implemented in several different modes: polarization stereo, anaglyph, shutter-glasses, head-mounted displays, and others. The visualization system uses OpenGL graphics library and runs on personal computers with the operating system Windows.
The proposed technology can be used to verify the adequacy of not only management, but also to choose the appropriate numerical methods for solving differential equations, as well as methods for simulation of dynamic elements.
Keywords: Mathematical modeling, scientific visualization, 3D virtual scenes, virtual laboratories.
References