主要内容

匹配扫描

估计两个激光扫描之间的姿势

描述

例子

姿势=匹配扫描(currScan,refScan)查找参照之间的相对姿势lidarScan和电流lidarScan对象使用正态分布变换(NDT)。

姿势=匹配扫描(咖喱,currAngles,重构,refAngles)找到指定为范围和角度的两个激光扫描之间的相对姿态。

[姿势,统计数据) = matchScans (___)使用前面的输入参数返回有关扫描匹配结果的其他统计信息。

[___) = matchScans (___、名称、值)指定由一个或多个指定的附加选项名称,值对参数。

例子

全部折叠

使用创建参考激光雷达扫描lidarScan.指定范围和角度作为向量。

refRanges=5*one(1300);refRanges=linspace(-pi/2,pi/2300);refScan=lidarScan(refRanges,refAngles);

使用transformScan(机器人系统工具箱)功能,在指定时间生成第二次激光雷达扫描x、 y偏置的(0.5,0.2)

currScan=transformScan(参考扫描[0.50.20]);

匹配参考扫描和第二次扫描,估计它们之间的位姿差异。

姿势=匹配扫描(currScan、refScan);

使用transformScan函数通过使用相对位姿差将第二次扫描转换为第一次扫描的帧来对齐扫描。绘制原始扫描和对齐扫描。

currScan2=变换扫描(currScan,姿势);子批次(2,1,1);持有绘图(当前扫描)绘图(参考扫描)标题(“原始扫描”)举行次要情节(2,1,2);持有情节(currScan2)情节(refScan)标题(“对齐扫描”) xlim([0 5])保持

图中包含2个轴对象。带有标题原始扫描的轴对象1包含2个line类型的对象。带有标题对齐扫描的轴对象2包含2个line类型的对象。

输入参数

全部折叠

当前激光雷达扫描读数,指定为lidarScan对象。

你的激光雷达扫描可以包含值,但算法会忽略它们。

参考激光雷达扫描读数,指定为lidarScan对象。

你的激光雷达扫描可以包含值,但算法会忽略它们。

当前激光扫描范围,以矢量形式指定。范围以从激光传感器测量到物体的距离表示。

你的激光扫描范围可以包含值,但算法会忽略它们。

当前激光扫描角度,指定为以弧度为单位的矢量。角度作为相应量程测量的方向给出。

参考激光扫描范围,指定为以米为单位的矢量。范围表示为从激光传感器测量到的物体的距离。

你的激光扫描范围可以包含值,但算法会忽略它们。

参考激光扫描角度,以弧度为单位指定为矢量。角度表示为相应距离测量的方向。

名称值参数

指定可选的逗号分隔的字符对名称,值参数。名称是参数名和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“InitialPose”,[1 1π/ 2]

优化算法,指定为“信赖域”“fminunc”.使用“fminunc”需要一个优化工具箱™ 许可证

相对于参考激光扫描的当前姿势的初始猜测,指定为逗号分隔对,包括“InitialPose”[xyθ]向量。(x, y)平移单位是米和吗西塔是以弧度为单位的旋转。

单元格边的长度(以米为单位),指定为逗号分隔的一对,由“手机大小”和一个数值标量。匹配扫描使用单元大小离散NDT算法的空间。

调整单元格大小对于正确使用NDT算法非常重要。最佳单元格大小取决于输入扫描和机器人的环境。更大的细胞尺寸可能导致较不准确的匹配,采样较差的区域。更小的单元需要更多的内存和更少的后续扫描差异。传感器噪声也会对小单元的算法产生影响。选择适当的单元格大小取决于环境和输入数据的规模。

最大迭代次数,指定为逗号分隔对,由“最大迭代次数”和一个标量整数。更多的迭代会导致更精确的姿态估计,但代价是更长的执行时间。

NDT分数变化的下限,指定为逗号分隔对,包括“ScoreTolerance”和数字标量。NDT分数存储在分数输出场统计数据结构。在迭代之间,如果分数变化小于此容差,则算法收敛到一个解决方案。更小的容差会导致更精确的姿势估计,但需要更长的执行时间。

输出参数

全部折叠

当前扫描相对于参考扫描的姿势,返回为[xyθ],在那里(x, y)平移单位是米和吗西塔是以弧度为单位的旋转。

扫描匹配统计信息,返回如下字段的结构:

  • 分数-表示扫描匹配时NDT分数的数值标量。该分数是对转换后的当前扫描与参考扫描匹配的可能性的估计。分数总是非负。分数越大表示匹配越好。

  • 黑森-表示给定条件下NDT成本函数的Hessian值的3×3矩阵姿势解决方案。Hessian被用作与姿态估计相关的不确定性的指标。

参考文献

[1] 正态分布变换:激光扫描匹配的新方法智能机器人与系统会议录.2003.

[2] Magnusson,马丁。三维正态分布变换——配准、表面分析和环路检测的有效表示。博士学位论文。Örebro大学科技学院,2009。

扩展能力

另见

功能

班级

在R2020b中引入