Программное обеспечение управления и визуализация состояния манипулятора UR10
|
Аннотация 2
ВВЕДЕНИЕ 9
1 ОПИСАНИЕ РОБОТА-МАНИПУЛЯТОРА UR10 14
1.1. Механическая конструкция и кинематическая схема 14
1.2. Функциональные и точностные характеристики UR 19
1.3. Описание встроенного человеко-машинного интерфейса 20
1.4. Возможности применения 21
2 ОПИСАНИЕ ПРОТОКОЛОВ ОБМЕНА С РОБОТОМ-МАНИПУЛЯТОРОМ
UR10 23
2.1 Протокол MODBUS 23
2.1.1 Т ипы данных и структура обмена данными 24
2.1.3 Достоинства и недостатки стандарта 34
2.1.4 Доступ к данным робота через Modbus Server-16377 35
2.2 Протокол управления манипулятором 43
3 ОПИСАНИЕ ЗАДАЮЩИХ (УПРАВЛЯЮЩИХ) ОРГАНОВ ТИПА
«ДЖОЙСТИК» 54
3.1 Общее описание задающих (управляющих) органов типа «джойстик» 54
3.1 Передача данных в устройствах человеко-машинного интерфейса 59
(HID-устройства) 59
4 ОПИСАНИЕ ROS 64
Окончание таблицы 9 67
3.1 Файловая система 67
3.2 Вычислительный граф ROS 69
3.3 Навигационный стек ROS 72
5 МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ МАНИПУЛЯЦИОННЫХ СИСТЕМ 74
6 ОПИСАНИЕ ПО УПРАВЛЕНИЯ UR10 82
6.1 Реализация обмена с джойстиком, реализация опроса состояния UR10,
форматы управляющих команд 83
6.2 Управление движением манипулятора UR10 85
6.3 Визуализация состояния манипулятора и задающих органов в табличном
виде 91
7 ОТЛАДКА АЛГОРИТМОВ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО
СИМУЛЯТОРА URSIM 92
7.1 Общее описание, подключение и настройка симулятора URSim 92
7.2 Тестирование осей и кнопок джойстика 97
ЗАКЛЮЧЕНИЕ 101
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 102
ПРИЛОЖЕНИЕ А 104
ВВЕДЕНИЕ 9
1 ОПИСАНИЕ РОБОТА-МАНИПУЛЯТОРА UR10 14
1.1. Механическая конструкция и кинематическая схема 14
1.2. Функциональные и точностные характеристики UR 19
1.3. Описание встроенного человеко-машинного интерфейса 20
1.4. Возможности применения 21
2 ОПИСАНИЕ ПРОТОКОЛОВ ОБМЕНА С РОБОТОМ-МАНИПУЛЯТОРОМ
UR10 23
2.1 Протокол MODBUS 23
2.1.1 Т ипы данных и структура обмена данными 24
2.1.3 Достоинства и недостатки стандарта 34
2.1.4 Доступ к данным робота через Modbus Server-16377 35
2.2 Протокол управления манипулятором 43
3 ОПИСАНИЕ ЗАДАЮЩИХ (УПРАВЛЯЮЩИХ) ОРГАНОВ ТИПА
«ДЖОЙСТИК» 54
3.1 Общее описание задающих (управляющих) органов типа «джойстик» 54
3.1 Передача данных в устройствах человеко-машинного интерфейса 59
(HID-устройства) 59
4 ОПИСАНИЕ ROS 64
Окончание таблицы 9 67
3.1 Файловая система 67
3.2 Вычислительный граф ROS 69
3.3 Навигационный стек ROS 72
5 МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ МАНИПУЛЯЦИОННЫХ СИСТЕМ 74
6 ОПИСАНИЕ ПО УПРАВЛЕНИЯ UR10 82
6.1 Реализация обмена с джойстиком, реализация опроса состояния UR10,
форматы управляющих команд 83
6.2 Управление движением манипулятора UR10 85
6.3 Визуализация состояния манипулятора и задающих органов в табличном
виде 91
7 ОТЛАДКА АЛГОРИТМОВ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО
СИМУЛЯТОРА URSIM 92
7.1 Общее описание, подключение и настройка симулятора URSim 92
7.2 Тестирование осей и кнопок джойстика 97
ЗАКЛЮЧЕНИЕ 101
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 102
ПРИЛОЖЕНИЕ А 104
Манипуляционные системы предназначены для перемещения и изменения ориентации в пространстве различных предметов труда. Автоматизированные манипуляционные системы присутствуют в большинстве автоматизированных технологических систем.
Автоматизированные манипуляционные системы могут быть универсальными и специализированными.
Сегодня основным типом манипуляционных систем роботов являются механические манипуляторы. Они представляют собой пространственные механизмы в виде разомкнутых, реже замкнутых кинематических цепей из звеньев, образующих кинематические пары с одной, реже двумя степенями подвижности с угловым или поступательным относительным движением и системой приводов, обычно раздельных для каждой степени подвижности. На конце манипулятора находится рабочий орган.
Выбор кинематической схемы манипуляционной системы промышленного робота диктуется конкретными условиями и требованиями: необходимостью обеспечить достаточную степень универсальности функционирования робота с учетом операций, которые ему предстоит выполнять, наибольшую простоту конструкции манипуляционной системы, технологичность изготовления, удобство обслуживания и наименьшие затраты на ее изготовление и эксплуатацию.
Наибольшей универсальностью обладают манипуляционные системы промышленных роботов. В качестве примера специализированных манипуляционных систем можно назвать автооператоры, механические руки, различные питатели и др. В качестве предметов манипулирования могут выступать:
- в машиностроении - заготовки, детали, инструменты, технологическая оснастка, емкости с расплавленным металлом и т.д.
- в атомной промышленности - стержни радиоактивного материала, крышки люков, приборы контроля и т.д.
- в исследовательских (информационных) роботах - теле- и видеокамеры, буровые инструменты, космические модули и т.д.
- в роботах для экстремальных условий - специальные устройства для обработки местности, навесные орудия обработки земли, поверхностей зданий и др.
В роботе для выполнения манипуляционных (двигательных) функций используется манипулятор, представляющий собой ряд кинематических звеньев, соединенных друг с другом кинематическими парами.
В манипуляторах роботов обычно используются одноподвижные вращательные или поступательные кинематические пары 5-го класса.
Распространенность в манипуляторах роботов одноподвижных кинематических пар 5-го класса объясняется тем, что такие пары обеспечивают относительное движение образующих их кинематических звеньев относительно друг друга по одной координате, а, следовательно, для перемещения одного звена относительно другого требуется один привод.
Силовое воздействие приводов на звенья манипулятора осуществляется в соответствии с управляющими сигналами, поступающими от системы управления робота, которые в свою очередь формируются в соответствии с заданием на движение схвата, учетом состояния робота и окружающей технологической среды. Таким образом, при подаче сигналов управления на приводы робота, звенья манипулятора и его схват будут совершать определенные перемещения в пространстве.
Для роботов наиболее характерны два типа заданий на перемещение схвата.
1. Перемещение от одной точки позиционирования к другой - позиционное управление. В этом случае задаются координаты начальной, промежуточных и конечной точек позиционирования. Траектория движения схвата и скорость его движения между точками не регламентируется. Число точек позиционирования может быть достаточно большим.
Существенным моментом при позиционном управлении является то, что в каждой точке позиционирования схват должен сделать остановку и, следовательно, скорость схвата в этих точках должна быть равна нулю. Значит, каждую пару соседних точек при планировании движения схвата в этом случае можно рассматривать как начальную и конечную.
Примерами позиционного управления могут быть:
• движение от места хранения заготовки (детали) к приспособлению станка;
• перенос инструмента (например, сверла) от одной точки разметки до другой;
• перемещение сварочных клещей при точечной сварке кузовов автомобилей.
2. Перемещение схвата по заданной в пространстве и времени траектории - контурное управление. В этом случае задается закон движения схвата по координатам x, у и z в виде x = x(t); y = y(t); z = z(t) и, кроме того, - ориентация схвата в каждый момент времени. Ориентацию схвата в пространстве можно задавать с использованием углов Эйлера: у = y(t); q = q(t); j = j(t), где у, q и j - соответственно, углы прецессии, нутации и собственного вращения или с помощью углов между осями координат инерциальной системы координат и осями координат схвата.
Таким образом, при контурном управлении движение схвата задается в общем случае по шести координатам; в некоторых случаях можно обойтись тремя координатами, определяющими положение характерной точки схвата в пространстве, с последующим обеспечением ориентации схвата в конечной точке.
На начальной стадии решение задач обеспечения позиционного и контурного управления имеет определенные различия между собой. Существуют, так называемые, прямая и обратная задачи кинематики манипуляторов.
В завершающей части определение управляющих воздействий сводится к решению уравнений динамики манипулятора и нахождению обобщенных силовых воздействий приводов на звенья манипулятора как функций времени.
При рассмотрении кинематики манипуляторов различают переносные и ориентирующие степени подвижности звеньев.
Переносные (региональные) степени подвижности манипулятора. Переносными (региональными) степенями подвижности называют такие, с помощью которых обеспечивается пространственное перемещение схвата. Для обеспечения пространственного движения схвата в общем случае достаточно трех степеней подвижности, расположенных определенным образом относительно друг друга. Основными минимальными условиями обеспечения пространственного движения в манипуляторе, содержащем пары 5-го класса, являются:
1) наличие двух вращательных пар с не параллельными осями (обычно оси располагаются перпендикулярно друг другу) и третьей вращательной или поступательной пары, обеспечивающей изменение радиуса сферы;
2) наличие двух вращательных пар с параллельными осями и третьей поступательной пары, направляющая которой не перпендикулярна осям вращательных пар (обычно ее принимают параллельной осям вращательных кинематических пар), или третьей вращательной пары, ось вращения которой не параллельна предыдущим кинематическим парам;
3) наличие двух поступательных пар с непараллельными направляющими и третьей вращательной пары, ось которой не перпендикулярна плоскости, образованной направляющими поступательных пар, или третьей поступательной пары, направляющая которой не параллельна названной плоскости (обычно направляющие принимают перпендикулярными друг другу, а ось вращательной пары параллельной плоскости).
Двигательные возможности манипулятора определяются в значительной степени последовательностью применения типов кинематических пар (вращательных и поступательных) и взаимным расположением осей и направляющих этих пар в манипуляторе. Обозначив буквами В и П соответственно вращательную и поступательную кинематические пары, получим восемь возможных сочетаний расположения типов кинематических пар, обеспечивающих три первые переносные степени подвижности манипулятора: ВВВ, ПВВ, ВПВ, ВВП, ППВ, ПВП, ВПП, ППП.
Переносные степени подвижности удобно классифицировать так же по системам координат, которые обеспечивает та или иная комбинация кинематических пар манипулятора. Различают четыре основных системы координат манипуляторов: 1) цилиндрическая с координатами ф, р, h; 2) сферическая с координатами ф, а, р; 3) прямоугольная с координатами x, y, z и 4) ангулярная (угловая) с координатами ф1, ф2, фз.
Ориентирующие (локальные) степени подвижности манипулятора. Если в каждой точке рабочего пространства манипулятора его схват должен иметь вполне определенную ориентацию, то манипулятор необходимо снабдить как минимум тремя ориентирующими степенями подвижности. Хотя в промышленных роботах обычно обходятся одной-двумя ориентирующими степенями подвижности.
Системы управления машиной бывают цифровыми, аналоговыми и смешанными. С одного пульта можно осуществлять управление целыми роботизированными технологическими комплексами. Многие модели современных промышленных роботов оснащены памятью и системой, обеспечивающей их обучение.
Человеко-машинный интерфейс (ЧМИ) - это набор технических средств, предназначенных для обеспечения непосредственного взаимодействия между оператором и оборудования, который и дает возможность оператору управлять оборудованием и контролировать его функционирование. Такие средства могут включать приводимые в действие вручную органы управления, контрольные устройства, дисплеи.
Автоматизированные манипуляционные системы могут быть универсальными и специализированными.
Сегодня основным типом манипуляционных систем роботов являются механические манипуляторы. Они представляют собой пространственные механизмы в виде разомкнутых, реже замкнутых кинематических цепей из звеньев, образующих кинематические пары с одной, реже двумя степенями подвижности с угловым или поступательным относительным движением и системой приводов, обычно раздельных для каждой степени подвижности. На конце манипулятора находится рабочий орган.
Выбор кинематической схемы манипуляционной системы промышленного робота диктуется конкретными условиями и требованиями: необходимостью обеспечить достаточную степень универсальности функционирования робота с учетом операций, которые ему предстоит выполнять, наибольшую простоту конструкции манипуляционной системы, технологичность изготовления, удобство обслуживания и наименьшие затраты на ее изготовление и эксплуатацию.
Наибольшей универсальностью обладают манипуляционные системы промышленных роботов. В качестве примера специализированных манипуляционных систем можно назвать автооператоры, механические руки, различные питатели и др. В качестве предметов манипулирования могут выступать:
- в машиностроении - заготовки, детали, инструменты, технологическая оснастка, емкости с расплавленным металлом и т.д.
- в атомной промышленности - стержни радиоактивного материала, крышки люков, приборы контроля и т.д.
- в исследовательских (информационных) роботах - теле- и видеокамеры, буровые инструменты, космические модули и т.д.
- в роботах для экстремальных условий - специальные устройства для обработки местности, навесные орудия обработки земли, поверхностей зданий и др.
В роботе для выполнения манипуляционных (двигательных) функций используется манипулятор, представляющий собой ряд кинематических звеньев, соединенных друг с другом кинематическими парами.
В манипуляторах роботов обычно используются одноподвижные вращательные или поступательные кинематические пары 5-го класса.
Распространенность в манипуляторах роботов одноподвижных кинематических пар 5-го класса объясняется тем, что такие пары обеспечивают относительное движение образующих их кинематических звеньев относительно друг друга по одной координате, а, следовательно, для перемещения одного звена относительно другого требуется один привод.
Силовое воздействие приводов на звенья манипулятора осуществляется в соответствии с управляющими сигналами, поступающими от системы управления робота, которые в свою очередь формируются в соответствии с заданием на движение схвата, учетом состояния робота и окружающей технологической среды. Таким образом, при подаче сигналов управления на приводы робота, звенья манипулятора и его схват будут совершать определенные перемещения в пространстве.
Для роботов наиболее характерны два типа заданий на перемещение схвата.
1. Перемещение от одной точки позиционирования к другой - позиционное управление. В этом случае задаются координаты начальной, промежуточных и конечной точек позиционирования. Траектория движения схвата и скорость его движения между точками не регламентируется. Число точек позиционирования может быть достаточно большим.
Существенным моментом при позиционном управлении является то, что в каждой точке позиционирования схват должен сделать остановку и, следовательно, скорость схвата в этих точках должна быть равна нулю. Значит, каждую пару соседних точек при планировании движения схвата в этом случае можно рассматривать как начальную и конечную.
Примерами позиционного управления могут быть:
• движение от места хранения заготовки (детали) к приспособлению станка;
• перенос инструмента (например, сверла) от одной точки разметки до другой;
• перемещение сварочных клещей при точечной сварке кузовов автомобилей.
2. Перемещение схвата по заданной в пространстве и времени траектории - контурное управление. В этом случае задается закон движения схвата по координатам x, у и z в виде x = x(t); y = y(t); z = z(t) и, кроме того, - ориентация схвата в каждый момент времени. Ориентацию схвата в пространстве можно задавать с использованием углов Эйлера: у = y(t); q = q(t); j = j(t), где у, q и j - соответственно, углы прецессии, нутации и собственного вращения или с помощью углов между осями координат инерциальной системы координат и осями координат схвата.
Таким образом, при контурном управлении движение схвата задается в общем случае по шести координатам; в некоторых случаях можно обойтись тремя координатами, определяющими положение характерной точки схвата в пространстве, с последующим обеспечением ориентации схвата в конечной точке.
На начальной стадии решение задач обеспечения позиционного и контурного управления имеет определенные различия между собой. Существуют, так называемые, прямая и обратная задачи кинематики манипуляторов.
В завершающей части определение управляющих воздействий сводится к решению уравнений динамики манипулятора и нахождению обобщенных силовых воздействий приводов на звенья манипулятора как функций времени.
При рассмотрении кинематики манипуляторов различают переносные и ориентирующие степени подвижности звеньев.
Переносные (региональные) степени подвижности манипулятора. Переносными (региональными) степенями подвижности называют такие, с помощью которых обеспечивается пространственное перемещение схвата. Для обеспечения пространственного движения схвата в общем случае достаточно трех степеней подвижности, расположенных определенным образом относительно друг друга. Основными минимальными условиями обеспечения пространственного движения в манипуляторе, содержащем пары 5-го класса, являются:
1) наличие двух вращательных пар с не параллельными осями (обычно оси располагаются перпендикулярно друг другу) и третьей вращательной или поступательной пары, обеспечивающей изменение радиуса сферы;
2) наличие двух вращательных пар с параллельными осями и третьей поступательной пары, направляющая которой не перпендикулярна осям вращательных пар (обычно ее принимают параллельной осям вращательных кинематических пар), или третьей вращательной пары, ось вращения которой не параллельна предыдущим кинематическим парам;
3) наличие двух поступательных пар с непараллельными направляющими и третьей вращательной пары, ось которой не перпендикулярна плоскости, образованной направляющими поступательных пар, или третьей поступательной пары, направляющая которой не параллельна названной плоскости (обычно направляющие принимают перпендикулярными друг другу, а ось вращательной пары параллельной плоскости).
Двигательные возможности манипулятора определяются в значительной степени последовательностью применения типов кинематических пар (вращательных и поступательных) и взаимным расположением осей и направляющих этих пар в манипуляторе. Обозначив буквами В и П соответственно вращательную и поступательную кинематические пары, получим восемь возможных сочетаний расположения типов кинематических пар, обеспечивающих три первые переносные степени подвижности манипулятора: ВВВ, ПВВ, ВПВ, ВВП, ППВ, ПВП, ВПП, ППП.
Переносные степени подвижности удобно классифицировать так же по системам координат, которые обеспечивает та или иная комбинация кинематических пар манипулятора. Различают четыре основных системы координат манипуляторов: 1) цилиндрическая с координатами ф, р, h; 2) сферическая с координатами ф, а, р; 3) прямоугольная с координатами x, y, z и 4) ангулярная (угловая) с координатами ф1, ф2, фз.
Ориентирующие (локальные) степени подвижности манипулятора. Если в каждой точке рабочего пространства манипулятора его схват должен иметь вполне определенную ориентацию, то манипулятор необходимо снабдить как минимум тремя ориентирующими степенями подвижности. Хотя в промышленных роботах обычно обходятся одной-двумя ориентирующими степенями подвижности.
Системы управления машиной бывают цифровыми, аналоговыми и смешанными. С одного пульта можно осуществлять управление целыми роботизированными технологическими комплексами. Многие модели современных промышленных роботов оснащены памятью и системой, обеспечивающей их обучение.
Человеко-машинный интерфейс (ЧМИ) - это набор технических средств, предназначенных для обеспечения непосредственного взаимодействия между оператором и оборудования, который и дает возможность оператору управлять оборудованием и контролировать его функционирование. Такие средства могут включать приводимые в действие вручную органы управления, контрольные устройства, дисплеи.
В ходе написания работы было разработано программное обеспечение управления и визуализации состояния манипулятора UR 10. Программное обеспечение реализовано на языке С++ с использованием надстройки ROS над операционной системой Ubuntu.
Разрабатываемое программное обеспечение реализует следующие функциональные требования:
- обеспечивает обмен данными (информационными пакетами) с блоком управления манипулятором по протоколам MODBUS или «Universal Robots». Информационные пакеты могут быть следующих категорий:
а) информация о положении и характере движения звеньев манипулятора;
б) информация о состоянии блока управления;
в) командные пакеты (управление манипулятором);
- обеспечивает прием управляющих воздействий оператора на задающие органы типа «джойстик»;
- обеспечивает управление движением манипулятора в «ручном» режиме (каждой степенью свободы) по командам от программного обеспечения;
- По текущему вектору состояния манипулятора (вектору обобщенных координат) обеспечивает вычисление координат положения и ориентации точки схвата манипулятора (решение прямой кинематической задачи) в базовой (связанной с основанием) системе координат;
- обеспечивает визуализацию состояния манипулятора и органов управления в текстовом (табличном виде).
Отладка алгоритмов выполнялась с использованием программного симулятора URSim, финальные версии алгоритмов - на действующем образце манипулятора UR10.
Разрабатываемое программное обеспечение реализует следующие функциональные требования:
- обеспечивает обмен данными (информационными пакетами) с блоком управления манипулятором по протоколам MODBUS или «Universal Robots». Информационные пакеты могут быть следующих категорий:
а) информация о положении и характере движения звеньев манипулятора;
б) информация о состоянии блока управления;
в) командные пакеты (управление манипулятором);
- обеспечивает прием управляющих воздействий оператора на задающие органы типа «джойстик»;
- обеспечивает управление движением манипулятора в «ручном» режиме (каждой степенью свободы) по командам от программного обеспечения;
- По текущему вектору состояния манипулятора (вектору обобщенных координат) обеспечивает вычисление координат положения и ориентации точки схвата манипулятора (решение прямой кинематической задачи) в базовой (связанной с основанием) системе координат;
- обеспечивает визуализацию состояния манипулятора и органов управления в текстовом (табличном виде).
Отладка алгоритмов выполнялась с использованием программного симулятора URSim, финальные версии алгоритмов - на действующем образце манипулятора UR10.





