Вы находитесь на странице: 1из 13

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

Калоян Йовчев*. Чикуртев Денис** Найден Чиваров**, Милена


Груева**
* Факультет математики и информатики, Софийский университет,
София, Болгария, (k.yovchev@fmi.uni-sofia.bg).
** Институт информационно-коммуникационных технологий-БАС,
София, Болгария
(e-mail: dchikurtev@gmail.com, nshivarov@code.bg)

Аннотация: Данное исследование представляет изучение базовых


шагов при выполнении типичных задач сервисных роботов. В нем предлагается
решение по структуризации данных шагов и интеграции в самообучающуюся
экспертную систему. После были проведены эксперименты на собственном
сервисном роботе, по результатам которых были сделаны выводы, что
использование интеллектуального режима управления улучшает общий опыт
использования робота с такой системой. С этим режимом роботом смогут легко
управлять пожилые и неопытные люди.
© 2019, IFAC (International Federation of Automatic Control) Хостинг
компании Elsevier Ltd. Все права защищены.
Ключевые слова: интеллектуальная система управления, задачи
перемещения объектов, сервисные роботы, уход за престарелыми.

1. Введение
В последние годы число пожилых людей, которым требуется помощь или
дополнительный уход, увеличилось, но для найма личного помощника или няни
требуется весомая сумма денег, позволить которую могут далеко не все. Поэтому
возникла необходимость реализовать интеллектуального сервисного робота для
помощи таким людям в повседневной жизни [16]. Такой робот должен иметь набор
датчиков, чтобы получать информацию об окружающей среде. Он также должен
уметь планировать свои действия для выполнения задач [18]. Поэтому он должен
иметь базу данных о той среде, в которой он находится [10].
Для выполнения определенных задач по перемещению объектов необходи-
мо заранее задать определенные действия. Например, задача "найти и принести мне
бутылку воды" требует предварительного знания окружающей среды и выполнения
последовательности команд, представленных на рисунке 1. Хотя это выглядит как
весьма простая задача, она будет очень сложной для выполнения непо-
дготовленным или пожилым человеком, который дистанционно управляет
сервисным роботом. [5].

Рисунок 1. Типичные действия для задачи поиска и доставки.

Есть несколько вопросов, которые необходимо хорошо продумать.


Сервисные роботы работают в среде, которая полностью не предопределена.
Например, искомая бутылка воды может стоять на столе, а через некоторое время
уже находится в другом месте [6]. Поэтому робот должен иметь возможность
определить изменения своего окружения. Он должен осмотреть все пространство
пока не найдет бутылку воды [9]. Если робот будет иметь знания о человеческом
мышлении, то он будет иметь и знания о возможном местоположении бутылки [8].
Это ограничит круг поиска и снизит вычислительные мощности, необходимые для
поискового процесса.
Кроме того, создание правильной последовательности действий такого
робота является трудной задачей. Хотя робот может узнать о наличии объекта с
помощью компьютерного зрения или другим способом [15], он не знает, как этот
объект связан с конкретной задачей и когда он должен его искать. Ему необходимы
определенные знания о человеке, которому он помогает. На практике большинство
действий для определенных сценариев предопределены. Но это не особенно
хороший подход, поскольку он требует перепрограммирования действий для
каждой задачи. Роботу необходима способность планировать свои действия с
определенным уровнем автономности. При разработке программной системы
управления необходимо учитывать специфику проблемы. Состояние реального
мира существенно влияет на функции программной системы управления [11].
Для этой цели методы искусственного интеллекта(ИИ) могут быть инте-
грированы в текущую систему управления роботом и его графический интерфейс
пользователя. Интеллектуальные системы управления повышают произво-
дительность и сокращают общее время обработки[2]. Цель этой статьи — описать и
предложить, как типичная экспертная система мо жет быть включена в управление
роботом, что позволит расширить возможности роботизированной системы и
повысить ее уровень автономности. Такая система должна уметь воспринимать
окружающую среду, собирать из нее данные и превращать ее в знания [19].
Пожилой или необученный человек должны легко общаться с интерфейсом, даже
используя естественный язык, для чего робот должен уметь понимать предложения
и адекватно реагировать на них. Он должен уметь делать выводы и принимать
решения на основе знаний, полученных из внешнего мира. Интегрированная
экспертная система должна улучшить общий пользовательский опыт персональной
роботизированной системы.
Структура данной работы следующая. В разделе 2 описываются возмож-
ности типичного робота и типичные варианты его использования. В разделе 3
предлагается решение, как с помощью экспертной системы улучшить текущий
интерфейс робота и его систему управления. Такое усовершенствование обеспечит
пользователю интеллектуальный режим управления. Этот интеллектуальный режим
испытывается экспериментально и оценивается в разделе 4.

