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

теперь стандартной практикой является объединение измерений акселерометров и гироскопов через фильтр Калмана для таких приложений, как самобалансирующиеся двухколесные тележки: например: http://www.mouser.com/applications/sensor_solutions_mems/

акселерометр показывает угол наклона через arctan(a_x/a_y). использование здесь термина «ускорение» очень сбивает с толку, поскольку на самом деле он означает проекцию гравитации вдоль оси устройства (хотя я понимаю, что физически гравитация — это просто ускорение).

вот большая проблема: когда тележка пытается двигаться, двигатель приводит тележку в движение и создает нетривиальное ускорение в горизонтальном направлении, это сделало бы a_x уже не просто проекцией силы тяжести вдоль оси x устройства. на самом деле это сделало бы измеренный угол наклона больше. как это обрабатывается? Я думаю, учитывая зрелость Segway, должны быть какие-то существующие способы справиться с этим. у кого-нибудь есть указатели?

спасибо Ян


person teddy teddy    schedule 05.10.2015    source источник


Ответы (1)


Ты абсолютно прав. Вы можете оценить углы тангажа и крена, используя проекцию вектора силы тяжести. Вы можете получить вектор гравитации, используя неподвижный акселерометр, но если акселерометр движется, то он измеряет гравитацию + линейную составляющую ускорения, и основная проблема здесь состоит в том, чтобы отделить гравитационную составляющую от линейных ускорений. Лучший способ сделать это — пропустить сигнал акселерометра через фильтр низких частот. Пожалуйста, обратитесь к Low- Проходной фильтр: основы или Акселерометр Android: расчетный низкочастотный фильтр Линейное ускорение, чтобы узнать больше о низкочастотном фильтре.

алгоритм слияния датчиков также должен вас заинтересовать.

person Alex Smirnov    schedule 05.10.2015