主要内容

getParticles

通过定位算法得到粒子

描述

例子

粒子权重= getParticles(制程属性所使用的当前粒子monteCarloLocalization对象。粒子是一个n-by-3矩阵,包含每个粒子的位置和方向。中指定的每一行都有相应的权重值权重.行数可以随着MCL算法的每次迭代而变化。使用该方法提取粒子,并从算法中单独分析它们。

例子

全部折叠

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

创建一个映射和一个蒙特卡罗定位对象。

map = binaryoccuancymap (10,10,20);mcl = monteCarloLocalization(map);

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

范围= 10*ones(1300);range (1,130:170) = 1.0;Angles = linspace(-pi/2,pi/ 2300);odometryPose = [0 0 0];

使用初始化粒子一步

[isUpdated,estimatedPose, co方差]= step(mcl,odometryPose,范围,角度);

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

[particles,weights] = getParticles(mcl);

输入参数

全部折叠

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

输出参数

全部折叠

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

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

扩展功能

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

R2019b引入