Обзор возможностей универсальной управляющей программной платформы с ИИ для автономных промо роботов

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

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

Исходя из перечисленных выше элементов стандартного робота мы понимаем, что он является сложным программно – аппаратным комплексом, в котором все элементы взаимосвязаны.
В этой статье я хочу уделить основное внимание самому важному элементу, а именно искусственному интеллекту роботов.
Речь пойдёт о совместной разработки группы компаний Итс Тайм и ООО Дин Софт – программном комплексе (ПК) Дин Робот.
Он осуществляет взаимодействие с аппаратной частью. Также именно с его помощью осуществляется управление оператором (при помощи клиентского ПО Дин Пульт) и скриптование внутренним интерпретируемым языком АйСкрипт. В рамках ПК работает HTTP-сервер, позволяющий визуальному контенту получать аппаратную информацию (звук, изображение с камер, показатели ультразвуковых датчиков и заряда батарей) и иметь частичную возможность управлять аппаратной частью и системой. А также ПК Дин Робот даёт роботам возможность осуществлять визуальную навигацию.
До конца 2014 года ПК «Дин Робот» разрабатывался как программная платформа для автономных роботов официантов, и включал в себя в основном автономное движение, для программирования которого был разработан интерфейс удалённого управления.
Многолетнее сотрудничество группы разработчиков «Дин Робота» с проектами компании Итс Тайм существенно расширило сферу применения этого ПК и превратило его в универсальную программную платформу для автономных мобильных роботов с элементами ИИ.
Разработка ПК «Дин Робот» продолжается и в данный момент он позволяет решать следующие задачи:

  • автономного перемещения по помещению или территории;
  • движения по заданному маршруту;
  • объезду помех или переходу на альтернативный маршрут;
  • хаотичному блужданию по заданной территории;
  • выполнения поведенческих скриптов (движение+речь + отображение информации)
  • распознаванию присутствия человека;
  • Распознавание и запоминание человеческого лица;
  • Аутентификация по лицу;
  • Распознавание эмоций человека, а также пола и возраста;
  • Распознавание человеческой речи:
    1. Выполнения голосовых команд;
    2. Осмысленных диалогов на заданные и общие темы;
  • Реализации различных программных сервисов с использованием бортового и дополнительного оборудования;
  • Интеграции по беспроводным каналам связи с различными облачными сервисами;
  • Удалённого управления оператором (режим теле присутствия).

Визуально структурная схема универсальной платформы, применённая на проекте Итс Тайм Робот-консультант «Алёнка» выглядит следующим образом:

Хочу купить ИИ для робота

*Ваше имя

*Номер телефона

Ваш e-mail

*Модель робота

Комментарий

На сегодняшний момент в состав ПК включены следующие блоки и возможности:

1. Мульти платформенность. Программный комплекс для роботов работает под управлением разных OS:

  • Windows от XP до W10;
    Linux;
  • Возможна доработка ПК для ARM устройств под управлением Android.

2. Система группового управления роботами (для синхронизации работы группы роботов между собой, а также с внешними устройствами и оборудованием):

  • Локальное или облачное решение;
  • Интеграция ПК с центральным WEB-сервером управления;
  • Возможность наполнения группы роботами разных типов;
  • Выбор оптимальной стратегии работы группы роботов;
  • Распределение задач внутри группы;
  • Оптимизация маршрутов движения группы
  • Предотвращение столкновений, взаимных помех, очередей на зарядку;
  • Перераспределение задач убывшего на зарядку робота среди остальных роботов группы.

3. Система интеллектуальной навигации:

  • Визуальное ориентирование робота на месте;
  • Управление автономным движением по территории или помещению;
  • Объезд роботом препятствий и выбор альтернативных маршрутов;
  • Смена маршрутов по программе дня/недели;
  • Выполнение скриптов движения по голосовым командам;
  • Режим хаотичного блуждания по территории для поиска человека;
  • Самостоятельное посещение роботом зарядного устройства.

Поведенческий контент может обеспечиваться ПК Дин Робот при помощи АйСкрипт и/или алгоритма визуальной навигации.

4. Дистанционное управление (ПО ДинПульт) через локальные Wi-Fi сети или через интернет-туннель (режим расширенного теле присутствия):

  • Движением робота (в том числе головы, рук, корпуса и других анимированных элементов конструкции);
  • Речью робота;
  • Изображением встроенных и навесных экранов;
  • Мимикой и артикуляцией лица робота (в том числе механического и светодиодного);
  • Получением обратной связи (звука и видео);
  • Работой навесных устройств и доп. оборудования;
  • Двухсторонней передачей файлов и аудиовизуальных потоков.

Реализованы как инсталлируемая, так и универсальная (браузерная) версии.
На рисунке указаны з схемы управления.
а) подключение через встроенный в робота WiFi-роутер (для роботов R-Bot, Р.О.Б.И.Н, Си-Си);
б) подключение к роботу через локальную WiFi-сеть (для всех моделей роботов);
в) подключение через интернет-туннель (при наличии полной лицензии).

Оператор может вмешиваться в поведение, голос и, соответственно, диалоги. Желательно разделять операторское управление и контент автономного режима. Возможно дополнение одного другим, например, на случай, если оператор отошёл или если какие-то действия должны быть автоматизированы. Управление движением робота может осуществляться как с помощью клавиатуры, так и посредством игрового джостика.
5. Автоматическая система принятия решений на основании обработки показаний датчиков:

  • Уровня заряда батарей;
  • Показаний датчиков дальномеров;
  • Акселерометра наклона;
  • Датчика подключения зарядного устройства;
  • Датчиков обратной связи на колесах;
  • Датчиков позиционирования подвижных элементов.

