地纹SLAM技术概述

来自MDCS wiki
Bruce讨论 | 贡献2024年10月28日 (一) 11:58的版本 →‎3.1 技术特点
跳到导航 跳到搜索

一、引言

1.1 地纹SLAM的应用领域

地纹SLAM一般用于激光不良且有地面纹理的场景,比如硬化混凝土地面的大型车间、停车场,举例如下:

1. 有大面积平库的结构件车间

  • 在此类场景中,由于平库面积较大且不具备反光棒安装条件,激光雷达不能观测到环境轮廓。
  • 地纹SLAM利用地面的纹理信息,能够稳定输出机器人位姿,无需在地面铺设二维码。

2. 分期扩产能的总装车间

  • 主机厂的总装车间在分期建设过程中,存在大面积空地,导致激光雷达不能观测到环境轮廓。
  • 地纹SLAM利用地面的纹理信息,解决了总装车间的空地及总装线大动态等问题,相比于色带导航有更强的鲁棒性,是磁导航技术的理想升级方案。

3. 柔性装配线

  • 柔性装配线通常具有大动态变化和近距离遮挡,比如移动的装配工人、料箱、车队中其他AGV等,近距离的动态遮挡对激光雷达视野干扰极大,使激光SLAM难以稳定工作。
  • 传统方法是磁导航技术,而地纹SLAM基于自然导航技术,无需在地面安装引导装置,更加柔性且稳定。

4. 停车场

  • 停车场环境通常较为开阔且存在大型移动物体,不利于激光SLAM。
  • 地纹SLAM配套的地纹模组可有效屏蔽环境光,能够工作在低矮的室内停车场,也可以工作在户外停车场。

简单来说,地纹SLAM是向下看、激光SLAM是向周围看、天花板SLAM是向上看,它们是互补关系。根据应用场景,可以使用其中一项,或者结合来用。Detour的紧耦合算法能够融合多个里程计,输出可信的机器人位姿。

1.2 预期读者

如果您从未使用过Detour,请阅读MDCS概述。在阅读本文前,我们希望您对以下主题有一定了解:

  • Detour功能及其激光SLAM技术。

通过阅读本文档,我们预期您将了解:

  • 理解地纹SLAM技术的原理和应用优势。
  • 掌握地纹SLAM技术在各种场景中的实际应用方法。
  • 评估地纹SLAM技术对现有激光SLAM系统的补充作用。

二、地纹SLAM技术概述

2.1 工作原理

地纹SLAM(Ground Texture SLAM)是一种基于地面纹理信息,实现机器人在未知环境中定位和地图构建的技术。其工作原理可以概括为以下几个步骤:

  1. 图像采集:地纹SLAM首先利用高清工业相机捕捉地面纹理,输出连续的视频流。这些图像包含了地面纹理的详细信息,是后续定位和建图的基础。
  2. 纹理特征提取:地纹SLAM对采集到的图像进行预处理,计算纹理特征。它们在地纹SLAM中作为关键帧的计算依据,用于后续的位姿估计和地图构建。
  3. 里程计计算:地纹SLAM的前端里程计部分负责计算相邻纹理图像之间的位移。通过这些位移信息,可以推算出机器人在环境中的位姿变化,即机器人的位置和方向。
  4. 回环检测与位姿优化:地纹SLAM的后端部分包含回环检测机制。当机器人回到之前已经访问过的区域时,后端会搜索机器人的位姿附近的关键帧,并锁定配准分数最高的关键帧。这个过程用于获得更精确的位姿估计,并用于修正地纹里程计可能产生的累积误差。

2.2 与激光SLAM的差异和优势

地纹SLAM与激光SLAM在计算架构上相似,都由前端里程计和后端回环检测组成。然而,它们在以下几个方面存在显著差异和各自的优势:

  1. 算力需求
    • 地纹SLAM:由于地面纹理的信息量远高于激光点云,地纹SLAM在提取特征和进行图像处理时需要更多的计算资源。Detour的专利地纹算法通过使用GPU加速计算,使得地纹SLAM能够在算力配置相对较低的嵌入式工控机上高效运行(相当于Nvidia 1030级别的硬件)。
    • 激光SLAM:通常对算力的需求较低,因为激光雷达产生的点云数据相对较少。
  2. 地面需求
    • 地纹SLAM:适用于具有不重复纹理的地面,如金刚砂或混凝土地面。对于无纹理的环氧地面或具有重复纹理的瓷砖地面,地纹SLAM无法有效工作。
    • 激光SLAM:对环境材质的要求较低,可以在多种类型的表面上进行定位和建图。
  3. 环境需求
    • 地纹SLAM:不依赖于机器人周围的环境特征,适用于大动态和空旷场景。专利地纹模组设计能够有效屏蔽环境光,抑制地面反射,从而提高定位的准确性。
    • 激光SLAM:在具有稳定几何特征的环境中表现最佳,但在空旷或缺乏特征的区域内可能失效。

地纹SLAM应用注意事项:

  1. 地面平整性:地纹SLAM使用定焦相机,因此要求行驶路面应平整,避免突出物体损坏地纹模组或使底盘偏侧,导致相机对焦模糊甚至撞坏地纹模组。
  2. 鲁棒性:地纹SLAM具有良好的鲁棒性,能够应对地面污渍、破损等干扰。然而,地面不能有大面积的纹理改变,如重新铺设,这会影响地纹SLAM的定位精度。
  3. 工作环境:车载工控机应具备良好的冷却措施,以防止过热降频,从而确保地纹SLAM的算力需求得到满足。

三、应用地纹SLAM技术

3.1 技术特点

地纹SLAM作为一种基于地面纹理信息的定位和建图技术,具有以下技术特点:

  1. 输出位置和角度的精度
    •  地纹SLAM通过分析相邻图像帧之间的纹理特征位移来计算机器人的位姿,因此能够实现高达1mm的位置精度。
    • 角度分辨率方面,地纹SLAM受限于相机视野。一般来说,看得越远,角分辨率精度越好。与激光SLAM相比,地纹SLAM的角分辨率较低,因为它观测到的地面图像尺寸不过十几公分,而激光的观测距离一般20米起。
  2. 建图方法
    •  对于同时配置激光雷达和地纹模组的车型,通常采用先激光SLAM建图,后地纹SLAM建图的方法。利用激光SLAM的高角分辨率特性,修正地纹地图的角度累积误差,从而获得高精度的地图。
    • 对于仅配置地纹模组的车型,一般采用地面标线,通过遥控机器人巡线建图。这种方法操作较为繁琐,因此我们开发专门的建图车来提高纯地纹SLAM的建图效率。
  3. 轨迹跟踪
    • 地纹模组的相机视野决定了地纹SLAM的定位范围。可简单比喻为:地纹建图时,在地面画了一条看不见的线,定位时通过观测这条线(上的关键帧)来实现定位。
    • 相机视野相当于线宽,约为140mm。当机器人发生脱轨(如打滑)时,会因观测不到线而(地纹)脱轨。
    • 在纯地纹SLAM实施时,为了提高定位的鲁棒性,通常会建立3条平行的线,提高定位鲁棒性。搭配了激光雷达、地纹模组和IMU的建图车通过自动建图实现这种地纹轨迹,从而提高建图效率。