Общая архитектура
Система в основном состоит из трех частей:
- робот;
- центральный сервер;
- распределенные мобильных приложений.
Роботы могут быть развернуты на разных этажах в торговом центре, которые непосредственно сталкиваются с клиентами с помощью речевого взаимодействия. Мобильное программное обеспечение можно бесплатно загружать и устанавливать на мобильные телефоны, клиенты получают от них текущую информацию и взаимодействуют с роботами через Интернет.
Центральный сервер отвечает за обслуживание данных и построение моста между роботами и мобильными приложениями. Роботам и мобильным приложениям разрешено запускать несколько экземпляров одновременно, и все они подключены к единственному центральному серверу.
Данные, которыми обмениваются робот и мобильное программное обеспечение, делятся на три категории:
- информация о работе;
- данные о конфигурации;
- данные о взаимодействии человека и робота.
Текущая информация о текущих состояниях робота, включая положение робота, состояние задачи и состояние оборудования, которые периодически передаются роботом и пересылаются с сервера на мобильные клиенты.
Конфигурация информации - это описание торгового центра, включая карту окружающей среды, положение магазинов, знакомство с магазинами и т. д.
Данные взаимодействия включают в себя текстовые строки и речевые данные, которые будут предварительно обработаны системой диалога на сервере. Если конечный результат нескольких раундов взаимодействий окажется командой задачи, выполнимой для робота, задача будет отправлена роботу.
Есть два преимущества этой структуры. Во-первых, данные о конфигурации торговых центров постоянно меняются из-за переделки магазинов; Было бы удобно модифицировать централизованно хранимые данные на сервере. Роботам необходимо регулярно обновлять последние данные с сервера. Во-вторых, взаимодействие по мобильному телефону позволяет роботу реализовать свой наибольший потенциал во время работы, в то время как другие клиенты могут продолжать общаться с роботом в течение периода навигации, что увеличивает взаимодействие клиентов с роботом.
Модули на роботе
KeJia использует гибкую четырехслойную программную архитектуру для удовлетворения требований интегрированной системы роботов, таких как надежность, расширяемость, ремонтопригодность и настраиваемость. Самым нижним уровнем является операционная система робота (ROS), которая предоставляет набор библиотек роботизированного программного обеспечения и надежный механизм связи для модульных узлов.
Второй уровень в основном содержит аппаратные драйверы. Драйверы лазера и камеры отвечают за упаковку необработанных данных датчика в стандартные форматы сообщений ROS и публикует их на верхних уровнях; Драйверы мотора и аудио интерпретируют командные сообщения от верхних уровней к аппаратным исполнителям. Следующий слой является самым важным в структуре; все необходимые навыки классического робота размещены здесь, такие как картирование, локализация, навигация, отслеживание людей, речь и ее распознавание, синтез речи, которые непосредственно решают, какие функциональные возможности могут быть реализованы в верхних приложениях.
Наивысший уровень включает диспетчер задач, менеджер конфигурации, менеджер диалогов и менеджер состояния робота. Модуль диспетчера диалогов пытается понять намерения пользователей посредством речевого взаимодействия и переводит их в некоторые явные задачи.
Диспетчер конфигурации гарантирует согласованность данных конфигурации между локальным и удаленным, что будет синхронизировать данные при изменении данных удаленной конфигурации. Диспетчер состояния робота постоянно контролирует состояния как аппаратного, так и программного обеспечения, что вызовет тревогу при возникновении исключений.
Кроме того, он сообщает информацию о состоянии на сервер. Диспетчер задач отвечает за планирование задач и переключение поведения, который получает задачи от сервера или диспетчера диалогов и решает, что делать дальше.
При использовании такой многоуровневой структуры для добавления любого нового приложения или нового навыка необходимо изменить только соответствующие слои, а не всю систему. Кроме того, отдельные модули могут быть назначены различным программистам, которые просто разрабатывают желаемую функциональность в соответствии с предварительно установленными интерфейсами, не заботясь о деталях реализации других.
Модули на сервере
Сервер является важной частью всей системы роботов, которая включает в себя три основных модуля:
- менеджер разрешений;
- менеджер информации;
- менеджер диалогов.
Диалоговый менеджер на сервере - это модуль взаимодействия, разработанный для мобильного приложения, который обрабатывает концептуальную карту предлагаемой системы.
Если ввод представляет собой голосовые сегменты, он сначала переводит их в тексты с помощью встроенного модуля распознавания речи.
Дальше-только больше! Спасибо что дочитали мою статью до конца! Скоро выйдет продолжение, дождитесь. поставь лайк и подпишись на канал! Я буду очень рад.