主要内容

trackingUKF

目标跟踪的无迹卡尔曼滤波器

描述

这个trackingUKF目标是一种离散时间无迹卡尔曼滤波器,用于跟踪目标的位置和速度在自动驾驶场景中可能遇到的对象。这些物体包括汽车、行人、自行车和固定的建筑物或障碍物。

无迹卡尔曼滤波器是一种递归算法,用于在对过程进行测量时估计过程的演化状态。unscented卡尔曼滤波器可以模拟服从非线性运动模型的状态的演化。测量值也可以是状态的非线性函数,并且过程和测量值可能有噪声。

使用无迹卡尔曼滤波器,当这两个条件之一适用:

  • 当前状态是前一状态的非线性函数。

  • 测量值是状态的非线性函数。

unscented卡尔曼滤波器通过使用固定数量的sigma点来估计状态的不确定性及其在非线性状态和测量方程中的传播。西格玛点是通过使用无迹变换来选择的,由α,β,卡巴属性。

创建

描述

过滤器=trackingUKF的默认值为离散时间系统创建无迹卡尔曼滤波对象StateTransitionFcn,测量,状态属性。假设过程噪声和测量噪声是附加的。

过滤器= trackingUKF (transitionfcn,测量,状态)指定状态转移函数,transitionfcn,测量功能,测量,系统的初始状态,状态

实例

过滤器= trackingUKF (___,名称、值)使用一个或多个参数配置unscented卡尔曼滤波器对象的属性名称、值Pair参数和前面的任何语法。任何未指定的属性都有默认值。

属性

全部展开

卡尔曼滤波状态,指定为实值M元向量,M是筛选器状态的大小。

如果您希望使用单精度浮点变量的筛选器,请指定状态作为单个精度向量变量。例如

过滤器= trackingUKF(“状态”,单([1;2;3;4)))

例子:[200; 0.2]

数据类型:|

状态误差协方差,指定为正定实值M——- - - - - -M矩阵M是筛选器状态的大小。协方差矩阵表示滤波器状态的不确定性。

例子:[20 0.1; 0.1 1]

状态转换函数,指定为函数句柄。此函数在时间步计算状态向量K从时间步长的状态向量K- 1。该函数可以采用额外的输入参数,如控制输入或时间步长。该函数还可以包含噪声值。

状态转移函数的有效语法取决于滤波器是否有可加的过程噪声。的值显示了有效的语法HasAdditiveProcessNoise所有物

有效的语法(HasAdditiveProcessNoise=true) 有效的语法(HasAdditiveProcessNoise=false)
X (k) = stattransitionfcn (X (k-1))
  • x (k)状态是在时间上吗K

  • 参数表示状态转移函数所需的所有附加参数。

X (k) = stattransitionfcn (X (k-1),w(k-1)) X (k) = stattransitionfcn (__,parameters)
  • x (k)状态是在时间上吗K

  • w (k)是某个时刻的过程噪声值吗K

  • dt是时间步长trackingUKF过滤器,过滤器的最近一次调用中指定的预测函数。这个dt参数在跟踪器中使用筛选器并调用预测函数与滤波器一起预测跟踪器在下一个时间步骤的状态。对于非加性过程噪声的情况,跟踪器假设你使用以下语法显式指定时间步长:预测(过滤器,dt)

  • 参数表示状态转移函数所需的所有附加参数。

例子:@constacc

数据类型:功能手柄

处理噪声协方差,指定为标量或矩阵。

  • HasAdditiveProcessNoise真正的,将过程噪声协方差指定为正实数标量或正定实值M——- - - - - -M矩阵。M是状态向量的维数。当指定为标量时,该矩阵是M——- - - - - -M单位矩阵。

  • HasAdditiveProcessNoise错误的,指定过程噪声协方差为aQ——- - - - - -Q矩阵。Q为过程噪声向量的大小。

    您必须指定ProcessNoise在任何电话之前预测函数。在后来的电话中预测,您可以选择将流程噪声指定为标量。在这种情况下,过程噪声矩阵是Q——- - - - - -Q单位矩阵。

例子:[1.0 - 0.05;0.05 - 2]

选择模型过程噪声作为添加剂,指定为真正的错误的. 当此属性为真正的时,将过程噪声添加到状态向量中。否则,状态转移函数中就会包含噪声。

测量模型函数,指定为函数句柄。该函数可以是一个非线性函数,用于根据预测状态对测量进行建模。函数的输入是M有效状态向量。输出是N-元素测量向量。该函数可以接受其他输入参数,例如传感器位置和方向。

  • 如果HasAdditiveMeasurementNoise真正的,使用以下语法指定函数:

    z (k) = measurementfcn (x (k))
    z(k)=测量Cn(x(k),参数)
    x (k)状态是在时间上吗Kz(k)预测的测量是否及时K.这个参数Argument表示测量函数所需的所有附加参数。

  • 如果HasAdditiveMeasurementNoise错误的,使用以下语法指定函数:

    z(k)=测量Cn(x(k),v(k))
    z (k) = measurementfcn (x (k), v (k),参数)
    x (k)状态是在时间上吗Kv (k)是测量时的噪声K.这个参数Argument表示测量函数所需的所有附加参数。

例子:@cameas

数据类型:功能手柄

