Линейный фильтр Калмана для отслеживания объектов
A trackingKF
объект является линейным фильтром Калмана в дискретном времени, используемым для отслеживания положений и скоростей объектов, с которыми можно столкнуться в сценарии беспилотного управления. К таким объектам относятся автомобили, пешеходы, велосипеды и стационарные конструкции или препятствия.
Фильтр Калмана является рекурсивным алгоритмом для оценки развивающегося состояния процесса, когда измерения производятся на процессе. Фильтр линейен, когда эволюция состояния следует линейной модели движения, и измерения являются линейными функциями состояния. Фильтр принимает, что и процесс, и измерения имеют аддитивный шум. Когда шум процесса и шум измерения Гауссовы, фильтр Калмана является оптимальным средством оценки состояния минимальной средней квадратичной невязки (MMSE) для линейных процессов.
Использовать этот объект можно следующими способами:
Явным образом установите модель движения. Установите свойство модели движения, MotionModel
, в Custom
, а затем используйте StateTransitionModel
свойство для установки матрицы переходов состояний.
Установите MotionModel
свойство предопределенной модели перехода состояний:
Модель движения |
---|
'1D Constant Velocity' |
'1D Constant Acceleration' |
'2D Constant Velocity' |
'2D Constant Acceleration' |
'3D Constant Velocity' |
'3D Constant Acceleration' |
filter = trackingKF
создает линейный объект фильтра Калмана для движущегося объекта в дискретном времени, 2-D, постоянной скорости. Фильтр Калмана использует значения по умолчанию для StateTransitionModel
, MeasurementModel
, и ControlModel
свойства. Функция также устанавливает MotionModel
свойство к '2D Constant Velocity'
.
задает модель перехода состояния, filter
= trackingKF(F
,H
)F
, и модель измерения, H
. С помощью этого синтаксиса функция также устанавливает MotionModel
свойство к 'Custom'
.
также задает модель управления, filter
= trackingKF(F
,H
,G
)G
. С помощью этого синтаксиса функция также устанавливает MotionModel
свойство к 'Custom'
.
устанавливает свойство модели движения, filter
= trackingKF('MotionModel'
,model
)MotionModel
, в model
.
конфигурирует свойства фильтра Калмана при помощи одной или нескольких filter
= trackingKF(___,Name
,Value
)Name
, Value
аргументы в виде пар и любой из предыдущих синтаксисов. Любые неопределенные свойства берут значения по умолчанию.
predict | Предсказать состояние и ковариацию ошибки расчета состояния линейного фильтра Калмана |
correct | Правильное состояние и ковариация ошибки оценки состояния с помощью отслеживающего фильтра |
correctjpda | Правильное состояние и ковариация ошибки оценки состояния с помощью отслеживающего фильтра и JPDA |
distance | Расстояния между током и предсказанными измерениями отслеживающего фильтра |
likelihood | Вероятность измерения с отслеживающего фильтра |
clone | Создайте повторяющийся фильтр отслеживания |
residual | Измерение остаточного и остаточного шума от отслеживающего фильтра |
initialize | Инициализируйте состояние и ковариацию отслеживающего фильтра |
Фильтр Калмана описывает движение объекта путем оценки его состояния. Состояние обычно состоит из положения объекта и скорости и, возможно, его ускорения. Состояние может охватывать одно, два или три пространственных размерности. Чаще всего вы используете фильтр Калмана, чтобы смоделировать движение с постоянной скоростью или с постоянным ускорением. Линейный фильтр Калмана принимает, что процесс подчиняется следующему линейному стохастическому разностному уравнению:
xk - состояние на шаге k. Fk - матрица модели перехода состояний. Gk - матрица модели управления. uk представляет известные обобщенные элементы управления, действующие на объект. В дополнение к заданным уравнениям движения на движение могут влиять случайные шумовые возмущения, vk. Состояние, матрица переходов и элементы управления вместе предоставляют достаточно информации, чтобы определить будущее движение объекта в отсутствие шума.
В фильтре Калмана измерения также являются линейными функциями состояния,
где Hk - матрица модели измерения. Эта модель выражает измерения как функции состояния. Измерение может состоять из положения, положения и скорости объекта, или его положения, скорости и ускорения, или некоторой функции этих величин. Измерения могут также включать шумовые возмущения, wk.
Эти уравнения, в отсутствие шума, моделируют фактическое движение объекта и фактические измерения. Шумовые вклады на каждом шаге неизвестны и не могут быть смоделированы. Известны только шумовые ковариационные матрицы. Ковариационная матрица состояния обновляется знанием только о шумовой ковариации.
Краткое описание алгоритма линейного фильтра Калмана смотрите в Linear Kalman Filters.
[1] Коричневый, R.G. и P.Y.C. Ван. Введение в анализ случайных сигналов и прикладную фильтрацию Калмана. 3-е издание. Нью-Йорк: John Wiley & Sons, 1997.
[2] Калман, Р. Е. «Новый подход к линейным задачам фильтрации и предсказания». Сделка ASME-Journal of Basic Engineering, том 82, серия D, март 1960, стр. 35-45.
[3] Блэкман, Сэмюэль. Отслеживание нескольких целей с помощью радаров. Дом Артеха. 1986.