Назад в библиотеку

ОРГАНИЗАЦИЯ МОДУЛЬНОГО ИНТЕРАКТИВНОГО ПРИЛОЖЕНИЯ ДЛЯ ТРЕХМЕРНОГО МОДЕЛИРОВАНИЯ УГОЛЬНЫХ ШАХТ

Автор: Бабенко Е.В., Аноприенко А.Я.
Источник: Інформаційні управляючі системи та комп’ютерний моніторинг (ІУС КМ - 2012) - 2012 / Матерiали III мiжнародної науково-технiчної конференцiї студентiв, аспiрантiв та молодих вчених. — Донецьк, ДонНТУ — 2012, Том 1, с. 680-684.

Аннотация

Бабенко Е.В., Аноприенко А.Я. Организация модульного интерактивного приложения для трехмерного моделирования угольных шахт. Рассматривается технология создания модульной системы реалистичного моделирования угольной шахты в научно-образовательных целях и создание на ее базе модульной системы для тренажера по безопасности в условиях шахты.

Постановка задачи

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

Уже была представлена работа, по созданию интерактивной модели шахты с помощью системы Blender[2].Blender — свободный пакет для создания трёхмерной компьютерной графики, включающий в себя средства моделирования, анимации, рендеринга, постобработки видео, а также создания интерактивных игр[3].

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

Схематичное представление системы

Система состоит из двух полноценных приложений – конструктора и симулятора(рис 2). В конструкторе имеется возможность создавать файлы двух типов- файлы модуля и файлы карты. В симуляторе строится трехмерная сцена с помощью файла карты ,где уже описаны основные характеристики обьектов, порядок их загрузки и пути к файлу, откуда они динамически загружаются в сцену. После построения сцены пользователь оказывается «внутри», в начальной точке, и может двигаться вперед -назад. Область перемещения персонажа так же ограничена для каждого модуля и описана в файле карты

Constructor application

Приложение «Конструктор» состоит из 2ух частей: Конструктор модуля и конструктор карты. Переход между двумя окнами «Создать модуль» и «Создать карту » осуществляется с помощью кнопки «Вернуться к главному меню», которая присутствует в каждом окне. Секция 7. Моделирование и современные компьютерные технологии Информационные управляющие системы и технологии и компьютерный мониторинг (ИУС и КМ 2012) 682 В этом приложении и происходит основная часть стыковки модулей. Модуль разделяется на 3 части:

Для отечественных пользователей удобство работы с ПК «МВТУ» обусловлено русскоязычным интерфейсом и наличием обширной документации на русском языке. Учебная и демонстрационная версии ПК «МВТУ» вместе с полной документацией и набором демонстрационных примеров распространяются свободно[1]. В учебной версии есть ограничения на сложность модели: порядок дифференциальных уравнений не выше 30, а число блоков не более 100. В демонстрационной версии таких ограничений нет, но модель нельзя сохранить.

В качестве сравнивоемой системы выбрана MATLAB, а точнее toolbox к нему под – Simulink. Этот выбор основан на том, что Simulink, как и МВТУ, является блочным языком программирования. Программа Simulink является приложением к пакету MATLAB. При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с которым, пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты. При этом, в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, а достаточно общих знаний требующихся при работе на компьютере и, естественно, знаний той предметной области в которой он работает.

Simulink является достаточно самостоятельным инструментом MATLAB и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink (например, LTI-Viewer приложения Control System Toolbox – пакета для разработки систем управления). Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических устройств, Digital Signal Processing Blockset – набор блоков для разработки цифровых устройств и т.д).

При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.

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

Преимущество Simulink заключается также в том, что он позволяет пополнять библиотеки блоков с помощью подпрограмм написанных как на языке MATLAB, так и на языках С + +, Fortran и Ada.

Элементарная сцена состоит из простого куба. В окне «Создать модуль» создается файл типа *.mym(Module file), А в окне «Создать Карту» создается файл типа *.myp(Map file). Карта-это не просто набор элементов. При построении карты учитываются все элементы из всех сцен и формируется файл-инструкция: сколько обьектов загружать, путь для загрузки, смещение обьектов, набор их координат.

Module file

