Введение

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

 

 Архитектура программно-аппаратного комплекса экспериментальной зоны

Метеостанция состоит из таких компонент как:

Датчики подключаются по проводам к пинам Arduino Mega. Например, датчик BME280 подключается по I2C- последовательная асимметричная шина для связи между интегральными схемами внутри электронных приборов. Использует две двунаправленные линии связи (SDA и SCL), применяется для соединения низкоскоростных периферийных компонентов с процессорами и микроконтроллерами (например, на материнских платах, во встраиваемых системах, в мобильных телефонах).
Для каждого датчика существует написанная библиотека, которая есть в открытом доступе. Именно эти готовые библиотеки позволяют нам без лишних усилий опросить датчики.
В скетче для Arduino Mega создана функция readSensors(), которая вызывается каждые 5000 миллисекунд

arduTimer.setEventHandler(0, &readSensors);
arduTimer.execRepeated(0,5000);

Эта функция получает значения со всех датчиков и формирует строку со значениями:

&co2Ppm=380&dust=24&airQual=221&bmeTemp=27.10&bmeHum=29.30&bmePres=99.52

Эта строка отправляется по последовательному интерфейсу Serial2 на ESP8266.

Монитор порта Arduino Mega:

Монитор порта Arduino Mega

После этого скетч загружен на плату, к которой подключен датчик.

При запуске ESP8266 пытается подключится к wi-fi сети, имя и пароль которой хранится в EEPROM. Библиотека EEPROM позволяет сохранять настройки платы в энергонезависимой памяти после того, как пользователь их изменил.

В скетче для ESP8266 создана функция poolDHT() , которая вызывается в основном цикле программы и записывает значение температуры и влажности в глобальные переменные

float var_h = 0; // Влажность

float var_t = 0; //Температура

с периодом, заданным нами.

//Интервал опроса датчика в миллисекундах

#define DHT_INTERVAL 5000

 

В основном цикле программы идет прием строки по последовательному интерфейсу с Arduino Mega. Эта строка записывается в глобальную переменную mega_str_get и добавляется к строке get запроса, передаваемого на сервер.

Функция poolHTTPclient() ,созданная в скетче, вызывается в основном цикле программы и с периодом, настраиваемом нами и отправляет get запросы на сервер. Для передачи данных с ESP8266 на сервер используется библиотека WiFiClient.h.

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

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

 

База данных на сервере реализована в форме sql-таблицы, каждый их столбцов которой соответствует измеряемой величине, а каждая строка является набором значений этих величин в определенный момент времени. Также выделена отдельная строка для записи даты и времени измерения.

скриншот участка таблицы с измерениями

-скриншот участка таблицы с измерениями

 Http запросы от платы Arduino и VR-приложения обрабатываются с помощью соответствующих php скриптов. Исходный код одного их них приведен в приложении.  Для получения данных с сервера в приложении с определенной периодичностью отправляется запрос по протоколу http, в ответ, на который сервер отправляет данные в виде json объекта. Полученный json объект в приложении преобразуется в набор переменных, которые впоследствии используюстя в качестве параметров объектов, находящихся в VR сцене.

 

 Общие характеристики VR-модели

 

Перед тем, как предоставить описание созданной VR-модели IoT пространства, стоит привести краткую справку о самих технологиях VR и IoT.

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

Для управления шлемом виртуальной реальности используются подключаемые устройства, такие как джойстики или контроллеры движения. Для бесконтактного контроля объектов используются Leap Motion и Eye Tracking, а также перчатки виртуальной реальности.

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

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

Также была подтверждена экспериментально концепция управления физическими объектами силой мысли. Например, технология «Neurable» основана на машинном обучении и электроэнцефалографии. Такие мозгово-компьютерные интерфейсы можно рассматривать как некое идеальное будущее для технологий AR / VR.

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

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

IoT используется в любой отрасли, где что-то можно автоматизировать. Особенно активно IoT развивается в аграрном секторе, логистике, Smart City. То есть там, где есть потребность в удаленном мониторинге состояния объектов или сборе больших данных с целью последующего анализа. IoT дает возможность экономить на обслуживании оборудования: датчики собирают информацию о его состоянии, поэтому техобслуживание и ремонт производятся именно тогда, когда это нужно.

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

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

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

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

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

VR модель реализована на движке Unreal Engine 4. Она содержит 3D-модель, являющуюся копией реального помещения, а также другие необходимые 3D модели (такие как метеостанция). Для взаимодействия с VR моделью созданы элементы управления и интерактивные виджеты, позволяющие перемещаться в пространстве, взаимодействовать с объектами на сцене, вызывать интерфейсы с виджетами.

 

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

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

 

 Предлагаемые программные и аппаратные интерфейсные решения

Большинство разработчиков VR используют игровые движки, такие как Unreal Engine 4 (UE4) и Unity. Эти движки обладают гибким и широким набором функций и инструментов: механизмы управления 3D-средой, импорт контента, такого как модели, изображения, звуки и видео. Каждый из них имеет свои особенности: обычно считается, что UE4 лучше оптимизирован для расчетов и дает более надежную картину. Unity является более интуитивным и эффективным для начинающих.

Помимо игровых движков, осуществляется разработке интерактивных VR-веб-страниц. Это можно сделать с помощью языка разметки A-Frame в Mozilla, используя JavaScript, HTML5 и / или WebGL. Аналогичные эксперименты ведутся в Chrome и Mozilla. Веб-разработка позволяет отображать VR-контент непосредственно на смартфонах, поэтому вам не нужно дорогое дополнительное оборудование. Кроме того, вам не нужно компилировать или упаковывать код. Существует также редактор виртуальных сцен Vizor, который позволяет рисовать на компьютере и просматривать с мобильных устройств.

