Бесконтактное управление роботизированной рукой посредством жестов человека

УДК 004.93

Бесконтактное управление роботизированной рукой посредством жестов человека

В. Э. Нагапетян, И. Л. Толмачёв

Кафедра информационных технологий Российский университет дружбы народов ул. Миклухо-Маклая, д. 6, Москва, Россия, 117198

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

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

1. Введение

Роботы, в частности роботизированные руки (РР), нашли широкое применение в разных областях деятельности человека. На сегодняшний день их можно встретить на сборочных линиях автомобилей и микросхем, в устройствах дистанционного обезвреживания взрывных устройств, устройствах для спасения в условиях радиации и для космических исследований. В большинстве случаев роботы действуют согласно определённой программе и не требуют человеческого вмешательства, но решение некоторых задач все же требует непосредственного управления со стороны оператора. Известные методы, позволяющие управлять РР, основаны на использовании специальных контроллеров [1], требуют одевание перчаток [2], а в некоторых случаях долгого времени обучения оператора. В связи с этим в последнее время проводится довольно много исследований посвящённых бесконтактному управлению роботами и РР посредством жестов руки человека. Например, в работе [3] предлагается метод, позволяющий управлять формой робота посредством показа разного числа пальцев руки, в работе [4] управление роботом осуществляется посредством показа ограниченного количество жестов руки. Разработанный метод управления роботизированной рукой японским университетом Tsukuba [5] позволяет в реальном времени управлять РР посредством жестов руки и пальцев, но требует настройки двух высокоскоростных видеокамер и надевания цветного браслета.

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

Статья поступила в редакцию 12 декабря 2013 г.

2. Роботизированная рука

В зависимости от конкретной реализации роботизированные руки могут отличаться друг от друга числом точек артикуляций, степенями свободы движения (DOF — Degrees of Freedom) и конструктивным решением. Один из самых распространённых и широко используемых на сегодняшний день является РР с двумя звеньями и тремя пальцами (рис. 1(а)). На рис. 1(b) приведён пример такой РР, созданный университетом Stanford [6].

Рис. 1. (а) точки артикуляции и степени свободы движения роботизированной руки, снабжённой двумя звеньями и тремя пальцами; (b) пример роботизированной руки «Stair 1.0»

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

Процесс управление роботизированной рукой можно разделить на 2 основных этапа:

1) позиционирование кисти руки в трёхмерном пространстве (точки B на рис. 1(b));

2) управление пальцами руки.

Предлагаемый в настоящей работе метод управления РР позволяет осуществить первый этап управления посредством движения ладони человека в трёхмерном пространстве. Управление пальцами РР осуществляется посредством жестов пальцев руки человека. Блок схема разработанного метода приведена на рис. 2.

Рис. 2. Блок схема предлагаемого метода управления роботизированной рукой посредством жестов руки человека

Рассмотрим каждый блок приведённой схемы более подробно.

3. Захват видеопотока

В качестве устройства ввода информации о жестах руки выбран трёхмерный сенсор Asus Xtion Pro Live, работающий на принципах триангуляции и структурированного света. Данный тип сенсоров позволяет со скоростью 30 кадров в секунду захватывать дальностные изображения наблюдаемый среды. Если рассматривать растровое изображение как дискретную функцию d(x,y), где пара целочисленных координат (х, у) задаёт позицию точки изображения в системе координат OXY, началом которой является левый верхний угол решётки, то даль-ностное изображение можно определить следующим образом.

Пусть заданы пространственная точка M с координатами (x,y,z) и её ортогональная проекция m с координатами (х, у) на плоскость наблюдения z = 0. Под дальностным изображением понимается растровое изображение d(x, у), в каждой точке (х, у) которого d(x, у) принимает неотрицательные целые значения, равные величине расстояния от точки M до точки т.

Распознавание жестов руки осуществляется посредством анализа каждого кадра видеоряда в реальном времени.

4. Анализ кадра видеоряда

В программном блоке анализа осуществляется распознавание и отслеживание позиций ладони и кончиков пальцев руки, анализ размеров пальцев руки. Предлагаемый алгоритм распознавания позиций кончиков пальцев руки описан в работе [7]. Здесь же рассмотрим основные положения этого алгоритма и предлагаемый метод вычисления размеров пальцев руки.

4.1. Распознавание и отслеживание позиций ладони и кончиков

пальцев руки

Распознавание и отслеживание позиции произвольной точки ладони руки в дальностном изображении осуществляется посредством показа начального жеста с использованием программной библиотеки ОрепШ/ШТЕ. Пусть имеется даль-ностное изображение человека й(х, у) и распознанная точка ладони руки (хс, ус). Рассмотрим модель наблюдаемого объекта в виде облака точек (х, у, й(х, у)). Распознавание позиций кончиков пальцев руки осуществляется посредством следующих шагов:

