Технология создания специализированных систем на основе средств виртуальной реальности

Е.И.  Артамонов,

зав. лаб., д.т.н., проф.,
А.В. Балабанов,

асп.,
В.А. Ромакин,

с.н.с., к.т.н.,
ИПУ  РАН,
eiart@ipu.ru, г. Москва

Аннотация

Специализированные системы на основе средств виртуальной реальности (ССВР) находят в настоящее время широкое применение. В таких системах создаются виртуальные модели сцен и объектов, на которых осваиваются базовые и специфические операции по эксплуатации, обслуживанию и ремонту техники, а также совершенствуются навыки работы с новейшими образцами оборудования и технологиями. В рамках такого подхода можно своевременно и без больших финансовых затрат обновлять виртуальную базу образцов для различных областей применения. В работе проведён анализ особенностей структурной организации программных средств, используемых структур данных и отдельных алгоритмов. Приведены примеры разработанных систем для обучения устройству, ремонту и техническому обслуживанию автомобилей [1], а также программных средств для разработки систем ситуационного  моделирования.

 

Abstract

A practical work is an important and integral stage of learning both the modern technologies and the newest achievements in the field of engineering. Recently, the support problem to this stage is often solved by the introduction of both computer-aided design systems and dedicated systems based on the virtual reality means into a learning process. Virtual models can be used in order to master both basic and specific procedures concerned with running, service, and repair of different mechanisms, to perfect skills at using the both most modern equipment and technologies as well. Using this approach it is possible, timely and without substantial costs, to update the virtual reality database containing the models required in learning, providing thereby the necessary qualifications of the graduates.

In this work, particularly, we analyze the common software-based systems that are suitable to learn the procedures of both mastering and running the most modern equipment and technologies. In addition, we focus one’s attention on the organization features of these systems, as well as the features of both the data structures and some algorithms used to develop our application presented in this paper. We also give the characteristics of our application (the software-based system based on virtual reality means) we designed in order to support the stage of mastering an automobile design, as well as the service and repair operations of that [1].

Анализ программных средств для создания виртуальных образцов новой техники

В таблице 1 приведена классификация систем, их назначение, структуры генерируемых и обменных файлов. В последнее время универсальные системы широко используют стандартные структуры данных типа *.gbr (GERBER), *.dxf (AutoCAD),*.iges (IDGES), *.stp (STEP), *.wrl (VRML), что позволяет производить обмен данными между системами.

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

Покажем возможность выбора лучшей реализации специализированного программного комплекса на примере возможных вариантов структурной организации интерактивного учебного пособия на основе средств виртуальной реальности по сборке автомобильного генератора. На рис. 1 представлена сеть, отображающая возможные варианты структурной организации ССВР. Дуги сети соответствуют программным реализациям, а вершины – структурам данных.

Для упрощения задачи выбраны только 4 типа ПО (4 типа дуг, соединяющие вершины «Вход», «Выход»): VRML, OpenGL, АutoCAD, SolidWorks. Овалами обозначена полные сети преобразований структур данных, то есть каждая вершина внутри овала соединена со всеми остальными. Выбраны только три последовательные множества дуг сети от входа к выходу, соответствующие реализациям операций алгоритма функционирования ССВР. Первое связано с преобразованиями структур данных на входе в структуры, указанные на вершинах первого овала сети, а также с операциями по созданию 3D моделей отдельных деталей генератора и формированию базы данных (БД) деталей. Второе - содержит произвольную последовательность операций по выбору одной модели из БД, пространственные ее перемещения, фиксация, выбор модели второй детали, ее перемещения для соединения с первой и т.д. до полной сборки модели всего генератора. Третье множество включает операции преобразования структур данных на выходе (второй овал сети).

