线性卡尔曼滤波器用于跟踪对象
一个trackingKF
对象是一个离散时间线性卡尔曼滤波器用于跟踪位置和速度自动驾驶场景中可能遇到的对象。这些物体包括汽车、行人、自行车和固定的结构物或障碍物。
卡尔曼滤波是一种递归算法,用于在对过程进行测量时估计过程的演化状态。当状态的演化遵循线性运动模型且测量值是状态的线性函数时,滤波器是线性的。过滤器假设过程和测量都有附加噪声。当过程噪声和测量噪声均为高斯分布时,卡尔曼滤波器是线性过程的最优最小均方误差状态估计器。
您可以使用在这些方面,这对象:
明确设置运动模式。将运动模型属性,MotionModel
, 至习惯
,然后用StateTransitionModel
属性来设置状态转移矩阵。
设置MotionModel
属性设置为预定义的状态转换模型:
运动模型 |
---|
“1D等速” |
“1D恒定加速度” |
“2D等速” |
“二维恒定加速度” |
“3D等速” |
三维加速度恒定的 |
过滤器= trackingKF
创建一个线性卡尔曼滤波对象离散时间,二维,匀速运动的对象。的默认值StateTransitionModel
,MeasurementModel
,ControlModel
属性。该函数还设置了MotionModel
属性“2D等速”
。
指定的状态转移模型,过滤
= trackingKF(F
,H
)F
和测量模型,H
。有了这个语法,功能也设置MotionModel
属性“自定义”
。
还指定控制模型,过滤
= trackingKF(F
,H
,G
)G
。有了这个语法,功能也设置MotionModel
属性“自定义”
。
设定运动模型属性,过滤
= trackingKF('MotionModel'
,模型
)MotionModel
, 至模型
。
通过使用一个或多个配置卡尔曼滤波器的特性过滤
= trackingKF(___,的名字
,价值
)的名字
,价值
自变量对任何以前的语法。任何未指定的属性取默认值。
卡尔曼滤波器通过估计其状态描述一个对象的运动。的状态通常由对象的位置和速度以及可能的其加速度的。的状态可以跨越一个,两个或三个空间维度。最常见的,可以使用卡尔曼滤波器模型恒速或恒加速运动。线性卡尔曼滤波器假定过程服从下面的线性随机差分方程:
Xķ在步骤的状态ķ。Fķ是状态转换模型矩阵。Gķ是控制模型矩阵。üķ表示作用在物体上已知的广义的控制。除了运动的指定的方程,所述运动可以通过随机噪声扰动的影响,vķ。的状态下,状态转移矩阵,和对照一起提供足够的信息,以确定所述物体的在不存在噪声的未来运动。
在卡尔曼滤波中,测量值也是状态的线性函数,
在哪里Hķ是测量模型矩阵。这种模式表达了测量作为国家的职能。的测量可以由一个对象的位置,位置和速度,或它的位置,速度,和加速度,或这些量的一些功能。测量结果还可以包括噪声扰动w ^ķ。
这些等式中,在不存在噪声的,建模对象的实际运动与实际的测量。在每一步的噪声贡献是未知的,无法模仿。只有噪声协方差矩阵是已知的。国家协方差矩阵只与噪声协方差的知识更新。
对于线性卡尔曼滤波器算法的简短描述,请参见线性卡尔曼滤波器。
[1]棕色,R.G.和P.Y.C.王某。简介随机信号分析与应用卡尔曼滤波。第3版。纽约:John Wiley和Sons,1997年。
[2]卡尔曼,r。“线性滤波和预测问题的新方法。”在ASME-中医基础工程交易卷。82,系列d,1960年3月,第35-45。
[3]布莱克曼,塞缪尔。雷达多目标跟踪。艺达大厦。1986年。