Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

3D VISUALIZATION OF PRODUCTION AND LOGISTIC PROCESSES: DEVELOPMENT TOOLS SELECTION

Dmitriev I.L. 1 Papulovskaya N.V. 1 Aksenov K.A. 1 Kamelskiy V.D. 1
1 Ural Federal University named after First President of Russia B.N. Yeltsin
Modern possibilities of 3D technologies allow representing the working process of enterprise logistic functions set. However, the choice of technology is not always obvious. The article describes the analysis of graphical representation for various technological solutions. Considered graphics libraries OpenGL, Direct 3D, JAVA3D and JavaOpenGL. Web-technology of three-dimensional scenes, such as Alternativa 3D, Unity 3D, WebGL, VRML is provided. The comparative analysis of the considered technologies is made. When comparing technology the choice was made in favor JavaOpenGL as more flexible and cross-platform solutions within the visualization system developed. The necessary result of the interaction of the developed 3D service with the existing system are given. The choice of visualization tools is made according to criteria of developed tracking, control and analysis system and optimization of a full metallurgical production process.
logistics processes
graphics information
visualization
3D technology

Введение

На кафедре информационных технологий ФГАОУ ВПО «УрФУ имени первого Президента России Б. Н. Ельцина» ведется работа над проектом: «Разработка автоматизированной системы слежения, контроля, моделирования, анализа и оптимизации полного цикла выпуска металлургической продукции (АС ВМП) на основе создания и интеграции математических моделей технологических, логистических и бизнес-процессов предприятия». Инициатор проекта: ЗАО «Ай-Теко» (г. Москва).

Разрабатываемая автоматизированная система должна включать следующие функции:

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

Перечень указанных функций можно реализовать разными программными средствами, но очевидно, что модуль визуализации процессов необходимо интегрировать с хранилищем данных.

Компьютерная визуализация производственных процессов предприятия становится актуальна, когда производство занимает большие площади, или территориально разделено. В случае металлургического производства мы имеем завод, производственные площади которого составляют более 10 тыс. кв. м. Очевидно, что даже наблюдение за движением продукции может вызывать проблему.

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

В связи с интенсивным развитием компьютерной графики в последнее время становится широко распространенным использование трехмерных моделей для решения различных научных и производственных задач. В этот список попадает и управление логистическими процессами. Такие функции логистики, как складское обслуживание, управление снабжением, запасами и закупками, управление транспортировкой, оптимизация маршрутов транспортных средств обычно контролируются некоторой системой моделирования. Графическое отображение складов, производственных помещений, продукции с помощью 3D-визуализации несомненно позволит лучше ориентироваться в пространстве. Пользователь системы будет иметь возможность наблюдать за перемещением объектов производства так же, как в реальном пространстве, и принимать управленческие решения благодаря вспомогательным визуальным средствам (рис.1).

Рис. 1. 3D-визуализация цеха

Для создания графического 3D-сервиса необходимо рассмотреть возможные инструменты и технологии, позволяющие визуализировать объекты в трехмерном пространстве. Выбор технологии осуществлялся на основании следующих критериев:

  1. Возможность интеграции модуля визуализации с существующей системой.
  2. Поддержка кроссплатформенности.
  3. Поддержка работы через браузер.
  4. Быстродействие визуализации с учетом множества используемых графических элементов.

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

Рис. 2. Место 3D модели в структуре системы

Для начала рассмотрим существующие графические библиотеки, работающие с 3D графикой на низком уровне абстракций.

Графические библиотеки

Open Graphics Library – графический стандарт, который поддерживает низкоуровневую модель программирования и предоставляет широкие возможности в моделировании трехмерной графики [9]. Он является одним из самых популярных графических стандартов во всём мире. Программы, написанные с помощью OpenGL, можно переносить практически на любые платформы, получая при этом одинаковый результат, будь это графическая станция или суперкомпьютер. OpenGL освобождает программиста от написания программ для конкретного оборудования. Если устройство поддерживает некоторую функцию, то эта функция выполняется аппаратно, если нет, то библиотека выполняет её программно.

