Но вот вопрос: обязательно ли нужен гироскоп? Можно ли его заменить 2-осевым акселерометром?
По-идее этим акселерометром можно мерить угол наклона от вертикали, но сможет ли робот им пользоваться в движении? Кто как думает? А то я тут себе уже весь мозг этим вопросом замучал... :roll:
Ага, мне тоже... + я буду еще и "систему парковки" делать - третье выдвижное колесо для проблемных поверхностей и долгой стоянки... Пока-что готова ходовая, да и то не совсем готова: http://alex.roboforum.ru/ftp/Temp/IMG_0238.jpg
Что-то я понять не могу... У нас по 2 осям получается векторная сумма гравитации и ускорения робота... И как из такой картины узнать под каким углом действует гравиация, а под каким ускорение? :roll:
А зачем два акселерометра, робот будет падать только вокруг одной оси - оси колес. А вообще я думал когда-то над созданием чего-то подобного, только акселерометр довольно дорогой 10 баксов. И алгоритм движения балансирующего робота достаточно сложный, чтобы поехать впред надо вначале наклонится вперед, т. е. потерять равновесие и при этом на завалится. В этом плане самокат подобной схемы реализовать проще - наклонил вперед поехал вперед, наклонил назад - поехал назад.
Гироскоп покажет угловое ускорение. При нулевом угловом ускорении акселерометр (датчик угла) покажет угол отклонения от гировертикали. На коротком промежутке времени интегрирование показаний гироскопа дает хороший результат, но накапливается ошибка, которая корректируется за счет акселерометра.
-= Александр =- писал(а):У нас по 2 осям получается векторная сумма гравитации и ускорения робота... И как из такой картины узнать под каким углом действует гравиация, а под каким ускорение? :roll:
два акселерометра определяют линейные ускорения двух разных точек плоскости перпендикулярной оси робота. зная закон движения двух точек плоскости в одной плоскости мы можем описать плоскопараллельное движение этой плоскости.
если робот не летучий - т.е. колеса контачат с поверхностью, не проскальзывают и известно их положение относительно корпуса робота то достаточно 1 акселерометра.
Акселерометр вызывает более быстрое накопление ошибки чем гироскоп. Применение фильтра Калмана позволяет значительно снизить накопление ошибки.
avr123.nm.ru писал(а):Акселерометр вызывает более быстрое накопление ошибки чем гироскоп. Применение фильтра Калмана позволяет значительно снизить накопление ошибки.
Если будет накопление ошибки то робот когдато всеравно упадет, нам это не интересно.
При помощи двух акселерометров установленых под углом 90 градусов можно вычислить как наклонена платформа, т.к. ты знаешь что векторная сумма равна 1 g наклон вычислить можно, но это в теории, а на практике в статике если медленно крутить в руках то все работает а если начать двигать с ускорением лезут ошибки.
Тут была идея насчет инерциальной системы, зная ускорение двух точек на плоскости можно вычислить движение этой плоскости. Опять же в теории все работает, а на практике у акселерометров есть своя собственная погрешность плюс погрешность измерений АЦП, вообще на акселерометрах за 10 баксов инерциалку не построить.
Остается связка гироскоп плюс акселерометр но как их связать я пока не знаю.
Я пока решил заменить эту систему на ножку с потенциометром научу робота сначала с ней балансировать а потом заменю на акселерометры и гороскоп.
avr123.nm.ru писал(а):Акселерометр вызывает более быстрое накопление ошибки чем гироскоп. Применение фильтра Калмана позволяет значительно снизить накопление ошибки.
Если будет накопление ошибки то робот когдато всеравно упадет, нам это не интересно.
даже в баличтических ракетах супер гиро платформы накапливают ошибку.
Ну вот ракеты и падают. Но у нас ведь нет этих супер-пупер инерциальных систем. Я пока непонимаю как можно соорудить такую систему на тех акселерометрах которые у меня есть (семплы пришедшие от freescale.com)