Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА И ИМПЛЕМЕНТАЦИЯ АЛГОРИТМОВ ВЗАИМОДЕЙСТВИЯ С ПОЛЬЗОВАТЕЛЕМ ДЛЯ АНТРОПОМОРФНОГО РОБОТА

Работа №51533

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы136
Год сдачи2017
Стоимость4230 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
203
Не подходит работа?

Узнай цену на написание


Введение 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



Сегодня антропоморфная робототехника является важным направлением в исследованиях, так как разработанные роботы смогут самостоятельно выполнять многие задачи, которые сейчас выполняет человек. Это накладывает на робота требования быть универсальным и многофункциональным. Таким образом, многофункциональный человекоподобный (антропоморфный) робот может потенциально заменить несколько роботов, предназначенных для выполнения всего одной специфической функции или небольшого числа функций (например, Roomba от iRobot). К антропоморфному роботу предъявляется большое количество требований, включая навыки самообучения и адаптации в окружающем пространстве, наличие искусственного интеллекта, навыки передвижения по плоскости, захвата объектов, выполнения различных задач, с которыми человек сталкивается в повседневной жизни. Антропоморфным роботом называется робот, который за модель конструкции использует человеческое тело. Для того, чтобы робот мог ориентироваться в окружающем мире, оценивать ситуации и принимать решения на основе полученных данных, используются бортовые датчики (сенсоры).
Сенсоры по своему назначению (или области применения) делятся на два вида: проприоцептивные и экстрацептивные. Первые предназначены для определения и анализа внутреннего состояния робота (определение положения, ориентации, ускорения), вторые - состояния и параметров внешнего мира.
Проприоцептивные сенсоры. Позволяют определить позицию, ориентацию и скорость тела робота и всех его суставов - внутренние параметры робота. Например, для определения ускорения используются акселерометры; силовые датчики помещаются в манипуляторах и педипуляторах, чтобы измерить силу контакта с окружающей средой.
Экстрацептивные сенсоры. К данной группе относятся, например, датчики зрения и слуха. В качестве датчиков используются различные камеры, сонары, лазеры, радиочастотная идентификация (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, которая имеет постоянную величину кривизны.



1. Z. Zhang. Camera Calibration, Chapter 2 / Z. Zhang // Emerging Topics in Computer Vision. - 2004. - C.1-3, 6, 8, 13, 21.
2. XML/YAML Persistence [Электронный ресурс] / OpenCV 2.4.10.0 documentation, OpenCV API Reference, The Core Functionality - Электронные текстовые данные - Режим доступа - URL: http://docs.opencv.org/2.4/modules/core/doc/xml yaml persistence.html
3. FileNode Class Reference [Электронный ресурс] / OpenCV 3.2.0 Documentation -Электронные текстовые данные - Режим доступа - URL: http://docs.opencv.org/3.2.0/de/dd9/classcv 1 1FileNode.html
4. Reading and Writing Images and Video [Электронный ресурс] / OpenCV
2.4.13.2 documentation, OpenCV API Reference, highgui. High-level GUI and Media I/O - Электронные текстовые данные - Режим доступа - URL: http://docs.opencv.org/2.4/modules/highgui/doc/reading and writing images and video.html
5. Basic Structures [Электронный ресурс] / OpenCV 2.4.10.0 documentation,
OpenCV API Reference, The Core Functionality - Электрон. Текстовые данные - Режим доступа - URL:
http://docs.opencv.org/2.4.10/modules/core/doc/basic structures.html
6. G. Bradski. Learning OpenCV/ G. Bradski, A. Kaehler // 2008. C. 1 - 3, 13 - 14, 373 - 376, 381 - 384.
7. Z. Zhang. A flexible new technique for camera calibration / Z. Zhang // IEEE Transactions on pattern analysis and machine intelligence. - 2000. - C. 13301334.
8. M. Fiala. ARTag, a fiducial marker system using digital techniques / M. Fiala // IEEE Computer Society Conf. on Computer Vision and Pattern Recognition. — 2005. — vol. 2. — С. 590- 596.
9. A. Klimchik. Design of experiments for elastostatic calibration of heavy industrial robots with kinematic parallelogram and gravity compensator / A.
Klimchik, E. Magid, A. Pashkevich // 8th IFAC Conf. on Manufacturing Modelling, Management and Control. — 2016. — Elsevier Ltd., vol. 49(12). — С. 967-972.
10. R. Khusainov. Toward a human-like locomotion: Modelling dynamically stable locomotion of an anthropomorphic robot in Simulink environment / R. Khusainov, I. Shimchik, I. Afanasyev // The 12th Int. Conf. on Informatics in Control, Automation and Robotics. — 2015. — Vol. 2. — С.141-148.
11. E. Magid. Static Balance for Rescue Robot Navigation: Discretizing Rotational Motion within Random Step Environment / E. Magid, T. Tsubouchi // Lecture Notes in Artificial Intelligence. — 2010. — Vol. 6472 — С. 423435.
12. M. Hirzer. Marker Detection for Augmented Reality Applications / M. Hirzer // Project Image Analysis Graz. — 2008. — С. 1-25.
13. B. Atcheson. CALTag: High Precision Fiducial Markers for Camera Calibration / B. Atcheson, F. Heide, W. Heidrich // Vision, Modeling, and Visualization Workshop. — 2010. — vol.10. — С. 41-48.
14. M. Fiala. Comparing ARTag and ARToolKit Plus Fiducial Marker Systems / M. Fiala // IEEE Int.Workshop on Haptic Audio Visual Environments and their Applications. — 2005. — С. 148-153.
15. H. Kato. Marker tracking and hmd calibration for a video-based augmented reality conferencing system / H. Kato, M. Billinghurst // In Proc. IEEE and ACM Int. Workshop on Augmented Reality. — 1999. — С. 85-94.
16. M. Fiala. ARTag Revision 1. A Fiducial Marker System Using Digital Techniques / M. Fiala // National Research Council Publication. — 2004. —Т. 47419. — С. 1-47.
17. E. Olson. AprilTag: A robust and flexible visual fiducial system / E. Olson // IEEE Int. Conf. on Robotics and Automation. — 2011. — С. 3400-3407.
18. X. Zhang. Visual marker detection and decoding in AR systems: A comparative study / X. Zhang, S. Fronz, N. Navab // Proceedings of the 1st
International Symposium on Mixed and Augmented Reality. IEEE Computer Society. — 2002. - C.97.
19. S. Goose. SEAR: Towards a mobile and context-sensitive speech-enabled augmented reality / S. Goose, S. Sudarsky, X. Zhang // Multimedia and Expo, ICME'02. — 2002. — Vol. 1. — С. 849-852.
20. R. Bencina. Improved Topological Fiducial Tracking in the reacTVision System / R. Bencina, M. Kaltenbrnnner, S. Jorda // IEEE Computer Society Conf. on Computer Vision and Pattern Recognition. — 2005. — С. 99-106.
21. L. Naimark. Circular Data Matrix Fiducial System and Robust Image Processing for a Wearable Vision-Inertial Self-Tracker/ L. Naimark, E. Foxlin // IEEE Int. Symposium on Mixed and Augmented Reality. — 2002. — С. 27-36.
22. J. Rekimoto. CyberCode: Designing Augmented Reality Environments with Visual Tags / J. Rekimoto, Y. Ayatsuka // Designing Augmented Reality Environments. — 2000. — С. 1-10.
23. F. Bergamasco. Pi-Tag: a fast image-space marker design based on projective invariants / F. Bergamasco, A. Albarelli // Machine Vision and Applications. —2012. — С. 1295-1310.
24. F. Bergamasco. Rune-tag: A high accuracy fiducial marker with strong occlusion resilience / F. Bergamasco, A. Albarelli, E. Rodola, A. Torsello // In Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on. — 2011. — С.113-120.
25. A. Reuter. Blurtags: spatially varying psf estimation without-of-focus patterns / A. Reuter, H.-P. Seidel, I. Ihrke, I. // In 20th International Conference on Computer Graphics, Visualization and Computer Vision 2012, WSCG’2012. —2012. — С.239-247.
26. S. Higashino. Arttag: aesthetic fiducial markers based on circle pairs / S. Higashino. S. Nishi, R. Sakamoto // In ACM SIGGRAPH 2016 Posters. — 2016. — С.38.
27. A. C. Rice. Cantag: an open source software toolkit for designing and deploying marker-based vision systems / A. C. Rice, A. R. Beresford, R. K. Harle // In Pervasive Computing and Communications, 2006. PerCom 2006. Fourth Annual IEEE International Conference on. — 2006. — С. 10.
28. J. Sattar. Fourier tags: Smoothly degradable fiducial markers for use in human-robot interaction / J. Sattar, E. Bourque, P. Giguere, G. Dudek // In Computer and Robot Vision, 2007. CRV’07. Fourth Canadian Conference on. — 2007. — С. 165-174.
29. S. Garrido-Jurado. Automatic generation and detection of highly reliable fiducial markers under occlusion / S. Garrido-Jurado, R. Munoz-Salinas, F.J. Madrid-Cuevas, M.J. Marin-Jimenez // Pattern Recognition. — 2014. — vol. 47(6). — С. 2280-2292.
30. A. Trachtenbert. Computational methods in coding theory / A. Trachtenbert // MS thesis, University of Illinois at Urbana-Champaign. - 1996.


Работу высылаем на протяжении 30 минут после оплаты.




©2024 Cервис помощи студентам в выполнении работ