getParticles

从定位算法中获取粒子

描述

例子

(粒子,权重)= getParticles (制程)方法使用的当前粒子monteCarloLocalization对象。粒子是一个n-3乘3矩阵,包含每个粒子的位置和方向。中指定的相应权重值权重。行数可以随着MCL算法的每次迭代而变化。利用该方法提取粒子,并与算法分别进行分析。

例子

全部折叠

从蒙特卡罗定位对象中使用的粒子滤波器中获取粒子。

创建一个映射和一个Monte Carlo本地化对象。

地图= binaryOccupancyMap (10、10、20);制程= monteCarloLocalization(地图);

为距离传感器和姿态创建机器人数据。

范围= 10 * 1 (1300);范围(1130:170)= 1.0;角= linspace(-π/ 2π/ 2300);odometryPose = [0 0 0];

初始化粒子使用一步

[isUpdated estimatedPose,协方差]=步骤(制程、odometryPose范围、角度);

从更新的对象中获取粒子。

(颗粒、重量)= getParticles(制程);

输入参数

全部折叠

monteCarloLocalization对象,指定为对象句柄。

输出参数

全部折叠

粒子估计,返回为n3矢量,(x yθ)。每一行对应一个粒子的位置和方向。长度可以随着算法的每次迭代而变化。

粒子的重量,以a的形式返回n1的向量。的匹配行中,每一行对应粒子的权值粒子。这些权重用于对飞行器姿态的最终估计。长度可以随着算法的每次迭代而变化。

扩展功能

C / c++代码生成
使用MATLAB®编码器™生成C和c++代码。

介绍了R2019b