РАЗРАБОТКА И ИМПЛЕМЕНТАЦИЯ АЛГОРИТМОВ ВЗАИМОДЕЙСТВИЯ С ПОЛЬЗОВАТЕЛЕМ ДЛЯ АНТРОПОМОРФНОГО РОБОТА
|
Введение 4
1. Предмет и методы калибровки 7
2. Библиотека OpenCV 10
3. 2Э-калибровка c помощью шахматной доски 13
3.1. Математическая модель калибровки 13
3.2. Концепция калибровки 16
3.3. Описание работы приложения 16
3.4. Описание используемых классов библиотеки OpenCV 21
3.4.1. Класс FileStorage 21
3.4.2. Класс FileNode 25
3.4.3. Класс VideoCapture 27
3.4.4. Класс Mat 29
3.5. Описание алгоритма калибровки 31
4. Экспериментальные результаты калибровки 40
4.1. Инструкция по проведению калибровки 40
4.2. Анализ завершенных этапов работы 45
5. Системы координатных меток 47
5.1 Обзор систем координатных меток 51
5.1.1. Метка ARTag 52
5.1.2. Метка AprilTag 53
5.1.3. Метка CALTag 53
5.1.4. Другие существующие системы координатных меток 54
6. Экспериментальная работа с системами координатных меток 58
6.1. Экспериментальная работа с метками при использовании камеры Genius
FaceCam 1000X 60
6.2. Экспериментальная работа с метками при использовании камеры робота
AR-601M 76
7. Проверка работоспособности системы caltag в реальных условиях.
Калибровка камеры робота 89
7.1. Калибровка фронтальной камеры робота AR-601M 94
Список использованных источников 104
Приложение А 108
Приложение Б 117
Приложение В 120
Приложение Г 124
Приложение Д 126
Приложение Е 127
Приложение Ж 128
1. Предмет и методы калибровки 7
2. Библиотека OpenCV 10
3. 2Э-калибровка c помощью шахматной доски 13
3.1. Математическая модель калибровки 13
3.2. Концепция калибровки 16
3.3. Описание работы приложения 16
3.4. Описание используемых классов библиотеки OpenCV 21
3.4.1. Класс FileStorage 21
3.4.2. Класс FileNode 25
3.4.3. Класс VideoCapture 27
3.4.4. Класс Mat 29
3.5. Описание алгоритма калибровки 31
4. Экспериментальные результаты калибровки 40
4.1. Инструкция по проведению калибровки 40
4.2. Анализ завершенных этапов работы 45
5. Системы координатных меток 47
5.1 Обзор систем координатных меток 51
5.1.1. Метка ARTag 52
5.1.2. Метка AprilTag 53
5.1.3. Метка CALTag 53
5.1.4. Другие существующие системы координатных меток 54
6. Экспериментальная работа с системами координатных меток 58
6.1. Экспериментальная работа с метками при использовании камеры Genius
FaceCam 1000X 60
6.2. Экспериментальная работа с метками при использовании камеры робота
AR-601M 76
7. Проверка работоспособности системы caltag в реальных условиях.
Калибровка камеры робота 89
7.1. Калибровка фронтальной камеры робота AR-601M 94
Список использованных источников 104
Приложение А 108
Приложение Б 117
Приложение В 120
Приложение Г 124
Приложение Д 126
Приложение Е 127
Приложение Ж 128
Сегодня антропоморфная робототехника является важным направлением в исследованиях, так как разработанные роботы смогут самостоятельно выполнять многие задачи, которые сейчас выполняет человек. Это накладывает на робота требования быть универсальным и многофункциональным. Таким образом, многофункциональный человекоподобный (антропоморфный) робот может потенциально заменить несколько роботов, предназначенных для выполнения всего одной специфической функции или небольшого числа функций (например, Roomba от iRobot). К антропоморфному роботу предъявляется большое количество требований, включая навыки самообучения и адаптации в окружающем пространстве, наличие искусственного интеллекта, навыки передвижения по плоскости, захвата объектов, выполнения различных задач, с которыми человек сталкивается в повседневной жизни. Антропоморфным роботом называется робот, который за модель конструкции использует человеческое тело. Для того, чтобы робот мог ориентироваться в окружающем мире, оценивать ситуации и принимать решения на основе полученных данных, используются бортовые датчики (сенсоры).
Сенсоры по своему назначению (или области применения) делятся на два вида: проприоцептивные и экстрацептивные. Первые предназначены для определения и анализа внутреннего состояния робота (определение положения, ориентации, ускорения), вторые - состояния и параметров внешнего мира.
Проприоцептивные сенсоры. Позволяют определить позицию, ориентацию и скорость тела робота и всех его суставов - внутренние параметры робота. Например, для определения ускорения используются акселерометры; силовые датчики помещаются в манипуляторах и педипуляторах, чтобы измерить силу контакта с окружающей средой.
Экстрацептивные сенсоры. К данной группе относятся, например, датчики зрения и слуха. В качестве датчиков используются различные камеры, сонары, лазеры, радиочастотная идентификация (RFID) и т.д. Зрение служит для распознавания объектов и последующего определения их свойств. Сенсоры для восприятия звуковой информации выполняют ту же функцию, что и слуховой аппарат у человека, - для восприятия звуков внешнего мира. Примером такого датчика служит микрофон.
В данной работе внимание сфокусировано на зрительном сенсоре, и в качестве датчика робота AR-601M рассматривается фронтальная моно-камера Basler. Для корректной работы этого сенсора, как и многих других, требуется предварительная настройка. Так как датчики могут определять неверно параметры внешнего и внутреннего мира вследствие наличия собственных ошибок и погрешностей в измерениях параметров, эти датчики предварительно калибруют.
Определение внешних и внутренних параметров камеры называется калибровкой камеры. Калибровка камеры обеспечивает верную оценку расстояния между объектами, верное измерение размеров и текущее ориентацию относительно объектов в окружающей среде. Средствами калибровки камеры робота являются шаблон для калибровки и его программное обеспечение, которое в дальнейшем может модифицироваться, так как калибровка камеры робота предполагает индивидуальный подход.
Данная работа состоит из нескольких этапов:
1) Подготовительный этап. Изучение методов калибровки: определение целей и типов калибровки.
2) Разработка графического интерфейса пользователя для классической 2D калибровки камеры (шахматная доска). Рассмотрение и анализ 2D калибровки камеры с помощью шахматной доски с использованием веб-камеры. Изучение библиотеки OpenCV и основных классов, необходимых для алгоритма калибровки. Описание алгоритма программы в виде блок-схемы. Программная реализация приложения для калибровки. Проведения экспериментов и анализ полученных результатов.
3) Обзор существующих систем координатных меток (для замены шахматной доски). Рассмотрение существующих систем меток, их области применения. Выбор координатных меток как потенциальных вариантов шаблонов для калибровки камеры антропоморфного робота AR-601M.
4) Экспериментальная работа. Проектирование дизайна экспериментов с системами координатных меток. Выполнение экспериментов с метками с помощью веб-камеры, а затем на фронтальной камере Basler робота AR-601M. Анализ полученных результатов. Выбор наиболее подходящей метки по результатам исследования.
5) Заключительная часть. Проверка работоспособности координатной метки в реальных условиях - детектирование уменьшенной в масштабе выбранной координатной метки, закрепленной на механических частях робота. Калибровка камеры робота с помощью уменьшенной метки.
6) Выводы. Выводы о проделанной работе; планируемые исследования и будущие задачи по реализации калибровки камеры робота AR-601M и его манипуляторов.
Сенсоры по своему назначению (или области применения) делятся на два вида: проприоцептивные и экстрацептивные. Первые предназначены для определения и анализа внутреннего состояния робота (определение положения, ориентации, ускорения), вторые - состояния и параметров внешнего мира.
Проприоцептивные сенсоры. Позволяют определить позицию, ориентацию и скорость тела робота и всех его суставов - внутренние параметры робота. Например, для определения ускорения используются акселерометры; силовые датчики помещаются в манипуляторах и педипуляторах, чтобы измерить силу контакта с окружающей средой.
Экстрацептивные сенсоры. К данной группе относятся, например, датчики зрения и слуха. В качестве датчиков используются различные камеры, сонары, лазеры, радиочастотная идентификация (RFID) и т.д. Зрение служит для распознавания объектов и последующего определения их свойств. Сенсоры для восприятия звуковой информации выполняют ту же функцию, что и слуховой аппарат у человека, - для восприятия звуков внешнего мира. Примером такого датчика служит микрофон.
В данной работе внимание сфокусировано на зрительном сенсоре, и в качестве датчика робота AR-601M рассматривается фронтальная моно-камера Basler. Для корректной работы этого сенсора, как и многих других, требуется предварительная настройка. Так как датчики могут определять неверно параметры внешнего и внутреннего мира вследствие наличия собственных ошибок и погрешностей в измерениях параметров, эти датчики предварительно калибруют.
Определение внешних и внутренних параметров камеры называется калибровкой камеры. Калибровка камеры обеспечивает верную оценку расстояния между объектами, верное измерение размеров и текущее ориентацию относительно объектов в окружающей среде. Средствами калибровки камеры робота являются шаблон для калибровки и его программное обеспечение, которое в дальнейшем может модифицироваться, так как калибровка камеры робота предполагает индивидуальный подход.
Данная работа состоит из нескольких этапов:
1) Подготовительный этап. Изучение методов калибровки: определение целей и типов калибровки.
2) Разработка графического интерфейса пользователя для классической 2D калибровки камеры (шахматная доска). Рассмотрение и анализ 2D калибровки камеры с помощью шахматной доски с использованием веб-камеры. Изучение библиотеки OpenCV и основных классов, необходимых для алгоритма калибровки. Описание алгоритма программы в виде блок-схемы. Программная реализация приложения для калибровки. Проведения экспериментов и анализ полученных результатов.
3) Обзор существующих систем координатных меток (для замены шахматной доски). Рассмотрение существующих систем меток, их области применения. Выбор координатных меток как потенциальных вариантов шаблонов для калибровки камеры антропоморфного робота AR-601M.
4) Экспериментальная работа. Проектирование дизайна экспериментов с системами координатных меток. Выполнение экспериментов с метками с помощью веб-камеры, а затем на фронтальной камере Basler робота AR-601M. Анализ полученных результатов. Выбор наиболее подходящей метки по результатам исследования.
5) Заключительная часть. Проверка работоспособности координатной метки в реальных условиях - детектирование уменьшенной в масштабе выбранной координатной метки, закрепленной на механических частях робота. Калибровка камеры робота с помощью уменьшенной метки.
6) Выводы. Выводы о проделанной работе; планируемые исследования и будущие задачи по реализации калибровки камеры робота AR-601M и его манипуляторов.
Для реализации алгоритмов взаимодействия человека и робота предварительно необходимо откалибровать робота, для его дальнейшей корректной работы. В рамках данной работы внимание было сосредоточено на калибровке камеры робота, являющейся важным этапом для реализации механизмов машинного зрения. В начале работы было рассмотрена теоретическая основа калибровки камеры - определения, внешние и внутренние параметры. Для ознакомления с калибровкой был выбран классический подход калибровки камеры - использование 2И-шаблона шахматной доски. К настоящему времени существует две такие реализации, первая базируется с использованием технологий библиотеки OpenCV (Open Computer Vision Library, C++), вторая - использование среды MATLAB. Для проведения собственных экспериментов была использована реализация калибровки камеры с использованием возможностей OpenCV C++, а также OpenCV Python для ROS. После изучения готового пакета калибровки на C++ было принято решение сделать графический интерфейс приложения на платформе Qt. Полученный результат представлял из себя графический интерфейс с базовыми настройками калибровки (выбор шаблона, количество точек в шаблоне, размер квадратов и пр.), позволяющий любому пользователю провести калибровку камеры, не используя дополнительных средств или программ. Хотя шахматная доска является классическим методом калибровки камеры, для поставленной задачи - калибровки камеры робота (в дальнейшем - самокалибровки), этот шаблон обладает рядом ограничений в его использовании и имеет несколько особенностей в технике калибровке. Следующим этапом в работе стало исследование альтернативного решения для калибровки камеры - использование систем координатных меток (англ. Fiducial marker systems). Из рассмотренных существующих систем меток, в ходе работы внимание было сфокусировано на трех популярных системах: ARTag, AprilTag, CALTag. Для определения подходящей метки для дальнейшей калибровки, были проведены исследования меток на устойчивость каждой из систем к перекрытиям (окклюзии), так как данный фактор является неизбежным при работе с метками в реальных условиях. Помимо незначительных перекрытий границ меток, механические части робота также могут перекрывать метку, приводя к перекрытиям различной интенсивности. Исследование каждой из систем заключалось в проведении экспериментов с метками. Первая часть экспериментов состояла из двух типов: систематическая окклюзия и произвольное перекрытие метка другим объектом. По результатам экспериментов была выявлена высокая чувствительность ARTag и AprilTag к перекрытию границ меток, ограничивая их использование до сценариев, когда заранее известно, что края меток не будут перекрыты. CALTag выявил устойчивость к окклюзии до 50% при систематическом перекрытии, и был обнаружен во всех экспериментах при произвольном перекрытии метки. Во второй части экспериментов исследование проводилось на зависимость обнаружения метка от её угла вращения относительно установленных осей X, Y, Z, и вращения, совмещенного с систематической окклюзией; проводилось большее количество экспериментов на произвольное перекрытие меток с помощью различных трёх объектов. По результатам второй части экспериментов была повторно выявлена чувствительность ARTag и AprilTag к перекрытию границ и обнаружена устойчивость всех меток в любому заданному углу вращения вокруг осей Z и Y. Две части экспериментов проводились с помощью двух камер. Первая камера - веб-камера Genius FaceCam 1000X для проверки меток при использовании недорогого оборудования. Вторая камера лучшего качества - фронтальная камера робота AR-601M, Basler acA640-90gc. С помощью разной техники удалось выявить зависимость этапов обнаружения и детектирования меток от качества камеры. Яркий пример - CALTag. При обычной камере FaceCam 1000X, в экспериментах на систематическое окклюзию, лишь CALTag 4x4 был обнаружен при 50%, в то время как с камерой Basler acA640-90gc - CALTag 4x4 и 9x6 были обнаружены и при 70% перекрытия площади метки.
После экспериментальной работы был выбран единственный подходящий кандидат - система меток CALTag. Следующим шагом была проверка этой метки в реальных условиях работы с ней - закрепление CALTag нужного размера на механической части робота и исследование метки на возможность её обнаружения с возможных положений выбранной части робота.
Потенциальные части робота для закрепления на них метки - кисть и тыльная сторона ладони, так как в обзор фронтальной камеры входят именно эти части робота при движении его манипулятора (правого или левого, в зависимости от выбранной кисти и ладони).
С каждым из трех вариантов уменьшенной метки CALTag 4х4 - со стороной квадрата 0.2 дюйма, 0.3 дюйма и 0.4 дюйма были подготовлены 25-30 кадров закрепленного метки на кисти и ладони при разных их положениях относительно камеры. Результаты выявили, что CALTag 0.2 дюйма не может быть обнаружен ни на одном из экспериментальных кадров, CALTag 0.3 дюйма - лишь 13 часть, CALTag 0.4 дюйма - 50%, что является лучшим результатом из всех. В результате этих экспериментов CALTag подтвердила возможность использования её в качестве калибровочной метки для калибровки камеры робота AR-601M, при её уменьшенном размере в 0.4 дюйма. С помощью выбранного CALTag 4x4 была выполнена калибровка камеры робота, в результате чего получены калибровочные данные, которые могут использоваться для реализации задач технического зрения.
Метка CALTag 4x4 и её положение на части робота будут использоваться для дальнейшей реализации калибровки манипулятора робота. Следующей задачей является исследование зависимости обнаружения меток от известной величины кривизны плоскости, на которой располагается метка, для решения проблемы калибровки камеры с помощью CALTag, закрепленного на кисти AR-601M, которая имеет постоянную величину кривизны.
После экспериментальной работы был выбран единственный подходящий кандидат - система меток CALTag. Следующим шагом была проверка этой метки в реальных условиях работы с ней - закрепление CALTag нужного размера на механической части робота и исследование метки на возможность её обнаружения с возможных положений выбранной части робота.
Потенциальные части робота для закрепления на них метки - кисть и тыльная сторона ладони, так как в обзор фронтальной камеры входят именно эти части робота при движении его манипулятора (правого или левого, в зависимости от выбранной кисти и ладони).
С каждым из трех вариантов уменьшенной метки CALTag 4х4 - со стороной квадрата 0.2 дюйма, 0.3 дюйма и 0.4 дюйма были подготовлены 25-30 кадров закрепленного метки на кисти и ладони при разных их положениях относительно камеры. Результаты выявили, что CALTag 0.2 дюйма не может быть обнаружен ни на одном из экспериментальных кадров, CALTag 0.3 дюйма - лишь 13 часть, CALTag 0.4 дюйма - 50%, что является лучшим результатом из всех. В результате этих экспериментов CALTag подтвердила возможность использования её в качестве калибровочной метки для калибровки камеры робота AR-601M, при её уменьшенном размере в 0.4 дюйма. С помощью выбранного CALTag 4x4 была выполнена калибровка камеры робота, в результате чего получены калибровочные данные, которые могут использоваться для реализации задач технического зрения.
Метка CALTag 4x4 и её положение на части робота будут использоваться для дальнейшей реализации калибровки манипулятора робота. Следующей задачей является исследование зависимости обнаружения меток от известной величины кривизны плоскости, на которой располагается метка, для решения проблемы калибровки камеры с помощью CALTag, закрепленного на кисти AR-601M, которая имеет постоянную величину кривизны.



