粒子滤波参数

要使用stateEstimatorPF颗粒过滤器时,必须指定参数,例如粒子的数量,初始粒子的位置,以及状态估计方法。另外,如果你有一个具体的运动和传感器模型,则分别指定在状态转换函数和测量似然函数这些参数,。这些参数的细节此页面上详细介绍。有关微粒过滤器的工作流程的更多信息,请参阅粒子滤波工作流程

粒子数

若要指定粒子的数目,请使用初始化方法。每个粒子是当前状态的假设。该颗粒基于任何特定的均值和方差,或在指定的状态边界在你的状态空间分布。根据StateEstimationMethod属性,无论是与最高权重的粒子或平均所有颗粒的被取为确定最佳状态估计。

颗粒的默认数量为1000除非性能是一个问题,不要使用少于1000个粒子。较高数量的粒子可以提高估计但牺牲性能的速度,因为该算法必须处理更多的颗粒。调整颗粒的数量是影响您的微粒过滤器性能的最佳方式。

这些结果是基于stateEstimatorPF例如,显示跟踪精度的差异时,使用100个粒子和5000个粒子。

初始粒子位置

当你初始化你的微粒过滤器,您可以指定使用粒子的初始位置:

  • 均值和方差

  • 国家边界

你的初始状态是指相对于你的系统的协方差平均值。该均值和方差关联到你的系统的初始位置和不确定性。该stateEstimatorPF根据周围的给定的平均方差的分配对象的颗粒。该算法利用粒子的这种分布得到状态的最佳估计数,所以颗粒的准确初始化有助于快速收敛到最佳状态估计。

如果初始状态是未知的,可以均匀地分布在给定的状态范围分发您的颗粒。国家边界是你的状态的极限。例如,估计机器人的位置时,状态范围仅限于环境,所述机器人实际上可以栖息。一般情况下,颗粒的均匀分布是初始化颗粒以提高收敛速度的效率较低的方式。

该图显示了如何均值和方差规范可以在一个空间更有效地团簇粒子,而不是指定完整的国家边界。

状态转换函数

状态转换功能,StateTransitionFcn中,颗粒过滤器有助于将颗粒演进到下一状态。据中的所述预测步骤中使用粒子滤波工作流程。在里面stateEstimatorPF对象,该状态转换函数被指定为一个回调函数,它以前的颗粒,和任何其它必要的参数,并输出该预测位置。函数头部语法是:

函数predictparticle = stateTransitionFcn(pf, prevparticle,varargin)

缺省情况下,状态转变函数假定具有恒定速度的高斯运动模型。该函数使用高斯分布来确定粒子的在下一时间步骤中的位置。

对于您的应用程序,它是有一个状态转换函数重要的是准确地描述你如何期望系统的行为。为了准确地发展所有的粒子,必须制定和实施系统的运动模型。如果颗粒不是分布在接下来的状态下,stateEstimatorPF对象没有找到一个准确的估计。因此,要了解你的系统是如何的表现,使您可以准确地跟踪它是非常重要的。

还必须指定系统噪声StateTransitionFcn。不应用到预测系统中的随机噪声,所述颗粒过滤器不起作用如预期。

虽然你可以预测基于他们之前的状态许多系统中,有时该系统可能包括额外的信息。指某东西的用途varargin在功能使您可以输入是相关来预测下一个状态的任何额外的参数。你打电话的时候预测,你可以使用以下方法包括这些参数:

预测(PF,参数1,参数2)

由于这些参数与您所定义的状态转换函数,调用预测实质上调用函数为:

predictParticles = stateTransitionFcn(PF,prevParticles,参数1,参数2)

输出颗粒,predictParticles中,然后或者使用由测量似然函数纠正的颗粒,或如果不需要校正在下一个预测步骤中使用。

测量似然函数

在预测下一个状态之后,您可以使用来自传感器的测量来修正您的预测状态。通过指定一个MeasurementLikelihoodFcnstateEstimatorPF对象,你可以使用正确的您预测颗粒正确功能。这种测量似然函数,根据定义,给出了一个重量为基于给定的测量中的状态假设(您的颗粒)。从本质上讲,它可以让你所观察到的实际测量内容相匹配的每个粒子观察的可能性。这可能被用作预测的颗粒的重量,以帮助纠正他们得到最好的估计。虽然预测步骤可用于少量的中间步骤证明精确,才能得到准确的跟踪,使用传感器观测到频繁校正的粒子。

的规范MeasurementLikelihoodFcn类似于StateTransitionFcn。它被指定为在的属性的功能句柄stateEstimatorPF宾语。函数头部语法是:

功能似然= measurementLikelihoodFcn(PF,predictParticles,测量,varargin)

输出是基于给定的测量每个预测粒子的可能性。但是,你也可以指定多个参数varargin。指某东西的用途varargin在功能可让您输入有关的修正预测状态的任何额外的参数。你打电话的时候正确,你可以使用以下方法包括这些参数:

正确(PF,测量,参数1,参数2)

这些参数与您定义的测量似然函数:

似然= measurementLikelihoodFcn(PF,predictParticles,测量,参数1,参数2)

正确功能用途可能性输出用于粒子重新采样,并给予最终状态估计。

重采样策略

粒子重采样是连续跟踪目标的重要步骤。它使您能够根据当前状态选择粒子,而不是使用初始化时给出的粒子分布。通过对当前估计值周围的粒子进行连续重采样,您可以获得更精确的跟踪并提高长期性能。

你打电话的时候正确中,用于状态估计所述颗粒可以根据重新采样ResamplingPolicy财产指定stateEstimatorPF宾语。该属性指定为resamplingPolicyPFresamplingPolicyPF宾语。该TriggerMethod该对象上属性告诉颗粒过滤器以用于重新采样哪种方法。

你可以触发在一个固定的时间间隔或者当达到最小有效颗粒比重采样。固定间隔的方法在重新采样的迭代的一组数,其在指定的SAMPLINGINTERVAL属性。最小有效粒子的比率的当前组颗粒如何很好近似后验分布的量度。有效的颗粒数是通过计算:

在这个公式中,ñ是颗粒的数量,和w ^是每个粒子的归一化的权重。有效粒子的比率然后ñeff/NumParticles。因此,有效的颗粒比例为所有粒子的权重的函数。后的粒子的权重达到足够低的值,它们无助于状态估计。该低价值重采样触发器,因此颗粒更接近当前状态估计,并且具有较高的权重。

状态估计方法

颗粒过滤器的工作流的最后一个步骤是一个单状态估计的选择。整个分布抽样的粒子及其权重是用来给实际状态的最佳估计数。但是,你可以使用粒子信息来获得多种方式的单一状态估计。随着stateEstimatorPF对象时,您可以选择基于权重最高的粒子的最佳估计或采取意味着所有的粒子。指定要在估计方法StateEstimationMethod财产或者'意思'(默认)或'maxweight'

因为你可以从所有的粒子在许多方面估计的状态,你也可以从中提取每个粒子,其重量stateEstimatorPF使用粒子属性。

也可以看看

|

相关的例子

更多关于