Материалдар / Гибкие автоматизированные системы и робототехника
МИНИСТРЛІКПЕН КЕЛІСІЛГЕН КУРСҚА ҚАТЫСЫП, АТТЕСТАЦИЯҒА ЖАРАМДЫ СЕРТИФИКАТ АЛЫҢЫЗ!
Сертификат Аттестацияға 100% жарамды
ТОЛЫҚ АҚПАРАТ АЛУ

Гибкие автоматизированные системы и робототехника

Материал туралы қысқаша түсінік
Мұғалімдерге
Авторы:
Автор материалды ақылы түрде жариялады. Сатылымнан түскен қаражат авторға автоматты түрде аударылады. Толығырақ
11 Қаңтар 2019
495
0 рет жүктелген
770 ₸
Бүгін алсаңыз
+39 бонус
беріледі
Бұл не?
Бүгін алсаңыз +39 бонус беріледі Бұл не?
Тегін турнир Мұғалімдер мен Тәрбиешілерге
Дипломдар мен сертификаттарды алып үлгеріңіз!
Бұл бетте материалдың қысқаша нұсқасы ұсынылған. Материалдың толық нұсқасын жүктеп алып, көруге болады
logo

Материалдың толық нұсқасын
жүктеп алып көруге болады

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)


Кафедра комплексной информационной безопасности

электронно-вычислительных систем (КИБЭВС)

Ю.О.Лобода, Г.С.Маликова


Гибкие автоматизированные системы и робототехника

Методическое пособие по выполнению лабораторных работ













Томск, 2014

Лабораторная работа №1. Ознакомление со средами программирования манипуляторов на базе Lego Mindstorms NXT 2.0, EV3 и Arduino

1 Цель работы

Сборка манипуляторов, ознакомление с их техническими характеристиками и средами программирования.


2 Лабораторное задание

1. Собрать манипуляторы на базе Lego Mindstorms NXT 2.0 и EV3.

2. Ознакомиться со средой программирования Lego Mindstorms NXT 2.0, EV3 и Arduino.

3. Продемонстрировать движение каждого сервомотора по отдельности.


3 Предмет и содержание работы

Объектом исследования являются модели роботов манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino. Работа заключается в том, чтобы ознакомиться со средой программирования манипуляторов и их конструктивными особенностями.

4 Описание оборудования, технических средств и инструментов

Манипулятор Robotic Arm 6 dof оборудован шестью сервомоторами. Роботизированная рука представляет собой автоматизированное механическое устройство. Качественная конструкция обеспечивает точное и повторяемое позиционирование манипулятора. Управление манипулятором обеспечивает микроконтроллер atmega328.

Внешний вид руки – манипулятора представлен на рисунке 4.1:


Рисунок 4.1 – Рука-манипулятор


Рассмотрим сервомоторы манипулятора Robotic Arm 6 dof.

Манипулятор имеет шесть сервомоторов типа RB – 796MG, RB – 421MG.

Сервомотор RB – 796MG (рисунок 4.2) оснащен металлическими зубчиками, предоставляет надежное и стабильное функционирование. Имеет низкие электромагнитные помехи, малый объем, высокую точность позиционирования [1].

Технические характеристики:

  • вес 58 гр;

  • размеры 40.2*20.2*43.2 мм;

  • крутящий момент: 9.0 кг·см при 4.8 В; 10 кг·см при 6 В; 12.0 кг·см при 7.2 В ;

  • скорость поворота вала на 60 градусов: 0.17 с при 4.8 В;

0.25 с при 6 В;

  • напряжение питания: 4.8 В или 7.2 В.

Рисунок 4.2 - Сервомотор RB – 796MG

В состав руки манипулятора Robotic Arm 6 dof также входит сервомотор RB – 421MG. Внешний вид представлен на рисунке 4.3.

Технические характеристики:

  • вес 42 гр;

  • размеры 40.2*20.2*43.2 мм;

  • крутящий момент: 2.9 кг·см при 4.8 В; 4.6 кг·см при 6 В;

  • скорость поворота вала на 60 градусов: 0.17 с при 4.8 В;

0.4 с при 6В;

  • напряжение питания: 4.8 В или 6 В.

Рисунок 4.3 - Сервомотор RB – 421MG

В робототехнический набор NXT 2.0 входят:

  • модуль NXT;

  • датчик нажатия (позволяет роботу чувствовать и реагировать на внешние раздражители);

  • датчик аудио (позволяет роботу слышать и реагировать на звук);

  • датчик света (позволяет роботу обнаруживать свет и цвет);

  • три интерактивных сервомотора (гарантирует точность движений робота);

  • ультразвуковой датчик (позволяет роботу видеть, измерять расстояние до объекта и реагировать на движение).

Три сервомотора дают роботу возможность двигаться. В каждый мотор NXT 2.0 (рисунок 4.4) встроен датчик вращения. Он позволяет точнее вести управление движениями робота. Датчик вращения измеряет вращение мотора в градусах или поворотах. Одно вращение состоит из 360 градусов, поэтому, если установить мотор на вращение 180 градусов, в результате ось сделает пол оборота. На рисунке 4.5 представлена модель робота манипулятора на базе NXT.

Рисунок 4.4 – Сервомотор NXT 2.0


Рисунок 4.5 - Робот манипулятор на базе NXT 2.0

Следующим объектом исследования является Lego Mindstorms EV3, который содержит все элементы необходимые для создания и управления тысячами роботов Lego. В робототехнический набор входят:

  • модуль EV3;

  • три сервомотора;

  • датчик касания;

  • датчик цвета;

  • инфракрасный датчик.

В набор могут входить и другие датчики для реализации специальных заданий.

