Найти тему
Feature IN

Разработка программного обеспечения робота

Оглавление

Общая архитектура

Система в основном состоит из трех частей:

  • робот;
  • центральный сервер;
  • распределенные мобильных приложений.

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

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

Фото: pixabay.com пользователь: blickpixel
Фото: pixabay.com пользователь: blickpixel

Данные, которыми обмениваются робот и мобильное программное обеспечение, делятся на три категории:

  • информация о работе;
  • данные о конфигурации;
  • данные о взаимодействии человека и робота.

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

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

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

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

Модули на роботе

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

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

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

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

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

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

Фото: pixabay.com пользователь: tylermax56
Фото: pixabay.com пользователь: tylermax56

Модули на сервере

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

  • менеджер разрешений;
  • менеджер информации;
  • менеджер диалогов.

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

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

Дальше-только больше! Спасибо что дочитали мою статью до конца! Скоро выйдет продолжение, дождитесь. поставь лайк и подпишись на канал! Я буду очень рад.