帮助中心帮助中心
把循环闭包从构成图
自从R2019b
removeLoopClosures (slamObj)
removeLoopClosures (slamObj lcEdgeIDs)
removeLoopClosures (slamObj)删除所有循环闭包的基本构成图slamObj。
slamObj
例子
removeLoopClosures (slamObj,lcEdgeIDs)删除指定的循环闭合边缘IDs的基本构成图slamObj。
removeLoopClosures (slamObj,lcEdgeIDs)
lcEdgeIDs
全部折叠
从文件加载激光扫描数据。
负载(“offlineSlamData.mat”);
设置SLAM算法:
关闭指定激光雷达范围,地图的分辨率,循环阈值,和搜索半径。
为您的特定的机器人和环境调整这些参数。
创建lidarSLAM与这些参数对象。
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);
激光雷达大满贯对象,指定为一个lidarSLAM对象。对象包含SLAM算法参数、传感器数据,用于构建地图的基本构成图
循环闭合边缘id,指定为一个向量的正整数。找到特定的id,使用findEdgeID在底层poseGraph中定义的对象slamObj。
findEdgeID
poseGraph
在构建时使用这种语法lidarSLAM代码生成的对象:
slamObj = lidarSLAM (mapResolution maxLidarRange maxNumScans)指定允许的上限接受扫描的数量在生成代码。maxNumScans是一个正整数。这只需要扫描限制在生成代码。
slamObj = lidarSLAM (mapResolution maxLidarRange maxNumScans)
maxNumScans
介绍了R2019b
poseGraph|optimizePoseGraph
optimizePoseGraph
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室