ТЕХНИКА, ТЕХНОЛОГИЯ, УПРАВЛЕНИЕ
УДК 004.51 С. С. Жильцова
АНАЛИЗ СРЕДСТВ СОЗДАНИЯ ЧЕЛОВЕКО-МАШИННОГО ИНТЕРФЕЙСА, ОРИЕНТИРОВАННОГО НА ПОЛЬЗОВАТЕЛЯ
Аннотация. Рассмотрен вопрос создания интерфейса, ориентированного на пользователя. Описаны требования к иммерсивному интерфейсу, а также результаты анализа возможных средств его построения.
Ключевые слова: пользовательский интерфейс, человеко-ориентированное проектирование, иммерсив-ный интерфейс, SCADA-система, API-средства, игровой движок.
В настоящее время жизнь современного общества невозможна без информационных технологий и различных автоматизированных систем. Общение человека и компьютера должно стремиться к максимальной простоте, понятности и интуитивности. Особенно важным это становится в процессе деятельности человека-оператора или диспетчера эргатических систем, так как с каждым годом наблюдается рост сложности современных объектов контроля и управления, а при мониторинге объектов и управлении ими велико значение человеческого фактора. Возникает необходимость создания пользовательского интерфейса, который позволит человеку-оператору повысить эффективность его взаимодействия с системой [1]. Для создания такого интерфейса необходимо применение методов и принципов человеко-ориентированного проектирования (human-centred design), изложенных в стандарте ГОСТ Р ИСО 9241-210-2016, систем, разработка которых ведется с применением этого стандарта. Такие интерфейсы обладают более высоким качеством за счет увеличения производительности труда пользователей, простоты понимания и использования, повышения пригодности для широкого диапазона пользователей, учета опыта пользователей, снижения у пользователя дискомфорта и стресса [2].
Для решения задач человеко-машинного интерфейса, ориентированного на пользователя, предпочтительным становится создание иммерсивного (погружающего) интерфейса. Основная его особенность - появление чувства присутствия у лиц, находящихся в данной среде, и интерактивный характер взаимодействия пользователя со средой. Причем в них могут быть реализованы любые формы связи человека с содержанием среды интерфейса [3].
Возникает задача определения средств, позволяющих создать иммерсивный интерфейс. С их помощью должна быть реализована возможность создавать объекты интерфейса, обладающие следующими свойствами:
1) виртуальные объекты могут иметь любую форму;
2) виртуальные объекты могут иметь объем (зБ-объекты);
3) виртуальные объекты могут иметь цвет и текстуру, присущие реальным;
4) сохранение пропорций виртуальных объектов, которые характерны для реальных;
5) сохранение относительно друг друга размеров виртуальных объектов, которые характерны для реальных (в некоторых случаях размеры виртуальных объектов относительно друг друга искажаются);
© Жильцова С. С., 2019.
6) наполнение дополнительным по отношению к реальной среде содержанием путем вывода дополнительной информации об объекте (уточнения, надписи, подсказки);
7) возможность применения анимации для отображения изменения состояния объекта;
8) возможность отображения динамических свойств объекта, в общем случае с шестью степенями свободы;
9) реалистичное (или приближенное к реальному) окружение объектов;
10) реалистичное (или приближенное к реальному) пространственное местонахождение объектов;
11) объекты интерфейса могут взаимодействовать с пользователем в интерактивном режиме.
Для создания объектов иммерсивного интерфейса, удовлетворяющих перечисленным свойствам, можно рассмотреть такие средства, как SCADA-системы, традиционные средства компьютерной графики, а также нетипичный инструмент - игровой движок.
SCADA (supervisory control and data acquisition, диспетчерское управление и сбор данных) - программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления. SCADA может являться частью автоматизированной системы управления технологическими процессами, автоматизированной системы коммерческого учета электроэнергии, системы экологического мониторинга, научного эксперимента, автоматизации здания и т.д. SCADA-системы используются во всех отраслях хозяйства, где требуется обеспечивать автоматическое или автоматизированное управление технологическими процессами в режиме реального времени [4].
На мировом рынке представлено более 50 продуктов, которые можно отнести к SCADA-системам. Существуют [4]:
1) полностью бесплатные SCADA: OpenSCADA, Rapid SCADA, FreeSCADA, scada-ГИНЭС, Inductive Automation Ignition;
2) условно бесплатные SCADA, достаточные для автоматизации малого технологического процесса и изучения без покупки лицензии, имеющие возможность работы в течение неограниченного времени: Simp Light Free, MasterSCADA, IGSS, Контар АРМ, IntegraXor, Каскад, Vijeo Citect;
3) прочие SCADA: Simatic WinCC, Intouch Wonderware, Trace mode, Genesis, SCADA Infinity, Movicon Next.
В основном в SCADA-системах встроенные объекты представлены очень схематично, что недостаточно для построения реалистичного иммерсивного интерфейса (рис. 1 [5]).
Рис. 1. Интерфейс котельной, созданный в SCADA-системе Simp Light Free
Для того, чтобы создаваемые объекты могли иметь форму, отличную от объектов, которые предлагают стандартные галереи ЗСЛБЛ-систем, существует возможность вставки объектов в виде изображений из внешних источников. В связи с этим вставленные объекты имеют цвет и текстуру, присущие реальным. Но новые объекты нельзя назвать объемными (эБ-объектами), ведь даже при вставке изображений с уже нанесенными тенями они не обладают полноценным объемом, так как не отбрасывают теней. В данном случае можно говорить не о эБ-, а о 2,5Б-графике. Также существует возможность вывода дополнительной информации об объекте (текущее время, надписи, шкалы и т.д.). Для повышения реалистичности окружения объектов можно добавить фон с помощью фототекстуры, которая может являться, например, снимком реального местонахождения объекта (рис. 2). В БСЛБЛ-системах существует возможность применения анимации для отображения изменения состояния объектов. Кроме того, также существует возможность подключать к созданным объектам внешнее управление.
18:23:59 13.04.2019
Рис. 2. Интерфейс наполнения бака, созданный в SCADA-системе Simp Light Free
SCADA-системы хорошо показали себя при построении иммерсивных интерфейсов для наблюдения за многопараметрическими объектами. Но все же существенным недостатком являются ограниченные возможности построения реалистичных ßD-сцен, что ограничивает возможности оператора при необходимости принятия «пространственного» решения.
Другим способом создания иммерсивного интерфейса могут стать традиционные средства компьютерной графики, например, с применением графических библиотек OpenGL, Vulkan, DirectX.
OpenGL является одним из самых популярных прикладных программных интерфейсов (API - Application Programming Interface) для разработки приложений в области двумерной и трехмерной графики. OpenGL является кроссплатформенным, независимым от языка программирования API для работы с графикой. На сегодняшний день графическая система OpenGL поддерживается большинством производителей аппаратных и программных платформ [6].
Vulkan - кроссплатформенный API для 2D- и ßD-графики. Vulkan API изначально был известен как «новое поколение OpenGL», или просто «glNext». Как и OpenGL, Vulkan
позволяет с высокой производительностью отображать в реальном времени различные приложения с эБ-графикой, такие как игры или интерактивные книги на всех платформах, а также обеспечивает более высокую производительность и меньшую нагрузку на процессор [7].
DirectX - это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр и имеет возможности, сходные с библиотеками OpenGL и Vulkan [8].
Возможности API-средств позволяют создать реалистичный иммерсивный интерфейс. Но для этого необходимо обладать следующими навыками:
- владение языками программирования;
- понимание и использование принципов компьютерной графики, например работы с графическими примитивами, геометрического моделирования, хранения цвета в формате RGBA, текстурирования и сжатия изображений, альфа-смешивания и др.;
- иметь понятие об аффинных преобразованиях в компьютерной графике, так как позиционирование объектов - серьезный вопрос построения эБ-сцен. С математической точки зрения эти преобразования записываются соответствующими матрицами;
- иметь понятия о законах освещения объектов и отбрасывания ими теней для придания сцене наибольшей реалистичности, что является трудоемкой задачей.
В итоге создание иммерсивниго интерфейса с помощью средств API является трудоемкой задачей. Для облегчения поставленной задачи можно создавать объекты с помощью пакетов для создания трехмерной компьютерной графики (моделеров), например, 3ds MAX или Blender, а затем конвертировать их в программу, например, под OpenGL.
Blender - свободный пакет для создания трехмерной компьютерной графики, включающий в себя средства моделирования, анимации, рендеринга, постобработки видео, а также создания интерактивных игр.
Пакет Blender обладает следующими возможностями:
- полигональное моделирование, сплайны, NURBS-кривые и поверхности;
- режим лепки;
- система частиц;
- динамика твердых и мягких тел: жидкость, шерсть/волосы и т.д.;
- скелетная анимация;
- встроенные механизмы рендеринга и интеграция со сторонними визуализаторами;
- редактор видео;
- функции создания игр и приложений (Game Blender).
Плюсы пакета Blender - доступность, открытый код, кроссплатформенность, небольшой размер (около 50 мегабайт), широкий функционал, возможность создания игр. Минусы пакета Blender - отсутствие документации в базовой поставке [9]. После создания модели ее необходимо конвертировать в программу под OpenGL, используя, например, библиотеку Assimp или программный продукт Deep Exploration.
Open Asset Import Library (Assimp) - кроссплатформенная библиотека импорта ЭБ-моделей, обеспечивающая общий интерфейс программирования приложений (API) для различных форматов. Написанная на C++, она предоставляет интерфейс на языках C и C++. Эта библиотека может импортировать множество различных форматов, содержащих модели, сохраняя данные, которые импортируются в виде простой иерархической структуры данных. Как только Assimp закончит загрузку моделей, можно получить все нужные данные из этой структуры [10].
Для работы с библиотекой Assimp и дальнейшего использования загруженной модели необходимы навыки программирования.
Deep Exploration - одна из лучших программ, предназначенных для просмотра изображений в форматах 2D и 3D, а также всевозможных аудио- и видеофайлов. Всего
эта программа поддерживает более 40 форматов. Работа с эБ-графикой - еще одно свойство программы, которое заслуживает отдельного упоминания. Deep Exploration способна распознавать трехмерную графику, созданную при помощи таких программ, как AutoCAD, 3D Studio, WaveFront Maya и многих других. Некоторые форматы эБ-графики позволяют создать анимацию на основе ключевых кадров. Также утилита позволяет оптимизировать сцену: эта функция необходима, если в эБ-сцене содержатся объекты с множеством полигонов [11]. Еще одна из многочисленных возможностей программы -функция конвертирования файлов в различные форматы.
Традиционными средствами геометрического моделирования, например пакета Blender, можно создать реалистичные объекты для иммерсивного интерфейса. Они имеют форму, объем, имеют цвета и текстуры, присущие реальным объектам. В Blender также существует возможность создания окружения объектов, например, используя в качестве фона какое-либо изображение. Blender также имеет поддержку анимации.
Сложность традиционного подхода к созданию иммерсивных интерфейсов заключается в том, что для создания моделей необходимы навыки компьютерного моделирования, которые сопровождаются большой трудоемкостью создания сцен, и низкий уровень автоматизации их создания. Кроме того, нужны специальные средства сопряжения сцены с управляющими сигналами. Для конвертации созданных моделей и их дальнейшего использования также нужны навыки программирования.
Для построения иммерсивного интерфейса можно использовать игровые движки. Любой интерфейс служит для совершенствования и применения навыков управления объектами интерфейсного пространства, для того же служат компьютерные игры. По своей сути, игру можно назвать автоматизированной обучающей системой (АОС). Но в игровых движках создание игр автоматизировано гораздо лучше, чем создание тех же игр средствами графических библиотек. Следовательно, возможности использования игрового движка применительно к созданию интерфейсов нуждаются в изучении.
Игровой движок (англ. «Game engine») - базовое программное обеспечение компьютерной видеоигры [12]. На данный момент в мире существует огромное количество игровых движков. Среди них Unreal Engine, Unity 3D, CryEngine, Godot и множество других. Каждый из них имеет свои особенности, которые индивидуально подходят для того или иного проекта, а также для конкретного разработчика, в частности.
Средствами игрового движка, например, с использованием пакета Unity 3D можно создать реалистичные объекты для иммерсивного интерфейса. Данный пакет позволяет создавать объекты любой формы с любыми цветами и текстурами. Созданные объекты имеют объем, т.е. они являются зD-объектами. Объекты отбрасывают тени согласно расположению и свойствам введенного в сцену источника света. Окружение для объектов также можно создать, используя встроенные средства игрового движка. Существует возможность добавления дополнительной информации об объекте, а также элементов пользовательского интерфейса. Игровые движки также имеют поддержку анимации (рис. 3).
Рис. 3. Фрагмент интерфейса, созданный в Unity 3D
Сложность создания иммерсивных интерфейсов, например, с помощью пакета Unity заключается в том, что для создания моделей и окружения для них необходимы навыки компьютерного моделирования, а также для создания динамики объектов и взаимодействия объектов с пользователем нужны навыки программирования на языках C# или Java Script. Кроме того, невозможно управлять объектами интерфейса с помощью внешних сигналов в реальном времени, что не подходит для создания иммерсивных интерфейсов, предназначенных для систем мониторинга многопараметрических объектов.
Что же касается сохранения пропорций виртуальных объектов, сохранения размеров относительно друг друга, виртуальных объектов, которые характерны для реальных, а также реалистичного (или приближенного к реальному) пространственного местонахождения объектов, то во всех трех способах создания иммерсивного интерфейса это целиком и полностью зависит от того, как именно проектировщик (разработчик) интерфейса спроектирует объекты и расположит их в рабочей области.
В табл. 1 представлены сводные сведения о возможностях рассмотренных способов создания объектов иммерсивного интерфейса.
Таблица1
Сравнение средств создания иммерсивного интерфейса
Свойство SCADA-системы Традиционные средства Игровые движки
Виртуальные объекты могут иметь любую форму + + +
Виртуальные объекты могут иметь объем (ЭБ-объекты) - + +
Виртуальные объекты могут иметь цвет и текстуру, присущие реальным + + +
Сохранение пропорций виртуальных объектов + + +
Сохранение размеров виртуальных объектов относительно друг друга + + +
Вывод дополнительной информации об объекте + + +
Возможность применения анимации для отображения изменения состояния объекта + + +
Возможность отображения динамических свойств объекта - + +
Реалистичное (или приближенное к реальному) окружение объектов + + +
Реалистичное пространственное местонахождение объектов + + +
Объекты интерфейса могут взаимодействовать с пользователем в интерактивном режиме + + +
Возможность управления объектами интерфейса с помощью внешних сигналов + + -
Требуемый уровень знания языков программирования Низкий Высокий Средний
Таким образом, попытка построения иммерсивных интерфейсов в БСЛБЛ-системах показывают ограниченную реалистичность. Они не погружают пользователя в дополненную реальность и не подходят для принятия «пространственного» решения. Но для схематичного представления многопараметрических объектов они вполне подходят. Создание иммерсивных интерфейсов с помощью традиционных средств компьютерной графики с применением программ-моделеров, конвертеров и графических библиотек является проверенным решением, применяющимся уже длительное время. Но данный
способ является сложным и трудоемким и сопровождается необходимостью отличных навыков компьютерного моделирования и программирования. Создание иммерсивных интерфейсов с помощью игровых движков является перспективным направлением развития, и для работы с ними также нужны навыки моделирования и программирования. Но в настоящее время их нельзя использовать для создания иммерсивных интерфейсов, предназначенных для систем мониторинга многопараметрических объектов, так как нет возможности управления объектами интерфейса с помощью внешних сигналов. Но их применение возможно для создания автоматизированных обучающих систем для тренировки операторов. В итоге следует отметить, что все рассмотренные средства пригодны для построения человеко-машинных интерфейсов, но позволяют сделать это с разным уровнем функциональности и разной степенью реалистичности. Тогда выбор того или иного средства определяется своеобразием решаемой задачи.
Библиографический список
1. Косников, Ю. Н. Моделирование объектов интерфейса виртуального окружения для эрга-тических систем / Хоанг Тхай Хо // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2016. -№ 3. - С. 16-28.
2. ГОСТ Р ИСО 9241-210-2016. Эргономика взаимодействия человек-система. Ч. 210. Человеко-ориентированное проектирование интерактивных систем. - Москва : Стандартинформ, 2016.
3. Сергеев, С. Ф. Введение в проектирование интеллектуальных интерфейсов : учеб. пособие / С. Ф. Сергеев, П. И. Падерно, Н. А. Назаренко. - Санкт-Петербург : СпбГУ ИТМО, 2011 - 108 с.
4. Системы автоматического контроля и сбора информации (SCADA). - URL: https:// bourabai.ru (дата обращения: 20.09.2018).
5. Официальный сайт SCADA-системе Simp Light. - URL : https://simplight.ru (дата обращения: 15.04.2019).
6. Баяковский, Ю. М. Графическая библиотека OpenGL : учеб.-метод. пособие / Ю. М. Бая-ковский, А. В. Игнатенко, А. И. Фролов. - Moсква : Издательский отдел факультета вычислительной математики и кибернетики МГУ им. М. В. Ломоносова, 2003. - 132 с.
7. API Vulkan // Mb programmer : сайт. - URL: https://mbprogrammer.com (дата обращения: 15.04.2019).
8. DirectX 12: Новый этап в развитии игр // GoHa.ru : сайт. - URL: https:// www.goha.ru (дата обращения: 15.04.2019).
9. Обзор самых популярных зD-редакторов // VideoSmile : сайт. - URL: https:// videosmile.ru (дата обращения: 15.04.2019).
10. Assimp // PVS : сайт . - URL: https://www.pvsm.ru (дата обращения: 20.01.2019).
11. All FreeLoad. Deep Exploration. - URL: http://all-freeload.net (дата обращения: 17.04.2019).
12. Топ-5 игровых движков, изменивших мир // Инфостарт : сайт . - URL: https:// infostart.ru (дата обращения: 17.04.2019).
Жильцова Светлана Сергеевна, магистрант, Пензенский государственный университет. E-mail: [email protected]
Образец цитирования:
Жильцова, С. С. Анализ средств создания человеко-машинного интефейса, ориентированного на пользователя / С. С. Жильцова // Вестник Пензенского государственного университета. - 2019. - № 2 (26). -С.52-58.