Похожих на этот вопрос: CMDeviceMotion userAcceleration driftЕсть ли способ, чтобы удалить небольшой уклон вдоль оси тяжести в данном акселерометре
Я использую CMDeviceMotion.userAcceleration в iOS5 SDK для построения его х, у, г компонентов со временем. Как и в предыдущем сообщении, я вижу, что компонент ускорения z показывает всегда небольшие положительные значения (0,005-0,015), тогда как компоненты x и y центрируют по ноль (-0.005 - 0.005), когда мой iPhone 4s сидит на ровной поверхности.
Это небольшое смещение продолжает складываться с оценкой скорости (которую я вычисляю, интегрируя данные ускорения), даже когда мой телефон немного не двигается. Есть ли какой-либо известный способ удалить это смещение из данных акселерометра? Я не могу просто вычесть смещение из z-компонента, потому что кажется, что смещение распространяется по x y и z вдоль оси тяжести, если устройство находится в некоторой произвольной ориентации.
Я знаю, что данные в CMDeviceMotion.userAcceleration уже учитывали гравитацию с использованием данных гироскопа, но задаются вопросом, есть ли эффективный способ устранения этого остаточного смещения?
Спасибо за ответ. Чтобы быть ясным, я ищу способ эффективно компенсировать смещение в данных необработанного акселерометра (а не об ошибке интеграции на данный момент). Это нормально, если для этого требуется какой-либо шаг калибровки, но не уверен, как фильтр Калмана поможет в этом случае. – atisman
Датчики с датчиками MEMS всегда будут дрейфовать, они чувствительны к изменениям температуры среди других, и вы не можете слишком много сделать с этим ... Если вы не интегрируете, то почему небольшое отклонение вызывает проблемы? Чем бы Вы хотели заняться? – Ali
В этот момент я просто пытаюсь понять эти датчики и связанные с ними API iOS и то, что я могу получить от них. Моя первоначальная цель - получить относительное смещение двух произвольных позиций iPhone как можно точнее. Но при этом постоянном положительном смещении ошибка смещения кажется слишком большой даже без учета какой-либо ошибки на этапе интеграции. Например, количество 0,0015 г/с^2 даст примерно 7,35 см смещения через 1 секунду (на основе формулы 1/2at^2) без какого-либо движения телефона. – atisman