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

ТЕХНИЧЕСКИЕ НАУКИ

ПРИМЕНЕНИЕ ТЕХНОЛОГИИ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ В СИСТЕМЕ ОРГАНИЗАЦИИ СОВМЕСТНОЙ РАБОТЫ НАД ОБЪЕКТАМИ В РЕАЛЬНОМ МИРЕ Ермаков Н.А.

Ермаков Николай Андреевич - магистрант, направление: информационные технологии, кафедра информационных систем и технологий,

Московский государственный технический университет им. Н.Э. Баумана, г. Москва

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

Ключевые слова: дополненная реальность, мобильные технологии, пользовательский интерфейс, виртуальный мир, программное обеспечение, web - сервис, локальное позиционирование, маркер.

Введение

Стремительное развитие технологий в современном мире способствует развитию все новых и новых способов

4

коммуникации между людьми. Ввиду все большей глобализации населения планеты остро встает проблема организации людей для совместной работы. С развитием Web технологий стали появляться такие сервисы, как, например, Trello, которые помогают оперативно сообщать исполнителям о задачах, которые необходимо выполнить, а также вести детальный отчет о проделанной работе. Однако, подобные системы ограничены в своих описательных возможностях. Максимальный уровень наглядности, который можно достичь с помощью таких решений, - это видеоролик с пояснением требуемых от человека действий. Вместе с тем, при сборке сложных устройств, при выполнении комплексных действий лучшее, что можно сделать, - это явно показать, что и как нужно сделать с конкретным предметом. Для решения этой проблемы требуется средство, обеспечивающее:

- максимальную информативность;

- простоту использования;

- достаточную для понимания наглядность.

Под описанные выше требования максимально подходит технология дополненной реальности. Это очень удобный и простой для понимания пользователем инструмент (о чем свидетельствует его применение для обучения [1, 241]), использование которого может быть ограничено лишь фантазией человека [2, 3].

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

Обзор применения технологии дополненной реальности для совместной работы над объектами в реальном мире решений.

1.1. Передача физических форм на расстояние

Это одно из самых нестандартных решений на данный момент. Авторы статьи [3, 465] предлагают с помощью специально разработанного ими устройства передавать от одного человека к другому форму объекта, с которым они должны совместно работать в реальном мире. Суть технологии заключается в том, что требуемый для работы предмет сканируется, в результате чего создается его цифровая модель. Затем она передается по сети получателю, у которого имеется специальный аппарат - «отображатель формы», как его называют создатели [3, 467]. В данной работе будем называть его - «трехмерный экран». На нем проецируется полученная модель. Экран представляет собой плоскость, из которой выдвигаются столбики на нужную высоту и, таким образом, из этих столбиков и собирается модель. Поскольку реальный объект сканируется непрерывно, то любое изменение, которое с ним происходит, также отображается и на удаленном трехмерном экране. Таким образом, пользователь, находящийся на расстоянии, может не только видеть все изменения, которые происходят с предметом, над которым ведется работа, но и потрогать меняющийся предмет.

Преимущества рассматриваемого решения:

- имеется возможность буквально потрогать удаленный физический объект на расстоянии;

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

Недостатки рассматриваемого решения:

- на данный момент не до конца проработана концепция работы трехмерного экрана (передаваемые предметы весьма приблизительно похожи на реальные);

- требуются специфичные и относительно дорогие устройство для работы.

1.2. Удаленные графические указания

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

например, требуется помощь для работы с каким-либо объектом, есть смартфон. Пользователь смотрит на требуемую для пояснения ситуацию или предмет через камеру своего смартфона. При этом видеопоток с камеры смартфона транслируется на компьютер удаленного оператора. Полученная информация обрабатывается специальным приложением, предоставляющим возможность рисовать пометки поверх полученного видеопотока. Все созданные оператором пометки пересылаются человеку, запросившему помощь, и отображаются на экране смартфона поверх видео с его камеры [4, 201]. Таким образом пользователь видит все пометки - указания именно там, где их нарисовал оператор.

Преимущества данного решения:

- возможность использование технических средств, имеющихся практически у каждого работника;

- простота использования;

- хорошая наглядность.

Недостатки рассмотренного решения:

- пометки статичны, их нужно каждый раз перерисовывать для дальнейших шагов;

