主要内容

猛拉地图建造者

使用基于LIDAR的SLAM构建2-D网格图

描述

猛拉地图建造者App加载录制的LIDAR扫描和内径传感器数据,用于使用同时定位和映射(SLAM)算法构建二维占用网格。增量扫描匹配对齐和覆盖扫描以构建地图。环路闭合检测通过检测先前访问的位置并调整整体图来调整车辆内径漂移。有时,扫描匹配算法和环路闭合检测需要手动调整。使用该应用程序手动对齐扫描并修改环路闭合以提高整体地图精度。您还可以调整SLAM算法设置以改进自动地图建筑。

要使用此应用程序:

要加载rosbag日志文件,请选择进口>从rosbag进口.选择ROSBAG文件并单击打开.这将打开进口标签。有关更多信息,请参阅导入和过滤ROSBAG

要从工作区加载数据,进口>从工作区导入.选择你的扫描姿势使用提供的下拉列表的变量。中的变量也可以指定SlammapBuilder.函数。看到程序使用

采用大满贯的设置调整SLAM算法设置。提供了默认值,但是您的特定传感器和数据可能需要对这些设置进行调整。要调优的最重要的值是循环闭合阈值.有关更多信息,请参阅优化大满贯设置

点击建造开始猛拉地图建设过程。建筑过程使用增量扫描匹配对齐地图中的扫描,在访问上一个位置时识别循环闭合,并调整姿势。点击暂停在映射构建过程中的任何时候,手动对齐增量扫描或修改循环闭包。

点击增量匹配要修改当前所选帧的相对姿势并将扫描与上一个扫描保持一致。点击循环关闭修改或忽略当前帧的检测到的循环闭合。使用底部的滑块滚动回到扫描匹配或循环闭合的区域不准确。您可以修改任意数量的扫描或循环闭包。有关更多信息,请参阅修改增量扫描和循环闭包

修改地图后,单击同步更新扫描图中的所有姿势。下面的两个选项同步同步,搜索新的循环封闭,或同步快速,跳过循环闭合搜索,只需更新扫描映射即可。有关更多信息,请参阅同步地图

当您对地图的样子感到满意时,请单击出口到OccupancyGrid将映射导出到M-File或保存工作区中的映射。该地图作为2-D概率占用网格输出占领子目的。

您可以打开已保存使用的现有应用程序会话开放会议.当你在地图生成器标签,您可以将进度保存到M-File使用保存会议

打开Slam Map Builder应用程序

  • MATLAB®将来发布:应用程序标签,下面控制系统设计与分析,点击猛拉地图建造者

  • matlab命令窗口:输入SlammapBuilder.

例子

全部展开

猛拉地图建造者应用帮助您使用同时定位和映射(SLAM)算法来帮助您从LIDAR扫描构建占用网格。通过扫描匹配和使用环形封闭来估计姿势图优化来构建地图。此示例显示了用于加载LIDAR扫描数据的ROSBAG的工作流程,过滤数据并构建地图。通过调整增量扫描匹配和修改循环闭合来调整扫描映射。

加载激光雷达扫描数据

加载示例.mat文件进入工作区,其中包含变量,扫描的单元格数组Lidarscan.对象。

加载slamLidarScans.mat

打开应用程序

在里面应用程序标签,下面控制系统设计与分析,点击猛拉地图建造者

你也可以打电话给SlammapBuilder.功能:

SlammapBuilder.

进口利达扫描

点击从工作区导入>加载扫描。存储为ROSBAG的数据可以加载ROS工具箱许可证。

选择扫描变量扫描落下。

在工具栏中设置Downsample (%)到10.下采样从数据中均匀地样本,以减少SLAM算法的计算时间。对于此示例,10%是每5次扫描。点击申请

使用底部的滑动条或箭头键来预览扫描。

完成导入后,单击关。

优化大满贯设置

SLAM算法可以使用大满贯的设置对话。应根据传感器规范,环境和应用程序进行调整参数。对于这个例子,增加循环闭合阈值200.300.增加的阈值降低了接受和使用检测到的循环闭包的可能性。设置优化间隔10..随着每个第10个循环接受,姿势图被优化以解释漂移。

建立地图

过滤数据并设置SLAM算法设置后,单击建造.该应用程序开始处理扫描来构建地图。您应该看到滑块进度和扫描在地图中覆盖。估计的机器人轨迹绘制在同一扫描图上。增量扫描匹配显示在增量匹配窗格。每当检测到循环闭合时,循环关闭窗格显示两个扫描重叠在一起。

调整扫描匹配或循环闭包

在构建过程中的任何时间,如果您注意到地图扭曲或增量匹配或循环关闭,请查看暂停选择扫描进行调整。您可以在构建过程结束时修改扫描。使用箭头键或滑块导航到首先发生失真的文件中的点。点击增量匹配要么循环关闭按钮来调整当前显示的扫描姿势。在本节中,坏循环闭包是人为的,仅用于演示目的。

点击循环关闭按钮。这将打开一个选项卡,用于修改循环闭合相对姿势。

要完全忽略循环闭合,请单击忽略.否则,手动修改相对扫描位姿,直到扫描对齐。

点击潘扫描要么旋转扫描,然后单击并拖动图形以对齐两种扫描。点击接受当你完成的时候。您可以为多个扫描执行此操作。

修改增量匹配和循环闭包的扫描姿势后,单击同步申请更改。syncfast.如果您已经处理了所有扫描,则更新地图而不搜索新的循环闭合并减少计算时间。

出口占用网格

一旦您同步更改并完成构建地图,您应该看到具有机器人轨迹的完全覆盖的扫描映射。

点击出口占用网格获得你所在环境的最终入住率地图占领子目的。指定要将地图导出到工作区的变量名称。在导出和选择之前,可以通过滚动回到所需的帧来创建从扫描子集中的映射最新选择扫描

称呼显示在存储地图上可视化占用地图。

显示(myOccMap)

您还可以使用“保存Slam Map Builder应用程序”会话保存会议按钮。应用程序将应用程序的当前状态写入.mat稍后可以加载的文件开放会议

相关例子

程序使用

全部展开

slamMapBuilder(袋)打开猛拉地图建造者应用程序中指定的rosbag日志文件, 一种BagSelection使用rosbag(ROS工具箱)函数。应用程序打开到进口选项卡以在ROSBAG中过滤传感器数据。

slamMapBuilder (sessionFile)打开猛拉地图建造者应用程序从保存的会话文件名,sessionFile.通过应用程序会话文件保存会议按钮在应用程序工具条。

slamMapBuilder(扫描)打开猛拉地图建造者应用程序并导入所指定的扫描扫描,一个细胞阵列Lidarscan.对象。该应用程序假设你已经预先过滤了扫描结果,并跳过了导入过程。点击建造开始构建地图。

SlammapBuilder(扫描,姿势)打开猛拉地图建造者应用程序并导入扫描和姿势。扫描的单元格数组指定为Lidarscan.对象。姿势是一个矩阵[x y theta]向量对应于的位姿扫描.该应用程序假设你已经预先过滤了扫描结果,并跳过了导入过程。点击建造开始构建地图。

更多关于

全部展开

在R2019B中介绍