DETERMINATION OF THE POSITION OF THE ROBOT MANIPULATOR TOOL USING A CAMERA AND MACHINE VISION

Research article
DOI:
https://doi.org/10.60797/IRJ.2024.143.156
Issue: № 5 (143) S, 2024
Suggested:
27.02.2024
Accepted:
22.05.2024
Published:
31.05.2024
157
3
XML
PDF

Abstract

The article examines the problem of controlling a robot manipulator and determining the coordinates of objects in space using machine vision technologies. The main task of the research is to develop a method of positioning the manipulator working tool through analysing the camera image. A kinematic approach with Denavit-Hartenberg parameters is used to describe the robot model and calculate the motions. As a practical implementation, OpenCV and Robot Operating System (ROS) are used for defining deviations, correcting the position of the working tool and writing programme code. The results of the camera image processing are displayed in the user interface. Experiments were conducted on a small desktop robot manipulator with parallel mechanism. The final result is a working application that can improve the positioning accuracy of robotic systems. However, for practical use of the system, the equipment must first be calibrated, and the cameras adapted to the lighting conditions.

1. Введение

Для решения различных задач движения робототехнических комплексов и определения координат предметов в пространстве в современных информационных науках наиболее эффективно применяются алгоритмы машинного зрения и алгоритмы глубокого машинного обучения. Они дают возможность распознать текущее положение предмета в пространстве, предсказать его дальнейшее движение и оптимальную траекторию перемещения. В исследовании алгоритмы машинного зрения применяются для решения практической задачи определения текущего положения рабочего инструмента робота-манипулятора после завершения роботом движения и возврата в исходную позицию. В случае наличия несоответствия рассчитывается отклонение по осям x, y, z для перемещения рабочего органа в правильное положение. Проблема возможного расхождения между фактическим положением рабочего органа и планируемым актуальна для проверки точности работы любого робота-манипулятора, не имеющего альтернативных механизмов, реализующих обратную связь (например, энкодеров на двигателях).

2. Методы исследования

2.1. Цели и задачи исследования

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

Для определения фактического положения рабочего инструмента робота-манипулятора и вычисления отклонения текущего положения от исходного на основе полученных координат необходимо:

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

Обработать изображение с камеры;

Исследовать библиотеку машинного зрения OpenCV

;

Разработать методику определения положения рабочего инструмента робота-манипулятора с помощью OpenCV;

Выполнить расчеты и вывести результаты в пользовательский интерфейс;

Протестировать написанное программное обеспечение.

Исследование проводилось на модели робота-манипулятора (рисунок 1). Для написания программного обеспечения использовался фреймворк Robot Operating System (ROS)
,
.
Симуляция модели

Рисунок 1 - Симуляция модели

Примечание: а – в визуализаторе rViz, б – в симуляторе Gazebo [1]

2.2. Кинематическая схема модели робота-манипулятора

Кинематическая схема модели робота-манипулятора представлена на рисунке 2
. Все звенья модели являются вращательными. За счет привязки координат к звеньям манипулятора используются параметры Денавита-Хартенберга: то есть вместо 6 координат (3 по положению и 3 по ориентации) нужны только 4 (таблица 1).
Кинематическая схема модели робота-манипулятора

Рисунок 2 - Кинематическая схема модели робота-манипулятора

Таблица 1 - Параметры Денавита-Хартенберга

Link, i

ai

alphai

di

thetai

1

0

π/2

d1

theta1

2

a2

0

0

theta2

3

a3

0

0

theta3

4

0

π/2

0

theta4 + π/2

5

0

0

d5

theta5

Глобальная система координат модели изображена на рисунке 3.
Кинематическая схема модели робота-манипулятора

Рисунок 3 - Кинематическая схема модели робота-манипулятора

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

Рисунок 4 - Геометрическая схема робота

Решение задачи обратной кинематики можно разделить на 2 части:

решение задачи обратной кинематики по положению;

решение задачи обратной кинематики по ориентации

.

В рамках исследования была решена только одна задача обратной кинематики по положению – задача поиска обобщенных координат при известных координатах положения рабочего инструмента с помощью геометрической схемы модели робота (рисунок 4). Это позволило вычислить углы между звеньями каждой кинематической пары

