Балансирующий робот, другой.

Сюда постим если есть сомнения насчет выбора группы
Ответить
Аватара пользователя
PANYTA
Сообщения: 2
Зарегистрирован: 26 апр 2015, 07:42
Откуда: Бурятия

Балансирующий робот, другой.

Сообщение PANYTA »

Здравствуйте.

Сделал я себе балансирующего робота: http://vrtp.ru/index.php?showtopic=2211 ... t&p=614693.
Не на Arduino. Не на СИ. К сожалению знаю только ассемблер.

Максимум, что он у меня умеет - стоять "в углублении", например на ковре. На ровном жёстком полу или столе - убегает. Разгоняется и падает.
ПИД регулятор, поддерживающий вертикаль я победил. С помощью околонаучного тыка, такой то матери, и кореша, который
сбацал мне программулину (в Excel) рисующую графики (6 штук) изменения переменных.
На этом - всё :( . В Нете на эту тему 99% ссылок - на Arduino на инглиш...
Как удержать его на месте, как заставить двигаться в заданном направлении?
Чую, нужен ещё один регулятор (возможно ПИД). Но что в него "заводить"? Первый, удерживающий вертикаль, работает с отклонением от вертикали.
В второй?

Если у кого есть ответ, то не тыкайте меня, пожалуйста, в исходники на СИ. Я в нём чуть больше нуля :)
На словах, если можно, "на пальцах". Просто теорию, описание алгоритма. Реализую сам.
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 989
Зарегистрирован: 22 окт 2010, 23:57

Re: Балансирующий робот, другой.

Сообщение Mr.Kubikus »

Привет!

Конструкция - норм.

Прежде чем идти дальше надо определиться - какую именно задачу вам надо решить и что вы понимаете под фразой "Как удержать его на месте, как заставить двигаться в заданном направлении"?
С уважением, Григорий
GitHub FB ВК
Аватара пользователя
PANYTA
Сообщения: 2
Зарегистрирован: 26 апр 2015, 07:42
Откуда: Бурятия

Re: Балансирующий робот, другой.

Сообщение PANYTA »

Сейчас у меня так:
ПИД-регулятор "подгоняет" моторами текущий угол наклона (результат работы MPU-6050 плюс комплиментарный фильтр) к КОНСТАНТЕ.
Эта константа - тот же самый угол наклона в вертикальном положении.
Но. Всё это хорошо для математической модели. А если под колесо попала крошка, если поверхность под колесом наклонилась, то и положение
равновесия девайса изменилось. Т.е. "угол наклона в вертикальном положении" изменил своё абсолютное значение.

Получается надо:
Оперативно, "на ходу", менять этот самый угол наклона в вертикальном положении. Он не должен быть константой. Он должен меняться
в зависимости от "дорожной обстановки" под колёсами.

Как это сделать - вопрос.
Ответить