2. ТИПИЧНЫЙ СЛУЧАЙ ИСПОЛЬЗОВАНИЯ ПЕРСОНАЛЬНОГО


СЕРВИСНОГО РОБОТА.
Для этого исследования используется мобильная платформа, приводимая в
действие дифференциальной приводной системой, состоящей из двух двигателей.
Двигатели оснащены червячными коробками передач. Поверх платформы
установлен четырех-степенной манипулятор Mover4 (Рис. 2). Робот включает в себя
два различных блока обработки процессов, для низкоуровневых в реальном времени
и высокоуровневых, для повышения производительности. Для высокоуровневых
процессов используется материнская плата «Intel S1200SP-L» и процессор «Intel
Xeon E3-1230 v5». ПК робота подключен к главному контроллеру мобильной
платформы, главному контроллеру манипулятора, RPLIDAR и Real Sence через
шину USB. Плата работает под управлением Robot Operating System (ROS).

Рисунок 2. Сервисный робот.

Для низкоуровневых процессов в реальном времени (например, ввода и


отправки выходных сигналов исполнительного механизма) используется плата
Teensy 3.1. Она основана на MK20DX256 32-bit ARMCortex-M4 со скоростью
процессора 72 МГц. Команды для передвижения осуществляются через эту плату, а
измерения энкодера преобразуются в одометрические сигналы. Teensy 3.1 является
отличным вариантом для такого рода работ благодаря его низкой стоимости и
простоте обработки GPIO (General Pin Input/Output). К этому контроллеру
подключены дополнительные датчики и устройства, такие как датчик MPU9250,
квадратурные энкодеры, инфракрасные и ультразвуковые датчики и приводы
двигателей.
Для решения задачи автономной навигации в помещении используется
датчик RPLIDAR A2 [1]. Он состоит из диапазонального сканера и механической
силовой части, которая заставляет его вращаться с высокой скоростью. При
нормальной работе сканер будет вращаться и сканировать пространство по часовой
стрелке. Мы можем получить данные сканирования через коммуникационный
интерфейс RPLIDARи управлять запуском, остановкой и скоростью двигателя через
ШИМ. Этот датчик поставляется с системой определения скорости вращения и
адаптивной системой.
Для избегания препятствий и распознавания объектов используется датчик
Intel RealSense. Камера Intel RealSense Depth использует систему стереозрения для
определения глубины изображения. Это камера глубины D435 питаемая от USB и
состоит из пары датчиков глубины, датчиком RGB, и инфракрасного проектора. Это
идеальное решение для производителей и разработчиков, позволяющая добавить
прототипу и готовому роботу способность воспринимать глубину окружающей
обстановки [21].
Кроме того, для задач, связанных с захватом объектов, используется
стереокамера, состоящая из двух USB-камер, расположенные на фиксированном
расстоянии друг от друга (Рис. 3). Она установлены на захвате, что облегчает
процесс захвата уже найденного объекта. [4].

Рисунок 3. Дополнительная стереокамера для манипулятора

Запущенная ROS представляет собой совокупность программных платформ