- оператор вынужден рисовать линии мышкой, что выглядит не очень красиво и аккуратно;

- возможны только двумерные пометки.

1.3. Удаленные пространственные указания

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

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

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

Преимущества данного решения:

- наглядность представления указаний оператора;

- простота использования оборудования.

К недостаткам решения следует отнести необходимость наличия в смартфонах датчика глубины (лишь некоторые смартфоны имеют его в штатной комплектации).

1.4. Организация работ по сборке сооружения с помощью определения местоположения исполнителей

Концепция данного решения очень проста. В статье [6, 17] она рассматривается на примере организации строительства небольшого инженерного сооружения. Предполагается, что у всех исполнителей имеется с собой носимое устройство (смартфон или умные часы). Кроме того, в рабочем помещении установлена система локального позиционирования (датчики iBeacon [7, 4971]) для обеспечения высокой точности определения местоположения каждого пользователя в нем. Все исполнители получают определенные задания, подразумевающие такие действия, как поиск и перенос объектов, взаимодействие с ними, с другими людьми и т.д. Также каждому работнику передаются инструкции для того, чтобы человек понимал, что ему нужно сделать с каким-либо предметом, как его установить и т.д.

Подобные задания выдаются параллельно всем пользователям с помощью специально разработанной системы, что позволяет эффективно выполнять многие типы

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

Преимущества технологии:

- возможность автоматизированной организации работы большого числа людей;

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

К недостаткам технологии следует отнести необходимость установки локальной системы позиционирования (требуется специальная подготовка помещения перед началом работы).

1.5. Выводы из обзора применения технологии дополненной реальности для совместной работы над объектами

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

Авторы всех рассмотренных выше решений доказывают их эффективность, основываясь на оценках людей, опробовавших их системы [2,3; 3,470; 4,205; 5,188]. Так как основная задача всех решений состоит в создании интуитивно понятных способов организации кооперативной работы, то ключевым критерием их эффективности являются мнения и оценки пользователей. Таким образом, результаты проведенных исследований позволяют сделать вывод о том, что дополненная реальность действительно является инструментом, улучшающим качество и быстроту понимания исполнителями требуемых от них действий. Однако, при этом остается актуальной проблема адаптации решений под более распространенные устройства.

Постановка задачи для реализации

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

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

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

2. Разработка предложений по применению технологии дополненной реальности в системе организации совместной работы над объектами

2.1. Обоснование выбора технических решений

Стремительное развитие технологий дает возможность нахождения новых путей для реализации идей в области дополненной реальности. В частности, совсем недавно на смартфонах под управлением таких операционных систем как iOS и Android стали доступны продвинутые инструменты для обеспечения дополненной реальности [8; 9]. Так как требуемые устройства в настоящее время есть у многих людей, то их использование позволит реализовать и применить рассмотренные выше идеи в интересах широкого круга пользователей.

В качестве модели клиент - серверного взаимодействия было решено использовать две из них - RestAPI и WebSocket [10, 50]. Первая из них идеально подходит для того, чтобы пользователь получал исходное состояние системы при запуске приложения и получал ссылки на скачивание моделей. Благодаря взаимодействию по протоколу WebSocket [10, 45] каждый клиент может моментально узнавать о прогрессе работы и появлении новых задач, так как сервер оповещает клиентов, не дожидаясь от них запроса о состоянии системы. Структура описанной выше системы представлена на рис. 1.

Сервер распределения задач

Рис. 1. Структура Системы

В ее состав входит сервер распределения задач, на который администратор может загрузить трехмерные модели деталей, из которых состоит конструкция. Модель должна быть описана в редакторе таким образом, чтобы были описаны связи между каждой из частей. Это можно сделать в любом редакторе, например, в 3DSMax (см. 0).

Иате

ж 1 1

т»#21 т»#Ц

Рис. 2. Дерево взаимосвязей между деталями

Таким образом, проектировщик будущей конструкции прямо на этапе моделирования показывает все нужные взаимосвязи. Поэтому, сервер начнет выдавать детали для установки в таком порядке: сначала детали, у которых нет взаимосвязей, т.е. с них начинается постройка, потом детали, для которых уже имеются все взаимосвязи и так далее. Пример спроектированной модели представлен на 0.

Рис. 3. Пример спроектированной модели

