主要内容

removeLoopClosures

把循环闭包从构成图

自从R2019b

描述

removeLoopClosures (slamObj)删除所有循环闭包的基本构成图slamObj

例子

removeLoopClosures (slamObj,lcEdgeIDs)删除指定的循环闭合边缘IDs的基本构成图slamObj

例子

全部折叠

从文件加载激光扫描数据。

负载(“offlineSlamData.mat”);

设置SLAM算法:

  1. 关闭指定激光雷达范围,地图的分辨率,循环阈值,和搜索半径。

  2. 为您的特定的机器人和环境调整这些参数。

  3. 创建lidarSLAM与这些参数对象。

maxLidarRange = 8;mapResolution = 20;slamObj = lidarSLAM (mapResolution maxLidarRange);slamObj。LoopClosureThreshold = 210;slamObj。LoopClosureSearchRadius = 8;

扫描迭代添加到对象。

i = 1:元素个数(扫描)addScan (slamObj扫描{我});结束

创建一个大满贯的副本对象。显示的基本构成图大满贯对象。

slamObj2 = (slamObj)复印件;slamObj2.PoseGraph
ans = poseGraph属性:NumNodes: 71 NumEdges: 83 NumLoopClosureEdges: 13 LoopClosureEdgeIDs: [31 36 63 65 67 69 71 73 75 77 79 81 83] LandmarkNodeIDs: (x0 1双)

删除前两个循环闭包id通过指定他们的优势。

lcEdgeIDs = slamObj2.PoseGraph.LoopClosureEdgeIDs (1:2);removeLoopClosures (slamObj2 lcEdgeIDs)

情节的构成图大满贯对象删除前后循环闭包。

次要情节(2,1,1)显示(slamObj.PoseGraph);次要情节(2,1,2)显示(slamObj2.PoseGraph);

图包含2轴对象。坐标轴对象1包含X, Y ylabel包含42线类型的对象,文本。一个或多个行显示它的值只使用标记轴对象2包含X, Y ylabel包含36行类型的对象,文本。一个或多个行显示的值只使用标记

输入参数

全部折叠

激光雷达大满贯对象,指定为一个lidarSLAM对象。对象包含SLAM算法参数、传感器数据,用于构建地图的基本构成图

循环闭合边缘id,指定为一个向量的正整数。找到特定的id,使用findEdgeID在底层poseGraph中定义的对象slamObj

扩展功能

版本历史

介绍了R2019b