2010-06-28 5 views
0

Использование:Coverting от RawValues ​​до значений для гироскопа в wiimotion плюс - Wiimotelib 1.8 бета

Wiimote.WiimoteState.MotionPlusState.RawValues; 

Я retrive исходных значений гироскопа от WiiMotion плюса, однако, эти значения для ускорения вращения совершенно произвольны и они мало полезны для меня, когда они стоят.

Я считаю, что:

Wiimote.WiimoteState.MotionPlusState.Values; 

даст мне данные в г это как в случае с акселерометром данных из Wiimote в библиотеке Wiimote. К сожалению, когда я использую это, я не получаю никаких данных, x, y и z равны нулю.

Может ли кто-нибудь объяснить, как преобразовать необработанные значения в значащие g или пролить свет на то, почему я не могу получить информацию в обычном режиме.

ответ

0

если вы используете WiimoteLib, его, поскольку его бета-версия; преобразование из RawValues ​​в значения все еще является методом заглушки. Я использовал этот метод нормализации: 1. Откалибруйте Motionplus (т. Е. Найдите исходное значение, которое соответствует нулю, я делаю это, удерживая его неподвижным в течение некоторого времени) 2. Для каждого следующего необработанного значения прочитайте, я вычитаю нуль значение из него, чтобы получить «относительное» необработанное значение. 3. Затем я масштабирую это значение, используя http://wiibrew.org/wiki/Wiimote/Extension_Controllers (проверка на yaw_fast, pitch_fast и т. Д.), Где численные значения вычисляются с использованием меры (необработанное значение 8192 соответствует 595 град/с) 4. Подводя итог всем этим значения с течением времени (дискретное интегрирование), чтобы получить угол ориентации wiimote по начальной ориентации.

Когда я проверил это, повернув wiimote в направлении поворота на 90 градусов и назад, я получил хороший соответствующий график. Но мои значения не масштабируются, и я не знаю, как его преобразовать, не зная максимального (т. е. значение, равное 360 градусам). Возможно, мне нужно провести еще несколько тестов по этому вопросу,

, но если у кого-то есть другие идеи, я тоже жду ...