Почти все операции могут быть реализованы на каждом из четырех типов ПО, за исключением операций преобразования в реальном времени координат моделей деталей. Создание базы данных моделей деталей лучше выполнять, например, на системах АutoCAD или SolidWorks, поскольку в такого рода системах предусмотрены специальные пользовательские средства. Однако разработчику это обойдется от $2000 до $20000 за одно рабочее место, при этом большая часть программных средств, в ССВР такого рода, не будет использована. Базу данных деталей также можно создать на языках VRML и Open GL, в этом случае потребуются высоко квалифицированные программисты и большее время для создания моделей каждой детали.

Таблица 1

Наименование

Характеристика

Назначение

Средства взаимодействия

Структуры данных

Обменные файлы

GERBER

Программа

Управление 2D устройствами

Текстовый язык описания 2D графики

*.gbr

*.gbr

OpenGL

Пакет графических подпрограмм

Расширение универсальных языков программирования при помощи графических функций

Текстовое описание функций языка

Определяет пользователь

Графика 01-Т

Система программ

2D графика, автотрассировка, проектирование РЭА

Языковые и интерактивные средства

*.bmp, *.b, *.i,

*.dxf, *.bmp,

AutoCAD

Система автоматизированного проектирования

2D и 3D графика, проектирование

Языковые и интерактивные средства

*.dwg, *.dxf, *.bmp,

*.dxf, *.bmp, *.dwf, *.dwt,

P-CAD

Система автоматизированного проектирования

2D графика, автотрассировка, проект. РЭА

Языковые и интерактивные средства

*.pcb,*.csh, *.plt, *.dxf, *.pdf, *.lib

*.dxf, *.pcb, *.csh, *.dxf, *.idf

Inventor

Система автоматизированного проектирования

2D и 3D графика, проектирование РЭА и др.

Языковые и интерактивные средства

*.ipt,*.prt, *.iam, *.idw

*.dxf,*.ipt,

SolidWorks

Система автоматизированного проектирования

2D и 3D графика, проектирование

Языковые и интерактивные средства

*.sldprt,*.sldasm, *.slddrw, *.iges, *.stp,*.wrl,*.stl, *.ipt,

*.dxf,*.dwg, *.iges,*.stp, *.wrl,*.stl, *.ipt,*.bmp, *.tif, *.jpg

 

рис. 1

Представленная на рис. 1 сеть фактически является обобщенной моделью [3] реализации ССВР, то есть для решения поставленной задачи потенциально можно использовать все ресурсы, указанные в сети. Как правило, на крупных предприятиях собрано большое количество разрозненных программных средств, остается только их соединить аналогично рис. 1.

Были разработаны программные средства, структура которых соответствует последовательности дуг, отмеченной на рис. 1 стрелками. На рис. 2 показан процесс сборки генератора с использованием ССВР: рис. 2аотдельные детали из базы данных; рис. 2б – частично собранный генератор. На рис. 2а – отмечается требуемая деталь перед сборкой и средствами управления курсором она перемещается к ответной детали. При сближении сопрягаемых поверхностей программа генерирует окно (рис. 2б), предназначенное для подтверждения или отказа от завершения соответствующего этапа сборочной операции.  При нажатии «OK» деталь устанавливается в сборку.

 

рис. 2а. 3D – модели деталей в базе данных

рис. 2б. Выплывающее окно, подтверждающее правильность сборки

Особенности алгоритма сборки виртуальных объектов

Для операции сборки сложного объекта задается геометрическое описание его составляющих, их положение в пространстве и параметры сопряжения друг с другом.

В геометрическое описание объекта входят множество вершин, граней и векторов нормали. Координаты вершин для каждого объекта описываются в однородных координатах в системе координат этого объекта.

Положение L объекта O в пространстве сцены задается матрицей поворота R и вектором переноса : L = {R, } (рис. 3). Следовательно, матрица преобразований объекта в пространстве сцены будет равна , где MT – матрица переноса на вектор , MC – матрица переноса на вектор C, C – центр поворота объекта, заданный в системе координат объекта.

Для каждого объекта задаётся множество узлов стыковки {D}, которые описываются пятью параметрами: D = {A, ,, t, }, где A — начальная точка стыковки,  вектор стыковки,  вектор ориентации объектов друг относительно друга, tтип соединения, — вектор размеров соединений. A, ,  задаются в системе координат объекта (рис.  3).