Графическая библиотека Direct3D входит в API DirectX и является программным интерфейсом вывода трехмерной графики. Direct X – это набор интерфейсов, разработанных для решения задач, связанных с программированием под операционной системой Microsoft Windows [2]. Практически все части DirectX API представляют собой наборы COM-совместимых объектов. Одним из наиболее важных качеств Direct3D является прозрачный доступ к графическим ускорителям. Если аппаратная платформа не поддерживает какой-то функции, Direct3D реализует ее эквивалент программным путем. Кроме того, Direct3D реализует быстрый программно выполняемый рендеринг, для чего применяется полный конвейер рендеринга 3D-графики.

Компания JavaSoft реализовала возможности 3D в Java (Java 3D), создав собственную библиотеку и привязав ее к стандартным средствам OpenGL и DirectX [7]. Но интерфейс программирования 3D-приложений на Java значительно отличается от OpenGL, приближаясь к имеющемуся у высокоуровневой библиотеки OpenInventor. Библиотека условно подразделяется на базовую часть (javax.media.j3d, javax.vecmath) и вспомогательную (com.sun.j3d.audioengines, com.sun.j3d.loaders, com.sun.j3d.utils). Первая служит фундаментом Java 3D API, определяет ее технические возможности и задает механизм взаимодействия объектов. Вторая представляет собой надстройку, реализованную с помощью базовых классов, облегчающую применение наиболее часто употребляемых операций и расширяющую возможности разработчика.

Библиотека JavaOpenGL (JOGL) представляет собой прямую привязку функций OpenGL к языку программирования Java [8]. Является эталонной реализацией спецификации JSR-231 (JavaBindingstoOpenGL). JOGL предоставляет программисту доступ ко всем возможностям API OpenGL и к двум основным дополнениям OpenGL. JOGL отличается от других OpenGL оболочек тем, что предоставляет программисту возможность работать с API OpenGL посредством обращения к командам OpenGL через вызовы соответствующих методов с привычными Java-разработчику типами аргументов. Малый уровень абстракции JOGL даёт возможность построения довольно эффективных с точки зрения скорости выполнения программ, но усложняет процесс программирования по сравнению с оболочками над OpenGL для Java (например, такими как Java3D).

Web-технологии создания трёхмерных сцен

В соответствии с техническими требованиями и в рамках решаемой задачи для обеспечения условий кроссплатформенности целесообразнее рассматривать существующие Web-технологии для трехмерного моделирования.

VRML (VirtualRealityModellingLanguage) – это открытый стандарт, разработанный ISO (International Organization for Standartization). Первый язык трехмерного моделирования, разработанный для Web [1, 3], его можно отнести к скриптовым языкам. Язык предназначен для описания трехмерных объектов и проектирования 3D-миров. Язык VRML позволяет создавать при помощи текстовых команд сложные трехмерные сцены. Эти команды описывают многоугольные объекты и специальные эффекты для имитации освещения, окружающей обстановки и для придания реалистичности изображению.

Технология Alternativa3D предназначена для отображения трёхмерной графики в среде Flash Player [4]. Графический движок Alternativa3D 8 разработан компанией Alternativa Platform для использования в собственных проектах. Возможности Alternativa3D многогранны и разнообразны, а сферы применения варьируются от создания полностью трёхмерных сайтов в сети Интернет до разработки многопользовательских браузерных игр и проектов для социальных сетей в 3D. Визуализация происходит через библиотеки Direct3D и OpenGL, или программный эмулятор SwiftShader, что означает возможность работать на всех популярных операционных системах и устройствах, включая PC, ноутбуки, нетбуки и мобильные платформы, в том числе Android. Специальный бинарный формат Alternativa3D уменьшает объем данных, необходимых для передачи по сети, что ускоряет загрузку сцены в движок. Экспорт моделей в этот формат осуществляется из пакета 3DSMax с использованием соответствующего плагина.

