预测

预测在下一时间步骤机器人的状态

描述

[statePredstateCov] =预测(PF计算预测系统状态及其相关联的不确定度的协方差。预测使用StateTransitionFcn财产stateEstimatorPF目的,PF,演变所有粒子的状态。然后提取基于设定的最佳状态估计和协方差StateEstimationMethod属性。

[statePredstateCov] =预测(PFvarargin通过在指定的所有其他参数varargin底层StateTransitionFcn财产PF。的第一个输入StateTransitionFcn是一组从先前时间步的颗粒,然后在所有参数varargin

例子

全部收缩

创建一个stateEstimatorPF对象,并且执行用于状态估计的预测和校正步骤。颗粒过滤器给出了基于的返回值的预测状态估计StateTransitionFcn。然后,它修正基于给定的测量和返回值的状态MeasurementLikelihoodFcn

创建一个默认的三种状态的颗粒过滤器。

PF = stateEstimatorPF
PF = stateEstimatorPF与属性:NumStateVariables:3个NumParticles:1000 StateTransitionFcn:@ nav.algs.gaussianMotion MeasurementLikelihoodFcn:@ nav.algs.fullStateMeasurement IsStateVariableCircular:[1x1的resamplingPolicyPF] ResamplingMethod:: '多项式' StateEstimationMethod:“平均[0 0 0] ResamplingPolicy“StateOrientation:‘行’颗粒:[1000x3双]重量:[1000x1双]国家:‘使用getStateEstimate函数查看值’StateCovariance:“使用getStateEstimate函数查看值”

指定平均状态估计方法和系统的重采样方法。

pf.StateEstimationMethod ='意思';pf.ResamplingMethod =“系统”;

在状态[4 1 9]与单元协方差初始化微粒过滤器(眼(3))。使用5000米的颗粒。

初始化(PF,5000,[4 1 9],眼部(3));

假设测量[4.2 0.9 9],运行一个预测和一个正确步骤。

[statePredicted,stateCov] =预测(PF);[stateCorrected,stateCov] =正确(PF,[4.2 0.9 9]);

获取基础上,最好的状态估计StateEstimationMethod算法。

stateEst = getStateEstimate(PF)
stateEst =1×34.1562 0.9185 9.0202

输入参数

全部收缩

stateEstimatorPF对象,指定为把手。看到stateEstimatorPF了解更多信息。

可变长度输入自变量列表,指定为逗号分隔的列表。该输入直接传递到StateTransitionFcn财产PF演变每个粒子的系统状态。您打电话的时候:

预测(PF,ARG1,ARG2)
MATLAB®本质上调用stateTranstionFcn如:
stateTransitionFcn(PF,prevParticles,ARG1,ARG2)

输出参数

全部收缩

预测的系统状态,返回与长度的矢量NumStateVariables。预测的状态下,计算基于所述StateEstimationMethod算法。

修正系统偏差,返回一个ñ-通过-ñ矩阵,其中ñ是的价值NumStateVariables物业PF。校正后的状态下,计算基于所述StateEstimationMethod算法和MeasurementLikelihoodFcn。如果指定了不支持的协方差,那么函数返回的状态估计方法万博1manbetxstateCov[]

介绍了在R2016a