УДК 004.021:681.5 А.Н.Горитов
Построение трехмерной модели рабочего пространства промышленного робота
Предложено решение задачи формирования модели рабочего пространства промышленного робота на основе использования стереозрения. Приведена последовательность обработки изображения. Выделены шаги предварительной обработки изображения и формирования трехмерной модели рабочего пространства промышленного робота. Рассмотрены основные этапы обработки изображения. Приведен пример обработки изображений стереопары с целью получения трехмерной модели рабочего пространства промышленного робота. Ключевые слова: промышленная робототехника, цифровая обработка изображений, стереозрение, стереопара, рабочее пространство. ао1: 10.21293/1818-0442-2017-20-4-117-121
Усложнение технологических операций, работа в ограниченном пространстве приводят к необходимости планирования перемещений каждого звена промышленного робота (ПР) с учетом имеющихся пространственных ограничений. Современные адаптивные ПР, имеющие возможность использовать различные типы датчиков, могут самостоятельно выполнять планирование траектории рабочего инструмента ПР [1]. Это обеспечивается специализированным модулем системы управления, отвечающим за планирование траектории. Основой построения плана траектории является модель рабочего пространства ПР.
Увеличение скорости перемещения объектов в рабочем пространстве приводит к тому, что время работы уже используемых систем формирования модели рабочего пространства часто соизмеримо, а иногда и превышает время выполнения технологической операции. Кроме того, в настоящее время возникает необходимость оперировать с объектами, положение которых определяется не только положением на плоскости стола, но и в пространстве, что затрудняет формирование модели рабочего пространства. Это приводит к необходимости поиска новых, более эффективных методов формирования модели рабочего пространства ПР.
Решение этой задачи может основываться на различных методах и алгоритмах, каждый из которых имеет свои достоинства и недостатки. Рассмотрим один из подходов к ее решению.
Пусть рабочее пространство ПР содержит рабочие объекты в форме цилиндров и параллелепипедов. Для формирования модели рабочего пространства необходимо найти все объекты, которые имеются на рабочем пространстве, определить их геометрические характеристики и пространственное положение.
Существуют различные типы датчиков, позволяющие получить информацию о внешней среде. Одним из перспективных направлений получения информации о внешней среде являются видеокамеры. Видеокамеры различных типов уже широко используются для создания систем технического зрения (СТЗ) [2, 3].
Для построения модели рабочего пространства ПР будет использоваться стереоскопическая система, состоящая из двух видеокамер, расположенных над рабочем пространством ПР [4]. Геометрия стереоскопической системы приведена на рис. 1.
X
Хь
-и-и-
Ь
Хя
>1 и
г
\
/
Хя
/
4 Р
я
Рис. 1. Геометрия стереоскопической системы
Здесь Ь и Я - левая и правая камеры стереосистемы; Ь - база стереосистемы; Р - некоторый объект, расположенный на рабочем пространстве (см. рис. 1).
Технические ограничения видеокамер и сложности, связанные с освещенностью рабочего пространства, приводят к появлению на изображении «шума», теней, бликов и т.д. Эти недостатки не позволяют непосредственно использовать полученные изображения для решения основной задачи - построения трехмерной модели рабочего пространства ПР. Над полученными изображениями необходимо выполнить предварительную обработку. Поэтому решение задачи включает в себя два этапа. На первом этапе выполняется предварительная обработка изображения. На втором - формирование модели рабочего пространства.
Ь
.
к
I
Предварительная обработка изображений стереопары включает в себя следующие шаги:
1. Получить исходное изображение.
2. Преобразовать в полутоновое изображение.
3. Провести сегментацию изображения.
4. Выполнить размытие изображения.
5. Выделить границы.
Рассмотрим более подробно последовательность предварительной обработки изображения.
1. Получить исходное изображение. В настоящее время выпускается большая номенклатура видеокамер. В зависимости от используемых видеокамер для получения изображения может потребоваться различное специализированное и программное обеспечение. В настоящее время широкое распространение получили USB-камеры. К достоинствам этих камер относится то, что для использования этих камер не требуется дополнительного аппаратного обеспечения. К недостаткам относится то, что они обладают невысокими техническими характеристиками. Это может привести к необходимости создания дополнительных средств обработки изображения.
2. Преобразовать в полутоновое изображение. Многие видеокамеры выдают цветное изображение в формате RGB. Преобразование цветного изображения в полутоновое выполняется по формуле [4]
y = 0,3 • r + 0,59 • g + 0,11-b , где r, g, b - цветовые компоненты исходного изображения, а y - выходное значение для пикселя изображения в оттенках серого.
3. Провести сегментацию изображения. Сегментация изображения подразумевает разбиение изображения на множество его областей, для того чтобы можно было работать с объектами отдельно. Сегментация изображения выполнялась с помощью алгоритма Mean Shift [5]. Алгоритм Mean Shift относится к классу алгоритмов автоматической сегментации. С помощью этого алгоритма изображение разбивается на однородные области без использования априорной информации об изображении. В силу этого свойства алгоритм находит широкое применение в компьютерном зрении при распознавании изображений.
4. Выполнить размытие изображения. В связи с тем, что алгоритмы выделения границ чувствительны к наличию «шума» на изображении, на этом шаге алгоритма выполняется размытие изображения с помощью фильтра Гаусса [4].
5. Выделить границы. Выделения границ выполняется методом Кэнни [6]. Этот метод зарекомендовал себя как эффективный алгоритм выделения границ. В этом методе выполняется многошаговая обработка изображения, которая включает сглаживание обрабатываемого изображения, поиск границ на основе градиентного метода, удаление ложных максимумов и формирование контуров.
В результате выполнения предварительного этапа каждое изображение стереопары содержит бинарное изображение с выделенными границами
всех объектов, находящихся на изображении рабочего пространства ПР [7].
Преобразованные изображения стереопары передаются на второй этап обработки.
Второй этап включает в себя определение положения объектов на рабочем пространстве и их геометрических характеристик. Второй этап включает в себя следующие шаги:
1. Получить стереопару, обработанную на предварительном этапе (с выделенными границами объектов, присутствующих на изображениях стереопары).
2. Выделить объекты, присутствующие на рабочем пространстве.
3. Определить положение выделенных объектов на рабочем пространстве ПР и высоту выделенных объектов.
4. Сохранить сформированную модель рабочего пространства.
Для определения положения объектов в плоскости ХОУ необходимо определить, сколько миллиметров приходится на один пиксель изображения. Для этого воспользуемся метками, предварительно размещенными на основании рабочего пространства ПР (на плоскости ХОУ). Обозначим метки как М1(Х1,У1), М2(Х2, Л), Мз(хьу22). Тогда на один пиксель по оси ОХ будет приходиться
кх = (Х2 - Х1)/(Р(Х2,у ) - Р(Х1,У ))
миллиметров на пиксель и по оси ОУ
ку = (У2 - У1)/(Р(Х1,У2 ) - Р(Х1,У1)) миллиметров на пиксель. Здесь Х2 - Х1 - расстояние между метками М1 и М2 по оси ОХ, У2 - у - расстояние между метками М1 и М2 по оси ОУ, Р(Х2,У1) - Р(Х1,У1)- число пикселей, находящихся на изображении между метками М1 и М 2 по оси ОХ, р(Х1,У2) - р(Х1,У1)) - число пикселей, находящихся на изображении между метками М1 и М 2 по оси ОУ.
Полученные величины позволяют рассчитывать положение координаты точек объектов рабочего пространства ПР в плоскости ХОУ.
Для определения третьей координаты произвольной точки объекта воспользуемся изображениями, составляющими стереопару.
Пусть Х1 и Хд - координаты точки Р по оси Х на передней плоскости изображения (см. рис. 1). Для решения задачи необходимо найти г - расстояние до объекта.
Учитывая, что в стереосистеме видеокамеры устанавливаются так, что на двух изображениях координата У будет совпадать (У1 = УК), то координаты произвольной точки можно определить с помощью следующих уравнений [4]:
Х = Хь •г У=Уь •г = Ук •г 2 = / •ь / ' / / ' Хь- Хк
Здесь Хь - смещение точки р по оси ОХ относительно центра левой видеокамеры, Хк - смещение
точки Р по оси ОХ относительно центра правой видеокамеры. Приведенные выражения позволяют определить координаты точки Р.
Разность величин Хь и Хк называется рассогласованием [4]. Обозначим величину рассогласования как ^ Величина рассогласования d показывает, насколько нужно сместить точку Р(Хь, У) по оси ОХ на изображении, полученном с помощью левой видеокамеры, так чтобы она совпала с точкой Р(Хк, У) на изображении, полученном с помощью правой видеокамеры. С увеличением расстояния до точки Р(Х, У, г) величина рассогласования уменьшается и будет равна нулю для бесконечно удаленных объектов.
В соответствии с введенным обозначением последнее уравнение примет вид:
./•ь
z=-
d
(1)
Таким образом, чтобы найти расстояние до точки P, необходимо знать базу стереосистемы b, фокусное расстояние камер f и величину рассогласования d.
Для определения величины рассогласования разработан ряд алгоритмов, которые принято разделять на две группы [8]. В первую группу входят алгоритмы, подсчитывающие величину рассогласования для каждого пикселя, используя информацию из окна заданного размера. Во вторую группу входят алгоритмы, основанные на применении преобразования сразу ко всему изображению. Алгоритмы первой группы принято называть локальными, а алгоритмы второй группы - глобальными алгоритмами.
Локальные алгоритмы подсчитывают рассогласование для каждого пикселя по отдельности. Для этого используется окно фиксированного или переменного размера. На результаты работы локальных алгоритмов, т.е. на точность определения величины рассогласования, большое влияние оказывает наличие «шумов», бликов на изображении и т.д., которые могут присутствовать на изображении.
Алгоритмы второй группы позволяют получить карту рассогласования для всего изображения. Гло -бальные алгоритмы для построения карт рассогласования основаны на применении преобразования ко всему изображению сразу в отличие от локальных алгоритмов. Большинство алгоритмов этой группы построения карты рассогласования строится на поиске минимума функционала энергии. Наиболее известными алгоритмами этой группы являются:
- алгоритм разрезания графов (GC) [9-11],
- алгоритм распространения доверия (BP) [12],
- глобальный алгоритм, основанный на методе динамического программирования (DP) [13].
Глобальные алгоритмы на выходе формируют лучшие результаты по сравнению с локальными. Они имеют крайне низкие ошибки определения рассогласования. Основным недостатком этих методов являются высокие вычислительные затраты.
В 2005 г. в работе [14] был предложен алгоритм SGM (Semi-Global Matching). Предложенный алгоритм дает более точные результаты по сравнению с
локальными алгоритмами и, что очень важно, позволяет получить результаты за приемлемое время. К сожалению, на основе численных экспериментов установлено, что из-за особенностей используемых видеокамер расстояние до объектов определялось некорректно и приводило к большим погрешностям.
В связи с тем, что локальные алгоритмы имеют большую потерю точности при измерении расстояния, а глобальные алгоритмы имеют высокие вычислительные затраты, для решения задачи нахождения рассогласования был реализован следующий алгоритм:
1. Выполнить предварительную обработку изображений стереопары, которая включает преобразование в черно-белое, фильтрацию изображения и выделение границ.
2. Для каждого изображения стереопары с помощью преобразования Хафа [15] выделить параметрически заданные объекты (окружности, прямоугольники).
3. Для каждого изображения стереопары сформировать список выделенных объектов. Для каждого выделенного объекта сохраняются информация о положении объекта на рабочем пространстве и геометрические параметры.
4. Каждый список отсортировать по положению объектов на рабочем пространстве (сначала по оси ОХ, затем по оси ОУ) и по геометрическим параметрам.
5. В отсортированных списках найти записи, соответствующие изображению одного и того же объекта рабочего пространства на разных снимках стереопары.
6. С учетом того, что изображения стереопары ректифицированы, величина рассогласования d для выделенного объекта определяется как разность координат:
d = х'ь - Х'К ,
где х'ь , х'к - координаты по оси ОХ на снимках левой и правой камер стереоскопической системы.
7. С помощью вычисленной величины рассогласования определить по формуле (1) расстояние до точки р. Зная расстояние к до стола рабочего пространства ПР вычисляется высота выделенного объекта:
кр = к - г.
8. Если в списках остались еще объекты, для которых не определена высота объекта, пункты 5-7 повторяются.
Предложенный алгоритм обеспечивает более высокую точность определения рассогласования по сравнению с локальными алгоритмами за счет большей устойчивости преобразования Хафа к случайным помехам в отдельных пикселях изображения. В то же время он обладает меньшими ресурсными требованиями по сравнению с глобальными алгоритмами.
Для тестирования предложенного решения задачи сформированная модель рабочего пространства сохраняется в файле и затем отображается графическими средствами на экране монитора.
Результаты экспериментов
Для оценки эффективности предложенного метода была написана программа на языке программирования С++, используя библиотеку технического зрения ОрепСУ [16].
Для построения системы стереоскопического зрения были использованы две камеры ББХР-У300 (рис. 2). Технические характеристики приведены в таблице.
Рис. 2. Камера ББХР-У300
Характеристики Параметры
Число мегапикселей матрицы 0,3 МП
Разрешение видео 640x480
Максимальная частота кадров 30 ф8
Фокусировка Ручная
Фокусное расстояние Неизвестно
Для проведения экспериментов систему стереоскопического зрения необходимо откалибровать с тем, чтобы получить оценки параметров камер, устранить оптические искажения и произвести ректификацию. Калибровка необходима для вычисления внутренних характеристик камер, положения камер относительно друг друга, получения матриц поворота и самое главное - матрицы для приведения изображений к ректифицированному виду.
Калибровка камер обычно выполняется за счет многократной съемки некоторого калибровочного шаблона, на изображении которого можно легко выделить ключевые точки, для которых известны их относительные положения в пространстве. Далее составляются и решаются системы уравнений, связывающие координаты проекций, матрицы камер и положения точек шаблона в пространстве. Без проведения калибровки работа с распознаванием дистанции невозможна. Для калибровки камер была использована библиотека технического зрения ОреиСУ [16].
В результате проведения калибровки были оценены внутренние характеристики камер:
(905,141 0 361,872 0^
А =
А =
0 0
( 905,141 0 0
905,141 240,618 0 0 1 0
/
0 361,872 —8716,61^ 905,141 240,618 0 0 1 0
Отсюда можно заметить, что камеры действительно одинаковые, так как параметры этих камер совпадают.
В процессе калибровки также получены матрицы поворота камер, необходимые для ректификации: (0,99915 -0,00143 -0,0411^
Яь =
0,00134 0,04110
Яя =
( 0,99887 0,02993 0,036871
0,99999 0,00228 -0,02985 0,99955 -0,00286
-0,0023
0,99915
-0,03694^
0,001765
0,999315
Матрица поворота из системы координат левой камеры в правую:
( 0,99958 0,02858 - 0,00428 ^
Я =
- 0,02860 0,99958 - 0,003984 ч 0,00416 0,00410 0,999982 ,
Получив оценки параметров камер системы стереоскопического зрения, можно приступать к формированию трехмерной модели внешней среды.
На вход программе обработки изображений подаются два исходных изображения рис. 3 (для левой и правой камеры соответственно).
а б
Рис. 3. Исходные изображения рабочей сцены с камер: а - для левой камеры; б - для правой камеры
После того как снимки были получены, для каждого изображения выполняется метод классификации и выделения объектов. На рис. 4 приведены результаты работы алгоритма классификации и выделения объектов.
_
* ^^ а
а б
Рис. 4. Результат классификации и выделения объектов: а - для левой камеры; б - для правой камеры
Для вычисления расстояния до объектов выполняется разработанный алгоритм вычисления рассогласования. Зная расстояние до рабочей сцены (650 мм), типы и высоты объектов, строится топологическая модель рабочей сцены.
Рис. 5. Трехмерная модель рабочей сцены
Полученная трехмерная модель рабочей сцены приведена на рис. 5. Для визуализации построенной трехмерной модели рабочей сцены использован графический редактор MeshLab [17].
Заключение
В работе предлагается метод построения трехмерной модели рабочего пространства промышленного робота. Формирование модели рабочего пространства строится на основе стереоскопической системы. Предложенный метод позволяет для заданного множества объектов манипулирования снизить вычислительные затраты на построение модели рабочего пространства, что важно для повышения быстродействия системы технического зрения.
Кроме того, предложенный метод устойчиво работает при наличии теней у объектов на рабочем пространстве, шумов и разрывов контуров на изображении. Это позволяет использовать для получения изображения видеокамеры с невысокими техническими характеристиками.
Литература
1. Воротников С.А. Информационные устройства ро-бототехнических систем: учеб. пособие. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. - 384 с.
2. Письменный Г.В. Системы технического зрения в робототехнике / Г.В. Письменный, Б.Б. Михайлов, А.Ю. Корнеев. - М.: Машиностроение, 1991. - 88 с.
3. Клевалин В.А. Системы технического зрения в промышленной робототехнике / В.А. Клевалин, А.Ю. Поливанов // Мехатроника, автоматизация, управление. -2010. - № 9. - С. 26-36.
4. Шапиро Л. Компьютерное зрение / Л. Шапиро, Дж. Стокман. - М.: Бином. Лаборатория знаний, 2006. -752 с.
5. Comaniciu D. Mean shift: A robust approach toward feature space analysis / D. Comaniciu, P. Meer // IEEE Transaction on Pattern Analysis and Machine Intelligence. - 2002. -Vol. 24, № 5. - P. 603-619.
6. Canny J. A computational approach to edge detection // IEEE Transaction on Pattern Analysis and Machine Intelligence. - 1986. - Vol. 8, № 6. - P. 679-714.
7. Горитов А.Н. Выделение на изображении низкого разрешения параметрически задаваемых объектов / А.Н. Горитов, С.И. Яковченко // Доклады ТУСУРа. -2017. - Т. 20, № 2. - С. 88-90.
8. Scharstein D. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms / D. Scharstein, R. Szeliski // International Journal of Computer Vision. -2002. - Vol. 47, № 1. - P. 7-42.
9. Kolmogorov V. Computing visual correspondence with occlusions using graph cuts / V. Kolmogorov, R. Zabih //
121
International Conference on Computer Vision. - 2001. -Vol. 2. - P. 508-515.
10. Boykov Y. Fast approximate energy minimization via graph cuts / Y. Boykov, O. Veksler, R. Zabih // IEEE Transactions on Pattern Analysis and Machine Intelligence. -2001. - Vol. 23, № 11. - P. 1222-1239.
11. Li Hong Chen G. Segment-based stereo matching using graph cuts // Computer Vision and Pattern Recognition. -2004. - Vol. 1. - P. 74-81.
12. Klaus A. Segment-Based Stereo Matching Using Belief Propagation and a Self-Adapting Dissimilarity Measure / A. Klaus, M. Sormann, K. Karner // Proceedings of the 18th International Conference on Pattern Recognition. - 2006. -Vol. 3. - P. 15-18.
13. Bobick A.F. Large occlusion stereo / A.F. Bobick, S.S. Intille // International Journal of Computer Vision. -1999. - Vol. 33(3). - P. 181-200.
14. Hirschmuller H. Accurate and efficient stereo processing by semi-global matching and mutual information // IEEE Computer Society Conference on Computer Vision and Pattern Recognition. - 2005. - Vol. 2. - P. 807-814.
15. Гонсалес Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс. - М.: Техносфера, 2005. - 1072 с.
16. OpenCV [Электронный ресурс]. - Режим доступа: http://opencv.org (дата обращения: 01.11.2017).
17. MeshLab [Электронный ресурс]. - Режим доступа: http://www.meshlab.net/ (дата обращения: 01.11.2017).
Горитов Александр Николаевич
Д-р техн. наук, профессор
каф. автоматизированной системы управления ТУСУРа Тел.: +7 (382-2) 70-15-36 Эл. почта: [email protected]
Goritov A.N.
Building a three-dimensional model of the workspace of an industrial robot
The solution for the problem of forming a model of the workspace of an industrial robot using stereovideo is proposed. The sequence of the image processing is described. The steps for image pre-processing and shaping a three-dimensional model of the workspace for an industrial robot are highlighted. The basic stages of image processing are investigated. An example of stereo pair imaging with the goal to obtain a three-dimensional model of the workspace of an industrial robot is given.
Keywords: Industrial robotics, digital image processing, stereovision, stereo, workspace.