WebGL (Web-basedGraphicsLibrary) – программная библиотека для языка программирования JavaScript, позволяющая создавать на JavaScript интерактивную 3D-графику, функционирующую в широком спектре совместимых с ней веб-браузерах [10]. За счёт использования низкоуровневых средств поддержки библиотеки OpenGL часть кода на WebGL может выполняться непосредственно на видеокартах. В основе WebGL лежит API OpenGL, и с некоторой долей условности можно сказать, что WebGL – это «биндинг» OpenGL для JavaScript. WebGL ориентируется на набор возможностей предоставляемых OpenGL ES 2.0, что позволяет использовать его на широком спектре оборудования: как на десктопах, так на мобильных платформах. Как и OpenGL, WebGL – это низкоуровневый API, и для того, чтобы создавать проекты, используя его непосредственно, нужно довольно хорошо разбираться во многих непростых аспектах трехмерной графики [9]. В настоящий момент WebGL уже поддерживается браузерами Google Chrome, Mozilla Firefox и Opera для Windows, Linux и MacOS, и браузером FirefoxforAndroid. В сборках Safari для MacOS имеется возможность включить поддержку WebGL.

Unity 3D – это мультиплатформенный инструмент для разработки двух- и трёхмерных приложений, работающих под операционными системами Windows и OSX. Созданные с помощью Unity приложения работают под операционными системами Windows, OSX, Android, AppleiOS, Linux, а также на игровых приставках Wii, PlayStation 3 и Xbox 360 [6].

Игровой движок Unity адаптирован со средой разработки, что позволяет прямо в редакторе осуществлять рендеринг сцены. Поддерживается импорт из большого количества форматов. Встроена поддержка сети.

Анализ технологий

В результате анализа рассмотренных технологий составлена сравнительная таблица (табл. 1). Из таблицы видно, что удовлетворяют всем критериям только Web технологии и библиотека JOGL.

Таблица 1. Сравнение технологий

Средство разработки

Работа под ОС Windows

Работа под ОС Linux

Поддержка Web

Интегрированная среда разработки

Поддержка мобильных платформ

OpenGL

да

да

нет

Все языки программирования

нет

Direct 3D

да

нет

нет

DirectX SDK

нет

Java 3D

да

да

да

Java

нет

JOGL

да

да

да

Java

да

Alternativa 3D

да

да

да

Flash

нет

WebGL

да

да

да

JavaScript

да

Unity 3D

да

да

да

Редактор Unity3D, C#, JavaScript, Boo

да

VRML/X3D

да

да

да

Редактор VRML

Studio Vivaty

да

В таких средствах разработки, как OpenGL ES (OpenGL for Embedded Systems) и Direct3D, существует поддержка мобильных платформ Mobile, однако в таблице они не учитываются, так как являются подмножествами и разновидностями OpenGL и Direct 3D.

Выводы

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

В результате были рассмотрены графические библиотеки OpenGL и Direct 3D, JAVA 3D и Java OpenGL. При сравнении указанных библиотек сделан выбор в пользу Java OpenGL как более гибкого и кроссплатформенного решения визуализации в рамках разрабатываемой системы.

Применение языка высокого уровня JAVA для разработки инструмента имитационного моделирования и наличие качественной реализации средств трехмерной визуализации в JAVA дают основания для выбора этого языка в качестве основного инструмента разработки модуля визуализации для ОС Linux.

В соответствии с техническими требованиями и в рамках решаемой задачи для обеспечения условий кросс-платформенности был сделан вывод о целесообразности рассмотрения Web-технологий для трехмерного моделирования. Анализ Web-технологий создания трёхмерных сцен Alternativa3D, Unity 3D, WebGL и VRML показал, что применение готовых движков (например, Unity 3D) также имеет перспективы интеграции с разрабатываемыми модулями АС ВМП. Особого внимания заслуживает технология визуализации WebGL, которая поддерживается большинством современных браузеров: GoogleChrome, Opera, Mozilla.

Работа выполнена в рамках договора № 02.G25.31.0055 (проект 2012-218-03-167).

Рецензенты:

Шабунин С.Н., д.т.н., профессор, кафедра высокочастотных средств радиосвязи и телевидения, ФГАОУ ВПО «Уральский федеральный университет им. первого Президента России Б.Н. Ельцина», г. Екатеринбург.

Доросинский Л.Г., д.т.н., профессор, заведующий кафедрой информационных технологий, ФГАОУ ВПО «Уральский федеральный университет им. первого Президента России Б.Н. Ельцина», г. Екатеринбург.