之间的本质区别是什么“trackingEKF”和“initctekf”功能?如何选择?

7视图(30天)
我有这两个函数当我使用“传感器融合和跟踪工具箱”或“自动驾驶工具箱”,但有时我不知道使用哪个函数是更好的。很容易混淆。例如,下面的例子的结果不同是为什么呢?
检测= objectDetection (0 (-250; -40; 0)“MeasurementNoise”,2.0 *眼(3),
“SensorIndex”,1“ObjectClassID”,1“ObjectAttributes”,{“汽车”2});
过滤器= initctekf(检测)
过滤器=
trackingEKF属性:
状态(7×1双):
StateCovariance(7×7双):
StateTransitionFcn: @constturn
StateTransitionJacobianFcn: @constturnjac
ProcessNoise(4×4双):
HasAdditiveProcessNoise: 0
MeasurementFcn: @ctmeas
MeasurementJacobianFcn: @ctmeasjac
MeasurementNoise(3×3双):
HasAdditiveMeasurementNoise: 1
为什么“状态”维度7和他们是什么意思?
另一个“等效”是:?
EKF = trackingEKF (@constturn、@ctmeas (-250; -40; 0),% (sx, sy, sz) ?
“MeasurementNoise”,2.0 *眼(3),
“StateTransitionJacobianFcn”@constveljac,
“MeasurementJacobianFcn”@cvmeasjac)
卡尔曼滤波器=
trackingEKF属性:
状态(3×1双):
StateCovariance(3×3双):
StateTransitionFcn: @constturn
StateTransitionJacobianFcn: @constveljac
ProcessNoise(3×3双):
HasAdditiveProcessNoise: 1
MeasurementFcn: @ctmeas
MeasurementJacobianFcn: @cvmeasjac
MeasurementNoise(3×3双):
HasAdditiveMeasurementNoise: 1
另一个问题是为什么的尺寸参数的两种方法获得的写作是不同的吗?不容易找到答案从帮助文档描述

接受的答案

兰德Kivelevitch
兰德Kivelevitch 2020年9月22日
你好,
有许多函数之间共享传感器融合和跟踪工具箱和自动驾驶的工具箱。它们包括,你正确地指出,trackingEKF (trackingKF和trackingUKF),运动和测量模型及其雅克比(其中constturn exampe),和各自的initiailization功能(initctekf就是一个例子)。我们也分享objectDetection和objectTrack的定义。
这里的想法是,您可以轻松地在两个工具箱和集成工作。
必须明确的是:没有区别这两个工具箱时这些函数。
至于你的问题:
initctekf函数需要一个包含测量检测,测量噪声和测量参数,并使用它来初始化跟踪滤波器。你用initctekf,创建一个trackingEKF过滤器constant-turn运动模型和状态对应的定义。在你的例子中,objectDetection已经测量(-250;-40;0)对应于目标的位置。过滤器的状态定义:
[x, vx; y, v,ω;z; vz)——所以在x, y,和z元素转换为1、3和6的状态向量。veolocity组件都是无边无际的,假定为零和角速率(ω)也不是测量和被认为是零。
第二你写的代码,你试图初始化trackingEKF并通过(-250;-40;0]作为一个国家。所以,这成为整个国家。你最终的状态不一致的defnition状态转换函数或测量功能和错误的时刻你将开始预测或正确的过滤器。
至于文档:我会推荐你:
帮助initctekf
和它将显示状态的定义如上我解释道。
如果你想深入挖掘 如何 过滤器被初始化,我建议:
编辑initctekf
函数包含大量的评论解释初始化一个过滤器的步骤和如何将测量值转换为一个完整的状态的定义。
兰德
2的评论
兰德Kivelevitch
兰德Kivelevitch 2020年9月23日
他们不是多余的。
所有的trackingXYZ过滤器 过滤器 。他们可以被用于任何运动模型包括客户写的。因此,过滤器本身没有定义状态,他们得到从用户定义的状态转换模型的选择。
所有的initMMXYZ功能 过滤器的初始化函数 ,使用的追踪器装在自动驾驶工具箱(multiObjectTracker)和传感器融合和跟踪(trackerGNN, trackerJPDA trackerTOMHT)。所有的功能配置过滤器(从上面)与特定的运动模型。
附带计算机视觉的configureKalmanFilter功能工具箱配置一个非常特殊的过滤器(vision.KalmanFilter),这是不符合ADT的追踪和SFTT上面提到的。
因此,每个功能都有自己的地方。

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!