,
.

2.3. Техническое зрение

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

.

Для работы с изображением была произведена бинаризация исходного изображения: уменьшено количество информации, полученной с камеры. Исходное изображение с камеры до преобразований по умолчанию сохраняется в формате RGB, неудобном для последующего использования и обработки. Для очищения изображения от фона производится его преобразование в формат HSV (Hue, Saturation, Value – тон, насыщенность, значение) и определяются верхний и нижний пределы заданного цвета. На основе полученных значений проводится последующая обработка изображения.

3. Основные результаты

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

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

Рисунок 5 - Изображения с камер в симуляторе

Обработка исходных изображений с датчиков камер происходит поэтапно и включает в себя следующие фазы (рисунок 6):

1. Получение оригинального изображения;

2. Конвертация полученного изображения в формат в HSV;

3. Наложение маски на маркер, установленный на месте крепления рабочего инструмента;

4. Наложение линии, соединяющей начальное и конечное положение рабочего инструмента.

Основной датчик камеры, с помощью которого происходит фиксация, расположен сверху над центром основания модели робота. Данные о размерах основных предметов внешней среды и самого робота-манипулятора (размеры робота, стола, высоту крепления камеры и т.д.) позволяют найти отклонение точки по оси x, y.
Поэтапная обработка изображения

Рисунок 6 - Поэтапная обработка изображения

При расчете отклонения по оси Z используется изображение с камеры, которая закреплена фронтально перед роботом. Для этого используется алгоритм детектирования объекта по цвету, описанный в предыдущем разделе (рисунок 6). Неотъемлемой частью решения задачи определения координат рабочего инструмента являются правила формирования изображения с камеры с геометрической точки зрения.
На рисунке 7 на схеме справа изображена мировая система координат комнаты (показана оранжевым цветом) и система координат камеры (показана красным цветом). Системы координат связаны 6 параметрами: 3-мя для перемещения и 3-мя для вращения. На снимке камеры необходимо найти координаты точки P (нас интересует только Z – высота). Зная местоположение камеры и местоположение рабочего инструмента, которое найдено по камере сверху, рассчитывается высота точки.
Геометрическое решение задачи нахождения местоположения рабочего инструмента

Рисунок 7 - Геометрическое решение задачи нахождения местоположения рабочего инструмента

Изображения с камеры используются для построения карты глубины. Эта информация необходима для определения расстояния до объекта.

Чтобы построить карту глубины, в модели необходимо разместить еще одну камеру, т.к. нужно получать изображение с 2-х ракурсов. При трансляции картинки с камеры трехмерный объект на изображении проецируется из трехмерного пространства в двухмерное плоское пространство. Это называется  планарной проекцией. Проблема в том, что при этой операции теряется информация о глубине. И для восстановления этих данных недостаточно использовать одно изображение. Двух снимков вполне достаточно, потому что лучи, исходящие из точки C1 и C2 пересекаются в одной единственной точке X (см. рисунок 9b)

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

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

Рисунок 8 - Симуляция модели

Примечание: слева – диспарантность изображения; справа – геометрия диспарантности

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

Рисунок 9 - Построение карты глубины

Примечание: слева – карта глубины; по центру – изображение с первой камеры; справа – изображение со второй камеры

Пример полученной карты глубины представлен на рисунке 10а. Изображения, полученные с разных ракурсов, и на основании которых построена карта глубины, представлены на рисунках 10б и 10в.

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

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

Подводя итоги проведенного исследования, можно кратко описать промежуточные этапы и достигнутые результаты:

1. Подготовлена модель для симуляции;

2. Найдено оптимальное положение камер для получения информации о положении рабочего инструмента робота-манипулятора;

3. Подготовлен алгоритм для идентификации текущего положения рабочего инструмента робота манипулятора;

4. Разработан алгоритм возвращения модели в исходную позицию;

5. Построена карта глубины;

6. Информация выведена в пользовательский интерфейс.

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

Article metrics

Views:157
Downloads:3
Views
Total:
Views:157