激光地图编辑指南:修订间差异

来自MDCS wiki
跳到导航 跳到搜索
(创建页面,内容为“1. 前言2. 编辑激光地图2.1 注意事项2.2 “弹性连接”的地图2.2.1 移动关键帧2.2.2 开启图优化编辑3. 地图编辑最佳实践3.1 删除所有移动的杂点3.2 运用关键帧锁定功能3.2 运用建图模式3.3 删除不合理的关键帧3.4 删去地图中非固定结构的杂点3.5 错误的关键帧杂点3.6 修改不合理的关键帧关联3.7 批量处理工具3.8 添加移动物品区域标记3.9 录关键帧时的不合理 =…”)
 
无编辑摘要
 
第75行: 第75行:
== 3.1 删除所有移动的杂点 ==
== 3.1 删除所有移动的杂点 ==
杂点是不应参与SLAM计算的噪音点,比如临时摆放的设备、视野中看到其他动态的人员或小车形成的点云,仅保留固定参照的点云结构(比如固定的墙体、固定的告示牌、固定的充电站、固定的柜子等等),并且确保这些点云结构无重影无失真。如下,第一张图展示了通道点云重影失真的现象,第二张图展示了无重影失真的情形:
杂点是不应参与SLAM计算的噪音点,比如临时摆放的设备、视野中看到其他动态的人员或小车形成的点云,仅保留固定参照的点云结构(比如固定的墙体、固定的告示牌、固定的充电站、固定的柜子等等),并且确保这些点云结构无重影无失真。如下,第一张图展示了通道点云重影失真的现象,第二张图展示了无重影失真的情形:
[[文件:Image-12.png|无框|748x748像素]]


'''图 3-1 通道点云重影失真'''
'''图 3-1 通道点云重影失真'''
[[文件:Image-13.png|无框|749x749像素]]


'''图 3-2 通道点云无重影失真'''
'''图 3-2 通道点云无重影失真'''
第82行: 第87行:
== 3.2 运用关键帧锁定功能 ==
== 3.2 运用关键帧锁定功能 ==
合理利用“锁定”关键帧。被“锁定”的关键帧,在UI上显示的关键帧小红圈上会有一个红色的叉。锁定的关键帧是不会被程序自动移动的,也就是说,程序认为被“锁定”的关键帧被指定了正确的位置(“建图模式”不会改变被“锁定”关键帧的位置)。手动“移动”或“旋转”后的关键帧会自动变为“锁定”状态,可以按“解锁”解除。
合理利用“锁定”关键帧。被“锁定”的关键帧,在UI上显示的关键帧小红圈上会有一个红色的叉。锁定的关键帧是不会被程序自动移动的,也就是说,程序认为被“锁定”的关键帧被指定了正确的位置(“建图模式”不会改变被“锁定”关键帧的位置)。手动“移动”或“旋转”后的关键帧会自动变为“锁定”状态,可以按“解锁”解除。
[[文件:Image-9.png|无框|520x520像素]]


'''图 3-3 锁定与解锁菜单'''
'''图 3-3 锁定与解锁菜单'''
第87行: 第94行:
== 3.2 运用建图模式 ==
== 3.2 运用建图模式 ==
合理利用“建图模式”:“建图模式”并“开启回环检测”后,Detour会将相互关联的(之间有黄线连接的)关键帧进行配准。如下所示:前一张图是“锁定图层”模式下没有对齐的地图;后一张图是切换到“建图模式”并“开启闭环检测”后,关键帧自动贴合的效果。通常,在大幅度调整某些关键帧时,我们应该切换到“锁定图层”模式。在删除、添加一些关键帧关联关系后,要切换到“建图模式”并“开启回环检测”后才能看到效果。
合理利用“建图模式”:“建图模式”并“开启回环检测”后,Detour会将相互关联的(之间有黄线连接的)关键帧进行配准。如下所示:前一张图是“锁定图层”模式下没有对齐的地图;后一张图是切换到“建图模式”并“开启闭环检测”后,关键帧自动贴合的效果。通常,在大幅度调整某些关键帧时,我们应该切换到“锁定图层”模式。在删除、添加一些关键帧关联关系后,要切换到“建图模式”并“开启回环检测”后才能看到效果。
[[文件:Image-10.png|无框|756x756像素]]


'''图 3-4 锁定图层是定位模式'''
'''图 3-4 锁定图层是定位模式'''
[[文件:Image-11.png|无框|756x756像素]]


'''图 3-5 启用建图模式'''
'''图 3-5 启用建图模式'''
第94行: 第106行:
== 3.3 删除不合理的关键帧 ==
== 3.3 删除不合理的关键帧 ==
关键帧被拉到了不正确的位置。选中后,点击顶部菜单栏的“删除”按钮。
关键帧被拉到了不正确的位置。选中后,点击顶部菜单栏的“删除”按钮。
[[文件:Image-7.png|无框|760x760像素]]


'''图 3-6 错误的关键帧(红色观测点偏离环境轮廓)'''
'''图 3-6 错误的关键帧(红色观测点偏离环境轮廓)'''
[[文件:Image-8.png|无框|762x762像素]]


'''图 3-7 删除(关键帧)菜单'''
'''图 3-7 删除(关键帧)菜单'''
第101行: 第118行:
== 3.4 删去地图中非固定结构的杂点 ==
== 3.4 删去地图中非固定结构的杂点 ==
地图上的非固定环境杂点需要去除,例如环境中临时摆放的物料、设备,路过的其他AGV或人员等。
地图上的非固定环境杂点需要去除,例如环境中临时摆放的物料、设备,路过的其他AGV或人员等。
[[文件:Image111.png|无框|765x765像素]]


'''图 3-8 非固定结构杂点'''
'''图 3-8 非固定结构杂点'''


如上图所示,录制地图时存在较多不属于固定场景的杂点。选中当前图层,根据实际需要调整刷子的半径大小,点击“擦除点云”按钮,在地图界面上按住鼠标左键,将杂点擦除。
如上图所示,录制地图时存在较多不属于固定场景的杂点。选中当前图层,根据实际需要调整刷子的半径大小,点击“擦除点云”按钮,在地图界面上按住鼠标左键,将杂点擦除。
[[文件:Image-1.png|无框|474x474像素]]


'''图 3-9 擦除点云功能'''
'''图 3-9 擦除点云功能'''


中间红框区域的杂点擦除后,效果如下图所示。
中间红框区域的杂点擦除后,效果如下图所示。
[[文件:Image-2.png|无框|796x796像素]]


'''图 3-10 删除杂点后的地图'''
'''图 3-10 删除杂点后的地图'''
第114行: 第139行:
== 3.5 错误的关键帧杂点 ==
== 3.5 错误的关键帧杂点 ==
需要注意的是,某些“杂点”可能不是杂点,而是完全错误的关键帧。如下图所示,红框内的区域应该是开阔的通道,但是其中出现了一整条点云的结构。
需要注意的是,某些“杂点”可能不是杂点,而是完全错误的关键帧。如下图所示,红框内的区域应该是开阔的通道,但是其中出现了一整条点云的结构。
[[文件:Image-15.png|无框|795x795像素]]


'''图 3-11 错误关键帧带来的虚假结构轮廓(红圈中白色轮廓线)'''
'''图 3-11 错误关键帧带来的虚假结构轮廓(红圈中白色轮廓线)'''


我们可以通过反复框选关键帧,逐步缩小范围,查看这里异常的点云是哪个位置的关键帧引起的。
我们可以通过反复框选关键帧,逐步缩小范围,查看这里异常的点云是哪个位置的关键帧引起的。
[[文件:Image-16.png|无框|798x798像素]]


'''图 3-12 框选关键帧以判断虚假结构轮廓源头'''
'''图 3-12 框选关键帧以判断虚假结构轮廓源头'''
[[文件:Image-17.png|无框|801x801像素]]


'''图 3-13 框选关键帧以判断虚假结构轮廓源头2'''
'''图 3-13 框选关键帧以判断虚假结构轮廓源头2'''
[[文件:Image-18.png|无框|804x804像素]]


