Введение.....................................................................................................................................3
Сущность системы технического зрения.....................................................................................................................................5
Примеры использования технического зрения в различных отраслях.....................................................................................................................................11
Перспективы технического зрения в робототехнике.....................................................................................................................................27
Заключение.....................................................................................................................................29
Список литературы.....................................................................................................................................30
В настоящее время роботостроение превратилось в развитую отрасль промышленности: тысячи промышленных роботов работают на различных предприятиях мира, подводные манипуляторы стали непременной принадлежностью подводных исследовательских и спасательных аппаратов, изучение космоса опирается на широкое использование роботов с различным уровнем интеллекта.
Оснащение роботов системами технического зрения обеспечивает существенное расширение их технологических и функциональных возможностей. Восприятие и обработка визуальной информации о текущем состоянии технологического процесса, об относительном расположении и ориентации схвата робота и объектов манипулирования позволяет автоматизировать такие операции, как сварка, сборка, окраска, сортировка и др. Основные функции СТЗ в работе систем управления промышленными роботами сводятся к локации рабочего пространства, распознаванию образов, измерению статических и динамических характеристик различных объектов и т.д.
В современном мире широко распространено использование обработки изображений для решения различных задач автоматического контроля, управления и измерения.
Чтобы промышленные роботы и другие системы автоматизации производства целенаправленно взаимодействовали с объектами и спокойно двигались в пространстве, окружающем производственные линии, они должны иметь возможность видеть и анализировать окружающую среду.
Это именно то, с чем компьютерные системы зрения могут помочь.
Машинное зрение включает в себя анализ визуальной информации для дальнейшего принятия решений. Это помогает принять какое-либо действие в отношении объекта, который находится в фокусе. Самый простой пример использования технологии: проверка состояния продукта на конвейерной ленте или перед отправкой посылки по почте.
Исторически алгоритмы машинного зрения внедрялись в небольшом количестве в производство, так как это было очень затратно. Однако стоимость, производительность и потребление энергии в электронных системах, которые были достигнуты сегодня, проложили путь для широкого распространения машинного зрения в различных отраслях. Конечно, их реализация все еще сложна, но это уже стало намного проще - и дешевле, чем когда-либо
В данной работе технология машинного зрения была внедрена в систему управления сортировочным роботом.
Технология состоит в получении двумерного изображения изделия, благодаря USB-камерам. Далее происходит компьютерная обработка изображения и анализ, в ходе которой определяется: принадлежность объекта тому или иному классу исходя из заданных признаков (форма, геометрические размеры, наличие надписей, цвет, маркировок, и др.)
Системы технического зрения один из важных узлов управления промышленным роботом. Система технического зрения отвечает за обнаружение, автоматический контроль и анализ объектов по их изображениям.
Такие системы позволяют роботам получать изображения объектов, сцен, рабочих процессов, обрабатывать и интерпретировать при помощи набора цифровых устройств. С помощью систем технического зрения осуществляется обнаружение, распознавание или идентификация объектов, определение их месторасположения и координат.
Затем промышленный робот, в соответствии с полученными данными, осуществляет те задачи, на которые он запрограммирован.
По выполняемым функциям системы технического зрения бывают трех типов: опознающие, обзорно-информационные, измерительные. Однако, как правило, в них сочетается несколько функций одновременно.
Компания «Фруктонад Групп» предлагает различные системы технического зрения, а также камеры машинного зрения. Мы подберем нужный тип системы технического зрения под ваш проект. Он будет полностью соответствовать вашим требованиям и полностью обеспечивать нужный объем работ.
Опознающие системы технического зрения
Позволяет определять в режиме реального времени на движущемся конвейере детали по:
форме;
цвету;
надписи;
текущей координате и углу поворота.
Для этого необходимо обучить систему, путём помещения в её память правильного образа детали для последующего сравнения с видимыми в каждый конкретный момент образами на конвейере. При этом ориентация деталей не имеет значения.
После определения «свой-чужой» система технического зрения определяет координату детали относительно своей системы координат. А также угол поворота, на который необходимо довернуть деталь для упорядоченной укладки.
Зная координату и скорость движения конвейера, робот вычисляет место и время появления детали в зоне своей работы. После чего берёт её с помощью захвата.
Для данного типа технического зрения предлагается программа Pickmaster, которая представляет собой продукт промышленного применения. В этой программе используются алгоритмы и стандарты, на которых базируются все подобные системы. Данная система не требует знаний языков программирования высокого уровня, имеет удобный интерфейс и интуитивно понятна.
Кроме этого, в комплекте поставляется программный комплекс Robotstudio для off-line программирования роботов. С помощью этого инструмента можно предварительно в виртуальной среде создать программу работы робота. И тут же проверить, правильно ли она создана. Программа в точности симулирует работу робота. И может быть перенесена на реального робота для его работы.
Обзорно-информационные системы технического зрения
Включает в себя две видео камеры машинного зрения в одном корпусе. И является 3D камерой, позволяющей определять дистанцию до объекта и его положение в пространстве. Классическим применением такой бинарной системы технического зрения является взятие деталей из контейнера, где они лежат навалом (по-английски bin-picking).
Робот, оснащённый таким зрением может брать предметы из контейнеров, с полок, с паллет. Этот сегмент сейчас очень популярен. В комплекте с бинарной камерой машинного зрения идёт контроллер для обработки изображений. А также программа подбора параметров съёмки для достижения наилучшего эффекта распознавания и определения дистанции.
Лазерные триангуляционные 3D камеры машинного зрения
Позволяют обрабатывать 3D-изображения с высоким разрешением, не требуют дополнительной подсветки, независимы от контраста или цвета объекта.
Имеют удобный графический пользовательский интерфейс для быстрой разработки прикладных программ. Степень точности определения размеров объектов зависит от количества снятых профилей. Но в любом случае определение местоположения объекта производится с высокой точностью.
Системы технического зрения и камеры машинного зрения стремительно развиваются. Будущее робототехники связано в том числе и с совершенствованием этих систем.
Размещение нескольких телевизионных камер таким образом, чтобы они обозревали объект манипулирования с разных сторон, устраняет необходимость его поворота или вращения. Очевидно, кроме удобства и простоты выполнения функций робота, это позволяет ускорить работу систем технического зрения.
Еще одним важным достоинством СТЗ является возможность работы не только с крупными, но и с очень мелкими объектами. Это достигается с помощью сочетания камеры и микроскопа. Это актуально, например, при автоматизированной сборке транзисторов и микросхем, которые позволили автоматизировать операции отбраковки, установки, крепления кристаллов, распайки выводов. В таких системах использованы камеры промышленного телевидения, оснащенные микроскопами.
Поскольку роботы не являются живыми организмами как человек, они не имеют глаз и мозга, и для получения визуальной информации им необходимы специальные технические сенсорные устройства, которые называются системами технического зрения.
Именно системы технического зрения позволяют роботам получать изображения рабочих объектов и сцен, преобразовывать их, обрабатывать и интерпретировать при помощи набора цифровых устройств, чтобы затем исполнительное устройство робота могло бы, в соответствии с этими данными, адекватно выполнять работу.
По сравнению с многочисленными чувствительными системами, именно системы технического зрения способны поставлять до 90% визуальной информации роботу, чтобы он мог нормально функционировать. Таким образом задача реализации машинного зрения решается в несколько шагов: информация принимается, обрабатывается, затем сегментируется и описывается, после чего распознается и интерпретируется.
Изначальная информация, поставляемая в форме цифрового изображения, предварительно обрабатывается, из нее убираются помехи, повышается качество изображения отдельных элементов сцены или объекта. После этого информация делится на сегменты — сцена условно разбивается на части, которые распознаются как отдельные элементы, каждый из которых может быть распознан, а затем выделяются непосредственно интересующие объекты.
Выделенные объекты исследуются по характерным параметрам, которые описываются массивами информации, чтобы далее можно было выделить требуемые объекты по параметрам. Требуемые объекты выделяются и идентифицируются при помощи программы. Наконец, идентифицированные объекты интерпретируются и помечаются как принадлежащие к той или иной группе распознаваемых, после чего устанавливаются их зрительные образы.
В системе технического зрения информация об изображении, при помощи оптико-электронных преобразователей и видеодатчиков, представляется в форме электрических сигналов. Это по существу первичное преобразование. Обычно изображение считывается при помощи оптической камеры, чувствительного элемента, сканирующего устройства, затем сигнал усиливается.
Полученная таким образом информация обрабатывается иерархически. Сначала изображение обрабатывается видеопроцессорами. Здесь ключевой параметр — контур изображения, который задается координатами множества составляющих его точек. Далее компьютером, входящим в состав системы, формируются управляющие сигналы для робота.
Видеодатчики присоединяются к другим частям системы технического зрения при помощи особых кабелей, например оптоволоконных, через которые информация передается на высокой частоте и с минимальными потерями.
Сами видеодатчики могут иметь точечные, одномерные или двумерные чувствительные элементы. Точечные чувствительные элементы способны принимать видимое излучение с мелких частей объекта, и для получения полного растрового изображения необходимо произвести сканирование по плоскости.
Одномерные чувствительные элементы более сложны, они состоят из линейки точечных элементов, которые в процессе сканирования движутся относительно объекта. Двумерные элементы представляют собой по сути матрицу дискретных точечных элементов.
Оптическая система проецирует изображение на чувствительный элемент, предварительно определяется размер рабочей зоны охватываемой датчиком. Оптическая система имеет линзовый объектив с настраиваемой диафрагмой, чтобы производить регулировку количества поступающего света и фокусировку четкости когда расстояние от объектива до объекта изменяется.
Видеодатчиками могут выступать различные оптоэлектронные устройства, от твердотельных преобразователей до телевизионных камер на основе вакуумной трубки типа видикон. Основой технического зрения являются восприятие и предварительная обработка информации данными датчиками без необходимости прибегать к искусственному интеллекту.
Это низший уровень системы. Далее идет анализ, описание и распознавание — здесь используются современные компьютеры и сложное программно-алгоритмическое обеспечение — средний уровень. Высший уровень — это уже искусственный интеллект.
Практически в промышленных роботах получили широкое распространение системы технического зрения первого поколения, обеспечивающие надлежащее качество работы с плоскими изображениями и объектами простых форм. Они служат в распознавании, сортировке и укладке деталей, в проверке размеров деталей, сопоставлении их с чертежом и т. д.
Типичная реализация системы технического зрения выглядит так. Рабочая зона робота, где располагаются детали, освещается лампами. Над рабочей зоной располагается наблюдающая подвижная телекамера, от которой по кабелю видеоинформация подается в основной блок системы технического зрения.
Из основного блока информация (в обработанной форме) подается на управляющее устройство робота. Устройство производит сортировку деталей, их упорядоченную укладку в тару в строгом соответствии с информацией поступающей от программного обеспечения системы технического зрения.
Активно разрабатываемые сегодня интеллектуальные и адаптивные роботы на основе систем второго и третьего поколения, способны работать с трехмерными изображениями и более сложными объектами, производить более точные измерения, более внимательно и быстро распознавать объекты.
Главное направления научно-технического поиска сегодня — совершенствование систем технического зрения и программно-алгоритмического обеспечения к ним, создание специальных компьютеров, а также принципиально новых систем технического зрения, ведь применение робототехники все больше востребовано и область ее промышленного внедрения непрерывно расширяется.
Сегодня ведутся разработки более совершенных чувствительных устройств для роботов, способные передавать как можно больше внешней информации роботу. Уже понятно, что сложные сенсоры в принципе могут воспринимать сцены и образы целиком, а это значит, что в перспективе роботы смогут автономно формировать целенаправленные действия в пространстве рабочей зоны без дополнительных внешних стимулов.
На сегодняшний день большую популярность обретают СТЗ в качестве устройств определения положения координат полезного груза при работе с манипуляционными роботами.
Автоматизация сортировки и отбраковки
Методика технического зрения дает возможность сменить человека в действиях сортировки и отбраковки продукта (рисунок 1). Изъяв «человеческий фактор», гарантируется значительное усовершенствование качества продукта, увеличение производительности и сокращение брака. [2]
Технология заключается в получении фотографии предмета изделия (объекта, заготовки, детали) благодаря CCD/CMOS-на камеры в комбинации с оптическими компонентами и приборами освещения. С поддержкой специального программного обеспечения выполняется компьютерный анализ и обработка изображения, в дальнейшем автоматически происходит заключение о принадлежности продукта какому-либо классу, годности/негодности продукта либо создается отчет о итогах изучения изделия в форме удобной для восприятия человеком.
В ходе отбраковки с поддержкой промышленных видеокамер автоматически формируются следующие признаки: целостность упаковки продуктов, комплектация упаковки продука, присутствие требуемых надписей и маркировок, точность наклейки этикеток.
В ходе сортировки формируются следующие признаки: отношение продукта к какому-либо классу в согласовании с установленными свойствами (форма, цвет, геометрические размеры, присутствие маркировок, надписей, и др.)
Достоинства:
гарантируется стопроцентный контроль за правильностью сборки каждой единицы продукции;
отпадает «человеский фактор» в действиях сортировки и отбраковки;
техническое зрение управляет исполнительными механизмами сортировки и отбраковки в режиме реального времени;
объединение в имеющиеся производственные линии, АСУ ТП и MES.
Дополнительные возможности: вероятность осуществить, с поддержкой одной системы, контроль качества по нескольким признакам: отсутствия внешних повреждений, присутствия маркировки и точности упаковки, проверка сборки изделия, присутствия маркировки и точности упаковки.
Область применения: сортировка в фармацевтической промышленности, сортировка в пищевой промышленности и др.
Считывание и распознавание меток и маркировок
СТЗ и видеодатчики считаются одними из более результативных инструментов в задачах автоматизации и идентификации учета продукции в производственном процессе (рисунок 2).
В зависимости от специализации какой-нибудь области, перед или уже после любой технологической процедуры с помощью промышленных современных видеокамер способна проводится конкретная принадлежность продукции к типу изделия, с занесением в базу данных считываемой информации. [3]
Технология: СТЗ при идентификации способна считывать и различать цифробуквенные и символьные данные различных размеров, логотипы, 1-d и 2-d штрихкоды, товарные знаки или любую комбинацию данных компонентов.
Рисунок 1.2 – Автоматическое считывание 2D-кода и цифровой
маркировки
В качестве устройств ввода идентификационных данных в системах этого класса применяются лазеровые сканеры и ПЗС-камеры. Специальное программное обеспечение приспосабливается под вид и параметры идентификационной надписи, а кроме того под качество поверхносте изделия заказчика.
Достоинства:
стопроцентная надежность идентификации;
почти отсутствует ограничения согласно виду распознаваемой маркировки и методу её нанесения;
отсутствует ограничения на конфигурацию применяемых шрифтов
вероятность определения отчасти загрязненной либо поврежденной надписи;
простая переналадка дает возможность различать маркировку иного вида и конфигурации;
возможность обновления программного и аппаратного обеспечения;
системы дают возможность гарантировать обеспечение достоверных сведений для систем планирования и учета производства верхнего уровня (ERP /MRP).
Дополнительные возможности:
Организация синхронного контроля считывания маркировки и качества продукта.
Возможность применять СТЗ и видеодатчики с целью верификации маркировки.
Область применения: контроль кодировки/маркировки/ этикетки, контроль упаковки в пищевой индустрии, определение стандратизированного кода на этикетках, пластиковых картах, /конроль даты производства/ срока годности в фармацевтике и др.
Интеграция технического зрения в систему управления промышленным роботом
Стерео сенсор KUKA _3D Perception
Сенсор со встроенной системой 3D-стереокамер позволяет осуществлять 3D-восприятие в режиме реального времени и обеспечивает 3D-измерение и позиционирование в пространстве. Таким образом, ориентация в пространстве и техническое зрение становятся реальностью (рисунок 3). [4]
Рисунок 3 – Стерео сенсор KUKA _3D Perception
Стерео сенсор KUKA_3D Perception распознает точно неструктурированное окружение в режиме реального времени и точно позиционирует объекты с разной кинематикой в пространстве. Это первый 3D-сенсор в мире, который наделяет роботов такими способностями. Результат этого прогрессивного решения: робот может фиксировать свое положение в пространстве с точностью до миллиметра и решать задачи еще быстрее и эффективнее.
Благодаря интегрированной технологии KUKA_3D Perception обрабатывает данные изображения непосредственно в сенсоре и фиксирует текущее положение объекта с точностью до миллиметра. Массивы точек создаются очень просто. 3D-сенсор может распознавать свое окружение как в условиях естественного света, так и при недостаточном освещении. Даже при быстрых перемещениях обеспечивается надежная точность. Кроме того, в небольшом пространстве без затруднений и сбоев могут работать несколько сенсоров.
Интегрированная графическая карта позволяет обрабатывать изображения глубины непосредственно в сенсоре. Внешних расчетов не требуется — идеально подходит для мобильных робототехнических систем.
Высокопроизводительное аппаратное обеспечение разработано для использования в роботизированной среде, рассчитано на температуру до 50 °C и соответствует классу защиты IP 54 – хорошее условие для параллельных кинематик.
Можно легко настроить KUKA _3D Perception через веб-браузер, используя удобный интерфейс. 3D-сенсор также может быть подключен через стандартные интерфейсы, к стандартным библиотекам обработки изображений и другим программным средам, таким как ROS.
Он имеется в двух исполнениях с различными базовыми расстояниями: 65 мм или 160 мм. Они позволяют вычислять изображения глубины для использования в ближнем или дальнем диапазоне. Представление изображения может быть одноцветным или цветным.
FANUC система iRVision
iRVision — это разработанная компанией FANUC система визуального обнаружения по технологии plug & play. Она полностью интегрирована с контроллером R-30iB, быстро устанавливается, отличается простотой использования и высочайшей гибкостью. Благодаря системе распознавания двух- или трехмерных деталей она может определять местоположение произвольно расположенных изделий любой формы и размера. Она также может считывать штрихкоды, выполнять сортировку по цвету, гибкую подачу деталей, высокоскоростное визуальное линейное отслеживание (iRPickTool) и взятие коробов/панелей. Система iRVision играет ключевую роль в увеличении производительности и обеспечивает дополнительную экономию средств, поскольку снимает необходимость в технологической оснастке (рисунок 4). [5]
Одним из решений использующих данную технологию является FANUC 3D Area Sensor.
Высокоскоростной пространственный барьерный датчик FANUC 3D Area Sensor полностью интегрирован с контроллером робота и служит для мгновенного создания пространственных карт с использованием технологии технического зрения. Она позволяет роботу идентифицировать и брать отдельные детали, достигая продолжительности цикла от 8 до 12 секунд, даже если они покрыты грязью, ржавчиной, маслом или, если речь о пакетах, не имеют четко распознаваемых характеристик. Датчик легко настраивается с помощью ПК.
2.2 Постановка задачи разработки системы технического зрения для промышленного роботехнического комплекса
На сегодняшний день большую популярность обретают СТЗ в качестве устройств определения положения координат полезного груза при работе с манипуляционными роботами. Простые представители подобных систем позволяют определять декартовые координаты Х и Y, а также угол ориентации R полезных грузов, находящихся в одной плоскости рабочего пространства манипуляционного робота, причем параметры этой плоскости должны быть заранее известны. Более сложные решения позволяют определить три координаты Х, Y и Z в рабочем пространства. Комплексные решения позволяют определить все шесть координат Х, Y, Z,, θ, Ψ, но такие решения требуют особых функционирования, поэтому их область применения сильно ограничена; кроме того, во многих технологических процессах отсутствует необходимость определения полного набора координат полезных грузов, поэтому стоимость и используемый функционал для таких систем будут неоправданными.
СТЗ позволяют без значительных затрат переконфигурировать рабочее место, так как система определения положения в значительной части настраивается на программном уровне. Как правило, одной камеры, входящей в состав СТЗ, достаточно для получения данных о рабочем пространстве большой площади [7, 8]. В случае изменения технологического процесса эту же камеру можно использовать для определения положения полезных грузов в новых условиях без необходимости вмешиваться в ее конструкцию или электрическую схему.
Функциональные задачи СТЗ, характерные для роботехнических комплексов, условно подразделяются по уровню их относительной сложности.
К простым задачам можно отнести: обнаружение наличия какого-либо объекта, измерение расстояния до него, вычисление его линейных и угловых перемещений, скорости; измерение геометрических параметров объекта (линейные и угловые размеры, площадь), определение физических характеристик излучения от объекта, подчест числа объектов в кадре. [6]
Более сложные задачи выполняет система, которая предоставляет манипулятору информацию, необходимую для захватывания неупорядоченных объектов. К этим задачам относят: обзор рабочего пространства для поиска интересующего объекта, который может быть одиночным или одним из нескольких или его месторасположение может быть изолировано, перекрываться другими объектами. При этом наблюдаемые объекты могут отличаться не только формой и размером, но и цветом, текстурой и т.д., находится в движении или покоится на месте.
В данной работе было решено внедрить СТЗ в систему управления сортировочным роботом. (рисунок 5) Сортировка осуществляется по двум признакам: цвет изделия и QR код наклеенный на изделие.
Рисунок 5 Функциональная схема системы управления сортировочным роботом
Основными задачами технического зрения в данной системе являются:
– Определение положение изделия на ленте конвейера. Необходимо определения только двух координат, так как конвейер находится на постоянной высоте.
– Определение ориентации изделия на ленте конвейера. На какой угол оно повернута, чтобы манипулятор мог выровнять её при осуществлении сортировки.
– Определение цвета изделия. Для наглядности их будет три: красный, синий и зеленый
– Распознавание QR кода.
Как видно из представленных выше целей технического зрения в данной работе функциональные задачи технического зрения скорее можно отнести к простым.
Постановка задачи сортировки почти сходится с постановкой проблемы распознавания образов в обстоятельствах предшествующей неопределённости, а определение местоположение и ориентации предметов возможно расценивать равно как оценки изображений предметов, фиксируемых на фоне помех. Создание результативных алгоритмов и программ, которые обеспечат автоматический анализ и обработку изображений для оценки параметров изображений и распознавания образов объектов, считается значимым направлением улучшения СТЗ в промышленных роботехнических комплексах.
К методам обрабатывания изображений в СТЗ предъявляются следующие требования [9]:
Обеспечение высокой эффективности по заданным критериям.
Минимальные затраты по времени для обработки информации в режиме реального времени;
Минимальные затраты на вычислительные ресурсы.
Поэтому для решения поставленных задач оценки параметров и распознавания будут использованы алгоритмы, основанные на анализе регистрируемых контуров изображений. Чтобы упростить метод описаний изображений предметов, фиксируемых в СТЗ было принято следующее допущение: предметы обладают сравнительно элементарной формой, при которой контур заданного объекта легко сможет охарактеризовать эту форму.
Используемое оборудование
Была разработана система управления сортировочным роботом. Эта система включает следующие компоненты:
Манипулятор, показанный на рисунке 6 (Роботизированная ячейка для палетизации KR 40PA);
Рисунок 6 – KR 40PA
KR 40 PA является самым маленьким и легким роботом для палетизации. Достигает высочайших уровней скорости и точности, специально разработан для задач, связанных с паллетизацией - идеально подходит для укладки европоддонов. KR 40 PA выбирает и упаковывает товары в рекордные сроки. Он может паллетиризировать продукты весом до 40 килограммов и достигать чистой высоты штабелирования до 1,8 м; все в очень маленьком пространстве. Время цикла значительно сокращается благодаря его малой массе. [10]
Система управления KUKA KR C4 показанная на рисунке 7
Рисунок 7 – KUKA KR C4
Система управления KR C4 от KUKA является инновационной для автоматизации производства сегодняшнего и завтрашнего дня. Она позволяет сократить расходы на интеграцию, техническое обслуживание и уход.
Одновременно повышается эффективность и гибкость систем – благодаря распространенным открытым промышленным стандартам. Концепция KR C4 считается революционной. Впервые в ней Robot/Motion органично и интерактивно соединены с системами управления для ПЛК, ЧПУ и обеспечения безопасности. Благодаря простому и гибкому программированию робота посредством встроенных формуляров и новому программированию перемещений Spline решения автоматизации на базе KR C4 по всем аспектам являются непревзойденными. Кроме того, KR C4 обеспечивает возможности интеллектуального, гибкого и расширяемого использования.
KR C4 интегрирует в архитектуру вашего программного обеспечения Robot Control, PLC Control, Motion Control (например, KUKA.CNC) и Safety Control. Все системы управления имеют одну базу данных и инфраструктуру.
Это позволяет упростить автоматизацию и сделать ее эффективней. [11]
устройство видеозахвата, показанное на рисунке 8 (Microsoft Lifecam Cinema);
Рисунок 8 – Microsoft Lifecam Cinema
Веб-камера LifeCam Cinema предоставляет широкоформатное HD-видео с разрешением 720 пикселей. Камера автоматически увеличивает резкость изображения, Для того чтобы видео было еще более четким, прецизионный стеклянный объектив повышает качество изображения даже при недостаточной освещенности.[12]
Промышленный конвейер;
Персональный компьютер.
Выбор инструментов программирования
Python (в русском языке распространено название пито́н) — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. [13] Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института Гвидо ван Россумом. Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию). В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources. С самого начала Python проектировался как объектно-ориентированный язык.
3 декабря 2008 года, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python. На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x).
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Python организовывается в функции и классы, которые могут объединяться в модули (они в свою очередь могут быть объединены в пакеты).
Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные. Есть реализации интерпретаторов для JVM (с возможностью компиляции), MSIL (с возможностью компиляции), LLVM и других. Проект PyPy предлагает реализацию Python с использованием JIT-компиляции, которая значительно увеличивает скорость выполнения Python-программ.
Python — активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют стандарт ANSI, ISO или другие официальные стандарты, их роль выполняет CPython.
Обоснованием выбора данного языка программирования является его простота, низкий порог вхождения, большое количество обучающего материала в интернете и возможность работать с библиотекой OpenCV
Библиотека OpenCV
Одним из наиболее распространённых программных обеспечений для реализации компьютерного зрения является OpenCV.
OpenCV — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом.[14] Реализована на C/C++, также существуют версии для Python, Java, Ruby, Matlab, Lua и других языков. Она разрабатывается c 1998 г., сначала в компании Intel, затем в Itseez при активном участии сообщества.
Библиотека распространяется по открытой лицензии, что означает, что ее можно свободно и бесплатно использовать как в открытых проектах с открытым кодом, так и в закрытых, коммерческих проектах. Библиотеку не обязательно копировать целиком в свой проект, можно использовать куски кода. Единственное требование лицензии – наличие в сопровождающих материалах копии лицензии OpenCV.
Из-за либеральной лицензии библиотека используется многими компаниями, организациями, университетами, например, NVidia, Willow Garage, Intel, Google, Stanford University. Компании NVidia и WillowGarage частично спонсируют ее разработку.
Многомерная архитектура проекта представлена на рисунке 9.
Библиотека состоит из 16 модулей, реализовано около 1000 алгоритмов.
Поддерживаются основные операционные системы: MS Windows, Linux, Mac, Android, iOS. Есть возможность использования сторонних библиотек, например, для работы с устройством Kinect (OpenNI), разработки параллельных программ (TBB) и др.
Рисунок 9 - Архитектура OpenCV
Основные модули библиотеки можно отнести к 4 группам (разделам):
Модули Core, HighGUI, реализующие базовую функциональность (базовые структуры, математические функции, генераторы случайных чисел, линейная алгебра, быстрое преобразование Фурье, ввод/вывод изображений и видео, ввод/вывод в форматах XML, YAML и др.).
Модули ImgProc, Features2D для обработки изображений (фильтрация, геометрические преобразования, преобразование цветовых пространств, сегментация, обнаружение особых точек и ребер, контурный анализ и др.). 33
Модули Video, ObjDetect, Calib3D (калибровка камеры, анализ движения и отслеживание объектов, вычисление положения в пространстве, построение карты глубины, детектирование объектов, оптический поток).
Модуль ML, реализующий алгоритмы машинного обучения (метод ближайших соседей, наивный байесовский классификатор, деревья решений, бустинг, градиентный бустинг деревьев решений, случайный лес, машина опорных векторов, нейронные сети и др.). На рисунке 10 представлена общая схема типичного приложения, предназначенного для решения той или иной задачи компьютерного зрения.
Рисунок 10 - Общая структурная схема приложения на OpenCV
Все начинается с захвата изображений (модуль HighGUI). Читается изображение из файла или видео с сетевой камеры через сетевой протокол.
Далее осуществляется предварительная обработка (модуль ImgProc), такая, как устранение шума, выравнивание яркости, контраста, выделение и удаление бликов, теней. Например, один и тот же объект при разном освещении выглядит по-разному. В ярком свете красная машина, движение которой необходимо отслеживать, будет ярко-оранжевой. В пасмурную погоду та же машина будет выглядеть красно-розовой. В этом случае на изображении необходимо выполнить выравнивание цветов. Предобработка может быть, как простой, так и может заключать в себе целую сложную технологию.
Следующий этап – выделение особенностей (модули ImgProc, Features2D). Например, в задаче слежения за объектом это может быть поиск специальных точек на объекте, за которыми легко наблюдать; для задачи детектирования (т. е. обнаружения на изображении) лица – вычисления описания каждого пиксела.
Далее происходит детектирование интересующих нас объектов, выделение значимых частей, сегментация изображения (модули ImgProc, ObjDetect). Если, например, камера неподвижна, а изображение подвижное, можно использовать алгоритмы вычитания фона.
После этого решается основная задача, такая, как вычисление расположения объекта в 3d, реконструкция 3d структуры, анализ структуры, регистрация и т. п. (модули Calib3D, Contrib, Video, Stitching, Videostab, ML).
Например, в задаче склейки панорам изображений – это сопоставление частей разных кадров, определение нужного преобразования. В задаче видеонаблюдения это восстановление траекторий объектов и т. д
В конце происходит распознавание и принятие конкретных решений (модуль ML). Например, в системе видеонаблюдения: обнаружен ли нежелательный объект в кадре или нет. В задаче детектирования текста – детектирован ли текст, что именно за текст и т. д.
Техническое зрение в робототехнике будет дополняться интеллектом.
Еще несколькими годами ранее считалось, что для самостоятельного передвижения мобильных роботов, проблемой мог считаться, например - стол. Любая преграда рассматривалась как непреодолимое препятствие, которую следует избегать, в противном случае – идти напролом, ликвидируя все, что встречается на пути. Порой невозможность реализации одного из действий приводило к бессмысленным движениям в разные стороны. Теперь все по-другому. Роботов научили преодолевать препятствия с умом!
Официальная презентация технологии «умного зрения» состоялась на конференции IROS 2019 в Южной Корее. Представитель Google DeepMind Джонатан Шольц совместно с соавторами из Georgia Tech представил доклад на тему "Навигация среди движимых препятствий с извлечением динамических ограничений". Согласно представленной в докладе информации, манипуляторы приобретают возможность «с умом» распознавать объекты на своем пути, анализировать эффективность принятого решения и мастерски достигать цели попадания в необходимое место.
Проблема перемещения через заставленные пространства является очень распространенной ситуацией в домашних условиях, таких как дома и офисы, где вещи могут загромождать проход непредсказуемым образом. В отличие от структурированной среды, например, заводов и лабораторий, сложно предсказать местоположение нахождения вещей в конкретный момент времени, что неимоверно усложняет задачу продвижения среди предметов для роботов.
Для наглядности в качестве примера был представлен робот Golem Krang, который совмещает в себе систему Навигации между подвижными препятствиями (Navigation Among Movable Obstacle –NAMO) и алгоритм обучения, основанный на законах физики (Physics-Based Reinforcement Learning – PBRL). По существу Krang способен использовать физический движок, чтобы понять и предсказать поведение объектов, затем впоследствии, используя полученные знания, передвинуть предметы.
Вот как это работает на примере двух столов-препятствий, масса каждого - около 35 кг, причем дополнительно установлены блокируемые колесики:
А вот еще пример того, когда Krang предварительно применяет силу для прохождения посередине между двумя столами, но после неудачных попыток вынужден откорректировать свое дальнейшее продвижение:
В момент перемещения столов, Krang не имеет ни малейшего представления о прикрепленных ограничениях. Каждый раз, когда один из столов не поддается передвижению предполагаемому алгоритму, Krang обновляет его физическую модель с дальнейшим применением другого варианта решения с учетом имеющихся ограничений. В выше представленных видео используется идентичная кодовая база, адаптируемая по мере необходимости к каждой конкретной ситуации. Теперь при встрече с каким-либо объектом, манипулятор анализирует, как лучше действовать. Этот вид адаптивного поведения обучения является повседневным навыком для людей, а в дальнейшем это умение станет одним из важнейших и для мобильных роботов.
На самом деле для робота Golem Krang совершать такого рода манипуляции в реальной неструктурированной среде представляется достаточно сложным. Исследователям придется потрудиться над обновленной системой управления роботом без использования расположенной сверху 6-камерной системы машинного зрения.
Область технического зрения стала примером сложной технологии, в которой быстрое появление новых усовершенствованных анализаторов визуальной информации постоянно вызывает моральное старение уже существующих.
В настоящей работе были рассмотрены технические средства формирования изображений, а также основные подходы и методы, используемые в системах технического зрения роботов. К этим методам можно отнести: приём изображений, подавление шумов, сжатие данных, распознавание, описание, преобразование и нормализация изображений, выбор способа их распознавания. Основное внимание уделено понятиям и методам технического зрения, применяемым в промышленных приложениях. Сегментация является одним из наиболее важных процессов на ранней стадии распознавания образов системой технического зрения.
Следующей задачей системы технического зрения является образование набора дескрипторов, который полностью идентифицирует объекты определенного класса. Обычно стремятся выбирать дескрипторы, наименее зависящие от размеров объекта, его ориентации и расположения. Хотя зрение и является трехмерной задачей, большинство современных промышленных систем работает с данными, которые часто упрощаются с помощью методов специального освещения или строго определенной геометрии наблюдения.
1. Борисов О.И., Громов В.С., Пыркин А.А., Методы управления робототехническими приложениями. Учебное пособие. — СПб.: Университет ИТМО, 2016. — 108 с.
2. Автоматизация сортировки и отбраковки [Электронный ресурс]. - Режим доступа: http://www.mkoi.org/366/367/373/ (дата обращения 25.04.21)
3. Считывание и распознавание меток и маркировок [Электронный ресурс]. - Режим доступа: http://www.mkoi.org/366/367/376/ (дата обращения 25.04.21)
4. KUKA _3D Perception sensor [Электронный ресурс]. - Режим доступа: https://www.kuka.com/en-us/products/robotics-systems/robot-periphery/kuka-3d-sensoren (дата обращения 29.04.21)
5. Техническое зрение FANUC iRVision [Электронный ресурс]. - Режим доступа: http://www.robotosvarka.ru/tehnicheskoe-zrenie-fanuc-irvision (дата обращения 29.04.21)
6. Техническое зрение роботов/'В. И. Мошкин, А. А. Петров, В. С. Титов, Ю. Г. Якушенков; Под общ. ред. Ю. Г. Якушенкова. —М.: Машиностроение, 1990. —272 с.: ил.
7. Borisov O.I., Gromov V.S., Pyrkin A.A., Bobtsov A.A., Nikolaev N.A., Robotic Boat Setup for Control Research and Education // IFACPapersOnLine.2016, V. 49, N. 6, P. 256–261.
8. Borisov O.I., Gromov V.S., Pyrkin A.A., Vedyakov A.A., Petranevsky I.V., Bobtsov A.A., Salikhov V.I., Manipulation Tasks in Robotics Education // IFAC-PapersOnLine. 2016, V. 49, N. 6, P. 22–27.
9. Системы технического зрения (принципиальные основы, аппаратное и математическое обеспечение) / А.Н. Писаревкий [и др.]; Под общ. ред.А.Н. Писаревского, А.Ф. Чернявского. Л.: Машиностроение. (Ленингр.отд-ние), 1988. 424 с.: ил. 101
10. KR 40 PA [Электронный ресурс]. - Режим доступа: https://www.kuka.com/ru-ru/продукция-услуги/промышленная-робототехника/промышленные-роботы/kr-40-pa (дата обращения 5.05.21)
11. KUKA KR C4 [Электронный ресурс]. - Режим доступа: https://www.kuka.com/ru-ru/продукция-услуги/промышленная-робототехника/ системы-управления-роботом/kr-c4 (дата обращения 5.05.21)
12. LifeCam Cinema [Электронный ресурс]. - Режим доступа: https://www.microsoft.com/accessories/ru-ru/products/webcams/lifecam-cinema/h5d-00015 (дата обращения 5.05.21)