56
УДК 681.5
Л. А. Шарапаев
КАСАНИЕ ПРЕДМЕТА МАНИПУЛЯТОРОМ РОБОТА ПОД УПРАВЛЕНИЕМ НЕЙРОСЕТИ
Рассмотрено управление с помощью нейронных сетей движением манипулятора антропоморфного домашнего робота в процессе захвата предмета и его перемещения.
The article examines the control of a manipulator's movement of an anthropomorphous home robot during the process of an object capturing and its shifting with the help of the neural networks.
1. Введение
В работах [1; 2] рассматривается создание колесного антропоморфного домашнего робота, в зависимости от размеров и оснащения выполняющего роль игрушки либо прислуги. Одна из основных задач его разработки — умение находить, захватывать и перемещать доступные по весу и размерам предметы, для чего разрабатывается манипулятор с нейросетевым управлением.
Общий принцип действия системы управления на нейросети описан во многих источниках, например в [3]. При этом схема управления включает две нейронных сети (рис. 1). Первая моделирует инверсивную кинематику манипулятора (выдает на свой выход угол изгиба звеньев манипулятора по заданным координатам целевой точки (например, предмета)), вторая — инверсивную динамику манипулятора (выдает на свой выход крутящий момент привода манипулятора в зависимости от первой и второй производной угла на входе). Таким образом, обе сети решают обратные задали кинематики и динамики соответственно.
Рис. 1. Общая схема нейросетевого управления манипулятора
Эта схема упростится, если принять допущение, что предмет захвата «легкий», т. е. масса его значительно меньше самого манипулятора. В этом случае достаточно в контур управления ввести одну нейронную сеть. Второе допущение для решаемой нами задачи заключается в том,
Вестник РГУ им. И. Канта. 2007. Вып. 10. Физико-математические науки. С. 56 — 60.
Касание предмета манипулятором робота под управлением нейросети
что система технического зрения (СТЗ) способна определить расстояние до предмета от фиксированной точки робота, т. е. «знает» координаты предмета. В этом случае задача упрощается до чисто кинематической, описанной в статье [4].
Захват предмета роботом выглядит следующим образом [5]. После распознавания предмета-цели робот движется к нему до входа в зону возможности захвата. Далее следует попытка достижения касания предмета на основе значений углов, возвращаемых нейронной сетью НС1, обученной оператором на основании своего жизненного опыта на значительной выборке изображений взаимных расположений предмета-цели и робота, даваемых СТЗ. Робот должен для этого повернуться на угол альфа относительно направления «вперед», наклонить туловище на угол бета от вертикального положения, повернуть плечо на угол гамма от положения вдоль туловища, согнуть руку в локте на угол дельта (рис. 2).
57
Рис. 2. Углы поворота корпуса и сгибания манипулятора
58
В случае, если касания не достигнуто, происходит «корректировка»: робот корректирует положение своей кисти в пространстве, наблюдая захватываемый предмет и маячок на своей кисти — светодиод на конце верхней части указательного пальца (на «ногте»). Это происходит под управлением другой нейросети — НС2. Далее, если контакта с тактильным датчиком на конце указательного пальца не произошло, возможен еще этап слепого «нащупывания» предмета, небольшими случайными движениями кисти в разных направлениях. Затем следует охват предмета, управляемый третьей нейросетью НС3. Она натренировывается на основе изображений различных предметов и возвращает угол поворота кисти, степень искривления ладони и степень сжатия каждого пальца. Именно она определяет, каким способом захватывать данный предмет. Далее последует «ощупывание» предмета, состоящее из случайных дополнительных малых изменений значений угла поворота запястья, степени искривления ладони и сгибания пальцев, пока максимальное количество тактильных датчиков на поверхности ладони не будут давать сигнал касания. Наконец, собственно захват предмета, заключающийся в его сдавливании сжиманием пальцев и искривлением ладони, до того момента, пока внешние датчики не продавят специальные калибровочные пружины и не коснутся внутренних датчиков. Такой подход позволит удерживать за счет сил трения предметы определенного весового диапазона.
2. Геометрическая постановка задачи. Кинематическая схема
Кинематическая схема и ее принцип действия [6] представлены на рисунке 3, где ОР — туловище робота, РЪ — часть тела от плечевого соединения до зрительных приборов (две видеокамеры), РК — манипулятор, О — основание туловища, Р — плечевое соединение, Ъ — точка расположения видеокамеры, Ь — локтевое соединение, К — захватывающая часть, С — расстояние, на котором робот видит предмет Х. Угол омега — угол, под которым он его видит (левая схема). Угол альфа — угол поворота туловища (или головы) по отношению к горизонтальной оси симметрии робота. Угол бета — угол наклона туловища по отношению к вертикали. Угол гамма — угол между плечевой частью манипулятора и туловищем. Угол дельта — угол между плечевой и нижней частью манипулятора (правая схема). На левой схеме изображено исходное состояние, на правой — состояние «касания» предмета Х.
\
Рис. 3. Исходное состояние и состояние касания предмета Х
Касание предмета манипулятором робота под управлением нейросети
3. Система управления
Информация об углах альфа, бета и расстоянии С, определенных СТЗ, передается на вход НС1, эмулируемой программой, работающей в среде Windows. Выходными параметрами сети являются значения углов гамма, бета, дельта и альфа, необходимых для позиционирования схватывающей части манипулятора (руки) на предмет-цель.
59
Рис. 4. Структура системы управления
Выходные параметры НС1 передаются другой прикладной программе Windows, управляющей исполнительными: устройствами. Будем называть ее главной программой. Эта программа через последовательный порт COM1 выдает команды на микроконтроллер (МК), отвечающий за непосредственное взаимодействие с исполнительными устройствами (сервоприводами, двигателями). МК формирует управляющие сигналы приводов длительности, соответствующей выходным параметрам НС. Если цель в результате отработки команды не будет достигнута (этот момент изображен на рис. 4), то требуется дополнительный цикл управления, но уже с использованием корректирующей НС2, также предварительно обученной. Входными параметрами НС2 являются разности расстояний С и С', углов омега и омега штрих. Выходными параметрами — необходимые добавки к входным параметрам НС1 для того, чтобы повернуть приводы на необходимый угол. Эти добавки поступают на программный сумматор S, в котором сохранены входные параметры НС1 от предыдущего цикла.
4. Полученные результаты
На сегодняшний момент, после исследования количества слоев, нейронов в слое и подбора функций активации, реализованы НС1 и НС2. На бортовом компьютере мобильного робота создан фрагмент
60
системы управления, позволяющий достигать манипулятором захватываемых предметов. Фрагмент реализован на базе нейронной сети, обученной на данных, эмулирующих систему технического зрения, а именно — данные, которые она должна выдавать: положение конечной точки и углов манипулятора. Обученная сеть, получая теперь уже произвольные данные (также эмулирующие СТЗ), на вход выдает углы поворота робота и манипулятора, требуемые для достижения цели (предмета). Главная программа передает их в виде параметров команд микроконтроллера последнему. Микроконтроллер выдает соответствующие команды на исполнительные устройства — сервоприводы манипулятора. В ходе экспериментальной автономной отработки манипулятора (рис. 5) был обнаружен эффект его инерционности, мешающий точному достижению цели. В настоящий момент идет работа над его учетом при подаче сигналов на приводы.
Список литературы
1. Куницын С. М., Толстель О. В., Шарапаев Л. А. Разработка прототипа домашнего робота // Труды X национальной конференции по искусственному интеллекту с международным участием КИИ-2006 М.: ФИЗМАТЛИТ, 2006. Т. 2. С. 714 — 718.
2. Толстель О. В., Шарапаев Л. А., Корягин Е. В., Ложкин П. В. Гибридная система искусственного интеллекта домашнего робота // Труды IV Международной научно-практической конференции «Интегрированные модели и мягкие вычисления в искусственном интеллекте». М.: ФИЗМАТЛИТ, 2007. Т. 1. С. 348 — 352.
3. Neural Network Control of Robot Arms. [Электрон. ресурс]. Режим доступа: http://www.rpi.edu/~lic3/James_Li_RPI/PDF/ShohamNNContRobotArms.pdf.
4. Modeling Inverse Kinematics in a Robotic Arm. [Электрон. ресурс]. Режим доступа: http://www.mathworks.com/products/fuzzylogic/demos.html.
5. Толстель О. В., Шарапаев Л. А. Управление манипулятором домашнего робота // Сборник статей IV Всероссийской научно-технической конференции. Пенза, 2006.
6. Толстель О. В., Шарапаев Л. А. Нейросетевое управление манипулятором домашнего робота // Конференция «Нейроинформатика-2007»: Сб. тр. конф. М.: МИФИ, 2007. Т. 2.
Об авторе
Л. А. Шарапаев — зав. лаб., РГУ им. И. Канта.