Большой мотор (рисунок 4.6) содержит встроенный датчик вращения с разрешением 1 градус для точного контроля. Большой мотор оптимизирован для выполнения роли приводной платформы в роботах. Максимальные обороты составляют до 160 – 170 оборотов/мин.

Рисунок 4.6 – Большой мотор

Средний мотор (рисунок 4.7) также имеет встроенный датчик вращения (с разрешением 1 градус), но он меньше и легче, чем большой мотор. Это означает, что он способен реагировать быстрее, чем большой мотор. Максимальные обороты составляют до 240 – 250 оборотов/мин. Средний серво мотор для роботов LEGO Mindstorms EV3 лучше всего подходит для выполнения задач, при которых размер робота, быстрота отклика и его скорость важнее грузоподъемности. На рисунке 4.8 представлена модель робота манипулятора на базе EV3.

Рисунок 4.7 – Средний мотор

Рисунок 4.8 - Робот манипулятор на базе EV3

При выполнении лабораторной работы используется программное обеспечение Lego Mindstorms NXT 2.0. На рисунке 4.9 представлен интерфейс пользователя программы.

Рисунок 4.9 – Интерфейс пользователя

1. Окно «Робо-центр» содержит инструкции по сборке и программированию четырех моделей роботов.

2. Мой портал. С этой вкладки можно перейти на страницу www. MINDSTORMS.com, чтобы познакомиться с новыми моделями, аудиоэффектами, изображениями и подсказками.

3. Панель инструментов.

4. Рабочая область – это часть экрана, используемая для программирования. В рабочей области можно располагать иконки-блоки с палитры и размещать блоки вдоль оси последовательности действий.

5. Малое окно справки. Используется для вызова подсказок и справочной информации о функции в процессе сеанса работы.

6. Схема рабочей области. Используется для получения сведений о программе.

7. Палитра программирования содержит все иконки-блоки, которые необходимы для создания программ.

8. Панель настроек позволяет настроить блок для требуемого действия.

9. Контроллер осуществляет управление NXT. Он позволяет передавать программы и файлы, запускать и останавливать программы.

10. Окно NXT отображает информацию о памяти NXT и параметрах связи.

Палитра программирования содержит все блоки для программирования, которые понадобятся для создания программ. Каждый блок задает возможные действия или реакцию робота. Завершив создание программы, загрузите ее в NXT и запустите. Перед загрузкой программы не забудьте включить NXT и подключиться к нему.

Для выполнения лабораторной работы достаточно использовать три блока из основной палитры программирования: блок движения, блок зацикливания, блок паузы. Блок движения управляет моторами робота и синхронизирует его движения. Блок паузы позволяет роботу оценить окружающую обстановку на наличие определенного условия до продолжения выполнения программы. Блок зацикливания используется, чтобы робот повторял какое-либо действие.

Каждый программный блок оснащен панелью настроек, позволяющей регулировать параметры блока для выполнения действий по вашему желанию. При активации блока в рабочей области, панель настроек для него появляется в нижней части экрана. Путем изменения параметров на каждой из панелей настроек можно изменять поведение каждого блока. Например, для того, чтобы робот двигался быстрее необходимо изменить параметр «Мощность» на панели настроек блока «Движение».

Пять кнопок контроллера служат для взаимодействия компьютера и NXT. Верхняя левая кнопка контроллера дает доступ к информации о ресурсе памяти NXT и параметрах связи. Нижняя левая кнопка «Загрузить» позволяет загрузить программу в NXT. Центральная кнопка «Загрузить и выполнить» загружает программу в NXT и запускает программу на выполнение. Правая верхняя кнопка «Загрузить и выполнить выбранное» загружает и запускает на выполнение только часть кода программы (например, отдельный блок или несколько блоков). Правая нижняя кнопка Стоп прекращает выполнение программы.

Более подробная информация указана в работе [2].

На рисунке 4.10 представлен интерфейс пользователя программного обеспечения Lego Mindstorms EV3.

Рисунок 4.10 - Интерфейс пользователя

1. Область программирования.

2. Палитра программирования содержит конструктивные блоки для программы.

3. Страница аппаратных средств.

4. Редактор контента – электронная тетрадь, встроенная в программное обеспечение.

5. Панель инструментов программирования содержит основные элементы для работы с программой.

Все программные блоки, которые используются для управления роботом, находятся на палитрах программирования в нижней части программного интерфейса под областью программирования. Программные блоки подразделяются на категории в зависимости от типа и характера, что облегчает поиск нужного блока. Для выполнения лабораторной работы достаточно использовать блоки действия «Средний мотор», «Большой мотор» и блоки-операторы «Начало», «Ожидание» и «Цикл».

Страница аппаратных средств предоставляет разнообразную информацию о модуле EV3. Вкладка «Информация о модуле», представленная на рисунке 4.11, отображает информацию о модуле, который подключен в данный момент, такую как название модуля EV3, уровень зарядки батареи, версию встроенного ПО, тип подключения и панель памяти.

Рисунок 4.11 – Вкладка «Информация о модуле»

Вкладка «Представление порта», представленная на рисунке 4.12, отображает информацию о датчиках и моторах, подключенных к модулю EV3. При подключении модуля к компьютеру эта информация автоматически идентифицируется, и можно видеть текущие значения. Если же модуль не подключен, можно настроить вкладку вручную, выбрав порт, а затем соответствующий датчик или мотор.

Рисунок 4.12 – Вкладка «Представление порта»

Вкладка «Доступные модули», представленная на рисунке 4.13, показывает модули EV3, которые в данный момент доступны для подключения. Вкладка предоставляет возможность отключение существующего подключения модуля EV3, подключения необходимого устройства и выбора типа связи.

