Логотип Renics
По вашему запросу ничего не найдено =(

Базовые движения

 

Cодержание

Теория

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

Рисунок 1. - Пример сборки робота

 

Mecanum Колесо - роликонесущее колесо, позволяющее мобильному роботу двигаться в любом направлении на плоскости т.е совмещать линейное и вращательное движения.

Конструкция представляет собой колесо, на котором смонтировано несколько роликов, установленных на протяжении всей окружности колеса. Угол вращения роликов составляет 45° между ними и осью колеса.

Путём изменения направления и скорости вращения отдельных колёс можно заставить робота на mecanum колёсах двигаться в любом направлении — не только вперёд-назад, но и вправо-влево, и по диагонали, и даже по любой дуге, вплоть до вращения машины вокруг собственной оси. При этом трения скольжения между роликами и опорной поверхностью практически не будет.

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

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

Рисунок 2. - Пример управления направлениями робота

Обратите внимание что красными стрелками показаны направления вращения колес и соответственно ими задается все движение тележки.

Помимо этого на рисунке отображено расположение колес и отображены направления их роликов, учитывайте направления роликов при сборке тележки.

Наша схема управления описана в верхнем левом углу рисунка - это движение вперед, соответственно как показано на рисунке нам необходимо запустить все моторы в одном направлении движения, в таблице описано в каком направлении вращения нам необходимо запустить колеса для нужного нам движения:

Таблица 1.

Движение вперед

Левая сторона

Правая сторона

Верхние колеса

Против часовой стрелке

Против часовой стрелке

Нижние колеса

По часовой стрелке

По часовой стрелке

Для движения тележки назад, необходимо отзеркалить направления вращения колес, смотрите в табл. ниже:

Таблица 2.

Движение назад

Левая сторона

Правая сторона

Верхние колеса

По часовой стрелке

По часовой стрелке

Нижние колеса

Против часовой стрелке

Против часовой стрелке

Практика

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

Раздел “События”

  • “Когда контроллер запущен” х1

Раздел “Управление”

  • “Всегда” х1
  • “Ждать до” х1
  • “Подождать 1 сек” х1

Раздел “Модули”

  • “Установить скорость 1 мотора в значение 50” х8
  • “Блок управления на 1 порту” х2

Раздел “Контроллер”

  •  “Когда SW1 нажата” х1

Для начала соединим блоки “Когда контроллер запущен” и “Всегда”. Внутрь блока “Всегда” помещаем блок “ждать до”. И в качестве условия, внутри блока “ждать до”, добавляем блок “Когда SW1 нажата”. Таким образом после загрузки программы, тележка (робот) будет ждать нажатия кнопки, и сразу не поедет.

Далее нужно составить блок для запуска моторов, и указать в них правильное направление. Для смены направления вращения моторов, необходимо указать отрицательное значение. И так добавляем блок “Блок управления на 1 порту”, меняя порт на тот, к которому подключён блок стабилизатор (в моем случае это 5 порт). Далее внутрь блока “Блок управления на 5 порту”, добавляем 4 блока “Установить скорость 1 мотора в значение 50”. У каждого блока “Установить скорость 1 мотора в значение 50” меняем номер мотора, так чтобы получилось 4 разных мотора. Далее у 2-го и 3-го моторов, меняем значение с “50”, на “-50”, таким образом мы заставляем их вращаться в обратном направлении.

Теперь добавляем блок “Подождать 1 сек” и меняем значение на 5. После этого блока нам нужно остановить моторы, для этого добавляем блок “Блок управления на 1 порту”, не забывая поменять номер порта (в моем случае это 5 порт). И внутрь блока “Блок управления на 5 порту”, добавляем 4 блока “Установить скорость 1 мотора в значение 50”. У каждого блока “Установить скорость 1 мотора в значение 50” меняем номер мотора, так чтобы получилось 4 разных мотора. И у всех блоков, значение меняем с “50” на “0”.

Таким образом мы создали программу для управления тележкой (роботом). Чтобы отработать движение назад нужно внутри первого блока “Блок управления на 5 порту”, изменить значения у блоков “Установить скорость 1 мотора в значение 50”, так же как указано в таблице 2. Для моторов вращающихся по часовой стрелке установить значение 50, для моторов которые должны вращаться против часовой стрелки установить значение -50. Пример для движения назад:

Аналогичным образом можно составить программу для отработки остальных движений согласно рисунку 2 из теории. При выборе направления вращения мотора, не забывайте учитывать, что при сборке, 2 и 3 моторы, были перевёрнуты, соответственно для них направление инвертировано. То есть если в схеме указано направление вверх (по часовой стрелке), то для этих моторов нужно выбрать направление против часовой стрелки.

Пример для движения вправо:

Пример для движения влево:

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

4.8
60
Поделиться в социальных сетях

Комментарии0