激光slam建图推荐使用在线模式(人工导航建图),在建图的过程中能够把扫描的区域生成地图;对于一般轮廓充足的场景,激光扫描的5-10m范围内有很多物体,从道路的中间扫描即可。对于环境空旷的场景(比如两侧距离约20m了),这时推荐靠近一边约3-5m的距离,沿着一边扫描。如图1,上面的红色框,线路居中;下侧的红色框,选择了靠近一侧。

图1 建图扫描路径
随着扫图的范围逐渐增加,激光的位置会累积出误差,如图2左图,快要扫描一圈时,会出现闭环提示(箭头指向一个没有闭合的圆圈),指示可以走到闭环提示点消除累积误差,右图表示生成了闭环(生成了一个闭合的圆圈)。为了保证闭环的稳定,最好在沿着之前走过的路径往前走一段,约3-5m即可。

图2 建图扫描闭环消除累积误差
关于扫图路线,对于开放场景,如走廊,若宽度小于8m,则直接往返扫,不用转圈,如图3所示。若宽度大于8m,很宽,则可以绕“口”字型。因激光扫描最远距离30到40m,因此建议闭环以40*40m最好,但具体情况还是要根据现场环境判断。

图3 长走廊扫描路径
对于现场环境尺寸小于40m*40m的场景,扫图按照一圈“口”字型闭环就行。对于尺寸在100m* 100m以内的场景,如图4所示,如果中间有路径可以走,可以按照“8”字型扫图、或者两个“口”字型,或者直接一个口字型。对于更大的场景,则需要按照尺寸、区域进行划分,分割成若干个100m*100m或者40*40m,然后一块一块的递增,按照口字型扫描,通过连接的“口”字闭环保证地图一致性。

图4长大场景扫描路径
关于闭环,在线建图的时候,能够看到闭环点提示和生成的闭环点,当走到一个口子的时候,留意是否生成闭环点,这时扫图可以慢一点,等生成了闭环点后,就可以继续快速扫图了。
扫图时,推荐AMR的速度在0.5-0.75m/s,当走过闭环路口时,适当降低速度到0.3m/s,看到闭环提示后,可以恢复0.7m/s;旋转时速度要慢,不超过45°/s,不要原地旋转,尽量按半径1m的圆做弧线运动。不要急加速,导致车轮打滑。
为了便于生成闭环,在扫图时尽量按照标识扫图,比如路面上的色带、图案标记。因为闭环是有推荐范围的,默认参数如图5所示,表示只搜索1280mm内。搜索范围变大会带来隐患,闭环搜索对重复场景会出现搜索错误等情况,因此默认1280mm,对于工厂出现大于100m*100m空旷环境圈,可修改为2560mm。

图5 参数配置
对于没有形成闭环的扫图,会出现如双层墙的情况。图6中两个蓝色圈的路径上,扫图到红色圈中的墙体,在扫图的时候累积误差,没有通过闭环消除。因此推荐在线建图,这样能看到建图的过程,对于部分在线建图失败的情况(比如网络掉线、数据异常),请继续扫图,在扫图后,通过下载AMR车内的slam数据,进行离线建图即可。

图6 双层墙示例