для разработки ПО роботов, обеспечивающая функциональность, подобную
операционной системе в гетерогенном компьютерном кластере. Она предоставляет
стандартные услуги операционной системы, такие как абстракция оборудования,
низкоуровневое управление устройствами, реализация часто используемых
функций, передача сообщений между процессами и управление пакетами данных
[17].
Типичный сценарий использования такого робота заключается в поиске и
перемещении объектов в пределах бытовой среды. Этот робот должен быть
разработан для работы в доме пожилого человека и оказании помощи в его жизни,
что приводит нас к тому, что роботизированную систему будут использовать люди,
малоопытные или вовсе без опыта в эксплуатации робототехники и
информационных технологий. Это требует оснастить робота интеллектуальным
режимом управления, который минимизирует необходимость взаимодействия
пользователя во время выполнения задачи.
В следующем разделе описывается, как такая система интеллектуальная
система управления и интеллектуальный режим управления могут быть
реализованы, опираясь на уже описанную роботизированную систему.

3. ИНТЕЛЛЕКТУАЛЬНАЯ СИСТЕМА ДЛЯ СЕРВИСНОГО РОБОТА.

Рисунок 4. Взаимосвязь шагов для выполнения определенной задачи.

Этот раздел представляет основной вклад этой работы и предлагает решение


по включению интеллектуальной высокоуровневой системы управления в систему
управления робота.
Во-первых, необходимо детально рассмотреть необходимые шаги для
интеллектуального выполнения поставленной задачи. Взаимосвязи этих этапов
визуально представлены на рис.4.
Шаги, необходимые для успешного выполнения задачи, можно разделить на
следующие категории:
a. Понимание поставленной задачи
Персональный сервисный робот для пожилых людей должен обеспечивать
удобный интерфейс для отдачи команд роботу и назначения заданий. С этой целью
была внедрена система связи на базе Интернета.
Пользователь может использовать графический интерфейс или отдавать
команды голосом. Команды, отправленные через графический интерфейс, не
подтверждаются дополнительно. Распознавание голоса осуществляется на основе
голосового сервиса Alexa. Распознаваемые голосовые команды повторяются
роботом и запрашивается их подтверждение.
В результате выполнения заданная задача получается в цифровом виде,
понятном для машины.
b. Категоризация полученной задачи
Система управления роботом должна вести базу данных всех возможных
предварительно запрограммированных или выполненных задач. Тип каждой задачи
должен быть известен. Это позволит использовать функции принятия решений. Эти
функции могут быть представлены простым, основанным на правилах, подходом, в
котором окончательное решение принимается в соответствии со значением
выбранного параметра дискриминации. Это сократит время обработки,
необходимое для классификации [20]. В нашей системе есть три типа задач:
• Связанные с управлением умной бытовой техникой
• Связанные с получением информации из интернета
• Связанные с перемещением объектов из комнаты в комнату
Первые два типа заданий могут выполнятся без изменения местоположения
робота. Управление приборами «умного дома» можно осуществлять удаленно из
любого места в доме и сразу после выполнения уведомить пользователя о
результатах действий. В последнем случае информация о результатах будет
выведена на экран графического интерфейса или будет произнесена вслух
синтезированным голосом через выходные аудиоустройства робота. Это зависит от
способа, с помощью которого была получена задача. В случае с данными типами,
задача выполняется сразу же тут.
В случае перемещения объекта выполняется шаг c.
Есть вероятность того, что робот не будет иметь данных о типе задачи, в этом
случае ему будет необходимо добавить новую задачу в базу данных. После этого
пользователю будет предложено выбрать категорию для задачи. В зависимости от
нее, робот может потребоваться дополнительная информация, необходимая для
успешного выполнения задачи. Если она заключается в управлении бытовой
техникой, робот должен перечислить все приборы и спросить, какой из них должен
эксплуатироваться, затем отобразить все доступные действия с этим устройством и
попросить пользователя выбрать нужные действия. Поиск информации в Интернете
является самой простой задачей, ее можно выполнить напрямую, используя
современные поисковые сервисы.
Задача по перемещению объектов между комнатами является наиболее
сложной, т.к. для ее выполнения требуется наибольшее количество знаний.
Информация, необходимая для этого, собирается в следующих шагах.
c. Сохранение текущей позиции
Прежде чем робот начнет движение в пространстве, он должен запомнить
свое текущее положение, чтобы система управления знала, куда вернуться с
найденным объектом. Для этого создаются маркеры для определения
местоположения и запоминания ключевых точек, через которые, скорее всего, робот
будет двигаться.
d. Поиск наиболее вероятного расположения для выполнения задачи
Следующий шаг заключается в том, чтобы робот узнал, где он должен быть
расположен на глобальном уровне, чтобы начать поиск необходимого объекта. Это
достигается установкой логических связей между объектами и их возможными
расположениями. Например, лекарства обычно находятся в строго определенном
месте, в то время как книга для чтения может находиться на тумбочке или на столе
в гостиной.
Если система не имеет начальной точки для текущей задачи, интерфейс
пользователя должен отобразить список всех помещений, из которых пользователь
должен выбрать начальную позицию. После выбора позиция сохраняется в базе
данных.
e. Автономна навигация к определенному месту
Следующим шагом является автономный переход робота в нужное
помещение. Для этого можно использовать встроенную в ROS систему навигации
через установленный лазерный сканер. Он используется для навигации в
пространстве. Для избегания столкновений с другими объектами, робот должен
также иметь дополнительный 3D датчик, например, датчик Intel RealSense.
Если по какой-то причине путь роботу перекрывает непреодолимо
препятствие, из-за которого невозможно достичь требуемого местоположения, он
перерывает выполнение задачи и информирует пользователя о необходимости
удаления препятствия.
f. Поиск объекта
Если робот имеет данные о локальном положении объекта, он захватывает
его в центре видеосигнала и запрашивает у пользователя подтверждение, что этот
объект является искомым. Если данных о локальном положении объекта нет, или
объект расположен не в том месте, где ожидает робот, последний начинает
медленные повороты вокруг своей вертикальной оси, ожидая, что пользователь
выберет объект через видеосигнал. Это серьезное улучшение, так как пользователю
не нужно вручную отдавать команды на обращение и отправку видеосигнала. Также
это устраняет любые проблемы с задержкой удаленной связи или
рассинхронизацией между видеосигналом и обработкой выводимого командного
сигнала. Как только пользователь выбрал объект, система управления сможет легко
найти его и снова захватить в центре видеосигнала.
g. Выход на позицию для захвата объекта
Следующим шагом робот выходит на позицию рядом с объектом так, чтобы
объект вошел в рабочую область захвата. Это действие полностью автономно и не
требует вмешательство со стороны пользователя. С помощью 3D датчика, робот
высчитывает расстояние до объекта. Если выясняется, что объект не может попасть
в зону досягаемости захвата, выполнение задачи останавливается и пользователь
информируется, что в данный момент задача не может быть выполнена автономно.
h. Захват объекта
После успешного позиционирования, робот должен захватить мани-
пулятором искомый объект. Для этой цели интерфейс пользователя переключается
на изображение со стереокамеры, установленной на РО манипулятора.
Интеллектуальная система записывает положение объекта с камеры с помощью
алгоритмов компьютерного зрения. Однако требуется подтверждение
пользователем правильного местоположения. Чтобы не запутать пользователя он
подтверждает положение последовательно для каждого видеопотока стереокамеры.
Образцы кадров представлены на рис. 5.

