Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2. Роботино - упражнения и рабочие листы.doc
Скачиваний:
22
Добавлен:
09.02.2016
Размер:
11.94 Mб
Скачать
  • Цели обучения

Слушатели

  • Научатся описывать и программировать простые линейные перемещения многоосной системы с приводом.

  • Научатся применять функциональные блоки в Robotino® View и создавать рабочие последовательности для управления двигателями.

  • Ознакомятся со степенями свободы многоосной системы с приводом.

  • Научатся принимать во внимание аспекты, касающиеся безопасности, для того, чтобы остановить Robotino® в случае столкновения.

  • Научатся программировать всенаправленный привод и описывать его основные функции.

  • Ознакомятся с основными вопросами технологии привода и научатся их применять.

  • Описание проблемы

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

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

  • Проектное задание

  1. Управляйте двигателями Robotino® таким образом, чтобы мобильная роботизированная система двигалась вперед и назад по плоской поверхности.

  2. Протестируйте управление двигателями при различных скоростях вращения.

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

  4. Создайте и протестируйте соответствующие программы с помощью функционального блока всенаправленного привода.

  5. Во время проведения этих испытаний роботизированная система может перемещаться по непредсказуемой траектории, поэтому важно защитить окружающие предметы и саму роботизированную систему от повреждения в случае столкновений. Создайте и протестируйте эту программу.

  • Схема позиционирования

  • Основные условия

  • Robotino® View установлено на ПК и запущено.

  • Соединение с Robotino® по беспроводной сети установлено (см. техническую документацию).

  • Рабочие задания

  1. Регулирование работы двигателя для перемещения роботизированной системы вперед.

  2. Функия защиты от столкновений

  3. Программа обратного хода

  4. Рабочая последовательность

  5. Всенаправленный привод, все направления с использованием Панели Управления.

  6. Omnidrive, движение вперед

  7. Omnidrive, движение в сторону

  8. Omnidrive, круговое движение

  9. Всенаправленный привод, разнонаправленные колеса

  10. Перемещение вперед под углом 45° к оси движения

  11. Перемещение вперед под углом 135° к оси движения

  12. Рабочая последовательность: круговое движение по ромбовидной траектории

  • Рабочие материалы

  • Техническая документация

  • Справочные материалы в Robotino® View, двигатель, рабочая последовательность, всенаправленный привод

  • Теоретический раздел: Разнонаправленные колеса, привод и кинематическая передача, степени свободы разнонаправленных колес, всенаправленный привод

  1. Регулирование работы двигателя для перемещения роботизированной системы вперед

  1. Двигайте Robotino® вперед ,чтобы увидеть, какие двигатели должны включаться. Наблюдайте за направлением и скоростью вращения разнонаправленных колес.

  • Расположите Robotino® перед собой и двигайте его вперед, наблюдая за направлением вращения и скоростью разнонаправленных колес.

  • Какие двигатели должны быть включены, чтобы Robotino® двигался вперед?

  1. Создайте диаграмму функциональных блоков в Robotino® View, чтобы Robotino® перемещался вперед

  • Расположите систему на подставках, чтобы обеспечить свободное движение колес.

  • Включите Robotino®.

  • Запустите Robotino® View и установите соединение между контроллером Robotino® и Robotino® View (см. техническую документацию).

  • Откройте пустую диаграмму функциональных блоков в Robotino® View.

  • Перетяните два функциональных блока двигателей на диаграмму функциональных блоков, а именно Motor #1 и Motor #3 (библиотека функциональных блоков: Robotino® Drive system).

  • Сохраните программу под именем “forward.rvw2”.

  • На диаграмме функционального блока двигателя присвойте двигателям соответствующие имена "MotorFrontLeft" и "MotorFrontRight". Для этого отметьте функциональный блок Motor (Двигатель), правой кнопкой мыши активируйте Display name (Отображать имя). В появившемся текстовом поле отредактируйте имя.

  • Добавьте две константы в диаграмму функциональных блоков (Function block library -> Generators) и соедините их с соответствующими вводами Speed set point двух двигателей.

Описания соединений отображаются после нажатия комбинации клавиш Ctrl+T либо в пункте меню Show connector descriptions (Показать описания соединений) в меню View. Дополнительную информацию можно получить с помощью функции справки (F1).

  • Обозначьте константы "SpeedLeft" и "SpeedRight" соответственно.

  • Задайте постоянную скорость для обоих двигателей.

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

  • После выбора значений констант, напр. SpeedLeft = –500 об/мин. SpeedRight = +500 об/мин. Robotino® двигается вперед.

  • Запустите приложение нажатием иконки запуска.

