Как я могу калибровать датчики программно, вместо ручной настройки *#0*#?
Привет, я пишу vr-приложения, но в картоне есть дрейф.
Я нашел решение, которое калибровка датчика с секретным кодом "# 0#".
Но я хочу сделать код программно
сделать самотестирование датчиков для их калибровки.
Я искал, но не мог найти API для калибровки датчика смартфона.
Поэтому я искал пример или исходный код для калибровки датчика, но не смог.
Пожалуйста, дайте мне знать API или логику для калибровки датчика.
1 ответ
Под "калибровкой" я предполагаю, что вы имеете в виду "настроить гравитацию" с помощью акселерометра и "установить базисное преобразование" для гироскопа и / или датчиков положения и внешнего преобразования?
Без какого-либо перехода к эталону, такого как магнитометр (который должен быть откалиброван в соответствии с данными локального магнитного поля, в некоторой точке), или предварительно откалиброванных данных внешнего датчика (например, использование Rift, Vive и PSVR), вы можете не калибровать датчики движения без ручного вмешательства.
Вы можете создать основу, предложив пользователю через полноэкранную презентацию / текст, чтобы они на мгновение остановились в удобном положении, возможно, при отображении экрана "Калибровка..." во время сбора данных, но это примерно так. настолько автоматизирован, насколько вы можете сделать свою калибровку.
К сожалению, вы неизбежно получите "дрейф" в данных гироскопа и акселерометра, без магнитометра (которого обычно нет в телефонах) или другой формы коррекции (например, повторная калибровка, вызванная нажатием кнопки). Это неизбежно на аппаратном уровне - нет никакого волшебства, чтобы избежать этого.
После измерения дрейфа в течение длительного периода времени вы сможете создать программное решение для настройки, попросив пользователя поместить устройство на поверхность на некоторое время, пока вы собираете данные.