6. Выведение WEB-контента на основной и дополнительные экраны:

  • На базе браузера Google Chrome;
  • HTML/JavaScript, PHP с использованием MySQL.

Визуальный контент (при наличии) отображается при помощи браузера Chrome, запускаемого ПК в режиме инфокиоска (полноэкранный режим без возможности пользователю переключить вкладку или окно не системными средствами). Сам контент запущен на сервере WAMP (Windows, Apache, MySQL, PHP). Взаимодействие с Дин Робот и скриптами осуществляется либо при помощи подключения в теле страницы скрипта, либо при помощи расширения для браузера. Последнее позволяет взаимодействовать с ПК со страниц, не подлежащих нашему контролю и запрещающих собственную трансляцию в iframe. Взаимодействие заключается в трансляции комплексом адреса страницы, на которой находится браузер, и открытии скриптовых возможностей поменять адрес текущей страницы или выполнить на ней произвольный js.

7. Автоматический трекинг лиц:

  • Определение присутствия человека;
  • Запоминание лица (авто захват, фотографирование, помещение в БД);
  • Идентификация лиц посетителей по БД;
  • Распознавание человеческих эмоций;
  • Определение пола и возраста.

8. Распознавание речи человека и других роботов при помощи:

  • Microsoft Speech Recognizer;
  • Yandex Speech Kit;
  • SDK ASR ЦРТ (Центр речевых технологий).

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

9. Для синтеза речи ПК робота может использовать:

  • Microsoft Text-To-Speech;
  • 7 голосов ЦРТ (Центр речевых технологий).
  • Озвучивать wave — треки с артикуляцией «Аватарки».

10. Диалоговая система на основании фреймовой структура базы знаний для системы распознавания речи, совмещенная с системой управления поведением. Она создана на JavaScript- подобным языке АйСкрипт и использует неочевидную логику.
Диалоговый контент обеспечивается при помощи набора библиотек для АйСкрипт.
Пример. Строка вида “[я[люблю/обожаю]людей.[есть/готовить]/люди великолепны]”, разворачивается в такой граф:

Т.е. все возможные варианты:

  • я люблю людей. Есть
  • я люблю людей. Готовить
  • я обожаю людей. Есть
  • я обожаю людей. Готовить
  • люди великолепны

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

11. Анимированная аватарка с артикуляцией и мимикой (технология OpenGL):

  • Анимированная 3D-модель;
  • Анимированное 2D изображение (фото или рисунок);
  • Набор коротких видеороликов, отображающих артикуляцию и мимику.

12. Фото сервис (предполагает наличие переднего экрана):

  • Фотосъемка с предварительным просмотром в видеорежиме;
  • Наложение на фото дополнительной информации, рамки или виньетки;
  • Печать фото на навесном, локальном или сетевом принтере;
  • Возможность использовать двух принтеров одновременно;
  • Отправка фото на e-mail (с возможностью варьирования текста сообщения и прикрепления дополнительных вложений);
  • Публикация фото на удаленном WEB-сайте или аккаунте в социальных сетях.

13. Робоаватар. Автоматическое выделение и съёмка человеческого лица и выведение его на 1 минуту на лицевой экран вместо аватарки робота.
14. Возможность записи аудио-видео потока с камер робота.
15. Сбор статистических данных в заданных разрезах:

  • Общая статистика (количественная);
  • Поведенческая статистика (реагирование, эмоции);
  • Половозрастная статистика.

16. Беспроводная кнопка управления роботом совмещает:

  • Беспроводную мышку;
  • Лазерную указку;
  • Радиоустройство управления через COM-порт;
  • Устройство Wireless Presenter для управления презентациями.

Внешний вид окна программы дистанционного управления роботом (программы Дин Пульт) показан на следующем рисунке:

Реализация единой универсальной программной платформы для разных моделей промо роботов дает существенную экономию времени, денег и сроков.
Она позволяет одновременно разрабатывать, отлаживать и улучшать алгоритмы управления для всего спектра сервисных роботов.
Таким образом разработки, сделанные для одного из роботов достаточно просто перенести в исполняемый файл программы для других роботов, и они приобретут его навыки.
На данный момент этот ПК с ИИ успешно адаптирован к следующим роботам:
Time-D, Си-Си, R.Bot 100, ARD, и проект Р.О.Б.И.Н.
Компанией Итс Тайм и разработчиками ПK Дин Робот проводится открытая лицензионная политика.
Комплекс фактически может быть доработан для любого робота, использующего операционные системы Windows или Linux.
Существует 3 базовых лицензионных пакета:

  • 1. Робот теле присутствия (управление человеком оператором);
  • 2. Автономный мобильный робот;
  • 3. Полный пакет (удалённое управление + удалённая работа).

К каждому пакету возможно присоединение дополнительных блоков из других пакетов «Дин Робота», а также программных модулей сторонних производителей.
Кастомизация ПК под задачи Заказчика происходит в основном за счёт использования служебного языка АйСкрипт и вполне осуществима как разработчиками программного комплекса, так и сторонними программистами.
Например, программистами Заказчика из СПб на нём реализованные поведенческие скрипты на голосовые команды:

  • Отойди влево;
  • Отойди вправо;
  • Отойди назад;
  • Станцуй.

Заказать лицензию ПК ДинРобот на своего робота вы можете позвонив нам, или заполнив контактную форму. Если ваш робот ещё не присутствует в списке доступных решений — не беда, мы адаптируем к нему наш ПК в сжатые сроки.