Значения для соединений функционального блока отображаются посредством нажатия комбинации клавиш Ctrl+D. Также эта функция может быть активирована в меню View.

  1. Протестируйте работу системы на разных скоростях.

  • Измените значения двух констант.

Обратите внимание на то, что заданная скорость измеряется в rpm (об/мин).

  • Наблюдайте за поведением роботизированной системы как в приподнятом положении, так и в движении по поверхности пола.

  1. Объясните, почему направление вращения двух двигателей должно быть обратным при движении прямо вперед.

        1. Функция защиты от столкновений

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

  • Кратко опишите бампер Robotino®.

  • Опишите функцию бампера в Robotino® View.

  • Создайте диаграмму функциональных блоков со следующей функцией для объяснения работы бампера: Необходимо управлять работой одного из двигателей Robotino® так, чтобы при соприкосновении предмета с бампером он отключался, а при прекращении контакта снова запускался.

  • Какие составляющие необходимы для этой программы управления?

Количество

Составляющие

  • Создайте программу управления в Robotino® View и сохраните ее.

  • Приподнимите Robotino® на подставки и протестируйте вашу диаграмму функциональных блоков.

Тестирование

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

  • Оцените эффективность этого решения относительно необходимой функции защиты от столкновения.

  1. Создайте функцию прерывания программы на основе функции бампера и сохраните программу.

  • Какая функция в Robotino® View отвечает за реализацию функции прерывания программы управления?

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

  • Установите соединение между бампером и timeout writer.

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

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

  • Запустите основную программу (Main program).

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

        1. Программа обратного хода

  1. Создайте и протестируйте программу, которая позволит Robotino® двигаться в обратном направлении. Ответьте на вопросы о составляющих, константах и степенях свободы.

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

  • Какие двигатели отвечают за движение Robotino® в обратном направлении?

  • Какие составляющие необходимы для этой цели?

  • Какую разницу в значениях двух констант программы движения вперед и программы движения в обратном направлении можно обозначить?

  • Укажите, какие степени свободы задействуются при двигательном поведении Robotino® после выполнения программ.

        1. Рабочая последовательность

  1. Создайте рабочую последовательность, в соответствии с которой Robotino® двигается вперед 5 секунд, ожидает 2 секунды, а затем двигается в обратном направлении 5 секунд.

Отдельные программы

  • Сначала создайте программу, в соответствии с которой Robotino® двигается вперед пять секунд.

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

  • Присвойте константам следующие значения:SpeedLeft = - 500

SpeedRight = + 500

Travel time = 5000 [мс]

  • Создайте подпрограмму, в соответствии с которой Robotino® двигается вперед 5 секунд.

  • Теперь создайте программу, которая генерирует 2-секундное время ожидания и присвойте ей имя Waiting time.

Константа Waiting time = 2000 мс

Всегда устанавливайте входную скорость двигателей обратно на ноль, иначе Robotino® продолжит движение.

  • Создайте последовательность в основной программе, в соответствии с которой Robotino® двигается вперед 5 секунд, ожидает 2 секунды, а затем двигается в обратном направлении 5 секунд.

По завершению последовательности обязательно выйдите из нее.

  1. Протестируйте последовательность.

        1. Всенаправленный привод, все направления с использованием Control Panel (Панели управления)

  1. Начните движение Robotino® во всех возможных направлениях, для чего используйте функциональный блок Omnidrive в программе движения и устройство ввода Control Panel.

  • Перетяните Control Panel (Панель управления) (Function block library (библиотека функциональных блоков)  Input devices (устройства ввода)) и функциональный блок Omnidrive (Function block library  Robotino®  Drive system(система привода)) из библиотеки функциональных блоков на новую диаграмму функциональных блоков.

  • Соедините выводы Control Panel с вводами (x, y, omega) функционального блока Omnidrive.

  • Соедините выводы Omnidrive с вводами с заданной скоростью на трех двигателях.

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

  • Выведите данные на дисплей (Ctrl+D или View  Show Connector Values), обратите внимание на отображаемые значения для двигателей.

  1. Ответьте на вопросы по двигательному поведению, степенях свободы, а также обратитесь за информацией к функциональному блоку Omnidrive.

  • Опишите двигательное поведение и выделите наблюдаемые вами возможные степени свободы (подвижность элементов).

  • Ознакомьтесь с информацией по всенаправленному приводу в теоретическом разделе и по функциональному блоку Omnidrive в справке к Robotino® View.

        1. Omnidrive, движение вперед

  1. Создайте подпрограмму (Шаг1) с использованием функциональных блоков Omnidrive, трех двигателей и одной константы, в соответствии с которой Robotino® двигается вперед и в обратном направлении с одинаковой скоростью и ориентацией.

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

