Найти в Дзене

mBot2 #30. Манипулятор. Управление с джойстика.

Продолжим тему конструкции "Манипулятор". В прошлый раз мы рассмотрели вариант сборки "роботизированной руки" - манипулятора. Теперь посмотрим, как программировать движение этой руки. И начнем с простого, сделаем управление на джойстике самого робота. Наклоняем джойстик вперед - манипулятор поднимается. Назад - опускается. Влево - открывает захват постепенно, вправо - закрывает захват. Видео с примером данного проекта. Использовать для управления сервоприводами будем блоки из набора "Порты расширения mBot2". Там довольно много блоков, работающих с сервоприводами. В нашем варианте сборки (по инструкции разработчиков) за вертикальное движение манипулятора вверх-вниз отвечает сервопривод, подключенный к гнезду S4, а за захват горизонтальной клешни - S3. Для того, чтобы управлять углами сервопривода и не повредить его неприемлемыми вариантами, желательно вначале все же почитать описания сервоприводов MakeBlock, или провести пробные испытания. Удобно это делать в онлайн режиме, когда робот

Продолжим тему конструкции "Манипулятор". В прошлый раз мы рассмотрели вариант сборки "роботизированной руки" - манипулятора. Теперь посмотрим, как программировать движение этой руки.

И начнем с простого, сделаем управление на джойстике самого робота. Наклоняем джойстик вперед - манипулятор поднимается. Назад - опускается. Влево - открывает захват постепенно, вправо - закрывает захват.

Видео с примером данного проекта.

Использовать для управления сервоприводами будем блоки из набора "Порты расширения mBot2".

-2

Там довольно много блоков, работающих с сервоприводами.

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

Для того, чтобы управлять углами сервопривода и не повредить его неприемлемыми вариантами, желательно вначале все же почитать описания сервоприводов MakeBlock, или провести пробные испытания. Удобно это делать в онлайн режиме, когда робот присоединен к компьютеру и блоки можно запускать прямо щелчком мыши по ним. Меняем значение, повторяем.

-3

Попробуйте начать с безопасных значений, в нашем случае можете начать с углов в 140 и далее меняйте значения в одну или другую сторону. 150, 160... 130 и т.д.

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

В нашем варианте получилось так:

S4 (вертикаль). Верхнее положение 0, нижнее допустимое 120.

S3 (горизонталь, захват). Левое "открытое" положение 150, правое (манипулятор закрыл захват) 180.

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

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

Нам потребуются две переменные, для хранения значения угла поворота:

angle_Y_S4 и angle_X_S3

Первый скрипт- для движения по вертикали. Запуск - кнопкой А. Вначале задается первоначальное положение манипулятора, затем можем управлять манипулятором, сдвигая джойстик вверх или вниз.

-4

Вторая часть скрипта - для управления захватом.

-5

Как всегда, готовую программу можно скачать с нашего электронного архива.

Файл - joystickServo_1.mblock

В данной программе можно сделать массу улучшений. Можно подумать над своими блоками-подпрограммами, для улучшения видимой структуры. Можно на кнопку B и нажатие на джойстик закрепит какие то автоматизированные движения, например - захват и подъем груза, опускание и освобождение груза.

Сама возможность захвата и транспортировки грузов очень важна. Она используется и в вариантах автоматизации, например - соревнования "Эстафета", да и в вариантах прохождения сложных дистанций с ручным управлением и вводными по транспортировке используется. Вот о последнем варианте, с использованием пульта дистанционного управления, поговорим в следующих материалах.

Ранее в цикле: