激光SLAM建图
1. 前置条件
在建图之前,应完成激光雷达外参标定工作。切勿在未完成标定时执行建图,因为错误的外参会严重影响建图质量,进而影响定位精度和稳定性。
2. 激光SLAM建图
建图过程包括以下步骤:
- 建图前准备。清除地图无关数据,选择合适的建图原点。
- 建图。遥控机器人沿工作路线行走,建立激光地图。
- 建图后处理。处理建图过程中的噪音数据,应用必要的地图优化措施。
以下详细说明建图步骤。
2.1 建图前准备
如果Detour界面上没有显示点云,则点击“概况”标签页的“全部启动”按钮,如图2-1所示,待点云出现后执行下一步操作。
图 2-1 启动Detour的全部基础功能
备注:Detour会记录“全部启动”操作,随后在每次启动都会自动启用基础功能。
遥控机器人行走到与墙体平行的位置,目的是选择一个环境轮廓清晰稳定的建图原点,使建图工作有一个良好的起点。
注意:如果Detour已有地图,比如厂内调试时创建了车间地图,随后把AMR发到项目现场,则在“激光SLAM”标签页,选择“mainmap”图层,点击“清空”按钮以清除不用的地图。如果地图上有噪音点,比如首次建图时开局不理想,需要重新建图,则用鼠标在地图上框选不需要的图元,然后使用主菜单的“删除”以清除。
2.2 建图
在“激光SLAM”标签页,勾选“建图模式”以启动建图功能。
图 2-2 建图模式
注意:如果“选中的图层信息”显示“待启动”,则点击”开启“按钮。
在”概况“页,点击”手动输入位置“,输入"0, 0, 0"以为建图原点坐标。
图 2-3 输入建图原点坐标
备注:激光地图是机器人通过激光雷达观测物理世界的特征集合,在建图时输入原点坐标,目的是建立激光地图坐标系原点,随后机器人在移动过程中更新观测到的物理世界(环境轮廓),把物理世界映射到激光地图坐标系中。
图 2-4 跟随小车选项
勾选Detour窗口右下角的“显示选项 / 跟随小车”菜单,Detour将使机器人保持在地图窗口中央,方便建图时观察机器人和环境(点云)的相对位置。
遥控机器人沿工作路线低速(0.4m/s以下)行走,使用小回环方法使机器人能够重复观察到相同的路标,从而建立优质地图。
图 2-5 小回环建图方法
图 2-5展示机器人行驶轨迹,首先遥控机器人前进5米(左右),然后掉头回到起点,再前进10米,如是往复。小回环建图策略目的是让机器人能够从不同角度看到相同的环境特征,使Detour的图优化特性能够优化关键帧间的拓扑关系,构造可靠的高精度激光地图。
备注:低速建图目的是让机器人能够充分观测环境,因此直线移动速度应控制在0.4m/s以下,转向速度应控制在30度/s(10秒左右转一圈)。
我们以一条50米的直路建图为例。假设我们从直路的一端(命名为A)开始建图,使用小回环方法遥控机器人行走到另一端(命名为B)时,遥控机器人走回A,此时不需要做小回环。从B走到A的目的是让机器人看到起点(的路标),从而优化整条路线的累积误差。
建图完毕后,勾选“激光SLAM”标签页的“锁定图层”,退出建图模式,如下图所示。
图 2-6 锁定图层以退出建图模式
点击“另存图层”按钮,在Detour目录下保存2DLM格式的激光地图,然后修改“属性”列表的"filename",将其指向刚保存的激光地图文件。最后使用主菜单的“导航配置 / 保存”,把更新后的配置保存到Detour同目录的Detour.json。
注意:filename的格式为双引号括起的文件路径,目录分隔符为双右斜杠。
在使用DetourLite场景,Detour勾选“建图模式”时,DetourLite同步进入建图模式,操作过程与上相同。在建图结束后,除了切回“锁定图层”模式,还应把DetourLite的激光地图下载到本地以为备份,如下图所示。
图 2-7 下载DetourLite激光地图到本地
“其他功能 / 下载远程图层数据至本机图层”用途是把DetourLite的激光地图下载到本地(作为远程客户端的Detour)。此功能在建图时可用于观察DetourLite建图情况,在建图完毕后可下载DetourLite激光地图到本地备份保存。
说明:DetourLite在建图模式下自动维护其激光地图数据,退出建图模式后会自动保存。
“其他功能 / 上传本机图层数据至远程图层”一般用于编辑激光地图,然后把更新地图上传给DetourLite。
建图工作告一段落后,勾选概况页基础功能的“自动启动”和“自动记录位置”。
图 2-8 自动启动和自动记录位置
“启动启动”指示Detour启动后使用激光地图进入定位模式。“自动记录位置”指示Detour定时记录机器人位姿到记录文件,Detour重启后从记录位置读入位姿作为当前位姿。
注意:如果在关闭Detour后移动机器人,启动后应使用“全局重定位”或“图上手动定位”来获得初始位姿。
2.3 建图后处理
建图过程中可能会录入噪音点,比如堆放在路边的杂物,这些噪音点对定位造成干扰,可使用Detour的编辑功能擦除。
图 2-8 擦除噪音点
在“激光SLAM”标签,选择擦除橡皮的(圆)半径,然后点击“擦除点云”按钮,擦除由于行人和杂物形成的噪音点。
注意:擦除操作应适当放大地图,以免误擦除正常的轮廓点。
如果某些区域建图质量不佳,比如建图时路边有大量杂物,在擦除后可勾选“自动更新图层”,然后遥控机器人重走以更新地图。