Система координат выбирается таким образом, чтобы положительная ось x соответствовала движению Robotino® вперед.

  • Снова приподнимите систему на подставки и откройте новую диаграмму функциональных блоков в Robotino® View.

  • Перетяните необходимые функциональные блоки из библиотеки функциональных блоков.

  • Соедините функциональные блоки в рабочую подпрограмму. Присвойте имена функциональным блокам.

Если значение константы указано как 100, то заданная скорость соответствует 100 [мм/с], т.е. 0,36 [км/ч].

  • Включите отображения данных на дисплее (Ctrl+D или View  Show Connector Values). Обратите особенное внимание на значения для двигателей.

  • Проверьте, является ли заданная скорость для заднего двигателя постоянной = 0. См. также упражнение «Управление двигателем без omnidrive».

Результаты

  • Экспериментально определите скорость движения вперед в [мм/с], необходимую для того, чтобы два двигателя работали со скоростью -500 или 500 об/мин. соответственно.

Ответ

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

  • Проверьте это утверждение.

  • Что необходимо изменить, чтобы Robotino® двигался в обратном направлении с использованием привода omnidrive?

  • Протестируйте программу движения в обратном направлении reverse travel.

        1. Omnidrive, движение вбок

  1. Измените программу без добавления каких-либо дополнительных функциональных блоков так, чтобы Robotino® двигался боком влево или вправо с такой же скоростью и ориентацией.

  • Приподнимите систему на подставках.

  • Соедините составляющие, которые обеспечивают движение Robotino® боком.

  • Сколько степеней свободы требуется для движения в сторону?

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

        1. Omnidrive, круговое движение

  1. Измените программу без добавления каких-либо дополнительных функциональных блоков таким образом, чтобы Robotino® вращался вокруг центральной оси.

  • Соедините Constant (Константу) с вводом omega привода Omnidrive и наблюдайте за поведением.

  • Что делает Robotino®?

  • Сколько потребовалось степеней свободы и почему?

        1. Всенаправленный привод, разнонаправленные колеса

  1. Опишите конструкцию и функциональные возможности разнонаправленных колес, а также характеристики всенаправленного привода.

  • Конструкция и функциональные возможности разнонаправленных колес

  • Характеристики всенаправленного привода

Преимущество

Недостаток

        1. Перемещение вперед под углом 45° к оси движения

  1. Выберите постоянную ориентацию Robotino®. Измените программу – добавьте дополнительную константу, чтобы Robotino® двигался под углом 45° к оси движения вперед с такой же скоростью и ориентацией. Через 2 секунды движение должно быть остановлено.

  • Подумайте, как можно реализовать перемещение под углом 45° к оси движения вперед с учетом направления и скорости движения.

См. схему позиционирования в описании проблемы.

  • Начальные факторы: скорость

  • Подумайте, как можно реализовать определенную продолжительность движения.

Первоначальное значение введенной переменной можно изменить в окне последовательной программы (основной программы).

  1. Измените программу без добавления дополнительных функциональных блоков таким образом, чтобы Robotino® двигался под углом -45° к оси движения вперед с такой же скоростью и ориентацией, сохраните ее как новую подпрограмму.

        1. Перемещение вперед под углом 135° к оси движения

  1. Без добавления дополнительных функциональных блоков измените программу таким образом, чтобы Robotino® двигался под углом 135° к оси движения вперед с такой же скоростью и ориентацией, сохраните ее как новую подпрограмму.

  1. Без добавления дополнительных функциональных блоков измените программу таким образом, чтобы Robotino® двигался под углом -135° к оси движения вперед с такой же скоростью и ориентацией, сохраните ее как новую подпрограмму.

        1. Рабочая последовательность: перемещение по ромбовидной траектории

  1. Создайте рабочую последовательность, чтобы Robotino® сначала двигался под углами 45° и 135°, а затем -135° и -45°, с той же линией визирования. После чего Robotino® должен двигаться по той же траектории в обратном направлении.

Проект 3 Линейное перемещение и позиционирование мобильной роботизированной системы