Найти в Дзене

mBot2 #21. Гироскоп в mBot2. Сохраняем курс!

Ранее мы узнали, что на борту mBot2 есть такое полезное устройство, как гироскоп. Даже посмотрели на значения, которые он выдает. Сегодня попробуем осуществить проект, для которого возможности гироскопа вполне подходят - движение с сохранением курса. Представьте - мы отправляем робота по прямой, но что то ему мешает, например ветер, или его толкнули и т.д. А робот упорно будет возвращаться к заданному направлению! Интересно же! Пробуем. Для управляющих воздействий используем сравнительно простой, но эффективный регулятор - пропорциональный. Мы с ним уже встречались, так что принцип реализации таких регуляторов должен быть вам знаком. В программе предусмотрим вывод значений угла рысканья на экран (кнопка А), чтобы посмотреть, все ли у нас хорошо и работает ли гироскоп. Далее кнопка B запускает основную программу. Обнуляются углы поворотов и рысканья, т.е. текущее положение робота и будет определять направление его движения. Далее мы будем считывать "Ошибку рысканья", т.е. отклонение от

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

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

Пробуем.

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

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

Далее кнопка B запускает основную программу. Обнуляются углы поворотов и рысканья, т.е. текущее положение робота и будет определять направление его движения. Далее мы будем считывать "Ошибку рысканья", т.е. отклонение от курса, записывать его в переменную ErrorGyro_Z и использовать в пропорциональном регуляторе для управления моторами.

Попробуйте программу в работе. Запустите робота кнопкой А, понаблюдайте за отображением цифр на экране. Запустите движение кнопкой B. Попробуйте сбить робота с курса. Обратите внимание, при каких условиях внешнего воздействия робот на курс не сможет вернутся. Оцените точность удержания курса.

Да, возможно результат не 100%, но робот достаточно уверенно держит курс, намного лучше, чем без использования гироскопа. Так что запишем данное умение в копилку наших возможностей при реализации сложных проектов!

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

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