В роли клиентов в этой системе выступают смартфоны пользователей. При открытии приложения на соответствующем смартфоне происходит подключение к серверу. Каждый пользователь должен ввести название задачи и пароль доступа к ней, после чего устанавливается постоянное соединение на основе WebSocket [10, 46]. Таким образом, устройства могут уведомлять друг друга о различных событиях, например, о завершении пользователем задания (уведомление клиент - сервер), о появлении новой задачи (уведомление сервер - клиент) и т.д.

Соответственно, конечная последовательность работы системы уведомлений такова:

1. Пользователи подключаются к системе и подписываются на уведомления по протоколу WebSocket [10, 45].

2. Клиентам рассылаются задачи, для которых нет невыполненных зависимостей (задачи по постановке первых объектов, или же тех, для которых все объекты уже поставлены).

3. Пользователь завершает задачу, о чем на сервер приходит уведомление и в базе данных отмечается выполнение задачи.

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

Наглядно схема взаимодействия приложений клиента и сервера показана на рис. 4.

Рис. 4. Схема взаимодействия приложений клиента и

сервера

2.2. Описание приложения для реализации

Реализацию базовой системы целесообразно начать с создания клиентского приложения на операционной системе iOS. В его основе две основные библиотеки:

- ARKit - очень быстро развивающаяся библиотека, содержащая в себе алгоритмы для определения положения устройства в пространстве, сбору данных об окружающем аппарат мире с помощью камеры и нахождение в нем плоскостей для размещения объектов, а также заранее заданных маркеров (изображений) [8];

- SceneKit - вспомогательная библиотека для упрощения загрузки трехмерных моделей и работы с ними.

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

Перед началом решения поставленной задачи пользователю потребуется выполнить несколько предварительных шагов:

1. Просканировать окружающее пространство.

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

3. Если размер выбранной плоскости достаточен для расположения в ней готовой конструкции, то пользователь перейдет к поиску маркера, если же нет - вернется к предыдущему шагу 2.

4. Если маркер не будет обнаружен на плоскости, то пользователь вернется к шагу 2. Если же все условия

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

В качестве маркера для использования в системе был выбран якорь (см. рис. 5). Эта фигура символична ввиду того, что в терминологии дополненной реальности якорями называются точки в виртуальной системе координат, связанные с реальным миром [11, 1].

Рис. 5. Маркер для синхронизации систем координат на разных устройствах

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

2.3. Испытание системы

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

Рис. 6. Тестирование системы

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

Заключение

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

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

Список литературы

1. Yilmaz R.M. Educational magic toys developed with augmented reality technology for early childhood education // Computers in Human Behavior, 2016. Т. 54. С. 240-248.

2. Barfield W. (ed.). Fundamentals of wearable computers and augmented reality, CRC Press, 2015.

3. Leithinger D. et al. Physical telepresence: shape capture and display for embodied, computer-mediated remote collaboration // Proceedings of the 27th annual ACM symposium on User interface software and technology. ACM, 2014. С. 461-470.

4. Gauglitz S. et al. In touch with the remote world: Remote collaboration with augmented reality drawings and virtual navigation // Proceedings of the 20th ACM Symposium on Virtual Reality Software and Technology. ACM, 2014. С. 197-205.

5. Sodhi R.S. et al. BeThere: 3D mobile collaboration with spatial input // Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM, 2013. С. 179-188.

6. Lafreniere B. et al. Crowdsourced fabrication // Proceedings of the 29th Annual Symposium on User Interface Software and Technology. ACM, 2016. С. 15-28.

7. Lin X.Y. et al. A mobile indoor positioning system based on iBeacon technology //Engineering in Medicine and Biology Society (EMBC), 2015 37th Annual International Conference of the IEEE, IEEE, 2015. Р. 4970-4973.

8. ARKit // Developers Apple. URL: https://developer.apple.com/arkit/ (дата обращения: 08.01.2018).

9. ARCore - Build the future // Developers Google. [Электронный ресурс]. Режим доступа: https://developers.google.com/ar/ (дата обращения: 08.01.2018).

10. Pimentel V., Nickerson B.G. Communicating and displaying real-time data with WebSocket //IEEE Internet Computing, 2012. Т. 16. № 4. С. 45-53.

11. Weisman J.K., Redmann W.G. Multiuser augmented reality system and method // заявка патента США номер 15/721, 956, 2018.