Оглавление:
- Шаг 1. Местоположение учебника изменено
- Шаг 2. Соберите робота с дифференциальным приводом SnappyXO
- Шаг 3: Подключите электронику
- Шаг 4: Установите библиотеку PreciseMovement Arduino
- Шаг 5: Код
- Шаг 6: как это работает
Видео: Робот SnappyXO Precise Mover: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Заставьте своего робота Arduino двигаться прямо на указанное расстояние или повернуть на указанный угол с помощью библиотеки PreciseMovement Arduino.
Роботу требуется роликовый шарнир или его аналог, чтобы минимизировать трение при скручивании.
www.pololu.com/product/954
Вы можете сказать роботу, чтобы он пошел вперед на определенное расстояние или повернулся на определенный угол. Программа определяет свое положение с помощью точного счисления. Поскольку оценки положения зависят только от скорости колеса, проскальзывание приведет к значительной ошибке. Конструктор робота должен соблюдать осторожность, чтобы свести к минимуму риск соскальзывания.
Это было протестировано для работы с роботом SnappyXO.
Шаг 1. Местоположение учебника изменено
Учебник перемещен на страницу ниже. Это руководство больше не поддерживается.
sites.google.com/stonybrook.edu/premo
Шаг 2. Соберите робота с дифференциальным приводом SnappyXO
Библиотека PreciseMovement, которую мы будем использовать, совместима только с роботами с дифференциальным приводом. Вы можете использовать других роботов с приводом на 2 колеса.
Шаг 3: Подключите электронику
Для стандартного оптического кодировщика SnappyXO:
D0 (выход энкодера) -> цифровой вывод Arduino
VCC -> Arduino 5 В
GND -> GND
Мощность двигателя и Arduino:
Источник питания двигателя должен соответствовать используемым вами двигателям. Для комплекта SnappyXO используются батареи 4AA для питания двигателя и батарея 9V для питания Arduino. Убедитесь, что все они имеют общий GND.
Шаг 4: Установите библиотеку PreciseMovement Arduino
Скачать:
github.com/jaean123/PreciseMovement-library/releases
Как установить библиотеку Arduino:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Шаг 5: Код
Код Arduino:
create.arduino.cc/editor/ whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Эти параметры требуют настройки. Другие параметры, отмеченные в коде как рекомендуемые, можно отрегулировать для повышения производительности.
- Проверьте и установите штифты двигателя под ARDUINO PINS.
-
Установите ДЛИНУ и РАДИУС.
- ДЛИНА - это расстояние от левого колеса до правого колеса.
- РАДИУС - это радиус колеса.
-
Установите PULSES_PER_REV - количество импульсов на выходе энкодера за один оборот колеса.
- Обратите внимание, что это отличается от количества импульсов на выходе энкодера за один оборот вала двигателя, если только энкодеры не подключены для считывания непосредственно с вала колеса.
- PULSES_PER_REV = (импульсы на один оборот вала двигателя) x (передаточное число)
-
Установите STOP_LENGTH, если вы видите, что робот пролетает мимо после движения вперед.
Робот остановится, когда расчетная позиция будет на расстоянии STOP_LENGTH от цели. Таким образом, STOP_LENGTH - это приблизительное расстояние, необходимое для остановки робота
-
Параметры ПИД
KP_FW: это пропорциональная составляющая поступательного движения. Увеличивайте это, пока робот не пойдет прямо. Если вы не можете заставить его работать прямо, настроив это, скорее всего, неисправно оборудование. (например, перекос колес и т. д.)
KP_TW: это пропорциональная составляющая ПИД-регулятора крутящего момента. Просто начните с низкого значения и увеличивайте его до тех пор, пока скорость вращения или угловая скорость робота при повороте не станет достаточно высокой, но не приведет к перерегулированию. Для проведения наблюдений вы можете настроить робота поочередно от 0 до 90 и обратно, вставив следующее в функцию цикла
Поместите это в цикл для настройки KP_FW:
mover.forward (99999);
Поместите это в цикл, чтобы чередовать от 0 до 90 для настройки KP_TW:
mover.twist (90); // Твист 90 CW
задержка (2000);
mover.twist (-90) // Поворот на 90 против часовой стрелки
задержка (2000);
Обратите внимание, что для фактического изменения угловой скорости на TARGET_TWIST_OMEGA, KI_TW также необходимо настроить, поскольку пропорциональный контроллер никогда не установит точную цель. Однако нет необходимости крутить именно с такой угловой скоростью. Угловая скорость просто должна быть достаточно низкой.
Шаг 6: как это работает
Если вам интересно, как это работает, читайте дальше.
Движение вперед поддерживается прямым с использованием алгоритма чистого преследования по прямолинейному пути. Подробнее о Pure Pursuit:
ПИД-регулятор поворота пытается поддерживать угловую скорость поворота на уровне TARGET_TWIST_OMEGA. Обратите внимание, что эта угловая скорость является угловой скоростью всего робота, а не колес. Используется только один ПИД-регулятор, а на выходе - скорость записи ШИМ левого и правого двигателей. Для вычисления угла используется точный счет. Как только угол достигает порога ошибки, робот останавливается.
Рекомендуемые:
Arduino - Робот для разгадывания лабиринта (MicroMouse) Робот, следующий за стеной: 6 шагов (с изображениями)
Arduino | Робот для решения лабиринта (MicroMouse) Робот, следующий за стеной: Добро пожаловать, я Исаак, и это мой первый робот «Страйкер v1.0». Этот робот был разработан для решения простого лабиринта. В соревновании у нас было два лабиринта и робот смог их идентифицировать. Любые другие изменения в лабиринте могут потребовать изменения
Робот-конфетный робот на Хэллоуин: 7 шагов (с изображениями)
Робот-конфетный робот для Хэллоуина: если вы ищете новый веселый способ взаимодействия с хеллоуинскими трюками этого года и готовы принять вызов, который несет этот проект, тогда приступайте к делу и создайте свой собственный! Этот социальный дистанцирующийся робот «увидит», когда угощение
Робот-дезинфицирующий робот Rakshak'20: 8 шагов
Rakshak'20 - робот для дезинфекции: проект Rakshak '20 выполняется в период блокировки в начале распространения вируса короны в Индии с использованием старой роботовой машины и сельскохозяйственного опрыскивателя вместе с двигателями лома от автомобилей. Цель проекта - спаридис
Самоходный робот-робот для начинающих с системой предотвращения столкновений: 7 шагов
Самоходный роботизированный автомобиль для начинающих с системой предотвращения столкновений: Здравствуйте! Добро пожаловать в мой удобный для новичков учебник о том, как создать собственный роботизированный робот с автоматическим управлением с системой предотвращения столкновений и GPS-навигацией. Выше видео на YouTube, демонстрирующее робота. Это модель, демонстрирующая, как настоящая автономная
Балансировочный робот / 3-колесный робот / STEM-робот: 8 шагов
Робот-балансировщик / 3-колесный робот / STEM-робот: мы создали комбинированный балансировочный и 3-колесный робот для использования в учебных заведениях и после школьных образовательных программ. Робот основан на Arduino Uno, специальном щите (предоставлены все детали конструкции), литиево-ионном аккумуляторном блоке (все стро