Уменьшение вариаций высоты тона / крена

Я хочу использовать wiimote для управления курсором БЕЗ инфракрасной сенсорной панели. Я использую значения высоты тона и крена для этого. Проблема в том, что когда шаг близок к 0 градусам, крен очень нестабилен, а когда шаг близок к 90 градусам, он сам по себе очень нестабилен, но крен в порядке. Я опрашиваю wiimote очень часто, так что я усредняю ​​последние 20 значений как для высоты, так и для высоты тона, и я могу заставить курсор идти туда, куда я хочу. Единственная проблема заключается в том, что все еще существует много неконтролируемого тряски. Любые идеи о том, как я могу уменьшить это? (Или даже получить более точное положение без ИК сенсорной панели?)

Спасибо!

Дейв

2 ответа

Решение

Это общая проблема с тангажом и креном. Вы можете уменьшить этот раздражающий эффект, но вы не можете избавиться от него, пока вы используете тангаж и крен (углы Эйлера). Посмотрите на 38:25

http://www.youtube.com/watch?v=C7JQ7Rpwn2k

Я использую матрицы вращения вместо углов Эйлера в моем приложении для определения движения. Для введения в матрицы вращения я рекомендую:

Направление Косинус Матрица ИДУ: Теория

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

Простое (иногда простое - лучшее) решение будет усреднять ваши показания.

Напишите последнее, скажем, пять показаний, а затем возьмите их среднее значение. Это будет небольшая задержка между плоскостью и быстрым вращением, но для курсора это приведет к незначительному трению, оно будет противостоять внезапным изменениям.

Другие вопросы по тегам