рис. 3. Параметры сопряжения деталей

Сборка сложного объекта — это заданная последовательность операций стыковки его составляющих. Стыковка двух объектов O1 и O2 представляет собой последовательность из трех операций:

– движение объекта O1 из исходного положения L в промежуточное положение L', в котором координаты начальных точек стыковки объектов совпадают; вектора стыковки являются противоположно направленными, а вектора ориентации — сонаправленными:

A'1 = A'2, , ;                                                                  (1)

– движение объекта O1 из промежуточного положения L' в конечное положение L'', вдоль вектора стыковки ;

– объединение объекта O1 и O2 в группу объектов G(O1, O2). Группа объектов представляет собой множество объектов G={Oi}, положение в пространстве и ориентация которых определяется матрицей Mgi = MgMi, где Mg – общая матрица преобразований группы, а Mi – матрица преобразований объекта Oi (до включения в группу).

Движение объекта O1 на первом этапе можно описать его перемещением на вектор  (для выполнения условия A'1 = A'2), поворотом на угол j1 вокруг вектора r1 (для выполнения условия ), и поворотом на угол j2 вокруг вектора r2 (для выполнения условия ). Далее приведены формулы для вычисления неизвестных параметров T', j1, r1, j2, r2:

,                                                                                           (2)

,                                             (3)

,                                                                              (4)

,                                                                         (5)

,                                                                         (6)

где R1 – матрица поворота на угол j1 вокруг вектора r1.

Отсюда матрица преобразований объекта O1 на первом этапе равняется

,                                                                                             (7)

где R2 – матрица поворота на угол j2 вокруг вектора r2,

 – матрица переноса на вектор .

Матрица преобразований объекта O1 на втором этапе равняется

,                                                                                                   (8)

где  – матрица переноса на вектор .

Операции при разборке сложного объекта прямо противоположны операциям при сборке этого объекта.

 

Специализированные программные средства для проектирования систем ситуационного  моделирования (ПССМ)

 

Представленные выше технология создания специализированных систем на основе средств виртуальной реальности и алгоритмы постоянно развиваются и используются для решения других задач, в частности, для решения задач ситуационного моделирования. Для чего разработано программное обеспечение для описания  виртуальных объектов окружающей среды, в том числе рельефов местности (см. рис.,4), накоплены базы данных . 3D – моделей основных объектов (рис. 5-7).

 

рис.4. 3D – модели рельефа местности

 

                          

рис. 5. 3D – модель акулы                                      рис. 6. 3D – модель подводного аппарата

рис. 7. 3D – модель подводной лодки

Система ситуационного моделирования позволяет создавать конкретные сцены, управлять перемещениями основных объектов (рис. 8,9), при необходимости автоматически планировать и вычислять их траектории движения с использованием алгоритма поиска кратчайшего пути (рис.10). На рис.10 показаны две трассы, проложенные по точкам начала и конца (эти точки на рисунке соединены прямыми линиями).   

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

рис. 8. Надводная сцена

рис. 9. Подводная сцена

рис. 10. Система автоматического прокладывания курса

Литература

1.     Артамонов Е.И., Балабанов А.В., Ромакин В.А., Щегольков М.Ю. Принципы создания интерактивных технических руководств / Материалы 35-й междунар. конф. «Информационные технологии в науке, образовании, телекоммуникации и бизнесе (IT+S&E*08)». — Открытое образование, 2008. — С. 97-98.

2.     Artamonov E.I. Automation of digital device structure design. B-215, ACTA IMEKO, 1973, p. 561-570.

3.     Артамонов Е.И., Ничипорович Т.А., Тенякшев А.М. Метод формирования обобщенных моделей построения систем. Материалы ХХХШ международной конференции Информационные технологии в науке, образовании, телекоммуникации и бизнесе (IT+S&E*06), журнал «Открытое образование». - 2006 г.