Рисунок 4.13 – Вкладка «Доступные модули»

Кнопки контроллера страницы аппаратных средств, представленные на рисунке 4.14, выполняют функции:

1. Загрузить – загружает программу в модуль EV3.

2. Загрузить и запустить – загружает программу в модуль EV3 и запускает ее.

3. Загрузить и запустить выбранное – загружает выделенные блоки в модуль и запускает их.

Рисунок 4.14 - Контроллер страницы аппаратных средств

Более подробная информация указана в работе [3].

На рисунке 4.15 представлен интерфейс пользователя программного обеспечения Arduino.

Рисунок 4.15 – Интерфейс пользователя Arduino

1. Текстовый редактор программного кода.

2. Область сообщений.

3. Окно вывода текста (консоли).

4. Кнопки панели инструментов (слева направо):

4.1 проверка программного кода на ошибки, компиляция;

4.2 загрузка скетча в Arduino;

4.3 создание нового скетча;

4.4 открытие меню доступа ко всем скетчам в блокноте;

4.5 сохранение скетча;

4.6 открытие мониторинга последовательной шины.

5. Панель инструментов.

Для загрузки программ среда разработки подключается к аппаратной части Arduino. Программа, написанная в среде Arduino, называется скетч. Скетч пишется в текстовом редакторе, имеющем инструменты вырезки/вставки, поиска/замены текста. Во время сохранения и экспорта проекта в области сообщений появляются пояснения, также могут отображаться возникшие ошибки. Окно вывода текста (консоль) показывает сообщения Arduino, включающие полные отчеты об ошибках и другую информацию.

Средой Arduino используется принцип блокнота: стандартное место для хранения программ (скетчей). Скетчи из блокнота открываются через меню Файл > Папка со скетчами или кнопкой Открыть на панели инструментов.

Среда разработки позволяет работать с несколькими файлами скетчей (каждый открывается в отдельной закладке). Файлы кода могут быть стандартными Arduino (без расширения), файлами С (расширение *.с), файлами С++ (*.срр) или заголовочными файлами (.h).

Перед загрузкой скетча требуется задать необходимые параметры в меню Сервис > Плата и Сервис > Последовательный порт. В ОС Windows порты могут обозначаться как COM1 или COM2 (для платы последовательной шины) или COM3, COM5, COM7 и выше (для платы USB). Определение порта USB производится в поле Последовательной шины USB Диспетчера устройств Windows. В ОС Linux порты могут обозначаться как /dev/ttyUSB0, /dev/ttyUSB1. После выбора порта и платформы необходимо нажать кнопку загрузки на панели инструментов или выбрать пункт меню Скетч>Проверить/Компилировать. Современные платформы Arduino перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса будут мигать светодиоды RX и TX.

Среда разработки Arduino выведет сообщение об окончании загрузки или об ошибках. При загрузке скетча используется Загрузчик Arduino, небольшая программа, загружаемая в микроконтроллер на плате. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Загрузчик активен в течении нескольких секунд при перезагрузке платформы и при загрузке любого из скетчей в микроконтроллер. Работа Загрузчика распознается по миганию светодиода (13 пин).

Библиотеки добавляют дополнительную функциональность скетчам, например, при работе с аппаратной частью или при обработке данных. Для использования библиотеки необходимо выбрать меню Скетч>Импортировать библиотеку. Одна или несколько директив #include будут размещены в начале кода скетча с последующей компиляцией библиотек и вместе со скетчем. Загрузка библиотек требует дополнительного места в памяти Arduino. Неиспользуемые библиотеки можно удалить из скетча убрав директиву #include. На Arduino.cc имеется список библиотек. Некоторые библиотеки включены в среду разработки Arduino. Другие могут быть загружены с различных ресурсов. Для выполнения лабораторных работ достаточно использовать библиотеку Servo, предоставляющую набор функций для управления сервоприводами. 

Формат команды библиотеки Servo:

servo. функция (значение управляемого параметра). Управление осуществляется следующими функциями:

  • attach() - присоединяет переменную к определенному пину. Синтаксис: servo.attach(pin), pin – номер вывода, к которому присоединяется сервопривод. Пример:

#include <Servo.h>

Servo myservo;

void setup()

{

myservo.attach(9);

}

void loop() {}

  • write() - передает команду сервоприводу принять некоторое значение параметра. Для стандартного сервопривода это угол поворота. Синтаксис: servo.write(angle), angle – угол поворота сервопривода. Пример:

#include <Servo.h>

Servo myservo;

void setup()

{

myservo.attach(9);

myservo.write(90); // устанавливает сервопривод в среднее положение;

}

void loop() {}

  • writeMicroseconds - передает значение для управления сервоприводом в микросекундах, устанавливая угол поворота на это значение. Синтаксис: servo.writeMicroseconds(uS), uS – значение в микросекундах. Пример:

#include <Servo.h>

Servo myservo;

void setup()

{

myservo.attach(9);

myservo.writeMicroseconds(1500); // устанавливает привод в среднее положение;

}

void loop() {}

  • read() – считывает текущее значение угла сервопривода. Синтаксис: servo.read().

  • attached() – проверка подключения переменной к выводу. Синтаксис: servo.attached(). Возвращаемое значение: true – если подключена, false – в обратном случае.

  • detach() – отсоединяет переменную от пина, к которому она была присоединена. Синтаксис: servo.detach(pin).

Пример использования библиотеки Servo.

#include <Servo.h>

 Servo myservo;

 void setup()

{

myservo.attach(9);

}

 void loop()

