Добавить в корзинуПозвонить
Найти в Дзене

mBot2 #19. Движение вдоль стены. Используем Ultrasonic Sensor 1 и 2.

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

В прошлый раз мы уже обсуждали, что самый простой вариант датчиков расстояния, которые можно использовать с роботом mBot2, это УЗ датчики от компании MakeBlock. Просто их легко программировать, для этого есть готовые блоки. В настоящем примере рассмотрим вариант с роботом, который должен двигаться вдоль стены, аккуратно подруливая в случаях, когда он начинает приближаться или удаляться от стены, нарушая заданную целевую дистанцию. Так же предусмотрим остановку робота в случае, если перед ним появилось препятствие.

Мы рассмотрим вариант, когда используем один датчик новый и один - более старого образца, который поставим слева по борту робота. Например, так, как на рисунке ниже.

Мы уже говорили, что "старые" датчики несколько точнее новых, так что лучше именно его и поставить смотрящим на стену. В нашей программе так и предусмотрено (посмотрите внимательнее на блоки дальномеров).

Далее используем ПД регулятор, теперь для плавности выправления маршрута. Заодно и повторим этот замечательный регулятор. Программа может выглядеть так:

-2

Здесь уже знакомые коэффициенты для пропорционального и дифференциального регулятора (да и в целом регулятор практически такой же, как мы писали для следования по линии). Введены переменные для целевого расстояния до стены (DistConst) и реально измеренного (DistLeft). В остальном все то же, что и в ПД регуляторе для линии. Посмотрите материал, если забыли.

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

Проверьте, останавливается ли робот, если перед ним поставить препятствие.

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

Программа в виде файла доступна в электронном архиве. (Файл УЗ1_УЗ2__MoveWall.mblock)

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