'''图 3-14 找到虚假结构轮廓的关键帧'''
'''图 3-14 找到虚假结构轮廓的关键帧'''
第129行: 第165行:
== 3.6 修改不合理的关键帧关联 ==
== 3.6 修改不合理的关键帧关联 ==
建图后,需要检查关键帧之间建立的关联关系是否合理,尤其是距离较远的关键帧。如下图所示,红线标出的这个关联关系是不合理的。
建图后,需要检查关键帧之间建立的关联关系是否合理,尤其是距离较远的关键帧。如下图所示,红线标出的这个关联关系是不合理的。
[[文件:Image-3.png|无框|806x806像素]]


'''图 3-15 不应关联的关键帧'''
'''图 3-15 不应关联的关键帧'''


我们可以分别点击选中两个关键帧进行观察,如下所示:
我们可以分别点击选中两个关键帧进行观察,如下所示:
[[文件:Image-4.png|无框|804x804像素]]


'''图 3-16 分析错误关联的关键帧'''
'''图 3-16 分析错误关联的关键帧'''
[[文件:Image-5.png|无框|805x805像素]]


'''图 3-17 分析错误关联的关键帧2'''
'''图 3-17 分析错误关联的关键帧2'''


可以看到,两个关键帧(红色点云)的重叠部分实际上非常少,将这两个关键帧进行关联是不合理的。按住Ctrl键同时选中两个关键帧,点击顶部菜单栏的“解除关联”按钮。
可以看到,两个关键帧(红色点云)的重叠部分实际上非常少,将这两个关键帧进行关联是不合理的。按住Ctrl键同时选中两个关键帧,点击顶部菜单栏的“解除关联”按钮。
[[文件:Image-6.png|无框|687x687像素]]


'''图 3-18 解除关联菜单'''<blockquote>注意:修改关键帧的关联关系后,应该将地图切换为“建图”模式,并“开启图优化”,图优化会对地图进行自动精调。</blockquote>
'''图 3-18 解除关联菜单'''<blockquote>注意:修改关键帧的关联关系后,应该将地图切换为“建图”模式,并“开启图优化”,图优化会对地图进行自动精调。</blockquote>
第144行: 第188行:
== 3.7 批量处理工具 ==
== 3.7 批量处理工具 ==
解除关联的下拉菜单中有两个批量化处理工具:
解除关联的下拉菜单中有两个批量化处理工具:
[[文件:Image-20.png|无框]]


'''图 3-18 批量解除关联'''
'''图 3-18 批量解除关联'''
第153行: 第199行:
== 3.8 添加移动物品区域标记 ==
== 3.8 添加移动物品区域标记 ==
若某区域存在大量高频率移动的动态点云(例如其他不断移动的设备、其他人员等),应当标记为移动物品区域。选中“标记移动物品区域”,并在UI上按住鼠标左键进行涂抹标记。标记后的区域为红色。有效点云的位置不应当被标记。
若某区域存在大量高频率移动的动态点云(例如其他不断移动的设备、其他人员等),应当标记为移动物品区域。选中“标记移动物品区域”,并在UI上按住鼠标左键进行涂抹标记。标记后的区域为红色。有效点云的位置不应当被标记。
[[文件:Image-14.png|无框|833x833像素]]


'''图 3-19 涂红移动物品区域'''<blockquote>注意:若我们不希望某处的点云参与里程计匹配,则应当将该区域标红。若不希望某处的点云参与地图匹配,应该将其直接擦除(参考“2. 删去地图中非固定结构的杂点”)。
'''图 3-19 涂红移动物品区域'''<blockquote>注意:若我们不希望某处的点云参与里程计匹配,则应当将该区域标红。若不希望某处的点云参与地图匹配,应该将其直接擦除(参考“2. 删去地图中非固定结构的杂点”)。
第160行: 第208行:
== 3.9 录关键帧时的不合理 ==
== 3.9 录关键帧时的不合理 ==
有以下情况时,需要打开小车,开到相关位置进行点云的补录。
有以下情况时,需要打开小车,开到相关位置进行点云的补录。
[[文件:Image-19.png|无框|826x826像素]]


'''图 3-20 补录关键帧'''
'''图 3-20 补录关键帧'''


如上图所示,红框是主干道,蓝框是工位。黄框中这一段主干道上缺失关键帧。
如上图所示,红框是主干道,蓝框是工位。黄框中这一段主干道上缺失关键帧。

2024年6月19日 (三) 13:32的最新版本

1. 前言2. 编辑激光地图2.1 注意事项2.2 “弹性连接”的地图2.2.1 移动关键帧2.2.2 开启图优化编辑3. 地图编辑最佳实践3.1 删除所有移动的杂点3.2 运用关键帧锁定功能3.2 运用建图模式3.3 删除不合理的关键帧3.4 删去地图中非固定结构的杂点3.5 错误的关键帧杂点3.6 修改不合理的关键帧关联3.7 批量处理工具3.8 添加移动物品区域标记3.9 录关键帧时的不合理

1. 前言

激光地图编辑功能极大拓展了Detour的激光SLAM应用场景,编辑功能能够解决的典型问题如下:

  • 删除点云。删除地图上点云噪音,比如建图时录下的行人、托盘等。
  • 标记物品移动区域。通过标记大动态区域(存在大量移动物体,且不参与定位计算的区域,比如车道),过滤动态区域移动物体形成的点云,提高激光SLAM稳定性。
  • 标记匹配困难区域。通过标记匹配困难区域,算法自动从无反切换为有反,利用反光板(棒)构建环境特征,应对不利于无反的场景(比如较大面积的平面库,或总装车间滑板线旁车道)。
  • 增补允许闭环区域。为180度视野的机器人标记匹配区域(其背后没有视野),提高在特定场景的点云配准能力。
  • 优化激光地图的局部区域。
  • 拉伸图层以实现特定目标。比如一段共线车道,通过拉伸另一个车型的激光地图(图层),使其坐标与另一个车型大致重合,以便管控软件实现交通管制功能。

2. 编辑激光地图

2.1 注意事项

  1. 编辑地图应该离线进行,把Detour当作编辑器使用。即:不连接移动机器人,不读取雷达数据流,仅编辑静态的地图。
  2. 合适安排编辑顺序,以方便工作为准,不需要固定顺序流程。可以先编辑地图的一部分,也可以交错使用不同的方法进行编辑。
  3. 编辑地图的过程中随时保存!每当局部一个小区域编辑达到比较好的效果之后,应该及时保存一个版本。Detour的编辑没有“回退到上一步”功能。
  4. 编辑过程中,合理利用“锁定”关键帧。被“锁定”的关键帧,在UI上显示的关键帧小红圈上会有一个红色的叉。锁定的关键帧是不会被程序自动移动的,也就是说,程序认为被“锁定”的关键帧被指定了正确的位置(“建图模式”不会改变被“锁定”关键帧的位置)。手动“移动”或“旋转”后的关键帧会自动变为“锁定”状态,可以按“解锁”解除。

2.2 “弹性连接”的地图

Detour使用图优化技术处理关键帧拓扑关系。关键帧是移动机器人通过激光雷达观测到的环境特征,类似我们沿途拍照,然后用照片判断是否在某个地标附近。关键帧位姿(位置和观测角度)在建图时由激光里程计给出,激光里程计的累积误差以图优化技术消除。图优化技术把关键帧连接为一个有机整体,编辑地图时移动一个关键帧,所有关联关键帧位姿都会移动,就像一张弹性地图。

图 2-1 激光地图局部

上图展示了关键帧之间的联系。红色空心圆是关键帧,关键帧间连线表示拓扑关系,即两个关键帧的相关程度(它们观测到点云的相似程度)。

2.2.1 移动关键帧

图 2-2 移动关键帧

鼠标点选关键帧,被选中关键帧以红色双同心圆表示,点击主菜单的”移动“操作,可移动关键帧位置。红色的点云是该关键帧观测到的环境轮廓,它们会和关键帧一起移动。使用移动功能可以修改关键帧位置,当Detour锁定该关键帧时,其输出位姿也会相应变化。被移动的关键帧处于锁定状态,以红色叉表示,可用主菜单的“解锁”功能解除。

2.2.2 开启图优化编辑

在建图模式下,移动功能与图优化功能配合,可以“缝合”因建图操作错误而断开的地图。

图 2-3 “破裂”的地图

上图是一条双向四车道,激光地图应该是“口”字形。这个形状是因为建图过程中车速未控制在低速,且部分路段狭窄未用”小回环“方法,导致地图破裂为三块。在Detour的“单线激光SLAM”标签,点击“开启”按钮(打开图优化功能),然后切换到“建图模式”,依次选择正常和变形部分的一个关键帧,使用移动功能移动关键帧,与该关键帧关联的整个地图都会移动,就能看到有3个地图。

图 2-4 “破碎“的3个地图

开启图优化的移动功能非常强大。激光地图是互联的关键帧,移动其中一个,图优化功能会计算与之关联的所有关键帧,直到整个地图,因此我们可以拖动一个关键帧来移动地图。这种能力使激光地图编辑变得直观易用,不需要回到现场重新建图,节省大量工程时间。

注意:移动过的关键帧处于”锁定“状态。如果不解锁,在移动其归属地图的其他关键帧时,它会保持在原地。

接下来我们”缝合“破碎的地图。3点钟方向的地图顺时针旋转80度左右可以和12点钟地图拼合,解锁刚才移动的关键帧,然后选择该地图的一个关键帧,使用主菜单的”旋转“功能,把地图旋转到水平。

图 2-5 旋转至水平的地图

然后移动该地图,把它拖放到12点钟地图旁边。Detour会自动计算移动地图关键帧与附近关键帧的关联关系,自动关联配准分数高的关键帧,使两个地图融为一体。这个过程可在状态栏观察到。

图 2-6 “缝合”的地图

从上图可见,被锁定关键帧是我们移动地图的端点,现在两个地图边缘关键帧已建立拓扑关系,说明两个地图已经融合。解锁关键帧,点选融合边界两侧的关键帧,可见它们观测到的轮廓(红色点)大多是重合的(观测到同一个物体)。

对于在地图上靠近的两个关键帧,它们之间没有关联,可用主菜单的“关联”功能,让图优化计算两者关联性,是否需要建立拓扑关系。

图 2-7 关联优化结果

以图2-6中锁定关键帧为例,它和左侧关键帧非常近,但没有联系。解锁后使用鼠标框选这两个关键帧,使用“关联”功能优化。可见该关键帧消失,说明它和其他关键帧的关联性很弱。这现象说明地图在此破裂的一种可能性,即车速过快,导致关键帧的关联性未建立而断开地图。

备注:建图车速应在0.4m/s以下,在狭窄路段不能往复行驶建图时,关键帧呈现出单薄的直线型,此时如果车速较快,或者有快速转向动作,就会导致机器人观测到的环境发生快速变化,使关键帧联系无法建立。因此,越是狭窄路段越要低速,转弯时应低速,建图时候投入的时间远低于调试时返工时长。

3. 地图编辑最佳实践

3.1 删除所有移动的杂点

杂点是不应参与SLAM计算的噪音点,比如临时摆放的设备、视野中看到其他动态的人员或小车形成的点云,仅保留固定参照的点云结构(比如固定的墙体、固定的告示牌、固定的充电站、固定的柜子等等),并且确保这些点云结构无重影无失真。如下,第一张图展示了通道点云重影失真的现象,第二张图展示了无重影失真的情形:

图 3-1 通道点云重影失真


图 3-2 通道点云无重影失真

3.2 运用关键帧锁定功能

合理利用“锁定”关键帧。被“锁定”的关键帧,在UI上显示的关键帧小红圈上会有一个红色的叉。锁定的关键帧是不会被程序自动移动的,也就是说,程序认为被“锁定”的关键帧被指定了正确的位置(“建图模式”不会改变被“锁定”关键帧的位置)。手动“移动”或“旋转”后的关键帧会自动变为“锁定”状态,可以按“解锁”解除。

图 3-3 锁定与解锁菜单

3.2 运用建图模式

合理利用“建图模式”:“建图模式”并“开启回环检测”后,Detour会将相互关联的(之间有黄线连接的)关键帧进行配准。如下所示:前一张图是“锁定图层”模式下没有对齐的地图;后一张图是切换到“建图模式”并“开启闭环检测”后,关键帧自动贴合的效果。通常,在大幅度调整某些关键帧时,我们应该切换到“锁定图层”模式。在删除、添加一些关键帧关联关系后,要切换到“建图模式”并“开启回环检测”后才能看到效果。

