Как фильтрация Калмана работает в инерциальных навигационных системах?

Насколько я правильно понял, большинство ИНС-систем используют фильтр Калмана для компенсации ошибок измерения. Я бы хотел знать:

  • Компенсирует ли фильтр Калмана ошибки всех бортовых датчиков?

  • IIRC Фильтр Калмана - это трекер, который предсказывает будущие значения вычислений. Чем это здесь полезно?

  • Это также используется в IRS? Или только на старых INS?

Спасибо

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

Ответы (3)

Фильтр Калмана используется на всех типах IRU и INS, даже с информацией о воздушной скорости, как в ADIRU. Фильтр Калмана — это просто общий метод (и очень полезный) для оценки состояния и объединения датчиков, что и происходит в системе INS. Я бы не назвал это "компенсацией". Инерциальная навигация требует, чтобы мы считывали значения датчиков, такие как угловое ускорение, направление магнитного севера, продольное ускорение и даже воздушную скорость, а затем преобразовывали их в более значимые значения, такие как путевая скорость. Если все сделано правильно, эти процессы (называемые объединением датчиков и оценкой состояния) сведут к минимуму ошибки на всех датчиках, которые вы в него введете. Это быстрая версия. Для более подробного объяснения того, как это работает, читайте дальше.

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

С другой стороны, слияние датчиков — это когда мы хотим объединить несколько датчиков, чтобы попытаться получить датчик, который сочетает в себе лучшее из обоих миров. Слияние датчиков и оценка состояния могут перекрываться. Классический пример — совмещение датчиков GPS и акселерометра. GPS дает точное местоположение, но только с точностью до нескольких метров и может не обновляться с желаемой скоростью. Акселерометры дают точные значения ускорения даже в малых масштабах, но их оценка положения имеет тенденцию дрейфовать в течение более длительных периодов времени. Комбинируя их, мы можем получить точность INS, но без дрейфа. Одно из преимуществ фильтра Калмана состоит в том, что разные датчики при комбинировании не должны измерять одни и те же значения, если у нас есть уравнения для связи значений датчиков и внутреннего состояния. Например, мы можем комбинировать значения магнитного компаса и гироскопа, даже если они не являются прямыми аналогами. Слияние датчиков также может быть выполнено с помощью других методов, таких как дополнительный фильтр или методы Байеса/Маркова.

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

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

Фильтры Калмана имеют ряд преимуществ перед другими фильтрами, такими как дополнительный фильтр. В элементарных ситуациях они могут прийти к идентичному решению аналогичного дополнительного фильтра или усредняющего фильтра. Вы упомянули об отслеживании при прогнозировании будущих значений, и я объясню, почему помогает фильтр Калмана. Если бы наши последние три позиции были 1,0, 1,5, 1,7 и 1,8, простой фильтр мог бы усреднить 1,7 и 1,8 или аналогичным образом попытаться объединить прошлые и текущие значения. Это приведет к отставанию от текущего значения. Фильтры Калмана (и некоторые простые фильтры) экстраполируют предыдущие значения для более точного прогнозирования текущего значения. Фильтры Калмана действительно начинают сиять, поскольку система, которую мы пытаемся отслеживать, меняется сложным, но предсказуемым образом.

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

Несмотря на точность фильтров Калмана, я видел несколько мест, где вместо фильтров Калмана использовались более простые устройства, такие как дополнительные фильтры. Почему? Основная причина заключается в сложности, на которой я не буду подробно останавливаться на этом этапе.

Прежде всего, вы должны знать, что фильтр Калмана — это метод оценки состояния. Это больше, чем фильтр, это оценщик. Хотя в процессе он фильтрует шум датчика, наиболее важным его применением является оценка состояния системы.

KF использует математическую модель системы (например, самолета, движущегося над землей) для оценки состояния системы (например, положение, положение, скорость) путем сравнения последовательных измерений со значениями, которые ожидались на основе предыдущих оценок состояния. .

Компенсирует ли фильтр Калмана ошибки всех бортовых датчиков?

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

IIRC Фильтр Калмана - это трекер, который предсказывает будущие значения вычислений. Чем это здесь полезно?

Его действительно можно использовать как трекер. KF использует свою текущую оценку состояния системы для прогнозирования состояния во время следующего измерения. Различия между предсказанным измерением и фактическими измерениями затем используются для корректировки оценки состояния и обновления модели неопределенности состояния.

Это также используется в IRS? Или только на старых INS?

Да, KF (обычно более продвинутая форма, такая как EKF или AKF) используется для объединения данных от нескольких датчиков IRS. В ADIRU используются не только измерения акселерометров и гироскопов, но и измерения трубки Пито и статического порта.

Я где-то читал, что фильтр Калмана также используется для GPS на самолетах. Это правильно? Я ожидал, что GPS в наши дни работает очень хорошо и не так много ошибок...
Как вы думаете, как GPS-приемники получают такие точные оценки местоположения? Точно, фильтрация Калмана :-)
Может ли downvoter объяснить причины -1? Я был бы рад узнать, что я могу улучшить. Спасибо.

Фильтр Калмана уменьшает шум. Если датчик имеет систематическую ошибку, фильтр Калмана вам не поможет.

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

Другие виды ошибок, такие как ошибки смещения или ошибки линеаризации, не могут быть обнаружены фильтром Калмана.

1) Таким образом, один фильтр Калмана может иметь много входов, т. е. по одному для каждого датчика? Или для каждого датчика должен быть разработан один фильтр Калмана? 2) Значит, его можно без проблем использовать и для IRS? (в основном я нашел это в INS онлайн)
Пока смещение можно наблюдать, вполне возможно выполнить оценку и компенсацию смещения в фильтре Калмана.
@DeltaLima: Пока известно смещение, вам не нужен причудливый фильтр Калмана для его учета. Если он неизвестен, фильтр не поможет.
Фильтр Калмана можно использовать для оценки величины смещения. Смещение часто не поддается прямому измерению, но его величину часто можно определить с течением времени. Включив смещение в состояние в качестве переменной состояния, можно повысить общую точность оценки состояния. Если у вас есть, например, одномерная система, в которой вы можете измерить положение с помощью беспристрастного, но очень неточного датчика, и ускорение с помощью смещенного, но точного датчика, можно сделать фильтр Калмана, который даст вам а) точное положение, б) точное ускорение, c) смещение вашего акселерометра.
@DeltaLima То, что вы описываете, представляет собой фильтр нижних частот для акселерометра, в котором долгосрочное среднее интегрируется и сравнивается с изменением положения. Сделайте это несколько раз, чтобы учесть низкую точность позиционирования, и вы получите смещение.
@PeterKämpf, в данном конкретном случае фильтрация и интеграция нижних частот происходит в фильтре Калмана (KF). Да, в этом случае можно обойтись и без КФ. Пример, который я привел, должен был проиллюстрировать, что KF обычно полезен для оценки состояния чего-то, что не поддается непосредственному измерению (например, внутреннее состояние, такое как смещение датчика), но может быть выведено из выходных сигналов системы. Мера того, насколько хорошо можно вывести это внутреннее состояние, называется наблюдаемостью . Концепция наблюдаемости восходит к Рудольфу Э. Кальману, отцу KF.