Ниже представлено описание некоторых классов, обеспечивающих упраление и визуализацию в проекте

Класс “Character” обеспечивает возможность перемещения и управления в VR. Для лучшего восприятия VR среды и удобства взаимодействия в этот класс были добавлены реалистичные руки, а также часы, при взаимодействии с которыми открывается интерфейс с меню.

 

В классе персонажа были реализованы следующие функции:

 

 

 

Для удобства взаимодействия с программой был создан класс “MainMenu”, включающий в себя следующий набор виджетов:

 

 

Для передачи показаний в виртуальную среду был создан класс “Meteostation”, имеющий следующие функции:

 

 

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

Проект работает совместно с шлемом виртуальной реальности Oculus Rift S.

 

Описание результатов выполненных работ. Экспериментальные данные.

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

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

 

Видео с демонстрацией возможностей полученного решения:

 

 Заключение

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

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

 

Использованная литература

1. Aukstakalnis , S. Практическая дополненная реальность: руководство по технологиям, приложениям и человеческим факторам для AR и VR. Аддисон-Уэсли Профессионал, 2016.

2. Богомолов А. И. , Невежин В. П. Виртуальная экономика против цифровой. // Экономика и управление : теория и практика . 2018. V ol. 4. Н о. 1 . P . 92-97.

3. Bulearca , M . , Tamarjan D . Дополненная реальность: устойчивый маркетинговый инструмент. // Глобальное исследование бизнеса и управления: международный журнал . 2010 . Номер 2 . С. 237-252.

4. Cirulis . , Ginters E . Дополненная реальность в логистике. // Процедура информатики . 2013. Том. 26. № 11 . П 14-20.

5. Fite-Georgel P. Есть ли реальность в индустриальной дополненной реальности? // десятого т.е. й международного симпозиума по смешанной и дополненной реальности. 2011. С. 201-210 .

6. Флавиан , C . , Ибаньес-Санчес S . , Orús С . Влияние технологий виртуальной, дополненной и смешанной реальности на качество обслуживания клиентов. // Журнал бизнес исследований . 2019 . Номер 100 . С. 547-560.

7. Kaehler et al. Устройства дополненной реальности, системы и способы покупки. US 2017/0039613 A1, публикация заявки на патент США. 2017.

8. Ли X . Чэнь D . Дополненная реальность в электронной коммерции с отслеживанием без маркеров . // 2-я IEEE Международная конференция по управлению информацией и технике . 2010. С. 609-613 .

9. Merlino M . , Спрог я . Расширенная цепочка поставок. // Процедия Инжиниринг . 2017 . No. 178 . С. 308-318.

10. Park J. , Lee W . Расширенная электронная коммерция: создание дополненной реальности для повседневной электронной торговли с лазерным отслеживание

проекций. // Международный семинар по мультимедийным интерактивным протоколам и системам. 2004. С. 242-251 .

11. Паспорт Национального проекта Национальной программы "Цифровая экономика Российской Федерации"

13. Дорожная карта развития «сквозных» цифровых технологий «технологий виртуальной и дополненной реальности»

14. URL: http://ais.informatik.uni-freiburg.de/teaching/ss12/robotics/slides/12-slam.pdf Введение в мобильную робототехнику

15. URL: https://appfigures.com/top-sdks/ar_vr/all

16. URL: https://architosh.com/2018/06/infographic-the-future-of-vr-virtual-reality-by-2025/

17. URL: https://arxiv.org/pdf/1606.05830.pdf Прошлое, настоящее и будущее одновременной локализации и картирования: к эпохе здравого восприятия

18. URL: https://blogs.nvidia.com/blog/2016/07/21/rendering-foveated-vr/ Партнеры NVIDIA с SMI по инновационной технологии рендеринга, улучшающей VR

20. URL: https://developer.apple.com/augmented-reality/ ARKit 3

21. URL: https://developer.leapmotion.com/documentation/

22. Ван и соавт. Концептуальная основа для интеграции информационного моделирования зданий с дополненной реальностью. // Автоматизация в строительстве . 2013 . Нет . 34 . П 37-44.

23. Юдин Т . N . Понимание цифровой экономики // Теоретическая экономика. 2016. Нет . 3 . С. 33.

Приложение

 

 

ForUnreal.php

<?PHP

             $host = 'localhost';

             $user = 'a******_Sensor';

             $pswd = '*******';

             $db = 'a******_Sensor';//     

            $conn = mysqli_connect($host, $user, $pswd, $db) or die("connection error");

    $measuresSQL = "SELECT * FROM device_MeteoStation ORDER BY id DESC";

    $measuresResult = $conn->query($measuresSQL);

    $arr_measures = array();

   

            while ( $item = mysqli_fetch_array( $measuresResult ) )

        {

        $date = $item['date'];

        $var_t = $item['var_t'];

        $var_h = $item['var_h'];

        $co2Ppm = $item['co2Ppm'];

        $dust = $item['dust'];

        $airQual = $item['airQual'];

        $bmeTemp = $item['bmeTemp'];

        $bmeHum = $item['bmeHum'];

        $bmePres = $item['bmePres'];       

        $measures = array('date' => $date, 'var_t' => $var_t, 'var_h' => $var_h, 'co2Ppm' => $co2Ppm, 'dust' => $dust, 'airQual' => $airQual, 'bmeTemp' => $bmeTemp, 'bmeHum' => $bmeHum, 'bmePres' => $bmePres);

        array_push($arr_measures, $measures);

        }

    $JsonArray=array('Body' => $arr_measures);

    echo json_encode($JsonArray);

           

    mysqli_close($conn);

?>