Робототехника для школы. Часть 2
В предыдущих частях:
Часть 1 — конструкция манипуляционного робота
Программа управления для манипуляционного робота
В предыдущей статье мы собрали манипуляционного робота, который предназначен для выполнения тяжелой и монотонной работы — переворачивания бочек с клубничным джемом. А теперь давайте составим программу, которая будет управлять нашим роботом. Для разработки управляющей программы будем использовать программное обеспечение ROBO Pro.
ROBO Pro – это инструментарий для разработки управляющих программ для программируемых контроллеров ROBO TX, которые используются в конструкторских наборах fischertechnik для управления движением роботов.
Визуальный язык программирования, входящий в состав ROBO Pro, позволяет писать простые программы школьникам и начинающим энтузиастам. Режим симуляции облегчает тестирование и отладку, если по каким-либо причинам использовать настоящего робота нельзя.
Готовые управляющие программы можно загрузить во FLASH- или RAM-память контроллеров через интерфейс USB или Bluetooth. Поддерживаются два типа контроллеров — ROBO TX и ROBO INTERFACE. Более подробную информацию о контроллере ROBO TX можно получить из обзорной статьи в нашем блоге.
Описание программы
На рис. 1 представлена главная программа управления (Main program). Она состоит из нескольких подпрограмм, каждая из которых отвечает за определенное движение манипулятора.
После запуска главной программы управление переходит в подпрограмму M2-open (рис. 2), которая отвечает за максимальное раскрытие губок захватного устройства манипулятора. В подпрограмме осуществляется запуск двигателя M2, а также инициируется проверка сигнала с концевого датчика S3. Как только сигнал с датчика перестаёт поступать на контроллер, вызывается команда к останову двигателя M2. Подпрограмма M2-open завершает своё выполнение, и передаёт управление главной программе.
Подпрограмма M1-1 (рис. 3) выполняет движение захватного устройства к столу №1. Сразу же после входа в подпрограмму проводится проверка концевого датчика S1. Предварительная проверка нужна для предотвращения возможной аварийной ситуации, в случае если манипулятор на момент начала выполнения программы уже находится в своём крайнем положении возле стола №1.
Подпрограмма M-2-close (рис. 4) отвечает за захват бочки. Степень закрытия губок контролируется с помощью подсчёта сигналов с датчика S4, выступающего в роли энкодера. После захвата бочки манипулятор должен переложить её на стол №2. Выполнением данной задачи занимается подпрограмма M1-2 (рис. 5), алгоритм которой идентичен алгоритму M1-1, за исключением датчика, который определяет конечное положение манипулятора. Теперь используется сенсор S2 вместо S1.
После переноса бочки захватное устройство вновь раскрывается (подпрограмма M2-open), и управление переходит в блок Time delay, который задерживает выполнение программы на 3 секунды. По истечении заданной задержки, управление переходит обратно в начало программы.
Описанная последовательность движений манипулятора повторяется бесконечно, до тех пор, пока не будет прервана извне, например, по команде из среды ROBOPro. Давайте загрузим программу в контроллер и посмотрим, что у нас получилось.
Выводы
Ура! Наша программа работает – робот переворачивает бочки. Текущая версия программы очень простая и в ней есть что доработать и улучшить. Следующей задачей для нас будет расширение и добавление новых возможностей управляющей программы, таких как, взятие объектов разных размеров, а так же ручное управление роботом, непосредственно через контроллер ROBO TX.
До встречи в следующей части…
Владимир Баловнев и Григорий Зайцев – сотрудники компании ПАКПАК.
Спасибо за статью, очень интересная, главное все просто и понятно для новичков в этом деле.