Определения, обозначения и сокращения 4
Введение 5
1 Исследование и разработка системного проекта 8
1.1 Назначение разработки 8
1.2 Определение требований к функциональным характеристикам 8
1.3 Требования к надежности и безопасности 8
1.4 Требования к составу и параметрам технических средств 9
1.5 Требования к информационной и программной совместимости 9
2 Исследование и разработка технического проекта 10
2.1 Строение манипулятора 10
2.2 Задачи прямой и обратной техник кинематики 13
2.2.1 Прямая кинематика 14
2.2.2 Инверсная кинематика 15
2.3 Алгоритм инверсной кинематики 16
2.4 Методы решения задачи инверсной кинематики 22
2.5 Ограничения углов вращения 24
2.6 Алгоритм вычисления начальных значений 25
3 Описание логической структуры 27
3.1 Структура программного комплекса 27
3.2 Алгоритм работы целевого программного комплекса 27
3.3 Входные и выходные данные 31
3.4 Описание файлов программного обеспечения 32
3.5 Протокол взаимодействия 32
4 Обоснование выбора средств разработки 34
5 Проведение испытаний программного продукта 36
6 Описание программного модуля 44
6.1 Краткое описание возможностей 44
6.2 Подготовка к работе 44
6.2.1 Перечень эксплуатационной документации, с которой необходимо
ознакомиться пользователю 44
6.2.2 Состав и содержание дистрибутивного носителя данных 45
6.2.3 Порядок загрузки данных и программ 45
6.2.4 Порядок проверки работоспособности 46
Заключение 47
Список использованной литературы
Как известно, работать напрямую с аппаратурой без определенных знаний о структуре и работоспособности объекта - достаточно сложный процесс. Чем дальше мы входим в технологический прогресс, тем больше пользователю необходимо автоматизировать часть монотонной, однотипной работы, сосредоточив свои усилия на более интересных и сложных задачах. В связи с этим появляются потребности в реализации неких программных оболочек, как правило для низкоуровневых операций, для того чтобы обеспечить более удобный, понятный и привычный интерфейс с которым пользователь сможет работать, не углубляясь в пучину внутренней реализации. Конструкции такого рода всегда вызывали положительные оценки многих пользователей, и особенно тех, кто работает с аппаратной частью проектов.
Как правило, в робототехнических комплексах ситуация такая же. Автоматизация робототехнических систем всегда занимала передовую нишу и в области программных и аппаратных разработок. Робототехнические комплексы также популярны в области образования как современные высокотехнологичные исследовательские инструменты в области теории автоматического управления и мехатроники. Их использование в различных учебных заведениях среднего и высшего профессионального образования позволяет реализовывать концепцию «обучение на проектах», положенную в основу такой крупной совместной образовательной программы США и Европейского союза, какILERT.Применение возможностей робототехнических комплексов в инженерном образовании даёт возможность одновременной отработки профессиональных навыков сразу по нескольким смежным дисциплинам: механика, теория управления, схемотехника, программирование, теория информации. Востребованность комплексных знаний способствует развитию связей между исследовательскими коллективами. [15]
На данный момент проблема кинематики антропоморфных сочленений изучена достаточно хорошо и существует много алгоритмов, эффективно решающих данную проблему с помощью прямой и обратной техник позиционирования кинематической цепи в пространстве. Прямая техника называется прямой кинематической анимацией или просто прямой кинематикой (в английском эквиваленте, «forward kinematic»), обратная - инверсной кинематической анимацией, инверсной кинематикой или «inverse kinematic». [10, 11] Несмотря на большое количество различных решений задачи кинематики андроидных манипуляторов, ни одно из них не удовлетворяло параметрам и ограничениям имеющегося манипулятора - каждое решение было приведено для конкретного набора звеньев и их сочленений, учитывало физические ограничения именно данного образца. Задачей стало разработать уникальный алгоритм, учитывающий строение имеющегося механизма, которое будет описано в следующих разделах работы.
На базе разработанного автором алгоритма было реализовано программное обеспечение для управления манипулятором андроидного типа с помощью джойстика и слайдера, что обеспечило возможность управлять движением манипулятора, точно позиционировать захват для всевозможных практических целей (перемещение объектов из одной точки пространства в другую).
Научную новизну работы можно описать следующими пунктами: во- первых - это уникальность набора сочленений манипулятора и параметров его звеньев; во-вторых - алгоритм содержит в себе комбинации идей некоторых существующих алгоритмов, проанализированных автором в процессе разработки данного алгоритма.
Целью проводимого исследования является создание программного обеспечения управления манипулятором
В ходе достижения поставленной цели перед автором встали следующие задачи:
1) Исследовать устройство манипулятора
2) Исследовать задачи прямой и обратной кинематических техник
3) Реализовать алгоритм инверсной кинематики для управления конкретным манипулятором
4) Разработать программный комплекс управления манипулятором
Задачи инверсной кинематики удивляют своим разнообразием, ведь инверсная кинематика используется не только в области робототехники, но и в области 3D моделирования, разработки компьютерных игр. В моей курсовой работе был описан алгоритм обратной кинематики лишь для руки андроидного робота, в случае с программированием полноценного робота с антропоморфным строением тела или программированием движения человека в компьютерной игре, задача становится намного сложнее, поскольку приходится учитывать параметры и ограничения не только одной конечности, а всего тела в целом.
К сожалению, раскрыть подробнее тему инверсной кинематики антропоморфных роботов не позволяет объем курсовой работы и постановка задачи, но, несмотря на это, в данной курсовой работе были рассмотрены основные, базовые понятия моделирования движения произвольных кинематических цепей.
В моей работе было показано, что для математических расчетов удобнее представлять кинематическую цепь в виде последовательности векторов, у которых точка начала соответствует точке конца вектора, соответствующего предыдущему сочленению.
Было сказано об углах Эйлера - классических и углах Тайта-Брайена, с помощью которых вычисляется матрица поворота локальной системы координат относительно абсолютной системы координат.
Было показано, что любой поворот локальной системы координат относительно абсолютной можно описать с помощью матрицы поворота, которая в свою очередь является произведением матриц простейших поворотов вокруг одной из координатных осей абсолютной системы координат. При этом матрицы простейших поворотов перемножаются в том порядке, в котором производится поворот вокруг соответствующих осей.
Было также упомянуто об ограничениях углов поворота и о том, как учесть их при построении алгоритма.
В конце следует заметить, что особое преимущество имеют итерационные алгоритмы инверсной кинематики. Общий смысл данных алгоритмов заключается в том, что на каждой итерации кинематическая цепь позиционируется таким образом, что конечный эффектор помещается на столько близко к целевой точке, на сколько это позволяют ограничения углов вращения каждого отдельного сочленения. Таким образом, движение конечности андроидного робота становится более плавным, похожим на естественные движения главного прообраза робота или компьютерного персонажа - человека. В моей задаче применение итерационного алгоритма было невозможно по той причине, что результат работы моего алгоритма отправлялся пакетом на сервер, связанный с манипулятором, по протоколу UDP. Также на этот сервер передавалось потоковое видео с камеры, установленной на рассматриваемый манипулятор для иных задач. Таким образом, пакет с результатами работы моего алгоритма мог просто потеряться среди огромного количества видео-пакетов, или прийти с большой задержкой. В последнем случае преимущество итерационного алгоритма пропадает.
1. Deepak Tolani. Real-Time Inverse Kinematics Techniques for Anthropomorphic Limbs. [Текст] / Deepak Tolani, Ambarish Goswami, Norman I. Badler - Philadelphia, Pennsylvania 19104-6389.: Computer and Information Science Department, University of Pennsylvania, 2000. 388 с.
2. Norman I. Badler. Real-Time Inverse Kinematics of the Human Arm. [Текст] / Norman I. Badler, Deepak Tolani. - University of Pennsylvania. - 1996. - 11 с.
3. King Sun Fu.Робототехника: пер. с англ. - М.Мир [Текст] /King Sun Fu,
Rafael C. Gonzalez, C. S. George Lee, 1989.-624 с.
4. Шахинпур М. [Mohsen Shahinpoor]. Курс Робототехники: пер. с англ. - М. Мир [Текст] / Шахинпур М. [Mohsen Shahinpoor], 1990. - 527 с.
5. Johan Tegin. Tactile Sensing in Intelligent Robotic Manipulation—A Review [Текст]. / Johan Tegin, Jan Wikander. Sweden: Department of Machine Design, Royal Institute of Technology Stockholm, 2015. - 7 с.
6. DigiTacts System [Текст]. : Брошюра / Pressure Profile Systems, Inc. - Los Angeles, CA 90045 U.S.A. - 2014. - 2 с.
7. Ubiquity AirVision Datasheet [Текст]. : Технический паспорт / Ubiquiti Networks, Inc. - 2013. - 9 с.
8. RoboTouch. Tactile Sensors with Digital Output for the Barrett Hand [Текст]. : Брошюра / Pressure Profile Systems, Inc. - Los Angeles, California 90045 USA. - 1 с.
9. Deepak Tolani. Real-Time Inverse Kinematics Techniques for
Anthropomorphic Limbs [Текст]. / Deepak Tolani, Ambarish Goswami, Norman I. Badler. - Philadelphia, Pennsylvania 19104-6389. : Computer and Information
Science Department [Текст], University of Pennsylvania, 2000, 34 с.
10. Свободная энциклопедия Википедия: Инверсная кинематика
[Электронный ресурс]. - Режим доступа:
https://ru.wikipedia.org/wiki/HHBepcHaM_KHHeMaTHKa, свободный (15.05.2015).
11. The free encyclopedia Wikipedia: Inverse kinematics [Электронный ресурс]. - Режим доступа: https://en.wikipedia.org/wiki/Inverse_kinematics, свободный (15.05.2015).
12. Свободная энциклопедия Википедия: Матрица поворота [Электронный
ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/Мaтpицa_повоpотa, свободный (15.05.2015).
13. Свободная энциклопедия Википедия: Углы Эйлера [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/Углы_Эйлepa, свободный (15.05.2015).
14. The free encyclopedia Wikipedia: Euler angles [Электронный ресурс]. -
Режим доступа: https://en.wikipedia.org/wiki/Euler_angles, свободный
(15.05.2015).
15. Свободная энциклопедия Википедия: Робототехника [Электронный
ресурс] - Режим доступа: https://ru.wikipedia.org/wiki/Робототeхникa,
свободный (15.05.2015).
16. А.С. Климчик. Разработка управляющих программ промышленных роботов [Текст] / А.С. Климчик Р.И. Гомолицкий Ф.В. Фурман К.И. Сёмкин - Минск. Белорусский государственный университет информатики и радиоэлектроники, 2008, 131 с.