Можно ли перемещать и стабилизировать двухколесного робота без гироскопов?

15

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

Зетта Суро
источник
1
Есть ли какая-то конкретная причина, почему вы не можете использовать гироскоп? Просто из интереса.
berry120
Это о задании, которое я выполнил в последний раз Мы были назначены роботом и могли использовать только то, что нам дали. Задание состояло только в том, чтобы держать его в неподвижном состоянии, но мне просто было любопытно, может ли он (и если да, то каким образом) двигаться вперед и при этом оставаться стабильным.
Зетта Суро

Ответы:

4

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

пузырь алькубьерра
источник
Оптический датчик расстояния, указывающий на пол, является довольно хорошим способом измерения наклона робота. Просто помните, что он будет измерять фактический наклон, тогда как гироскоп измеряет скорость изменения наклона
Rocketmagnet
2

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

Jakob
источник
2

Вам нужно несколько датчиков, чтобы определить состояние системы.

Сначала линеаризуйте систему в форме пространства состояний, затем подумайте, какие у вас есть датчики. Затем проверьте, можно ли это наблюдать. Если это заметно, то вы можете подать оцененные состояния в свой контроллер.

В настоящее время звучит так, будто вы используете положение колеса и обратную ЭДС (для скорости) в качестве прямых измерений. Не проверяя матрицу наблюдаемости, я не уверен, является ли система наблюдаемой.

ronalchn
источник
2

Математически тот факт, что у вас теперь есть вращение (в основном), исключает этот параметр как возможный параметр управления. По сути, вам придется изменить алгоритм, чтобы он принимал большую и переменную составляющую угловой скорости, в то же время используя угловую скорость в своей обратной связи. Чем менее шумно это, тем лучше вероятный результат просто потому, что вы, вероятно, собираетесь применить дифференциал положения для получения другого управляющего параметра. Вернее, это один из способов. Так что, похоже, вам нужен еще один управляющий вход, но это не обязательно должен быть акселерометр. Вы можете сделать горизонт, фиксированное местоположение маркера или даже датчики наклона.

заполнитель
источник