С помощью двухколесного робота, как этот , мне удалось стабилизировать его, сохраняя его неподвижным. Это было сделано с использованием цифровой системы управления с обратной связью путем считывания положения колес для определения положения, а естественная обратная электродвижущая сила от колесных двигателей использовалась в контуре обратной связи для определения скорости. Он был стабильным с помощью ПИД-регулятора, который был разработан с использованием алгоритма корневого локуса, чтобы поддерживать его стабильность и модулировать параметры производительности (такие как процент перерегулирования, время установления и т. Д.). Я хотел попытаться сохранить его стабильность, одновременно продвигая его вперед, но я не мог понять, как разработать линейный контроллер, который мог бы это сделать. Можно ли как продвигать робота вперед, так и поддерживать стабильность при помощи контроллера обратной связи на колесах, или нужен гироскоп?
источник
Ответы:
Вы можете использовать другие способы измерения ориентации, такие как акселерометр, оптическое отслеживание маркеров или датчик глубины, направленный на пол.
источник
Если бы вам удалось добиться его устойчивости в стационарной конфигурации, я не очень понимаю, как было бы намного сложнее добиться его стабильности при постоянной скорости. С точки зрения модели системы это было бы то же самое, если бы не некоторые смещения скорости. Если переходы между скоростями не очень велики, они должны попадать в область естественных возмущений системы.
источник
Вам нужно несколько датчиков, чтобы определить состояние системы.
Сначала линеаризуйте систему в форме пространства состояний, затем подумайте, какие у вас есть датчики. Затем проверьте, можно ли это наблюдать. Если это заметно, то вы можете подать оцененные состояния в свой контроллер.
В настоящее время звучит так, будто вы используете положение колеса и обратную ЭДС (для скорости) в качестве прямых измерений. Не проверяя матрицу наблюдаемости, я не уверен, является ли система наблюдаемой.
источник
Математически тот факт, что у вас теперь есть вращение (в основном), исключает этот параметр как возможный параметр управления. По сути, вам придется изменить алгоритм, чтобы он принимал большую и переменную составляющую угловой скорости, в то же время используя угловую скорость в своей обратной связи. Чем менее шумно это, тем лучше вероятный результат просто потому, что вы, вероятно, собираетесь применить дифференциал положения для получения другого управляющего параметра. Вернее, это один из способов. Так что, похоже, вам нужен еще один управляющий вход, но это не обязательно должен быть акселерометр. Вы можете сделать горизонт, фиксированное местоположение маркера или даже датчики наклона.
источник