
- •Содержание
- •Техническое задание
- •Введение
- •1.2 Разработка схемы алгоритма управления роботом-манипулятором
- •2 Разработка программы управления роботом-манипулятором
- •3 Вычислительный эксперимент
- •Заключение
- •Список литературы
- •Приложение а (обязательное) Текст программы
- •(Справочное) Руководство оператора
- •Приложение в (справочное) Руководство программиста
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Ижевский государственный технический университет
имени М. Т. Калашникова»
Кафедра «Мехатронные системы»
Отчет по курсовой работе
Дисциплина: «ЭВМиВС»
Тема: «Разработка алгоритма и программы управления роботом-манипулятором»
Выполнил:
студент гр.8-05-3
Истомин Е.Н.
Проверил:
старший преподаватель
Лекомцев П.В.
Рецензент:
к.т.н., доцент каф. «МС»
Трефилов С.А.
Ижевск, 2013
Содержание
Техническое задание 3
Введение 4
1 Разработка алгоритма управления роботом-манипулятором 5
1.1 Разработка математического алгоритма решения
обратной задачи кинематики 5
1.2 Разработка схемы алгоритма управления
роботом-манипулятором 9
2 Разработка программы управления роботом-манипулятором 11
3 Вычислительный эксперимент 13
Заключение 15
Список литературы 16
Приложение А. Текст программы 17
Приложение Б. Руководство оператора 21
Приложение В. Руководство программиста 23
Техническое задание
Разработать программу управления трехзвенным роботом-манипулятором.
Объект управления: трехзвенный робот-манипулятор.
Команды управления: ШИМ (широтно-импульсная модуляция) с частотой 50Гц и скважностью от 3% (угол поворота равен 0°) до 12% (угол поворота равен 180°); поворот влево – увеличение скважности ШИМ сигнала; поворот вправо – уменьшение скважности ШИМ сигнала.
Интерфейс управления: оконное приложение персонального компьютера.
Интерфейс передачи данных: “RS-232”.
Язык программирования: “C#”.
Среда разработки: “MS Visual Studio 2010”.
Осуществить: управление роботом-манипулятором путем задания конечной точки положения схвата устройства (решение обратной задачи кинематики); графическое отображение положения робота-манипулятора в пространстве.
Предусмотреть: ручное управление отдельным звеном робота-манипулятора; динамическое отслеживание положений каждого звена робота-манипулятора.
Введение
Целью данной работы является разработка программы управления роботом-манипулятором.
В ходе выполнения данной курсовой работы разработаны: алгоритм и программа управления роботом-манипулятором. Интерфейс разработанной программы представлен в виде оконного приложения, созданного в среде разработки MS Visual Studio 2010 на языке C#.
В данной работе представлены:
– математический алгоритм решения обратной задачи кинематики;
– схема алгоритма диалогового интерфейса программы;
– текст программы управления роботом-манипулятором;
– вычислительный эксперимент.
Выбор языка программирования и среды разработки был обусловлен техническим заданием. C# – язык программирования, сочетающий объектно-ориентированные и контекстно-ориентированные концепции. Используется как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio.
Робот-манипулятор (промышленный робот) – автономное устройство, состоящее из механического манипулятора и системы управления (позволяющей перепрограммировать в широких пределах движения исполнительных органов манипулятора, их количество и траекторию; а также задать другие количественные и качественные параметры конфигурации робота и оснастки), которое применяется для перемещения объектов в пространстве и для выполнения различных производственных процессов.
1 Разработка алгоритма управления
роботом-манипулятором
В данном разделе представлен математический алгоритм решения обратной задачи кинематики и схема алгоритма диалогового интерфейса программы.
1.1 Разработка математического алгоритма
решения обратной задачи кинематики
В робототехнике, есть две основные задачи кинематики:
– прямая задача – это вычисление положения (X, Y, Z) рабочего органа манипулятора по его кинематической схеме и заданной ориентации его звеньев;
– обратная задача – это вычисление углов по заданному положению (X, Y, Z) рабочего органа и опять же известной схеме его кинематики.
Рассмотрим решение обратной задачи на стандартном примере манипулятора с четырьмя степенями свободы (рисунок 1):
– вращение манипулятора в точке “О” относительно оси Z;
– вращение звена OA в точке “O” относительно оси Y;
– вращение звена AB в точке “A” относительно оси Y;
– вращение звена BC в точке “B” относительно оси Y.
Рисунок 1 – Схема робота-манипулятора
Исходя из простой кинематической схемы манипулятора, решение обратной задачи кинематики будет проводиться без использования матриц поворота и сложных преобразований координат, что облегчит вычислительный процесс и обеспечит более наглядное решение.
Из условий задачи
на известно положение схвата
робота-манипулятора
и длины звеньев робота-манипулятора
.
Нам необходимо определить угол между
точкой “С”
и плоскостью XY
относительно начала координат, для
этого перейдем в двумерную систему
координат X’Z’
(рисунок 2).
Рисунок 2 – Робот-манипулятор в двумерной системе координат
Координаты точки
будут следующими:
Угол поворота
манипулятора
вокруг оси
:
Определяем
угол наклона
отрезка
:
Затем необходимо определить положение точки “B” в двумерной системе координат и угол наклона отрезка OB относительно оси X’ (рисунок 3).
Рисунок 3 – Определение координат точки “B”
Воспользуемся теоремой косинусов:
После преобразований получим:
Таким же способом находим координаты точки “А” и угол наклона отрезка OB (рисунок 4).
Рисунок 4 – Определение координат точки “A”
Осталось найти углы наклона звеньев относительно предыдущего звена (рисунок 5):
Рисунок 5 – Определение углов между звеньями