1) построение сферы вокруг точки (хс,ус,д,(хс,ус)) и удаление всех точек даль-ностного изображения, которые не входят в построенную сферу или не являются связанными с точкой (хс,ус,д,(хс,ус)) (рис. 3(а)-(Ь));

2) преобразование извлечённого дальностного изображения руки в бинарное изображение посредством формулы д(х, у) = 1 — sgn (с1(х, у)), где д(х, у) — функция интенсивности бинарного изображения (рис. 3(с));

3) поиск граничной точки кисти руки (хо,Уо) и обход контура руки по часовой стрелке, начиная с точки (х0,у0) (рис. 3(ё));

4) распознавание позиций кончиков пальцев руки на основе анализа найденного контура.

Рассмотрим четвёртый шаг более подробно. Обозначим через 5 = во, ..., вк, = (хг, Уг), г = 0,1,... ,к упорядоченное множество точек контура фигуры руки. Рассмотрим дискретную вещественную функцию расстояний:

д

где ((x^, у^, (х0, у0)) — декартово расстояние между точками (х1, у^) и (х0, у0) (рис. 4).

Рис. 3. (а) Дальностное изображение человека, распознанная точка ладони и сфера вокруг найденной точки; (Ь) Извлечённое изображение руки; (с) Бинарное изображение руки; (^ Выделенный контур руки

Рис. 4. Поведение функции (1) в точках контура фигуры руки на примере

рис. з

Выполним сглаживание функции (1) методом скользящего окна посредством следующей формулы:

1 з+т-1

Я

г=3

где т — количество точек скользящего окна (в программной реализации алгоритма т = 10).

Обозначим через М = т1,т,2,... ,Ш1 множество значений номеров точек локальных максимумов и через N = П1,П2,... ,пр — множество значений номеров точек локальных минимумов функции (2), причём I ^ 5, р ^ 4, что определяется естественными ограничениями жеста руки человека.

Имея дальностное изображение й(х, у), точки контура бинарного изображения руки 5 = во, в1,..., вк, множества М и N, определим кончики пальцев руки, как точки с позициями (хн, Уг, (1(хн,уг)), где (хн, ^) = , г =1, 2,..., I.

Аналогично точки соединения пальцев с ладонью определим как (х^, у^, й(х^,

Уз ^ где (хз, Уз) = 8щ, 3 = 1,2,...,Р.

Предложенный метод позволяет распознавать позиции кончиков пальцев руки вне зависимости от количества показываемых пальцев и направления руки. На рис. 5 приведены результаты предложенного алгоритма для некоторых жестов руки.

Рис. 5. Примеры распознанных кончиков пальцев руки

Отслеживание кончиков пальцев руки осуществляется посредством применения алгоритма к ближайших соседей.

4.2. Вычисление длин пальцев руки

Пусть имеются номера точек локальных максимумов и минимумов функции (2): М = т1,т2,... .,Ш1, N = п1,п2,... ,пр, распознанные позиции кончиков пальцев руки (х1 ,Уi,d(xi,yi))i=1, контур руки 5 = во,в1,...,в&. Для каждой точки (х1,у1 ,й(х1,у1)), где (х1,у1) = , г = 1,2,...,1 рассмотрим номера точек , Пг2 € N, для которых выполняются следующие условия:

1) = \щ < т^ ,щ € N);

2) = т\п(п^\пз > mj€ N).

Заметим, что для любой точки (х1, уг, й(х1 ,у¿)), г = 1, 2,... ,1 существует хоть один

из номеров точек т1, . Длину пальца руки определим как:

где

' Í

Ь

+ )/2, если существуют оба номера и ; ), если существует только п^., ] € {1, 2}.

5. Анализ распознанных данных и управление роботизированной рукой

Управление роботизированной рукой осуществляется посредством жестов руки и трёх пальцев, приведённых на рис. 6.

Рис. 6. Управляющие жесты:

Движение руки вверх, вниз, вперёд и назад; (c) Ж^есты пальцев руки

Вращение кисти роботизированной руки вокруг оси OZ (DOF1 на рис. 1(a)) осуществляется посредством движения руки человека направо (вращение по часовой стрелке) и налево (вращение против часовой стрелки).

Управление кистью руки по степеням свободы DOF2 и DOF3 осуществляется посредством жестов, показанных на рис. 6(b). Пусть а — угол между звеном OA и плоскостью OXY, @  ZOAB, расстояние между точкой B и осью OZ равно w, расстояние между точкой B и плоскостью OXY равно h (рис. 7).

