*112732*
Шеломенцев Е.Е., студент
Научный руководитель:
Александрова Т.В., ассистент каф. ИКСУ
Томский политехнический университет,
Россия
Управление роботом андроидного типа с помощью сенсора
Kinect
Введение
Многообразные задачи, которые ставятся перед роботом – андроидом, могут
быть выполнены с использованием различных методов управления. В 2010 году
появился сенсор Microsoft Kinect, который открывает новые возможности для управления робототехническими
объектами, используя методы технического зрения для идентификации различных
входных сигналов[1].
Формирование управляющих воздействий происходит на основании считанных с
сенсора входных сигналов, которыми могут быть любые движения и позы человека,
что позволяет создать более гибкую систему ввода данных.
Сущность метода заключается в определении положений тела оператора в
пространстве, на основании которых формируется управляющий сигнал для робота.
Существует возможность расширения количества каналов ввода данных за счёт
использования звукового канала (голосовое управление).
Рассмотрим реализацию данного метода управления на примере робота –
андроида BIOLOID (производства компании ROBOTIS, Ю. Корея). Собранный робот может быть оснащен различными
сенсорами (IR-sensor, Distance Measurement Sensor, Touch
Sensor, Gyro Sensor), сервоприводами, камерами технического зрения
и т.д. (рис.1), что позволяет применять различные приемы для обработки событий
окружающей среды. Использование этих сенсоров поможет стабилизировать робота в
вертикальном положении и наладить связь робота с удаленным сервером обработки
входных сигналов с Kinect.
Рис.1.Набор
«Bioloid»
Управление роботом с помощью сенсора Kinect
В 2010 году
компания Microsoft выпустила «контроллер без контроллера» для Xbox
360. Основанный на добавлении периферийного устройства к игровой приставке Xbox
360, Kinect позволяет пользователю взаимодействовать с ней без помощи игрового
контроллера через устные команды, позы тела и показываемые объекты или
рисунки.[2]
Для
реализации алгоритма управления андроидом посредством сенсора Kinect,
последний должен постоянно считывать положение 25 контрольных точек,
расположенных на теле оператора (в том числе координаты плечевых, локтевых,
тазобедренных и коленных суставов). Постоянный мониторинг этих значений,
переведённых в систему робота, позволяет найти требуемые углы поворотов
двигателей, осуществляющих перемещения конечностей. Для определения перемещений
сервомоторов робота, обеспечивающих требуемое положение конечностей андроида
необходимо решить обратную задачу кинематики.
Для решения
этой задачи можно воспользоваться преобразованием координат
Денавита-Хартенберга[3]. С помощью преобразования определим зависимости
координат конечного звена манипулятора от габаритных размеров этого
манипулятора и углов поворотов сервоприводов. Для этого запишем матрицу
Денавита-Хартенберга для каждого звена, предварительно расставив оси (рис.2) по
правилу расстановки осей для преобразования. После чего последовательно
перемножим получившиеся матрицы и получим конечную матрицу, содержащую искомые
зависимости координат:
,где 1, 2, 3 строки соответственно зависимости x, y, z.
Рис.2. Кинематическая
схема конечности робота
Искомые величины (углы поворотов) находим путём
подстановки в эти зависимости требуемых координат звена.
Для управления звеньями
робота необходимо создать программу, считывающую координаты тела оператора в
пространстве и генерирующую на их основе управляющие воздействия на
сервоприводы робота.
Выводы
Рассмотренный метод
управления является достаточно перспективным, так как не требует от оператора
особых навыков.
К достоинствам данного
метода также можно отнести:
-
Возможность
формирования управляющих команд для робота в режиме реального времени.[4]
-
Расширение
возможностей взаимодействия робота с внешней средой (манипуляции с предметами).
-
Возможность
записи определённых движений и вызова их с помощью голосовых команд.[5]
-
Отсутствие
необходимости ношения дополнительного оборудования, такого как экзоскелет и
т.п., которое во многих случаях стесняет движения оператора.
Применение сенсора Kinect нивелирует ряд
недостатков, присущих другим биотехническим методам управления, однако имеет и
ряд недостатков:
-
Необходимость
создания программного обеспечения, которое будет трансформировать входные
сигналы с Kinect, в управляющие сигналы для сервомоторов робота
-
Необходимость
корректировки движений, вносящих дисбаланс в системы робота, который может
привести к падению. Корректировка должна проводиться учётом различного
положения центра масс человека и центра масс реального робота.
-
Скорость
обработки программного преобразователя входных сигналов
в управляющие не является постоянной.
-
Отсутствие
обратной связи с роботом, что снижает эффективность управления при
взаимодействии робота с внешней средой
Несмотря на указанные
недостатки, применение сенсора Kinect для управления роботом
андроидом является наиболее удобным для оператора.
Источники
1. Billingsley J. Ed., Mechatronics
and Machine Vision: Future Trends, 2003, c 71-78.
2. http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/
3. De Silva, Clarence W., Mechatronics:
an integrated approach, 2004, c 260-263.
4. http://www.youtube.com/watch?v=ycrlhH6YVAM
5. http://www.youtube.com/watch?v=3iI9Cv6SRK4&feature=related