О трудностях создания "настоящего" умного дома читайте здесь
Предыдущая часть об этапах моделирования "Умного дома" здесь
Инфраструктура симулятора
После создания "умного дома", его компонентов, жителей и сценариев, было разработано программное обеспечение, позволяющее работать симулятору по этим данным, на языке программирования Javascript в среде Node.js.
Веб-интерфейс был создан с использованием языков программирования HTML, CSS и JavaScript для мониторинга моделирования и вмешательства в случае необходимости. С помощью этого веб-интерфейса "умный дом", его компоненты и отдельные пользователи отображаются в режиме реального времени с высоты птичьего полета.
Виртуальные пользователи представлены в веб-интерфейсе с помощью кругов, подписанных двумя буквами. Эти круги автоматически отображаются в соответствующем помещении по мере перемещения людей из комнаты в комнату. Их расположение в помещении производится случайным образом, чтобы избежать их пересечения. Также представлены значки лампы, температуры и розеток в помещениях, они символизируют типы компонентов интеллектуального дома в этом помещении.
В программе отображаются две таблицы: одна с регулярными заданиями и событиями, которые люди будут осуществлять в соответствии со своими определенными сценариями, и вторая, в которой показаны задачи, назначенные менеджером вне сценария.
Для управления есть меню, где можно задавать значения компонентам интеллектуального дома в помещениях напрямую. Отсюда можно мгновенно увидеть и изменить текущую настройку температуры, освещения или розетки в желаемом помещении.
Действия могут быть добавлены вне сценариев с помощью меню "Добавить событие" в верхней части экрана. Например, из меню "Добавить событие" можно добавить человека, перемещающегося из одной комнаты в другую или изменяющего настройки компонента "умный дом", указав время и система может сделать это автоматически в заданное время.
В интерфейс моделирования и коды ядра были внесены различные изменения, чтобы можно было просматривать компоненты интеллектуального дома в реальном помещении с фактическими данными на экране моделирования. В результате этих изменений фактическая настройка термостата изменяется при установке температуры в помещении на экране моделирования. Фактические данные о комнатной температуре были получены от датчиков в помещении.
Вслед за комнатами и компонентами была создана виртуальная семья реального человека, состоящая из матери, отца и троих детей, которые будут активно пользоваться другими комнатами дома. Имя ребенка в семье было обозначено как "Реальный человек" для представления живого пользователя. Для него не было жизненного сценария. Кроме того, при внесении изменений в коды ядра моделирования, все транзакции "умного дома", физически выполненные им, отображались в имитационном режиме как выполненные "Реальным человеком", а его движения внутри дома отображались виртуальным пользователем на экране моделирования в режиме реального времени.
В результате умный дом, физически разработанный с использованием гибридного дизайна, объединяется с реальным человеком, который использует этот дом, и виртуальной семьей в умном доме, который работает в компьютерной среде и на экране компьютерного симулятора.
Интеграция алгоритмов искусственного интеллекта в систему
Для того, чтобы алгоритмы искусственного интеллекта были протестированы в HS (Гибридная симуляция), он должен сначала получить доступ к системным записям. Для этого операции в системе записываются в систему управления базой данных, доступ к которой возможен из любой точки (MySQL). Исследователь, желающий разработать алгоритм симулятора, может получить доступ к записям, введя IP-адрес системы, имя пользователя и пароль, предоставленные ему.
Исследователь, имеющий доступ к записям, может обрабатывать эти записи, используя язык программирования по своему выбору и разрабатывать свой алгоритм. Разработанный алгоритм может быть запущен на том же или на другом компьютере, что и HS. Наконец, исследователю достаточно записать возможные будущие события из своих умозаключений в таблицу "Предстоящие события" в базе данных. Таким образом, исследователь может сравнить предстоящие события в HS с событиями, вызванными разработанным ими алгоритмом, и протестировать его на работоспособность. Например, можно протестировать алгоритм, который может предсказывать, когда люди войдут и выйдут из дома.
В дополнение к будущим событиям, алгоритм может быть разработан и протестирован для прогнозирования предпочтений людей в отношении температуры и света. Например, можно разработать и протестировать алгоритм искусственного интеллекта, который автоматически определяет температуру и уровень яркости, когда пользователь входит в помещение без каких-либо действий. Тест производительности алгоритма может быть завершен путем сравнения прогнозов со значениями, определенными в сценариях, или путем сравнения записей, полученных в результате поведения реального человека, и оценочных данных.
Сценарии повседневной жизни людей дома могут меняться в таких ситуациях, как каникулы, начало учебы в школе или поиск новой работы. Для удобства пользователя алгоритмы искусственного интеллекта должны быть адаптированы к таким ситуациям как можно скорее. В разработанной HS сценарии, определенные для виртуальных людей, могут быть изменены мгновенно во время работы системы или же алгоритм может быть проверен на новые ситуации путем изменения поведения реального человека. Кроме того, при желании, такие операции, как вход в помещение и настройка термостата для реального человека, могут быть добавлены виртуально, как если бы это действительно произошло в меню "Добавить событие", так же как и для виртуального пользователя.