测量噪声协方差,指定为一个正标量或正定实值矩阵。

  • HasAdditiveMeasurementNoise真正的,将测量噪声协方差指定为标量或N——- - - - - -N矩阵。N是测量向量的大小。当指定为标量时,矩阵是N——- - - - - -N单位矩阵。

  • HasAdditiveMeasurementNoise错误的,指定测量噪声协方差为R——- - - - - -R矩阵。R为测量噪声向量的大小。

    您必须指定MeasurementNoise在任何电话之前对的函数。在第一次呼叫之后对的,可以选择将测量噪声指定为标量。在这种情况下,测量噪声矩阵是R——- - - - - -R单位矩阵。

例子:0.2

选项启用附加测量噪声,指定为真正的错误的. 当此属性为真正的,噪声被添加到测量中。否则,噪声就会被纳入测量函数中。

σ点遍布状态,指定为大于0且小于或等于1的正标量。

点的分布,指定为非负标量。这个参数包含了产生sigma点的状态噪声分布的知识。对于高斯分布,设置β到2是最优的。

生成sigma点的二级比例因子,指定为0到3之间的标量。此参数有助于指定sigma点的生成。

启用状态平滑,指定为错误的真正的.将此属性设置为真正的需要传感器融合和跟踪工具箱™许可证。当指定为真正的,您可以:

  • 使用光滑的(传感器融合与跟踪工具箱)传感器融合和跟踪工具箱中提供的功能,用于平滑前面步骤中的状态估计。在内部,过滤器存储来自前面步骤的结果,以允许向后平滑。

  • 使用MaxNumMoothingSteps跟踪滤波器的特性。

向后平滑步骤的最大数目,指定为正整数。

依赖关系

要启用此属性,请设置使能平滑财产真正的

目标函数

预测 跟踪滤波器的状态预测和状态估计误差协方差
对的 使用跟踪滤波器校正状态和状态估计误差协方差
更正JPDA 使用跟踪滤波器和JPDA校正状态和状态估计误差协方差
距离 跟踪滤波器的电流和预测测量值之间的距离
可能性 跟踪滤波器测量的可能性
克隆 创建重复跟踪过滤器
残余物 测量残差和跟踪滤波器的残差噪声
初始化 初始化跟踪滤波器的状态和协方差

例子

全部崩溃

创建一个trackingUKF对象使用预定义的等速运动模型,constvel,以及相关的测量模型,cvmeas.这些模型假设状态向量的形式为[x;vx;y;vy],位置测量为笛卡尔坐标[x;y;z]。将点扩散属性设为1e-2。

过滤器= trackingUKF (@constvel @cvmeas, (0, 0, 0, 0),“α”1依照);

过滤器运行。使用预测对的函数来传播状态。你可以打电话预测对的顺序不限,次数不限。

量= (1;1,0);[xpred, Ppred] =预测(过滤);[xcorr, Pcorr] = correct(filter,meas);[xpred, Ppred] =预测(过滤);[xpred, Ppred] =预测(过滤)
xpred =4×11.2500 0.2500
ppr =4×411.7500 4.7500 -0.0000 0.0000 4.7500 3.7500 0.0000 -0.0000 -0.0000 0.0000 11.7500 4.7500 0.0000 -0.0000 4.7500 3.7500

更多关于

全部展开

算法

无迹卡尔曼滤波器估计由非线性随机方程控制的过程的状态

x K + 1. = F ( x K , U K , W K , T )

在哪里xK状态是否处于正常状态Kf ()为状态转移函数,UK是过程的控制。运动可能会受到随机噪声扰动的影响,WK. 过滤器还支持简化形式,金宝app

x K + 1. = F ( x K , U K , T ) + W K

要使用简化的形式,setHasAdditiveProcessNoise真正的

在无气味卡尔曼滤波器中,测量值也是状态的一般函数,

Z K = H ( x K , v K , T )

在哪里h (x)K, vK, t)是测量函数,它决定了作为状态函数的测量值。典型的测量是位置和速度或它们的一些函数。测量也可以包括噪声,用vK.同样,本课程提供了一个更简单的公式

Z K = H ( x K , T ) + v K

要使用简化的形式,setHasAdditiveMeasurmentNoise真正的

这些方程代表了物体的实际运动和实际测量值。然而,噪声在每一步的贡献是未知的,不能准确建模。只有噪声的统计性质是已知的。

参考文献

[1] Brown、R.G.和P.Y.C.Wang。随机信号分析与应用卡尔曼滤波简介. 第三版。纽约:约翰·威利父子公司,1997年。

[2]卡尔曼,R. E. <线性滤波和预测问题的新方法>。基础工程学报学报.第82卷,D系列,1960年3月,35-45页。

[3] 万,埃里克A.和R.范德梅尔韦。“非线性估计的无迹卡尔曼滤波器”。信号处理、通信和控制的自适应系统.《电子学报》,2000,pp.153-158。

[4] Wan,山鸟。"无气味卡尔曼滤波器"在卡尔曼滤波与神经网络.西蒙·海金(Simon Haykin)编辑。John Wiley & Sons, Inc, 2001。

关于随机微分方程的递归贝叶斯推理。博士论文。芬兰赫尔辛基理工大学。2006。

[6] 布莱克曼,塞缪尔。多目标跟踪与雷达应用.Artech房子,1986。

扩展功能

R2017a中引入