Рисунок 5. Сигнал с стереокамеры.


i. Доставка объекта обратно пользователю
Как только объект будет успешно захвачен, робот перейдет обратно в
сохраненное на этапе C местоположение. Если это будет невозможно по какой-то
причине, пользователь будет уведомлен и должен будет предпринять действия:
прервать выполнение и подойти к роботу за объектом или указать новое положение,
где оставить объект.
После рассмотрения этих шагов внедрим экспертную систему
самообучающегося типа. Она должна обеспечивать удобный для пользователя
интерфейс. Он должен обеспечивать пользователю удобный и функциональный
способ создания новых задач и позволять легко обучать систему выполнять
повседневные задачи. Это облегчит общение с роботизированной системой и
повседневную жизнь пожилых людей.
Предлагаемый подход экспериментально оценивается в следующем разделе.
4. ХОД И РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТОВ
Текущий пользовательский интерфейс (показан на рис.6) был разработан для
проверки правильности поведения предлагаемой интеллектуальной системы.

Рисунок 6. Персональный пользовательский интерфейс сервисного робота.

Чтобы пользователь мог создавать и программировать выполнение нужные


задачи, в интерфейс была интегрирована новая вкладка. Таким образом,
посредством диалоговой связи, пользователь может легко обучить робота
выполнять поставленные перед ним задачи.
Через эту систему робот был успешно обучен выполнению комплекса задач.
Задачи из категорий управления домашними приборами и поиска
информации в интернете были успешно выполнены во всех случаях.
Задачи по поиску и доставки объектов требовали от пользователя
дополнительного вмешательство на этапах поиска и захвата объекта.
Однако общее время, затраченное на выполнение данной задачи,
значительно сокращается. Даже в случае отсутствия данных для задачи по
перемещению объекта время, необходимое для ее выполнения меньше при
использовании интеллектуального режима. Это происходит потому, что
пользователь не должен использовать и изучать весь интерфейс. Вместо этого он
ведет диалог с системой, которая требует его вмешательство только в том случае,
когда это необходимо. Кроме того, система показывает пользователю только ту
часть интерфейса, которая необходима для выполнения текущего шага.
Время выполнения задач, для которых уже создана последовательность
шагов, меньше при использовании интеллектуального режима.
Одной из таких задач было принести «бутылку со стола на кухне». Образец
карты, созданная с помощью лидара робота, показана на рис.7.

