Как я могу калибровать датчики программно, вместо ручной настройки *#0*#?

Привет, я пишу vr-приложения, но в картоне есть дрейф.

Я нашел решение, которое калибровка датчика с секретным кодом "# 0#".

Но я хочу сделать код программно

сделать самотестирование датчиков для их калибровки.

Я искал, но не мог найти API для калибровки датчика смартфона.

Поэтому я искал пример или исходный код для калибровки датчика, но не смог.

Пожалуйста, дайте мне знать API или логику для калибровки датчика.

1 ответ

Под "калибровкой" я предполагаю, что вы имеете в виду "настроить гравитацию" с помощью акселерометра и "установить базисное преобразование" для гироскопа и / или датчиков положения и внешнего преобразования?

Без какого-либо перехода к эталону, такого как магнитометр (который должен быть откалиброван в соответствии с данными локального магнитного поля, в некоторой точке), или предварительно откалиброванных данных внешнего датчика (например, использование Rift, Vive и PSVR), вы можете не калибровать датчики движения без ручного вмешательства.

Вы можете создать основу, предложив пользователю через полноэкранную презентацию / текст, чтобы они на мгновение остановились в удобном положении, возможно, при отображении экрана "Калибровка..." во время сбора данных, но это примерно так. настолько автоматизирован, насколько вы можете сделать свою калибровку.

К сожалению, вы неизбежно получите "дрейф" в данных гироскопа и акселерометра, без магнитометра (которого обычно нет в телефонах) или другой формы коррекции (например, повторная калибровка, вызванная нажатием кнопки). Это неизбежно на аппаратном уровне - нет никакого волшебства, чтобы избежать этого.

После измерения дрейфа в течение длительного периода времени вы сможете создать программное решение для настройки, попросив пользователя поместить устройство на поверхность на некоторое время, пока вы собираете данные.

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