Для многих автономных систем знание системного состояния является необходимым условием для разработки любых приложений. В действительности, однако, состояние часто не непосредственно доступно. Системное состояние обычно выводится или оценивается на основе системы выходные параметры, измеренные определенными инструментами (такими как датчики) и поток состояния, которым управляет динамическая модель или модель движения. Некоторые простые методы, такие как оценка наименьшего квадрата или пакетная оценка, достаточны в решении статических или оффлайновых задач оценки. Для онлайновых и оперативных (последовательных) проблем оценки обычно применяются более сложные фильтры оценки.
Система оценки состоит из динамической модели или модели движения, которая описывает поток состояния и модели измерения, которая описывает, как измерения получены. Математически, эти две модели могут быть представлены уравнением движения и уравнением измерения. Например, уравнение движения и уравнение измерения для общей нелинейной дискретной системы оценки могут быть записаны как:
где k является временным шагом, x k является системным состоянием на временном шаге k, f (x k) является уравнением состояния зависимым движения, h (x k) является зависимым уравнением измерения состояния и y, k является выход.
В большинстве случаев создавание совершенной модели, чтобы получить все динамическое явление не возможно. Например, включая все трения в модели движения автономного транспортного средства невозможно. Чтобы компенсировать эти несмоделированные движущие силы, шум процесса (w) часто добавляется к динамической модели. Кроме того, когда измерения проведены, многочисленные источники ошибок, такие как калибровочные ошибки, неизбежно включены в измерения. С учетом этих ошибок соответствующий шум измерения должен быть добавлен к модели измерения. Система оценки включая эти случайные шумы и ошибки называется стохастической системой оценки, которая может быть представлена:
где w k и v k представляет шум процесса и шум измерения, соответственно.
Для большинства инженерных приложений шум процесса и шум измерения приняты, чтобы следовать за нулевыми средними Распределениями Гаусса или нормальными распределениями, или, по крайней мере, быть аппроксимированными Распределениями Гаусса. Кроме того, потому что точное состояние неизвестно, оценка состояния является случайной переменной, обычно принимаемой, чтобы следовать за Распределениями Гаусса. Принятие Распределений Гаусса для этих переменных значительно упрощает проект фильтра оценки, и сформируйте основание семейства Фильтров Калмана.
Распределение Гаусса для случайной переменной (x) параметризовано средним значением μ и ковариационная матрица P, который записан как x ∼N (μ, P). Учитывая Распределение Гаусса, среднее значение, которое является также наиболее вероятным значением x, задано ожиданием (E) как:
Среднему значению также звонят первый момент по поводу x вокруг начала координат. Ковариация, которая описывает неопределенности в x, задана ожиданием (E) как:
Ковариации также звонят второй момент по поводу x о его среднем значении.
Если размерность x один, P является только скаляром. В этом случае значение P обычно обозначается σ 2 и названное отклонение. Квадратный корень, σ, называется стандартным отклонением x. Стандартное отклонение имеет важный физический смысл. Например, следующий рисунок показывает функцию плотности вероятности (который описывает вероятность, что x принимает определенное значение) для одномерного Распределения Гаусса со средним значением, равным μ и стандартному отклонению, равному σ. Приблизительно 68% данных находятся в пределах 1σ контур x, 95% данных находятся в пределах 2σ контур, и 99,7% данных находится в пределах 3σ контур.
Даже при том, что предположение Распределения Гаусса является доминирующим предположением в инженерных приложениях, там существуйте системы, состояние которых не может быть аппроксимировано Распределениями Гаусса. В этом случае нефильтры Калмана (такие как фильтр частиц) требуются, чтобы точно оценивать системное состояние.
Цель разработки фильтра состоит в том, чтобы оценить состояние системы с помощью системной динамики и измерений. Поскольку измерения обычно проводятся на шагах дискретного времени, процесс фильтрации обычно разделяется на два шага:
Предсказание: Распространите состояние и ковариацию между дискретными временными шагами измерения (k = 1, 2, 3, …, N) использующий динамические модели. Этот шаг также называется обновлением потока.
Коррекция: Откорректируйте оценку состояния и ковариацию на шагах дискретного времени с помощью измерений. Этот шаг также называется обновлением измерения.
Для представления оценки состояния и состояния ковариации на различных шагах, x k |k и P k |k обозначает оценку состояния и ковариацию после коррекции на временном шаге k, тогда как x k +1|k и P k +1|k обозначает оценку состояния и ковариацию, предсказанную от предыдущего временного шага k к шагу текущего времени k +1.
На шаге предсказания распространение состояния является прямым. Фильтр только должен заменить оценкой состояния в динамическую модель и распространить его вперед вовремя как x k +1|k = f (x k |k).
Распространение ковариации более сложно. Если система оценки линейна, то ковариация может быть распространена (P k |k→Pk+1|k) точно в стандартном уравнении на основе системных свойств. Для нелинейных систем точное распространение ковариации сложно. Существенное различие между различными фильтрами - то, как они распространяют системную ковариацию. Например:
Линейный Фильтр Калмана использует линейное уравнение, чтобы точно распространить ковариацию.
Расширенный Фильтр Калмана распространяет ковариацию на основе линейной аппроксимации, которая представляет большие ошибки, когда система очень нелинейна.
Сигма-точечный фильтр Калмана использует недушистое преобразование, чтобы произвести распределение ковариации и распространить его вовремя.
Как состояние и ковариация распространены, также значительно влияет на сложность расчета фильтра. Например:
Линейный Фильтр Калмана использует линейное уравнение, чтобы точно распространить ковариацию, которая обычно в вычислительном отношении эффективна.
Расширенный Фильтр Калмана использует линейные аппроксимации, которые требуют вычисления якобиевских матриц и требуют больше ресурсов расчета.
Сигма-точечный фильтр Калмана должен произвести распределение ковариации и поэтому требует распространения нескольких точек выборки, которое является дорогостоящим для высоко-размерных систем.
На шаге коррекции фильтр использует измерения, чтобы откорректировать оценку состояния через обратную связь измерения. В основном различие между истинным измерением и предсказанным измерением добавляется к оценке состояния после того, как это будет умножено на матрицу усиления обратной связи. Например, в расширенном Фильтре Калмана, коррекцией для оценки состояния дают:
Как упомянуто, x k +1|k является оценкой состояния перед (монастырем) коррекция и x, k +1|k+1 является оценкой состояния после (posteriori) коррекция. K k является усилением Кальмана, которым управляет оптимальный критерий, y, k является истинным измерением, и h (x k +1|k) является предсказанным измерением.
На шаге коррекции фильтр также корректирует оценочную ошибочную ковариацию. Основная идея состоит в том, чтобы откорректировать вероятностное распределение x с помощью информации о распределении y k+1. Это называется плотностью апостериорной вероятности x, данного y. В фильтре предсказание и шаги коррекции обрабатываются рекурсивно. Блок-схема показывает общие алгоритмы для Фильтров Калмана.
Sensor Fusion and Tracking Toolbox™ предлагает несколько фильтров оценки, которые можно использовать для оценки и отследить состояние динамической системы.
Классический Фильтр Калмана (trackingKF
) оптимальный фильтр для линейных систем с Гауссовым шумом процесса и измерения. Линейная система оценки может быть дана как:
И шум процесса и измерения принят, чтобы быть Гауссовым, который является:
Поэтому ковариационная матрица может быть непосредственно распространена между шагами измерения с помощью линейного алгебраического уравнения как:
Уравнения коррекции для обновления измерения:
Чтобы вычислить матрицу усиления Кальмана (K k) в каждом обновлении, фильтр должен вычислить инверсию матрицы:
Поскольку размерность инвертированной матрицы равна тому из предполагаемого состояния, это вычисление требует некоторых усилий по расчету для высокой размерной системы. Для получения дополнительной информации смотрите Линейные Фильтры Калмана.
Фильтр альфы - беты (trackingABF
) субоптимальный фильтр, применился к линейным системам. Фильтр может рассматриваться как упрощенный Фильтр Калмана. В Фильтре Калмана усиление Кальмана и ковариационные матрицы вычисляются динамически и обновляются на каждом шаге. Однако в фильтре альфы - беты, эти матрицы являются постоянными. Эта обработка жертвует оптимальностью Фильтра Калмана, но повышает эффективность расчета. Поэтому фильтр альфы - беты может быть предпочтен, когда ресурсы расчета ограничиваются.
Самый популярный расширенный Фильтр Калмана (trackingEKF
) изменяется от классического Фильтра Калмана, чтобы адаптироваться к нелинейным моделям. Это работает путем линеаризации нелинейной системы об оценке состояния и пренебрежения второго и высшего порядка нелинейные условия. Его формулировки являются в основном тем же самым как теми из линейного Фильтра Калмана за исключением того, что k A и H k матрицы в Фильтре Калмана заменяются якобиевскими матрицами f (x k) и h (x k):
Если истинные движущие силы системы оценки близко к линеаризовавшей динамике, то использование этой линейной аппроксимации не дает к значительным ошибкам в течение короткого периода времени. Поэтому EKF может произвести относительно точные оценки состояния для мягко нелинейной системы оценки с короткими интервалами обновления. Однако, поскольку EKF пропускает условия высшего порядка, он может отличаться для очень нелинейных систем (quadrotors, например), особенно с большими интервалами обновления.
По сравнению с KF EKF должен вывести якобиевские матрицы, который требует, чтобы системная динамика была дифференцируема, и вычислила якобиевские матрицы, чтобы линеаризовать систему, которая требует больше активов расчета.
Обратите внимание на то, что для систем оценки с состоянием, описанным в сферических координатах, можно использовать trackingMSCEKF
.
Сигма-точечный фильтр Калмана (trackingUKF
) использует недушистое преобразование (UT), чтобы приблизительно распространить распределение ковариации для нелинейной модели. Подход UT производит Распределение Гаусса ковариации в текущее время, распространяет точки выборки (названный точками сигмы) использование нелинейной модели и аппроксимирует получившееся распределение ковариации, принятое, чтобы быть Гауссовым путем оценки этих распространенных точек сигмы. Фигура иллюстрирует различие между фактическим распространением, линеаризовавшим распространением и распространением UT ковариации неопределенности.
По сравнению с подходом линеаризации, проявленным EKF, подход UT приводит к более точному распространению ковариации и приводит к более точной оценке состояния, специально для очень нелинейных систем. UKF не требует деривации и вычисления якобиевских матриц. Однако UKF требует распространения 2n+1 точки сигмы через нелинейную модель, где n является размерностью предполагаемого состояния. Это может быть в вычислительном отношении дорого для высоких размерных систем.
Фильтр Калмана кубатуры (trackingCKF
) проявляет немного отличающийся подход, чем UKF, чтобы сгенерировать 2n, точки выборки раньше распространяли распределение ковариации, где n является размерностью предполагаемого состояния. Этот альтернативный набор точки выборки часто приводит к лучшей статистической устойчивости и избегает расхождения, которое может произойти в UKF, особенно при выполнении в платформе с одинарной точностью. Обратите внимание на то, что CKF чрезвычайно эквивалентен UKF, когда параметры UKF устанавливаются на α = 1, β = 0, и κ = 0. Смотрите trackingUKF
для определения этих параметров.
Фильтр Гауссовой Суммы (trackingGSF
) использует взвешенную сумму нескольких Распределений Гаусса, чтобы аппроксимировать распределение предполагаемого состояния. Предполагаемое состояние дано взвешенной суммой Гауссовых состояний:
где N является количеством Гауссовых состояний, обеспеченных в фильтре и c k, i является весом для соответствующего Гауссова состояния, которое изменяется в каждом обновлении на основе измерений. Несколько Гауссовых состояний следуют за той же динамической моделью как:
Фильтр является эффективным при оценке состояний не полностью заметной системы оценки. Например, фильтр может использовать несколько параметризованных углом расширенных Фильтров Калмана, чтобы оценить системное состояние, когда только располагаются, измерения доступны. Смотрите Отслеживание с Измерениями Только для области значений для примера.
Интерактивный фильтр многоуровневой модели (trackingIMM
) использование несколько Гауссовых фильтров, чтобы отследить положение цели. В очень маневренных системах системная динамика может переключиться между многоуровневыми моделями (постоянная скорость, постоянное ускорение и постоянный поворот, например). Моделирование движения цели с помощью только одной модели движения затрудняет. Система оценки модели кратного может быть описана как:
где i = 1, 2, …, M и M является общим количеством динамических моделей. Фильтр IMM разрешает целевую неопределенность движения при помощи многоуровневых моделей для маневрирующей цели. Процессы фильтра все модели одновременно и представляют полную оценку как взвешенную сумму оценок из этих моделей, где веса являются вероятностью каждой модели. Смотрите, что Отслеживание Выводит Цели для примера.
Фильтр частиц (trackingPF
) отличается от семейства Кальмана фильтров (EKF и UKF, например), когда это не использует предположение Распределения Гаусса, которое соответствует параметрическому описанию неопределенности с помощью среднего значения и отклонения. Вместо этого фильтр частиц создает несколько симуляций взвешенных выборок (частицы) операции системы в течение времени, и затем анализирует эти частицы как прокси для неизвестного истинного распределения. Краткое введение алгоритма фильтра частиц показано на рисунке.
Мотивация позади этого подхода является аргументом закона больших чисел — когда количество частиц становится большим, их эмпирическое распределение приближается к истинному распределению. Основное преимущество фильтра частиц по различным Фильтрам Калмана состоит в том, что он может быть применен к нераспределениям Гаусса. Кроме того, фильтр не имеет никакого ограничения на системную динамику и может использоваться с очень нелинейной системой. Другое преимущество является свойственной способностью фильтра представлять несколько гипотез о текущем состоянии. Поскольку каждая частица представляет гипотезу состояния с определенной связанной вероятностью, фильтр частиц полезен в случаях, где там существует неоднозначность о состоянии.
Наряду с этими привлекательными свойствами высокая сложность расчета фильтра частиц. Например, UKF требует, чтобы распространение 13 точек выборки оценило 3-D положение и скорость объекта. Однако фильтр частиц может потребовать, чтобы тысячи частиц получили обоснованную оценку. Кроме того, количество частиц должно было достигнуть хорошей оценки, растет очень быстро с размерностью состояния и может привести к проблемам лишения частицы в высоких мерных пространствах. Поэтому фильтры частиц были в основном применены к системам с довольно небольшим числом размерностей (например, роботы).
В следующей таблице перечислены все фильтры отслеживания, доступные в Sensor Fusion and Tracking Toolbox и как выбрать их данный ограничения на системную нелинейность, распределенность и вычислительную сложность.
Отфильтруйте имя | Поддерживает нелинейные модели | Гауссово состояние | Вычислительная сложность | Комментарии |
Альфа - бета | Низко | Субоптимальный фильтр. | ||
Кальман | ✓ | Носитель низко | Оптимальный для линейных систем. | |
Расширенный Кальман | ✓ | ✓ | Носитель | Использование линеаризовало модели, чтобы распространить ковариацию неопределенности. |
Недушистый Кальман | ✓ | ✓ | Носитель высоко | Производит ковариацию неопределенности, чтобы распространить точки выборки. Может стать численно неустойчивым в платформе с одинарной точностью. |
Кубатура Кальман | ✓ | ✓ | Носитель высоко | Производит ковариацию неопределенности, чтобы распространить точки выборки. Численно устойчивый. |
Гауссова сумма | ✓ | ✓ (Принимает взвешенную сумму распределений), | Высоко | Хороший для частично заметных случаев (отслеживание только для угла, например). |
Взаимодействующие многоуровневые модели (IMM) | ✓ Многоуровневые модели | ✓ (Принимает взвешенную сумму распределений), | Высоко | Маневрирование объектов (которые ускоряются или поворачиваются, например), |
Частица | ✓ | Очень Высоко | Производит распределение неопределенности с помощью взвешенных частиц. |
[1] Ван, E.A., и Р. Ван дер Мерв. "Сигма-точечный фильтр Калмана для Нелинейной Оценки". IEEE 2000 Адаптивные системы для Обработки сигналов, Коммуникаций и Симпозиума Управления. № 00EX373, 2000, стр 153–158.
[2] Клык, H., Н. Тянь, И. Ван, М. Чжоу и М.А. Хейли. "Нелинейная Байесова Оценка: От Кальмана Филтеринга к Более широкому Горизонту". Журнал IEEE/CAA Automatica Sinica. Издание 5, Номер 2, 2018, стр 401–417.
[3] Arasaratnam, я., и С. Хейкин. "Фильтры Калмана кубатуры". Транзакции IEEE на автоматическом управлении. Издание 54, Номер 6, 2009, стр 1254–1269.
[4] Конатовский, S., П. Каниевский и Й. Матусзевский. "Сравнение Точности Оценки EKF, UKF и Фильтров PF". Ежегодный из Навигации. Издание 23, Номер 1, 2016, стр 69–87.
[5] Дарко, J. "Объектное Отслеживание: Фильтр частиц легко". https://www.codeproject.com/Articles/865934/Object-Tracking-Particle-Filter-with-Ease.