Рисунок 7. Автоматически созданная карта.


Для реализации данной задачи была запрограммирована следующая
последовательность действий:
• Запомнить текущую позицию
• Автоматическая навигация на «кухню»
• Повернутся вокруг вертикальной оси на 72 градуса.
• Убедится, что бутылка находится в центре кадра на высоте 150
пикселей. Если это так, перейти к пункту 6, в противном случае перейти к пункту 5.
• Включить передачу изображения с камеры на интерфейс пользователя,
запуск медленного вращения вокруг своей оси, выделение на видео всех возможных
«бутылок».
• Двигаться к объекту, пока она не войдет в рабочую область манипуля-
тора.
• Поиск объекта «бутылка» в двух потоках стереокамеры и запрос
подтверждения у пользователя
• Захват объекта после подтверждения.
• После успешного захвата объекта, возврат в начальную позицию,
запомненную на шаге 1.
На рис. 8 представлены результаты обнаружения возможных объектов для
захвата, полученные во время обучения

Рисунок 8. Возможные объекты для захвата.

5. ЗАКЛЮЧЕНИЕ
Статья предлагает и описывает структурированный подход к построению
персонализированной интеллектуальной системы управления сервисными
роботами для помощи пожилым людям. Предложенная система проверяется на
реальном роботе. Интеллектуальное поведение робота позволяет значительно
ускорить выполнение поставленной задаче, поскольку пользователю не требуется
перемещаться по многочисленны меню интерфейса. Вместо этого система в режиме
диалога запрашивает от пользователя необходимого взаимодействия. Пользователь
вмешивается в процесс только когда это действительно необходимо. Результаты
экспериментов показали, что такая система значительно улучшит пользовательский
опыт в использовании сервисного робота. Любое улучшение и облегчение этого
опыта имеет большое значение, когда такая роботизированная система используется
для улучшения качества жизни пожилых людей.