图 3-4 锁定图层是定位模式


图 3-5 启用建图模式

3.3 删除不合理的关键帧

关键帧被拉到了不正确的位置。选中后,点击顶部菜单栏的“删除”按钮。

图 3-6 错误的关键帧(红色观测点偏离环境轮廓)


图 3-7 删除(关键帧)菜单

3.4 删去地图中非固定结构的杂点

地图上的非固定环境杂点需要去除,例如环境中临时摆放的物料、设备,路过的其他AGV或人员等。

图 3-8 非固定结构杂点

如上图所示,录制地图时存在较多不属于固定场景的杂点。选中当前图层,根据实际需要调整刷子的半径大小,点击“擦除点云”按钮,在地图界面上按住鼠标左键,将杂点擦除。


图 3-9 擦除点云功能

中间红框区域的杂点擦除后,效果如下图所示。


图 3-10 删除杂点后的地图

3.5 错误的关键帧杂点

需要注意的是,某些“杂点”可能不是杂点,而是完全错误的关键帧。如下图所示,红框内的区域应该是开阔的通道,但是其中出现了一整条点云的结构。

图 3-11 错误关键帧带来的虚假结构轮廓(红圈中白色轮廓线)

我们可以通过反复框选关键帧,逐步缩小范围,查看这里异常的点云是哪个位置的关键帧引起的。


图 3-12 框选关键帧以判断虚假结构轮廓源头


图 3-13 框选关键帧以判断虚假结构轮廓源头2


图 3-14 找到虚假结构轮廓的关键帧

最终确定到,红框内的三个关键帧“跑偏”后在走廊通道内形成了错误的点云。这种情况我们直接删除这几个关键帧。

3.6 修改不合理的关键帧关联

建图后,需要检查关键帧之间建立的关联关系是否合理,尤其是距离较远的关键帧。如下图所示,红线标出的这个关联关系是不合理的。

图 3-15 不应关联的关键帧

我们可以分别点击选中两个关键帧进行观察,如下所示:

图 3-16 分析错误关联的关键帧

图 3-17 分析错误关联的关键帧2

可以看到,两个关键帧(红色点云)的重叠部分实际上非常少,将这两个关键帧进行关联是不合理的。按住Ctrl键同时选中两个关键帧,点击顶部菜单栏的“解除关联”按钮。

图 3-18 解除关联菜单

注意:修改关键帧的关联关系后,应该将地图切换为“建图”模式,并“开启图优化”,图优化会对地图进行自动精调。

3.7 批量处理工具

解除关联的下拉菜单中有两个批量化处理工具:

图 3-18 批量解除关联

解除和未选中部分的关联:选中一部分关键帧,点击该按钮,选中的关键帧和其余未选中关键帧之间的关联会被取消。

按距离解除关联:选中一部分关键帧,点击该按钮,选中的关键帧之间,若两者距离大于指定值,它们之间的关联将被解除。

3.8 添加移动物品区域标记

若某区域存在大量高频率移动的动态点云(例如其他不断移动的设备、其他人员等),应当标记为移动物品区域。选中“标记移动物品区域”,并在UI上按住鼠标左键进行涂抹标记。标记后的区域为红色。有效点云的位置不应当被标记。

图 3-19 涂红移动物品区域

注意:若我们不希望某处的点云参与里程计匹配,则应当将该区域标红。若不希望某处的点云参与地图匹配,应该将其直接擦除(参考“2. 删去地图中非固定结构的杂点”)。 若某一区域物品的移动频率较低(频率低,而非“速度慢”),则应当将该区域的点云擦除,但不应该将该区域标红。例如堆积的货架、料框、物料(几小时、或几天移动一次)。因为这一类区域中出现的物体仍然可以作为里程计可用的点云。

3.9 录关键帧时的不合理

有以下情况时,需要打开小车,开到相关位置进行点云的补录。

图 3-20 补录关键帧

如上图所示,红框是主干道,蓝框是工位。黄框中这一段主干道上缺失关键帧。