На каком этапе должна применяться фильтрация данных датчиков?


8

Должен ли я фильтровать (kalman / lowpass) после получения необработанных значений от датчика или после преобразования необработанных значений в пригодные для использования данные? Это имеет значение? Если так, то почему?

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

Ответы:


1

KF оценивает позу робота на основе всех входов датчиков и корреляции датчиков . Если вы делаете EKF на данные компаса, вы действительно нужен робот позу , чтобы определить , насколько вероятно , данное показание компаса является . Без этого вы просто фильтруете нижние частоты (не используя вероятностный фильтр, такой как KF).

Если фильтр , прежде чем положить все в том же кадре, то я не знаю , какую информацию вы должны сделать фильтрацию на . Поскольку я точно не знаю, что вы подразумеваете под «пригодным для использования», я предполагаю, что вы преобразовали все данные датчика в систему координат робота. В этом случае фильтрация очень проста, поскольку вы можете поместить все показания датчика непосредственно в один EKF. На самом деле, это «нормальный» способ фильтрации, с которым я знаком.

Пример : допустим, ваш IMU подключен к роботу. ИДУ будет использоваться при оценке позы робота. Неважно, какие юниты вы используете, пока IMU рассказывает вам о том, как движется робот. Затем вы можете использовать корреляцию IMU с другими вещами, которые измеряют движение, такими как компас или одометр. Вот для чего KF. KF - это не сенсорный фильтр, как полосовой фильтр или что-то в этом роде.

Существует очень уместный ответ здесь .


Мне трудно понять ваш ответ. Допустим, мне нужно преобразовать необработанные значения из IMU в угол Эйлера. Таким образом, я должен фильтровать необработанные данные, прежде чем конвертировать? правильно?

Допустим, ваш IMU подключен к роботу. ИДУ будет оценивать позу робота. Неважно, какие юниты вы используете, пока IMU рассказывает вам о том, как движется робот. Затем вы можете использовать корреляцию IMU с другими вещами, которые измеряют движение, такими как компас или одометр. Вот для чего KF. KF - это не сенсорный фильтр, как полосовой фильтр или что-то в этом роде.
Джош Вандер Хук

Ааааа! Отличный ответ, Джош! :) Я понял. Спасибо!

0

Фильтруйте необработанные данные.

Фильтрация отсеивает (надеюсь) большую часть шума и ошибок. Необработанные данные обычно не так полезны.

Гироскопы дрейфуют, на компасах много шума. Кальман может удалить оба.


1
Калман обуславливает показания сеньора по позе робота, затем обновляет позу робота. Вы не можете фильтровать только данные датчика, не зная позу робота. В противном случае вы просто сглаживаете данные. В то время как сглаживание является фильтрацией, фильтрация Калмана не сглаживает.
Джош Вандер Хук
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.