имеет такие свойства как имя,номер и соответсвующее схематичное изображение.Обьекты, которые помещаются в модуль (из которых он и состоит)берутся из базы данных обьектов(Object.db). После создания модуля он помещается в базу данных , где находятся все остальные существующиие модули. В качестве обьектов могут присутствовать не только статичные, но и динамичные или интерактивные группы обьектов, которые обеспечивают функцию «обучения».

Map file

В файле Карты(*.myp) находится все необходимое для того, чтобы создать полноценный трехмерный обьект и управлять им в симуляторе. Он так же создается в конструкторе, как и файл модуля.Только для его построения используется не база данных объектов, а база данных модулей.

На основе данных из файла Карты в симуляторе строится трехмерная модель.После этого пользователь может просмамтривать созданную карту со всеми элементами «изнутри». На данном этапе разработки размеры модулей являются строго фиксированными. Если переводить в реальные размеры он не может привышить 15 метров в длинну и 5 в ширину и высоту. Весь модуль разделен на сектора размером 1х1х1 метр. В одном секторе могут располагатся не больше 5 обьектов или их частей. Каждый обьект, который находится в библиотеке обязательно должен содержать размер – количество секторов которые этот он занимает по ширине, длинне и высоте. В модуле можно располагать только обьекты из библиотеки.

Модули стыкуются ориетируясь на левый верний угол модуля, от которого начинается отсчет и вычисляется смещение модуля отностительно начальной точки, точки с которой начинается построение сцены.

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

Средство создания сцены в симуляторе – Unity3D. Unity — это мультиплатформенный инструмент для разработки 2-х и 3-х мерных приложений и игр, работающий под операционными системами Windows и OS X. Созданные с помощью Unity приложения работают под операционными системами Windows, OS X, Android, Apple iOS, а также на игровых приставках Wii, PlayStation 3 и XBox 360(рис 3). Есть возможность создавать интернет-приложения с помощью специального подключаемого модуля к браузеру Unity, а также с помощью экспериментальной реализации в рамках модуля Adobe Flash Player. Приложения, созданные с помощью Unity, поддерживают DirectX и OpenGL[5].

Выводы

В данном проекте планируется увеличить сворость работы программы за счет модульной системы описанной выше. Этого планируется достигнуть за счет того, что некоторые обьект повторяются много раз. Их нет необходимости подгружать каждый раз – можно просто перемещать по сцене. Технология стыковки будет улучшена и продумана более четко для разых углов поворота модулей.

Список использованной литературы

1. Аноприенко А.Я., Бабенко Е.В. Навка Е.А. Оверчик О.М. Трехмерное интерактивное моделирование угольной шахты на базе системы «Blender» // Материалы четвертой международной научно-технической конференции «Моделирование и ком- пьютерная графика» 5-8 октября 2011 года, Донецк, ДонНТУ, 2011. C. 279-285.
2. Бабенко Е.В. Навка Е.А. Оверчик О.М. Перспективы использования свободного программного обеспечения для создания трехмерных интерактивных приложений // Материалы II всеукраинской научно-технической конференции студентов, аспирантов и молодых ученых «Информационные управляющие системы и компьютерный мониторинг (ИУС и КМ 2011)» – 12-13 апреля 2011 г., Донецк, ДонНТУ, 2011. Т.3. С. 184-187.
3. Blender-Википедия [текст]/ интернет – ресурс. – режим доступа: www/URL: http://ru.wikipedia.org/wiki/Blender
4. Трофимов В.А., доц. Николаев Е.Б., доц., Аноприенко А.Я., проф., Бабенко Е.В., Оверчик О.М., ст. гр. КЭМ-11м (ДонНТУ). Использование трехмерного интерактивного моделирования угольной шахты для создания тренажера по безопасности и охране труда. Материалы всеукраинской научно-технической конференции молодых ученых, студентов и аспирантов "СОВРЕМЕННЫЕ ПРОБЛЕМЫ ОХРАНЫ ТРУДА И АЭРОЛОГИИ ГОРНЫХ ПРЕДПРИЯТИЙ"– 24 ноября 2011 г., Донецк, ДонНТУ, 2011.
5. Unity 3D-Википедия [текст]/ интернет – ресурс. – режим доступа: www/URL: http://ru.wikipedia.org/wiki/Unity_