Сделал я себе балансирующего робота: http://vrtp.ru/index.php?showtopic=2211 ... t&p=614693.
Не на Arduino. Не на СИ. К сожалению знаю только ассемблер.
Максимум, что он у меня умеет - стоять "в углублении", например на ковре. На ровном жёстком полу или столе - убегает. Разгоняется и падает.
ПИД регулятор, поддерживающий вертикаль я победил. С помощью околонаучного тыка, такой то матери, и кореша, который
сбацал мне программулину (в Excel) рисующую графики (6 штук) изменения переменных.
На этом - всё

Как удержать его на месте, как заставить двигаться в заданном направлении?
Чую, нужен ещё один регулятор (возможно ПИД). Но что в него "заводить"? Первый, удерживающий вертикаль, работает с отклонением от вертикали.
В второй?
Если у кого есть ответ, то не тыкайте меня, пожалуйста, в исходники на СИ. Я в нём чуть больше нуля

На словах, если можно, "на пальцах". Просто теорию, описание алгоритма. Реализую сам.