Движения ладони руки человека вверх и вниз приводят к изменению расстояния h, соответственно движения вперёд и назад — к изменению расстояния w. Как правило, управляющий блок РР требует непосредственного указания углов а и /3, поэтому найдём соответствие между углами а и /3, и расстояниями w и h. Применяя теорему синусов (рис. 7) получим следующие равенства:

( w  OA cos а — АВ cos(a + /3),

\ h  OA sin а — АВ sin

ОА  соэ а 4-АВ  с ОБ

ОА • йш а

ь

АВът

о

IV

С

Рис. 7. Сопоставления между углами а, ¡3 и расстояниями -ш, к

Поскольку, длины звеньев роботизированной руки ОА и ОВ заранее известны, то, имея углы а и /3, посредством (4) можно определить расстояния т и И, и наоборот.

Таким образом, управление РР по степеням свободы БОР2 и БОРЗ осуществляется следующим образом:

1) при поступлении первого кадра видеоряда, из РР запрашиваются величины углов а и р. На их основе, посредством формулы (4), вычисляются расстояния ю и И, которые сопоставляются с позицией ладони руки человека;

2) при поступлении последующих кадров, вычисляются изменения позиции ладони руки человека, на их основе вычисляются новые значения 1иЬи посредством (4) — новые значения углов а и /3, которые впоследствии передаются

Управление пальцами РР по степеням свободы 4-9 осуществляется посредством анализа функции (3) для каждого пальца руки человека. Уменьшение длины пальца руки приводит к уменьшению углов точек артикуляций соответствующего пальца РР, и соответственно увеличение длины — к увеличению точек артикуляций углов пальца РР.

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

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

РР.

6. Выводы

7. Заключение

Литература

1. A Wearable Robotic Arm with High Force-Reflection Capability / Y. Jeong, D. Lee, K. Kim, J. Park // Robot and Human Interactive Communication, 2000. RO-MAN 2000. Proceedings. 9th IEEE International Workshop on. — 2000. — Pp. 411-416.

2. Zhang J., Fang J. Research of Mechanical Arm Control Based on Data Glove // Information Science and Engineering, 2008. ISISE'08. International Symposium on. — Vol. 1. — 2008. — Pp. 188-191.

3. Ma B., Xu W., Wang S. A Robot Control System Based on Gesture Recognition Using Kinect // TELKOMNIKA Indonesian Journal of Electrical Engineering. — 2013. — Vol. 11, No 5. — Pp. 2605-2611. — http://iaesjournal.com/online/ index.php/TELKOMNIKA/article/view/2493.

4. Real-Time Robotic Hand Control Using Hand Gestures / J. L. Raheja, R. Shyam, U. Kumar, P. B. Prasad // Machine Learning and Computing (ICMLC), 2010 Second International Conference on. — 2010. — Pp. 12-16.

5. Hoshino K. Vision-Controlled Robot Using Hand Pose Estimation without Marker Loading Requirement // Applied Mechanics and Materials. — 2012. — Vol. 162. — Pp. 358-367.

6. Quigley M., Asbeck A., Ng A. A Low-Cost Compliant 7-DOF Robotic Manipulator // Robotics and Automation (ICRA), 2011 IEEE International Conference on. — 2011. — Pp. 6051-6058.

7. Nahapetyan V. E. Human-Computer Multi-Touch Interaction using Depth Sensors // Interactive Systems: Problems of Human - Computer Interaction. — USTU, 2013. — Pp. 225-232.

UDC 004.93

Contactless Control of Robotic Arm Through Human Gestures V. E. Nahapetyan, I. L. Tolmachev

Information Technology Department Peoples' Friendship University of Russia 6, Miklukho-Maklaya str., Moscow, Russia, 117198

In this paper the problem of contactless control of robotic arm through human hand gestures is considered. A new method is proposed, which allows to recognize and track the positions of palm and fingertips of human hand in real time and on the basis of these data to implement the control of the wrist and three fingers of the robotic hand. As an input device for capturing hand gestures a depth sensor is used, which works on the principals of triangulation and structured light. Hand gesture recognition is performed by the gradual procession of each video frame, which represents depth images. In the first phase the position of a random point of the palm is detected. In the second phase hand image is extracted using the detected point of the palm. The positions of the fingertips and the lengths of the fingertips are calculated through the analysis of distances between hand contour points and the random point of the wrist. The tracking of the fingertips is achieved through the usage of k-nearest neighbor's algorithm. The recognized point of the palm is used to control the wrist of the robotic arm in three-dimensional space. The positions of human hand fingertips and lengths of fingers are used to control the fingers of the robotic arm. The proposed method is tested on the computer model of a robotic arm.

Key words and phrases: gesture recognition, robotic arm, image processing, depth image, robot control.