БЛАГОДАРНОСТЬ
Исследование, представленное в данной статье, было частично поддержано
болгарским Национальным Научным Фондом в соответствии с контрактом № DN
07/23 - 15.12.2016 «Телеуправляемые Сервисные Роботы для Увеличения Качества
жизни Пожилых людей и Инвалидов» и контракта № KP-06-M27/1-04.12.2018
«Научные исследования Инновационных, Интеллектуальных Информационно-
коммуникационных технологий для Контроля Сервисных Роботов». Работа была
частично поддержана Министерством образования и науки Болгарии в рамках
Национальной исследовательской программы "Молодые ученые и аспиранты",
утвержденной DCM # 577 / 17.08.2018.
СПИСОК ИСТОЧНИКОВ
1. Alexander Buyval, Ilya Afanasyev, and Evgeni Magid "Comparative analysis
of ROS-based monocular SLAM methods for indoor navigation", Proc. SPIE 10341, Ninth
International Conference on Machine Vision (ICMV 2016), 103411K (17 March 2017)
2. Babic, M., Hluchy, L., Krammer, P., Matovic, B., Kumar, R., Kovac, P. New
method for constructing a visibility graph-network in 3D space and a new hybrid system
of modeling. (2017) Computing and Informatics, 36 (5), pp.
3. 1107-1126.
4. Cireşan, Dan, Ueli Meier, and Jürgen Schmidhuber. "Multicolumn deep
neural networks for image classification." arXiv preprint arXiv:1202.2745 (2012).
5. D. Xu, Y. Chen, C. Lin, X. Kong and X. Wu, "Real-time dynamic gesture
recognition system based on depth perception for robot navigation," 2012 IEEE
International Conference on Robotics and Biomimetics (ROBIO), Guangzhou, 2012, pp.
689-694.
6. Guennouni, Souhail, Ali Ahaitouf, and Anass Mansouri. "Multiple object
detection using OpenCV on an embedded platform." In 2014 Third IEEE International
Colloquium in Information Science and Technology (CIST), pp. 374-377. IEEE, 2014.
7. Kazemi, Moslem, Jean-Sebastien Valois, J. Andrew Bagnell, and Nancy
Pollard. "Robust object grasping using force compliant motion primitives." Robotics:
Science and Systems (RSS)(MIT Press, Sydney, Australia, 2012) (2012): 177-185.
8. Lee, Dae Sic, Gi Hyun Lim, and Il Hong Suh. "Robust Object Instance
Registration to Robot-centered Knowledge Framework." (2009).
9. Liang, Ming, and Xiaolin Hu. "Recurrent convolutional neural network for
object recognition." In Proceedings of the IEEE conference on computer vision and pattern
recognition, pp. 3367-3375. 2015.
10. Lim, Gi Hyun, and Il Hong Suh. "Robust robot knowledge instantiation for
intelligent service robots." Intelligent Service Robotics 3, no. 2 (2010): 115-123.
11. Malakov, I. & Zaharinov, V. Interactive Software System for Multicriteria
Choosing of the Structural Variant of Complex Technical Systems. Annals of DAAAM
for
12. 2012 & Proceedings of the 23rd International DAAAM
13. Symposium, ISBN 978-3-901509-91-9, ISSN 2304-
14. 1382, pp. 0199 - 0204, Editor Katalinic, B., Published by DAAAM
International, Vienna, Austria 2012.
15. Pulli, Kari, Anatoly Baksheev, Kirill Kornyakov, and Victor Eruhimov.
"Real-time computer vision with OpenCV." Communications of the ACM 55, no. 6
(2012): 61-69.
16. P. Rashidi and A. Mihailidis, "A Survey on AmbientAssisted Living Tools
for Older Adults," in IEEE Journal of Biomedical and Health Informatics, vol. 17, no. 3,
pp. 579-590, May 2013.
17. Reid, A. Cann, C. Meiklejohn, L. Poli, A. Boeing and T. Braunl, "Cooperative
multi-robot navigation, exploration, mapping and object detection with ROS," 2013 IEEE
Intelligent Vehicles Symposium (IV), Gold Coast, QLD, 2013, pp. 1083-1088.
18. Saso Koceski, Natasa Koceska, Evaluation of an Assistive Telepresence
Robot for Elderly Healthcare, Journal of Medical Systems, 2016, Volume 40:121
19. Ilchev, R. Andreev, Z. Ilcheva, HybridNET Management and Sensor Data
Acquisition System, in IoT 2017: 7th International Conference on the Internet of Things,
Linz, Austria, October 22-25, 2017, pp. 32:1 - 32:2, ACM Digital Library.
20. Vavrek, J., Fecilak, P., Juhar, J., Cizmar, A. Classification of broadcast news
audio data employing binary decision architecture. (2017) Computing and Informatics, 36
(4), pp. 857-886.
21. Yang, Kailun, Kaiwei Wang, Weijian Hu, and Jian Bai. "Expanding the
detection of traversable area with RealSense for the visually impaired." Sensors 16, no. 11
(2016): 1954.