{

myservo.write(90); // устанавливаем сервопривод в серединное положение;

delay(500);

myservo.write(0); // устанавливаем сервопривод в крайнее левое положение;

delay(500);

myservo.write(180); // устанавливаем сервопривод в крайнее правое положение;

delay(500);

}

Подключение сервопривода к плате осуществляется с помощью шлейфа из трех проводов: питание, земля и сигнальный. Красный провод - питание подключается к выводу +5V на плате Arduino. Коричневый или черный провод - земля подключается к GND выводу Arduino. Желтый или белый провод подключается к цифровому выводу котроллера Arduino. При подключении нескольких сервоприводов к плате необходимо воспользоваться платой-расширителем портов и подключить дополнительный источник питания. Убедитесь, что привод и контроллер подключены к общей земле. Более подробную информация указана в работе [4].


5 Методические указания по ходу выполнения работы

На первом этапе необходимо собрать манипуляторы на базе Lego Mindstorms NXT 2.0, EV3 согласно литературе [5] и [6] соответственно. На втором этапе необходимо запустить среду программирования Lego Mindstorms NXT 2.0. Используя литературу [2] изучить интерфейс пользователя и палитру инструментов. Запустить среду программирования Lego Mindstorms EV3. Используя литературу [3] изучить интерфейс пользователя и палитру инструментов. Запустить среду программирования Arduino. Используя литературу [4] изучить интерфейс пользователя Arduino, технические и физические характеристики Arduino Uno, способ подключения сервоприводов к плате. Ознакомиться с библиотеками Arduino. Изучить функции библиотеки Servo. На третьем этапе для демонстрации движения сервомотора необходимо включить робота манипулятора на базе NXT. Переместить на рабочую область блок движения с основной палитры. Задать параметры настройки:

  • выбрать порт, к которому подключен управляемый сервомотор;

  • указать направление вращения мотора: вперед, назад или его остановка, при выборе команды «стоп» настройки сервомоторов сбрасываются;

  • при управлении двумя сервомоторами, появится настройка действия манипулятора: захват и подъем рабочего органа, захват и поворот, подъем и поворот рабочего органа манипулятора;

  • выставить уровень мощности сервомотора;

  • указать продолжительность вращения мотора в течение неограниченного времени, определенного количества секунд, оборотов или градусов поворота вала;

  • выбрать действие моторов после выключения: катиться или тормозить.

Нажать центральную кнопку «Загрузить и выполнить». Включить манипулятор на базе EV3. Переместить блок действия с палитры программирования на рабочую область. Задать параметры настройки:

  • выбрать порт, к которому подключен управляемый сервомотор;

  • выставить мощность сервомотора;

  • указать продолжительность вращения мотора на заданное число секунд, оборотов или градусов;

  • выбрать действие моторов после выключения: катиться или тормозить.

Нажать кнопку «Загрузить и запустить». Запустить среду программирования Arduino. Написать программу для движения одного сервомотора. Подключить плату Arduino Uno к ПК с помощью USB кабеля. Соединить сигнальный провод сервомотора с цифровым выходом платы. Подключить провод-питание к выводу 5В на плате. Подключить провод-земля к выводу заземления GND на плате. Нажать кнопку «Проверить». Нажать кнопку «Загрузить».

6 Требования к содержанию и оформлению отчета

1. Название и цель работы.

2. Скриншоты программ.

3. Ответы на контрольные вопросы.


7 Контрольные вопросы

1. Перечислите блоки основной палитры программирования NXT манипулятора?

2. Назовите функции блока движения и параметры настройки?

3. Назовите параметры настройки блока действия сервомотора EV3 манипулятора?

4. Перечислите функции библиотеки Servo?

5. Каким образом осуществляется подключение сервомотора к плате?

6. Назовите технические характеристики сервомоторов руки манипулятора Robotic Arm 6 dof?

7. Назовите отличия конструктивных наборов Lego Mindstorms NXT 2.0 и EV3?

Список литературы

RB – 796 MG. [Электронный ресурс]. – Режим доступа: http://ru.aliexpress.com/item/RB-796MG-servo-motor/463046853.html (дата обращения 23.05.2014)

2 Руководство пользователя NXT 2.0. [Электронный ресурс]. – Режим доступа: http://www.mindstorms.ru/img/file/8547_Mindstorms.pdf (дата обращения 18.01.2014)

3 Руководство пользователя EV3. [Электронный ресурс]. – Режим доступа: http://www.lego.com/ru-ru/mindstorms/downloads/software/ddsoftwaredownload/ (дата обращения 18.01.2014)

