用于目标跟踪的线性卡尔曼滤波器
A.trackingkf.
对象是用于跟踪位置和速度的离散时间线性卡尔曼滤波器在自动驾驶场景中可能遇到的物体。这些物体包括汽车、行人、自行车和固定的建筑物或障碍物。
卡尔曼滤波是在对过程进行测量时估计过程演化状态的递归算法。当状态的演化遵循线性运动模型,且测量值为状态的线性函数时,滤波器是线性的。过滤器假设过程和测量都有附加噪声。当过程噪声和测量噪声均为高斯噪声时,卡尔曼滤波器是线性过程的最优最小均方误差状态估计器。
您可以通过以下方式使用此对象:
明确设置运动模型。设置运动模型属性,MotionModel
,风俗
,然后使用StateTransitionModel
属性设置状态转移矩阵。
设置MotionModel
属性设置为预定义的状态转换模型:
运动模型 |
---|
“一维恒定速度” |
“1D恒定加速度” |
“二维恒定速度” |
“二维恒定加速度” |
“三维恒定速度” |
三维加速度恒定的 |
过滤器= trackingKF
为离散时间、二维、匀速运动对象创建线性卡尔曼滤波对象。的卡尔曼滤波器使用默认值StateTransitionModel
,测量模型
,ControlModel.
属性。函数还设置MotionModel
财产“二维恒定速度”
.
指定状态转换模型,筛选
= trackingkf(F
,H
)F
,以及测量模型,H
. 使用此语法,函数还设置MotionModel
财产“自定义”
.
还指定控制模型,筛选
= trackingkf(F
,H
,G
)G
. 使用此语法,函数还设置MotionModel
财产“自定义”
.
设置运动模型属性,筛选
= trackingkf(“运动模型”
,模型
)MotionModel
,模型
.
通过使用一个或多个配置Kalman滤波器的属性筛选
= trackingkf(___,的名字
,价值
)的名字
,价值
对参数和以前的任何语法。任何未指定的属性都占用默认值。
卡尔曼滤波通过估计目标的状态来描述目标的运动。这种状态通常包括物体的位置和速度,也可能包括物体的加速度。这种状态可以跨越一个、两个或三个空间维度。最常见的是,使用卡尔曼滤波器来模拟恒定速度或恒定加速度的运动。线性卡尔曼滤波假设过程服从以下线性随机差分方程:
xK状态是否处于正常状态K.FK为状态转移模型矩阵。GK为控制模型矩阵。UK表示作用于对象的已知广义控制。除了规定的运动方程外,运动还可能受到随机噪声扰动的影响,vK. 状态、状态转移矩阵和控件一起提供了足够的信息,可以在没有噪声的情况下确定对象的未来运动。
在卡尔曼滤波器中,测量值也是状态的线性函数,
在哪里HK为测量模型矩阵。该模型将度量表示为状态的函数。一个测量可以包括一个物体的位置、位置和速度,或它的位置、速度和加速度,或这些量的一些函数。测量还包括噪声扰动,WK.
在没有噪声的情况下,这些方程可以模拟物体的实际运动和实际测量结果。每一步的噪声贡献是未知的,无法建模。只有噪声协方差矩阵是已知的。仅利用噪声协方差的知识来更新状态协方差矩阵。
有关线性卡尔曼滤波算法的简要说明,请参阅线性卡尔曼滤波器.
[1] Brown、R.G.和P.Y.C.Wang。随机信号分析与应用卡尔曼滤波简介. 第三版。纽约:约翰·威利父子公司,1997年。
R. E.卡尔曼线性滤波和预测问题的新方法ASME交易-基础工程杂志,第82卷,D辑,1960年3月,第35-45页。
[3] 布莱克曼,塞缪尔。多目标跟踪与雷达应用. 阿泰克之家。1986