Самобалансирующийся робот с дистанционным управлением — как совместить управляющий ввод с вводом IMU?
Я создаю двухколесного самобалансирующегося робота с дистанционным управлением. Я достаточно знаком с IMU и PID, чтобы заставить его работать, чтобы просто встать, но мне нужно управлять им с помощью дистанционного управления.
Я еще не написал код; пытаясь понять концепции, прежде чем погрузиться в них.
Я так понимаю: [IMU] -> [Фильтр Калмана] -> [ИДП] -> [Двигатели]
Меня сбивает с толку вопрос о том, где смешивать компонент RC с этой цепочкой управления?
@circuitBurn, 👍0
1 ответ
Лучший ответ:
PID получает заданное значение от вас. Для стоящего на месте робота это в основном нулевой угол по отношению к направлению силы тяжести (какая переменная, которую вы используете для PID, зависит от вашей фактической реализации, но это всегда будет что-то производное от угла к направлению силы тяжести). Для движения вперед робот должен наклониться вперед. Таким образом, вы устанавливаете новую заданную точку угла, скажем, 2 градуса. PID будет пытаться удерживать это значение, постоянно двигаясь вперед со скоростью, зависящей от заданного угла.
Таким образом, с помощью пульта дистанционного управления вы просто меняете заданное значение угла.
- Самый точный способ измерения линейного расстояния, пройденного колесом
- Определение направления по данным акселерометра IMU
- Использование VS1838B с Arduino
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Хочу создать Bluetooth audio control (увеличение/уменьшение громкости, воспроизведение, пауза и т.д.) для смартфона
- Tower Pro MG996R сервопривод с высоким крутящим моментом 180 °, управляющий с помощью Arduino
- Радиочастотное дистанционное управление с использованием VirtualWire на ATtiny85, работающем на частоте 8 МГц на внутреннем генераторе
- ПИД-регулятор для управления скоростью двигателя
Теперь это кажется таким очевидным, спасибо!, @circuitBurn