Уменьшение вариаций высоты тона / крена
Я хочу использовать wiimote для управления курсором БЕЗ инфракрасной сенсорной панели. Я использую значения высоты тона и крена для этого. Проблема в том, что когда шаг близок к 0 градусам, крен очень нестабилен, а когда шаг близок к 90 градусам, он сам по себе очень нестабилен, но крен в порядке. Я опрашиваю wiimote очень часто, так что я усредняю последние 20 значений как для высоты, так и для высоты тона, и я могу заставить курсор идти туда, куда я хочу. Единственная проблема заключается в том, что все еще существует много неконтролируемого тряски. Любые идеи о том, как я могу уменьшить это? (Или даже получить более точное положение без ИК сенсорной панели?)
Спасибо!
Дейв
2 ответа
Это общая проблема с тангажом и креном. Вы можете уменьшить этот раздражающий эффект, но вы не можете избавиться от него, пока вы используете тангаж и крен (углы Эйлера). Посмотрите на 38:25
http://www.youtube.com/watch?v=C7JQ7Rpwn2k
Я использую матрицы вращения вместо углов Эйлера в моем приложении для определения движения. Для введения в матрицы вращения я рекомендую:
Направление Косинус Матрица ИДУ: Теория
Кватернионы также очень популярны и считаются самыми стабильными.
Простое (иногда простое - лучшее) решение будет усреднять ваши показания.
Напишите последнее, скажем, пять показаний, а затем возьмите их среднее значение. Это будет небольшая задержка между плоскостью и быстрым вращением, но для курсора это приведет к незначительному трению, оно будет противостоять внезапным изменениям.