Arduino. [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/Arduino (дата обращения 16.02.2014)

5 Коллектив Lego Mindstorms. Инструкция по сборке руки манипулятора на базе Lego Mindstorms NXT 2.0/ Коллектив Lego Mindstorms. - 2010. – 84с.

6 Коллектив Lego Mindstorms. Инструкция по сборке руки манипулятора на базе Lego Mindstorms EV3/ Коллектив Lego Mindstorms. – 2010. – 104с.



Лабораторная работа №2. Оценка быстродействия движения манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino

1 Цель работы

Оценка быстродействия движения манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino.

2 Лабораторное задание

1. Написать программу по перемещению рабочего органа в горизонтальной плоскости на расстояние, соответствующее вашему варианту.

2. Определить время выполнения операции при минимальной, средней и максимальной мощности.

3. Вычислить абсолютную и относительную погрешность. Провести сравнительный анализ манипуляторов на базе Lego Mindstorms NXT 2.0, EV3 и Arduino.


3 Предмет и содержание работы

Объектом исследования являются манипуляторы на базе Lego Mindstorms NXT2.0, EV3 и Arduino. Работа заключается в том, чтобы оценить быстродействие сервомоторов манипуляторов. Для выполнения лабораторной работы необходимо:

  • изучить принцип действия работы сервомоторов;

  • изучить функциональную схему робота и ознакомиться с конструктивной схемой манипулятора промышленного робота.

Манипуляторы базируются на сервомоторах. Сервомотор – это регулируемый редукторный электродвигатель. Он состоит из приводного механизма с электродвигателем постоянного тока, платы управления и потенциометра, который обеспечивает обратную связь. Электродвигатель постоянного тока необходим для преобразования электричества в механический поворот. Однако очень часто бывает, что скорость вращения двигателя бывает очень большой для практического использования. Для понижения скорости используется редуктор: механизм из шестерней, передающий и преобразующий крутящий момент. Включая и выключая электродвигатель, можно вращать выходной вал — конечную шестерню сервомотора. Для того чтобы положение контролировалось устройством, необходим датчик обратной связи, который будет преобразовывать угол поворота обратно в электрический сигнал. Для этого часто используется потенциометр. При повороте бегунка потенциометра происходит изменение его сопротивления, пропорциональное углу поворота. Таким образом, с его помощью можно установить текущее положение механизма. Кроме электродвигателя, редуктора и потенциометра в сервомоторе имеется плата управления, которая отвечает за приём внешнего параметра, считывание значений с потенциометра, их сравнение, включение/выключение двигателя, поддержание отрицательной обратной связи.

Быстродействие манипулятора определяется линейной скоростью перемещения его рабочего органа и может быть разбито на три диапазона:

  • малое – до 0,5 м/с;

  • среднее – от 0,5 м/с до 1-2 м/с;

  • высокое – при больших скоростях.

Наибольшая скорость манипуляторов современных роботов достигает 10 м/с и выше. Для значительной части областей применения роботов этот параметр очень важен, так как предопределяет их производительность. Основная трудность при повышении быстродействия связана с известным противоречием между быстродействием и точностью [1].


4 Краткая теория



Функциональная схема робота, представленная на рисунке 4.1, состоит из манипуляционной системы (один или несколько манипуляторов) и системы передвижения, информационно-управляющей системы, сенсорной, дающей информацию о внешней среде и системы связи с оператором, а также с другими взаимодействующими с роботом машинами. Исполнительные системы в свою очередь состоят из механической системы и системы приводов. Механическая система манипулятора - это обычно кинематическая цепь, состоящая из подвижных звеньев с угловым или поступательным перемещением.


Рисунок 4.1 - Функциональная схема робота

Манипулятор промышленного робота состоит из неподвижного звена, колонны манипулятора, каретки, руки манипулятора и звеньев, аналогичных руке человека, таких как кисть и захватные устройства. Движение колонны, каретки и руки, являются переносными обеспечивающими перемещения рабочего органа или объекта манипулирования в заданное место рабочей зоны промышленного робота. Перемещение кисти и захватного устройства являются ориентирующими движениями, необходимыми для ориентации рабочего органа или объекта манипулирования. Отдельные движения элементов захватного устройства, относятся к внутренним движениям, поскольку не изменяют ни положения рабочего органа в рабочей зоне, ни его ориентации. На рисунке 4.2 представлена конструктивная схема манипулятора промышленного робота.



1 – неподвижное звено; 2 – колонна манипулятора; 3 – каретка; 4 – рука манипулятора; 5, 6 – звенья, аналогичные руке человека; I–VI – направления движения звеньев.

Рисунок 4.2 - Общий вид манипулятора промышленного робота

5 Описание оборудования, технических средств и инструментов

При выполнении лабораторной работы необходимо использовать секундомер, линейку длиной 50см, транспортир, циркуль, манипуляторы на базе Lego Mindstorms NXT2.0, EV3 и Arduino.

6 Методические указания по выполнению лабораторной работы

Изначально необходимо включить робота. Затем изучить основные функции среды программирования Lego Mindstorms NXT2.0, Lego Mindstorms EV3 и Arduino при работе с сервомоторами. Написать программу для переноса рабочего органа в горизонтальной плоскости на расстояние, соответствующее вашему варианту. Выставить минимальную мощность сервомотора, соответствующую 20%. Определить время переноса рабочего органа манипулятора и провести не менее десяти опытов. Выставить среднюю мощность соответствующую 50%, определить время переноса, провести не менее десяти опытов. Выставить максимальную мощность, соответствующую 85%, определить время переноса, провести не менее десяти опытов. Определить абсолютную и относительную погрешность для каждой выборки при фиксированной мощности. Для этого рассчитаем среднее арифметическое значение времени выполнения одного измерения при фиксированной мощности сервомотора по формуле:

Xср = , (6.1)

где Xi - время выполнения операции одного измерения, с;

n - число измерений.

Найдем погрешность для каждого измерения по формуле:

Xi= Xср-Xi . (6.2)

Вычислим квадраты погрешностей для отдельных измерений (∆Xi)2 и определим среднеквадратичную ошибку среднего арифметического по формуле:

SXср = . (6.3)

Если количество измерений меньше 30, то для расчета абсолютной ошибки вводится специальный коэффициент, зависящий от надежности и числа измерений, называемый коэффициентом Стьюдента. Определим коэффициент Стьюдента t для заданной надежности P=0.95 и числа произведенных измерений n=10 и найдем абсолютную ошибку по формуле:

Xср=SXср*t. (6.4)

Оценим относительную погрешность результата измерения по формуле:

ε= . (6.5)

После расчета абсолютной и относительной погрешности среднего значения времени выполнения одного измерения необходимо построить график зависимости быстродействия манипуляторов от мощности сервомоторов. Результаты измерений занести в таблицу 6.1.









Таблица 6.1- Результаты измерений

Номер опыта


Режим работы, %

Время выполнения операции, с

Абсолютная погрешность, с

Относительная погрешность, %













7 Требования к содержанию и оформлению отчета

1. Название и цель работы.

2. Скриншоты программ.

3. Результаты экспериментов для трех режимов работы сервомоторов.

4. Сравнительный анализ результатов.

5. Ответы на контрольные вопросы.

8 Контрольные вопросы

1. Что такое манипулятор. Применение манипуляторов?

2. Понятие сервопривода. Принцип действия сервоприводов?

3. Характеристики сервоприводов?

4. Отличие аналоговых и цифровых сервоприводов?

5. В чем заключается отличие робототехнических наборов на базе NXT 2.0, EV3?

4. Что такое Arduino. Как осуществляется управление сервомоторами Arduino?

5. Перечислите основные версии плат Arduino и дайте им краткую характеристику?

6. Опишите внешний вид платы Arduino Uno? Дайте физическую характеристику?

7. Перечислите библиотеки Arduino. Дайте краткую характеристику функциям, используемым библиотекой Servo?

8. Каким образом осуществляется подключение сервоприводов к плате?

9. Сколько степеней подвижности имеют манипуляторы на базе NXT 2.0, EV3 и Arduino?

10. Какой манипулятор является наиболее и наименее быстродействующим?

9 Варианты задания

1. Прохождение расстояния длиной 0.2 м по рабочей области манипуляторов.

2. Прохождение расстояния длиной 0.4 м по рабочей области манипуляторов.

3. Прохождение расстояния длиной 0.5 м по рабочей области манипуляторов.

Список литературы

1 Юревич, Е. И. Основы робототехники/ Е.И.Юревич. – СПб.: БХВ-Петербург, 2010. - 368с.

2 Программирование микроконтроллерных плат Arduino/Freeduino.— СПб.БХВ – Петербург, 2013. – 256с.

3 Руководство пользователя NXT 2.0. [Электронный ресурс]. – Режим доступа: http://www.mindstorms.ru/img/file/8547_Mindstorms.pdf (дата обращения 18.01.2014)

4 Руководство пользователя EV3. [Электронный ресурс]. – Режим доступа: http://www.lego.com/ru-ru/mindstorms/downloads/software/ddsoftwaredownload/ (дата обращения 18.01.2014)

Arduino. [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/Arduino (дата обращения 16.02.2014)



Лабораторная работа №3. Определение максимальной грузоподъемности манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino

1 Цель работы

Определение максимальной грузоподъемности манипуляторов при фиксированной мощности сервомоторов.



2 Лабораторное задание

1. Написать программу для трех моделей роботов манипуляторов по поднятию груза в вертикальной плоскости на определенную высоту;

2. Определить максимальную грузоподъемность манипуляторов;

3. Провести сравнительный анализ манипуляторов на базе Lego Mindstorms NXT 2.0, EV3 и Arduino.


3 Предмет и содержание работы

Объектом исследования являются модели роботов манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino. Работа заключается в том, чтобы оценить грузоподъемность манипуляторов. Для выполнения лабораторной работы необходимо:

  • ознакомиться со структурной схемой манипулятора промышленного робота, с кинематическими парами, осуществляющими соединение звеньев манипулятора;

  • определить рабочую область манипуляторов;

  • ознакомиться с манипуляционными системами координат;

  • определить системы координат манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino;

  • ознакомиться с классификацией роботов по показателям, определяющим их конструкцию.

Грузоподъемность робота это грузоподъемность его манипуляторов, а для транспортного робота еще и его шасси. Грузоподъемность манипулятора определяется массой перемещаемых им полезных грузов. В зависимости от назначения робота она может составлять от единиц грамм (сверхлегкие роботы, например, применяемые в микроэлектронной промышленности) до тысяч килограмм (сверхтяжелые, например, транспортные и космические роботы). Большинство роботов имеют грузоподъемность от пяти до пятидесяти килограмм.


4 Краткая теория

Структурная схема манипулятора может быть представлена в виде, показанном на рисунке 4.1.



1, 2- подвижное соединение с перемещением вдоль прямолинейных направляющих, 3- цилиндрическое соединение звеньев, 4- захватное устройство с подвижными зажимными элементами, 5, 6- жесткое соединение, 7- плоское шарнирное соединение звеньев.

Рисунок 4.1 - . Структурная схема манипулятора

Рабочая зона манипулятора – это пространство, в котором может находиться его рабочий орган при всех возможных положениях звеньев манипулятора. Форма рабочей зоны определяется числом и типом степеней подвижности манипулятора.

Манипуляторы, имеющие все степени подвижности поступательные. Работают в прямоугольной системе координат и имеют рабочую зону в форме параллелепипеда. Манипуляторы, у которых с поступательным перемещением осуществляется одно угловое перемещение (по окружности), работают в цилиндрической системе координат. Соответственно их рабочая зона ограничена цилиндрическими поверхностями. Манипуляторы, работающие в сферической системе координат, имеют два угловых перемещения, рабочая зона ограничена сферическими поверхностями. Манипуляторы с угловой системой координат производят только угловые перемещения, то есть все его звенья представляют собой шарниры. Поэтому часто такие манипуляторы называют шарнирными или антропоморфными.

Классификация роботов по показателям, определяющим их конструкцию. К таким показателям относятся:

  • тип приводов;

  • грузоподъемность;

  • количество манипуляторов;

  • тип и параметры их рабочей зоны;

  • подвижность и способ размещения;

  • исполнение по назначению.

5 Описание оборудования, технических средств и инструментов

При выполнении лабораторной работы потребуется, линейка длиной 50см, модели манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino, грузики массой m=0.01…0.5 кг с шагом на увеличение в 0.01 кг.

Оборудование и технические средства представлены в лабораторной работе №1.

6 Методические указания по выполнению лабораторной работы

Изначально необходимо включить робота. Затем написать программу для переноса груза на высоту, в соответствии с вашим вариантом. Выставить минимальную мощность сервомотора манипулятора, соответствующую 20%. Определить высоту подъема, в соответствии с вашим вариантом, при увеличении массы груза на 0.01 кг; для каждого веса при фиксированной мощности проделать не менее трех экспериментов. Выставить среднюю мощность сервомотора манипулятора, соответствующую 52%; определить высоту подъема, в соответствии с вашим вариантом, при увеличении массы груза на 0.01 кг; для каждого веса при фиксированной мощности проделать не менее трех экспериментов. Выставить максимальную мощность сервомотора манипулятора, соответствующую 85%. Определить высоту подъема, в соответствии с вашим вариантом, при увеличении массы груза на 0.01 кг; для каждого веса при фиксированной мощности проделать не менее трех экспериментов. Результаты занести в таблицу 6.1. Определить среднее значение высоты подъема и времени передвижения груза при фиксированной мощности для каждого веса. Построить графики зависимости среднего значения высоты подъема от массы груза для трех режимов работы сервомоторов манипуляторов.


Таблица 6.1 - Результаты эксперимента

Номер опыта

Режим

работы

Масса груза, кг

Высота подъема, м

Время подъема, с

Среднее значение высоты подъема, м

Среднее значение времени подъема груза, с























7 Требования к содержанию и оформлению отчета

1. Название и цель работы.

2. Скриншоты программ.

3. Результаты экспериментов для трех режимов работы сервомоторов.

4. Сравнительный анализ результатов.

5. Ответы на контрольные вопросы.



8 Контрольные вопросы

1. Перечислите основные показатели классификации роботов, определяющих их конструкцию?

2. Из каких звеньев состоит конструктивная схема манипулятора промышленного робота?

3. Перечислите кинематические пары с помощью которых осуществляется соединение звеньев манипулятора?

4. Что такое рабочий орган манипулятора. Какие виды рабочих органов манипулятора вы знаете?

5. Какие виды манипуляционных систем координат вам известны?

6. Охарактеризуйте цилиндрическую систему координат?

7. Охарактеризуйте угловую систему координат?

8. Какой манипулятор обладает максимальной и минимальной грузоподъемностью?


9 Варианты задания

1. Поднятие системы грузов на высоту 0.12 м.

2. Поднятие системы грузов на высоту 0.10 м.

3. Поднятие системы грузов на высоту 0.08 м.


Список литературы

1 Юревич, Е. И. Основы робототехники/ Е.И.Юревич. – СПб.: БХВ-Петербург, 2010. - 368с.

2 Программирование микроконтроллерных плат Arduino/Freeduino.— СПб.БХВ – Петербург, 2013. – 256с.

3 Руководство пользователя NXT 2.0. [Электронный ресурс]. – Режим доступа: http://www.mindstorms.ru/img/file/8547_Mindstorms.pdf (дата обращения 18.01.2014)

4 Руководство пользователя EV3. [Электронный ресурс]. – Режим доступа: http://www.lego.com/ru-ru/mindstorms/downloads/software/ddsoftwaredownload/ (дата обращения 18.01.2014)

Arduino. [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/Arduino (дата обращения 16.02.2014)


Лабораторная работа №4. Определение Определение точности рабочих органов манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino

1 Цель работы

Определение точности манипуляторов при фиксированной мощности сервомоторов.



2 Лабораторное задание

1. Написать программу для переноса карандаша или иглы из одной точки на координатной плоскости в другую выдержав, указанное в варианте, расстояние между ними;

2. Определить среднее значение расстояния между точками на координатной плоскости при минимальной мощности, средней и максимальной мощности сервомоторов;

3. Провести сравнительный анализ манипуляторов на базе Lego Mindstorms NXT 2.0, EV3 и Arduino по точности перемещения из одной точки на координатной плоскости в другую.


3 Предмет и содержание работы

Объектом исследования являются модели роботов манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino. Работа заключается в том, чтобы оценить точность манипуляторов. Для выполнения лабораторной работы необходимо научиться классифицировать роботов по различным показателям, определяющим конструкцию и технический уровень роботов. Точность манипулятора и системы передвижения робота характеризуется погрешностью позиционирования. Чаще всего она определяется абсолютной погрешностью. Точность роботов общего применения можно разбить на три диапазона в зависимости от линейной погрешности:

  • малая – от 1 мм и более;

  • средняя – от 0,1 до 1 мм;

  • высокая – при меньшей погрешности.

Большинство современных роботов имеют среднюю точность позиционирования. Наименьшую точность имеют роботы, предназначенные для выполнения наиболее грубых работ, например, транспортных движений, а наибольшую – сотые миллиметры – роботы, используемые в электронной промышленности и медицине.


4 Краткая теория

Приводы, которые используются в манипуляторах и системах передвижения роботов, могут быть электрическими, гидравлическими и пневматическими. Часто их применяют в комбинации.

Количество манипуляторов у роботов в большинстве случаев ограничено одним. Однако в зависимости от назначения существуют конструкции роботов с двумя, тремя и четырьмя манипуляторами.

Рабочая зона манипулятора – это пространство, в котором может находиться его рабочий орган при всех возможных положениях звеньев манипулятора. Форма рабочей зоны определяется числом и типом степеней подвижности манипулятора.

Подвижность робота определяется наличием или отсутствием у него системы передвижения. В первом случае роботы называют мобильными, а во втором – стационарными.

По способу размещения стационарные и мобильные роботы бывают напольными, подвесными и встраиваемыми в другое оборудование.

Исполнение робота по назначению определяется внешними условиями, в которых он должен функционировать. Различают исполнение нормальное, пылезащитное, теплозащитное, влагозащитное, взрывобезопасное.

Быстродействие и точность движений роботов характеризуют их динамические свойства.

Параметры, определяющие технический уровень роботов:

  • быстродействие;

  • точность;

  • объем памяти;

  • число одновременно работающих степеней подвижности;

  • размер рабочей зоны к габаритным размерам манипуляторов.

5 Описание оборудования, технических средств и инструментов

При выполнении лабораторной работы потребуется карандаш или игла, линейка длиной 50см, модели манипуляторов на базе Lego Mindstorms NXT2.0, EV3 и Arduino. Описание необходимого оборудования и технических средств, представлено в лабораторной работе №1.



6 Методические указания по выполнению лабораторной работы

Изначально необходимо включить робота. Затем закрепить в захватном устройстве манипулятора карандаш или иглу и написать программу для переноса рабочего органа манипулятора из одной точки на координатной плоскости в другую. Для каждого варианта преподавателем задается расстояние между начальной и конечной точкой на координатной плоскости. Выставить минимальную мощность сервомотора манипулятора. Запустить программу. Определить координаты местоположения кончика карандаша или иглы, провести не менее десяти опытов. Выставить среднюю мощность сервомотора манипулятора, запустить программу, определить координаты местоположения кончика

карандаша или иглы, провести не менее десяти опытов. Выставить максимальную мощность сервомотора манипулятора, запустить программу, определить координаты местоположения кончика карандаша или иглы, провести не менее десяти опытов. Определить расстояние между начальной и конечной точкой на координатной плоскости для каждого опыта по формуле:

d = , (6.1)

где (x1, y1) , (x2, y2) – координаты начальной и конечной точки на координатной плоскости.

Определить среднее значение расстояния между точками при фиксированной мощности по формуле:

dср = , (6.2)

где di – расстояние между точками для одного измерения,

n – число измерений.

Рассчитать абсолютную и относительную погрешность среднего значения расстояния. Найдем погрешность для каждого измерения по формуле:

di= dср-di , (6.3)

Вычислим квадраты погрешностей для отдельных измерений (∆di)2 и определим среднеквадратичную ошибку среднего арифметического по формуле:

Sdср = , (6.4)

Если количество измерений меньше 30, то для расчета абсолютной ошибки вводится специальный коэффициент, зависящий от надежности и числа измерений, называемый коэффициентом Стьюдента. Определим коэффициент Стьюдента t для заданной надежности P=0.95 и числа произведенных измерений n=10 и найдем абсолютную ошибку по формуле:

dср=Sdср*t, (6.5)


Оценим относительную погрешность результата измерения по формуле:


ε= . (6.6)


Результаты занести в таблицу 6.1. Построить график зависимости абсолютной погрешности среднего значения расстояния между точками от мощности сервомотора для каждого манипулятора.

Таблица 6.1 – Результаты эксперимента

Номер опыта

Режим работы, %

Координаты начальной точки, м

Координаты конечной точки, м

Расстояние между точками, м

Абсолютная погрешность, м





















7 Требования к содержанию и оформлению отчета

1. Название и цель работы.

2. Скриншоты программ.

3. Результаты экспериментов для трех режимов работы сервомоторов.

4. Сравнительный анализ результатов.

5. Ответы на контрольные вопросы.



8 Контрольные вопросы

1. Какие параметры характеризуют динамические свойства роботов?

2. Охарактеризуйте NXT манипулятор по показателям, определяющим конструкцию роботов?

3. Охарактеризуйте EV3 манипулятор по показателям, определяющим конструкцию роботов?

4. Охарактеризуйте манипулятор Arduino по показателям, определяющим конструкцию роботов?

5. Какие параметры характеризуют технический уровень роботов?

6. Охарактеризуйте NXT манипулятор по показателям, определяющим технический уровень роботов?

7. Охарактеризуйте EV3 манипулятор по показателям, определяющим технический уровень роботов?

8. Охарактеризуйте Arduino манипулятор по показателям, определяющим технический уровень роботов?

9. Какой манипулятор является наиболее и наименее точным?


9 Варианты задания

1. Расстояние между точками на координатной плоскости соответствует 0.18 м.

2. Расстояние между точками на координатной плоскости соответствует 0.26 м.

3. Расстояние между точками на координатной плоскости соответствует 0.34 м.


Список литературы

1 Юревич, Е. И. Основы робототехники/ Е.И.Юревич. – СПб.: БХВ-Петербург, 2010. - 368с.

2 Программирование микроконтроллерных плат Arduino/Freeduino.— СПб.БХВ – Петербург, 2013. – 256с.

3 Руководство пользователя NXT 2.0. [Электронный ресурс]. – Режим доступа: http://www.mindstorms.ru/img/file/8547_Mindstorms.pdf (дата обращения 18.01.2014)

4 Руководство пользователя EV3. [Электронный ресурс]. – Режим доступа: http://www.lego.com/ru-ru/mindstorms/downloads/software/ddsoftwaredownload/ (дата обращения 18.01.2014)

Arduino. [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/Arduino (дата обращения 16.02.2014)


Ресми байқаулар тізімі
Республикалық байқауларға қатысып жарамды дипломдар алып санатыңызды көтеріңіз!