地纹SLAM技术概述:修订间差异

来自MDCS wiki
跳到导航 跳到搜索
(创建页面,内容为“ = 一、引言 = == 1.1 地纹SLAM的应用领域 == 地纹SLAM一般用于激光不良且有地面纹理的场景,比如硬化混凝土地面的大型车间、停车场,举例如下: === 1. 有大面积平库的结构件车间 === * 在此类场景中,由于平库面积较大且不具备反光棒安装条件,激光雷达不能观测到环境轮廓。 * 地纹SLAM利用地面的纹理信息,能够稳定输出机器人位姿,无需在地面铺…”)
 
 
(未显示2个用户的6个中间版本)
第3行: 第3行:


== 1.1 地纹SLAM的应用领域 ==
== 1.1 地纹SLAM的应用领域 ==
地纹SLAM一般用于激光不良且有地面纹理的场景,比如硬化混凝土地面的大型车间、停车场,举例如下:
地纹SLAM一般用于激光不良且有地面纹理的场景,比如硬化混凝土/金刚砂l/水洗石头等地面的。举例如下:


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


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


第13行: 第13行:


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


==== 3. 柔性装配线 ====
==== 3. 柔性装配线 ====
第23行: 第23行:


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


简单来说,地纹SLAM是向下看、激光SLAM是向周围看、天花板SLAM是向上看,它们是互补关系。根据应用场景,可以使用其中一项,或者结合来用。Detour的'''紧耦合'''算法能够融合多个里程计,输出可信的机器人位姿。
简单来说,地纹SLAM是向下看、激光SLAM是向周围看、天花板SLAM是向上看,它们是互补关系。根据应用场景,可以使用其中一项,或者结合来用。Detour的'''紧耦合'''算法能够融合多个里程计,输出可信的机器人位姿。
第51行: 第51行:
地纹SLAM与激光SLAM在计算架构上相似,都由前端里程计和后端回环检测组成。然而,它们在以下几个方面存在显著差异和各自的优势:
地纹SLAM与激光SLAM在计算架构上相似,都由前端里程计和后端回环检测组成。然而,它们在以下几个方面存在显著差异和各自的优势:


# ‘’‘算力需求’‘’:
# '''算力需求''':
#* 地纹SLAM:由于地面纹理的信息量远高于激光点云,地纹SLAM在提取特征和进行图像处理时需要更多的计算资源。Detour的专利地纹算法通过使用GPU加速计算,使得地纹SLAM能够在算力配置相对较低的嵌入式工控机上高效运行(相当于Nvidia 1030级别的硬件)。
#* 地纹SLAM:由于地面纹理的信息量远高于激光点云,地纹SLAM在提取特征和进行图像处理时需要更多的计算资源。Detour的专利地纹算法通过使用GPU加速计算,使得地纹SLAM能够在算力配置相对较低的嵌入式工控机上高效运行(相当于Nvidia 1030或Intel UHD730级别)。
#* 激光SLAM:通常对算力的需求较低,因为激光雷达产生的点云数据相对较少。
#* 激光SLAM:通常对算力的需求较低,因为激光雷达产生的点云数据相对较少。
# '''地面需求''':
# '''地面需求''':
#* 地纹SLAM:适用于具有不重复纹理的地面,如金刚砂或混凝土地面。对于无纹理的环氧地面或具有重复纹理的瓷砖地面,地纹SLAM无法有效工作。
#* 地纹SLAM:适用于具有不重复纹理的地面,如金刚砂或混凝土地面。对于无纹理的环氧地面或具有重复小纹理的瓷砖地面,地纹SLAM无法有效工作。
#* 激光SLAM:对环境材质的要求较低,可以在多种类型的表面上进行定位和建图。
#* 激光SLAM:对环境材质的要求较低,可以在多种类型的表面上进行定位和建图。
# '''环境需求''':
# '''环境需求''':
#* 地纹SLAM:不依赖于机器人周围的环境特征,适用于大动态和空旷场景。专利地纹模组设计能够有效屏蔽环境光,抑制地面反射,从而提高定位的准确性。
#* 地纹SLAM:不依赖于机器人周围的环境特征,适用于大动态和空旷场景。专利地纹模组设计能够有效屏蔽环境光,抑制地面反射,从而提高定位的准确性。
#* 激光SLAM:在具有稳定几何特征的环境中表现最佳,但在空旷或缺乏特征的区域内可能失效。
#* 激光SLAM:在具有稳定几何特征的环境中表现最佳,但在空旷或缺乏特征的区域内可能精度不佳或失效。
 
地纹SLAM应用注意事项:
 
# '''地面平整性''':地纹SLAM使用定焦相机,因此要求行驶路面应平整,避免突出物体损坏地纹模组或使底盘偏侧,导致相机对焦模糊甚至撞坏地纹模组。
# '''鲁棒性''':地纹SLAM具有良好的鲁棒性,能够应对地面污渍、破损等干扰。然而,地面不能有大面积的纹理改变,如重新铺设,这会影响地纹SLAM的定位精度。
# '''工作环境''':车载工控机应具备良好的冷却措施,以防止过热降频,从而确保地纹SLAM的算力需求得到满足。
 
= 三、应用地纹SLAM技术 =
 
== 3.1 技术特点 ==
 
地纹SLAM作为一种基于地面纹理信息的定位和建图技术,具有以下技术特点:
 
# '''输出位置和角度的精度''':
#* 地纹SLAM通过分析相邻图像帧之间的纹理特征位移来计算机器人的位姿,因此能够实现高达1mm的位置精度。
#* 角度分辨率方面,地纹SLAM受限于相机视野。一般来说,看得越远,角分辨率精度越好。与激光SLAM相比,地纹SLAM的角分辨率较低,因为它观测到的地面图像尺寸不过十几公分,而激光的观测距离一般20米起。
# '''建图方法''':
#* 对于同时配置激光雷达和地纹模组的车型,通常采用先激光SLAM建图,后地纹SLAM建图的方法。利用激光SLAM的高角分辨率特性,修正地纹地图的角度累积误差,从而获得高精度的地图。
#* 对于仅配置地纹模组的车型,一般采用地面标线,通过遥控机器人巡线建图。这种方法操作较为繁琐,因此我们开发专门的建图车来提高纯地纹SLAM的建图效率。
# '''轨迹跟踪''':
#* 地纹模组的相机视野决定了地纹SLAM的定位范围。可简单比喻为:地纹建图时,在地面画了一条看不见的线,定位时通过观测这条线(上的关键帧)来实现定位。
#* 相机视野相当于线宽,一般为150mm。当机器人发生脱轨(如打滑)时,会因观测不到线而(地纹)脱轨。
#* 在纯地纹SLAM实施时,为了提高定位的鲁棒性,可以建立3条平行的线,提高定位鲁棒性。搭配了激光雷达、地纹模组和IMU的建图车通过自动建图实现这种地纹轨迹,从而提高建图效率。
 
== 3.2 地纹SLAM的配套硬件 ==
 
=== 3.2.1 地纹模组 ===
[[文件:Image-20241028112839492.png|无框|587x587像素]]
 
'''图 3-1 地纹模组'''
 
地纹模组集成了4K工业相机和专利补光装置。可有效屏蔽环境光和地面反射对相机造成的干扰,使地纹SLAM能够工作在强光照和精细打磨路面上。
 
=== 3.2.2 车载工控机 ===
[[文件:Image-20241028113131801.png|无框|475x475像素]]
 
'''图 3-2 车载工控机'''
 
车载工控机集成了IO扩展模块和风冷装置,搭载集成Iris架构核显的Intel处理器,以及高速内存,为地纹算法提供充足算力前提下还解决DI/DO集成问题。无需用于扩展IO的PLC模组,提高了集成度,减少了车内空间占用。
 
=== 3.2.3 建图车 ===
[[文件:Image-20241028113447003.png|无框|545x545像素]]
 
'''图 3-3 建图车'''
 
建图车配置单线激光雷达、地纹模组和IMU,可在复杂环境下构建地纹地图。车体小巧,便于运输到施工现场开展工作。
 
== 3.3 定位精度和鲁棒性 ==
地纹SLAM的位置精度为1mm。角度精度与回环有关,在使用地纹地图的定位场景下,角分辨率为0.1度;在建图场景下,角分辨率因累积误差而较大,会造成地图歪斜,因此需要激光SLAM或地面标线来修正。
 
== 四、案例研究 ==
 
== 4.1 某主机厂总装车间SPS物流 ==
这是初代地纹项目,潜伏式牵引AGV和潜伏式举升AGV配置3D激光雷达和地纹相机,车载工控机配置Nvida 1030显卡,负责内饰和天窗的SPS配送。该项目实施中遇到的问题分为设计和工程两大类,归纳如下。
 
=== 4.1.1 地纹模组 ===
地纹相机的设计问题,后用地纹模组解决:
 
* 多车地纹相机补光一致性人工调整工作量大且收敛慢。
* 多车地纹相机清晰度。人工调整定焦相机焦距,然后胶水固定,一致性差,且不利于维护。
* 补光灯寿命短。属于设计/装配问题。
* 相机视野不良。部分相机能看到车体,其反光干扰纹理图像。属于设计/装配问题。
* 相机画面撕裂。相机与工控机的网络通路带宽不稳定,与装配和选型都有关。
* 相机曝光参数不良导致增益不足。导致快速运动时脱轨,需要人工调节曝光参数。
* 相机掉线卡帧。属于设计/装配问题,行驶过程中抗震性差。
 
<blockquote>地纹模组通过提高集成化程度解决散件组装带来的装配一致性、抗震、标定等问题。</blockquote>
 
=== 4.1.2 车载工控机 ===
加装1030显卡的嵌入式工控机在实施时遇到以下问题,后地纹用工控机重新选型,算法升级使用Intel集成显卡以消除加装显卡带来的抗震、功耗的问题。
 
* 工控机操作系统不纯净。内置的一些服务消耗内存和算力,随机干扰算力。定型后的工控机使用一个镜像安装。
 
=== 4.1.3 车体设计与厂内调试 ===
 
* 无减震措施导致工控机与相机故障。驱动轮、从动轮与底盘刚性连接,经过地缝产生的震动传递到工控机和地纹相机,运行一段时间后震松板卡和螺丝。底盘设计应考虑减震,至少工控机与地纹模组与底盘的固定应使用尼龙块等减震材质。
* AGV直线度不一致。过弯时轨迹不一致,某些车出现地纹脱轨。工程现场通过建立平行线地纹轨迹应对。
* AGV毛刷挂垃圾干扰地纹相机。在车头布设的毛刷本意是清除地面垃圾,使含由金属碎屑的垃圾不会卷到相机或地充头(导致短路)下,实际情况是毛刷挂着垃圾产生更严重问题,后将毛刷移动到车尾。
* 驱动轮卡螺丝。装配场景下地面有螺丝掉落,卡在驱动轮导致底盘倾侧,进而改变相机视野而脱轨。这种现象也发生在地面不平之处,比如拱起的伸缩地缝、地充凸起地面等。
* 驱动轮安装偏差。与直线度相似,内/外八字驱动轮导致行驶轨迹扭曲,引起地纹脱轨。属于厂内制造/调试质量问题。
* 车体带载变形。车体带载变形后改变地纹相机视野变化,导致标定失效。根据变形归因分为两类:一是驱动轮弹簧力调节错误,使驱动轮和从动轮在空载/带载时触地不同(即空载时跷跷板,带载时所有轮子触地);二是底盘设计错误,强度不够,带载时车体变形。
 
=== 4.1.4 建图车 ===
建图车解决工程技术方面的问题:
 
* 降低平行线地纹轨迹的建图复杂度。
* 利用IMU解决空旷区域激光SLAM不良问题(相当于纯地纹建图,IMU提供精确的角度)。

2024年10月29日 (二) 11:37的最新版本

一、引言

1.1 地纹SLAM的应用领域

地纹SLAM一般用于激光不良且有地面纹理的场景,比如硬化混凝土/金刚砂l/水洗石头等地面的。举例如下:

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

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

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

  • 主机厂的总装车间在分期建设过程中,存在大面积空地,导致激光雷达不能观测到环境轮廓。
  • 地纹SLAM利用地面的纹理信息,解决了总装车间的空地及总装线大动态等问题。若环境要求限制不允许使用色带或磁导航,地纹SLAM是可靠的选择。

3. 柔性装配线

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

4. 停车场

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

简单来说,地纹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或Intel UHD730级别)。
    • 激光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的定位范围。可简单比喻为:地纹建图时,在地面画了一条看不见的线,定位时通过观测这条线(上的关键帧)来实现定位。
    • 相机视野相当于线宽,一般为150mm。当机器人发生脱轨(如打滑)时,会因观测不到线而(地纹)脱轨。
    • 在纯地纹SLAM实施时,为了提高定位的鲁棒性,可以建立3条平行的线,提高定位鲁棒性。搭配了激光雷达、地纹模组和IMU的建图车通过自动建图实现这种地纹轨迹,从而提高建图效率。

3.2 地纹SLAM的配套硬件

3.2.1 地纹模组

图 3-1 地纹模组

地纹模组集成了4K工业相机和专利补光装置。可有效屏蔽环境光和地面反射对相机造成的干扰,使地纹SLAM能够工作在强光照和精细打磨路面上。

3.2.2 车载工控机

图 3-2 车载工控机

车载工控机集成了IO扩展模块和风冷装置,搭载集成Iris架构核显的Intel处理器,以及高速内存,为地纹算法提供充足算力前提下还解决DI/DO集成问题。无需用于扩展IO的PLC模组,提高了集成度,减少了车内空间占用。

3.2.3 建图车

图 3-3 建图车

建图车配置单线激光雷达、地纹模组和IMU,可在复杂环境下构建地纹地图。车体小巧,便于运输到施工现场开展工作。

3.3 定位精度和鲁棒性

地纹SLAM的位置精度为1mm。角度精度与回环有关,在使用地纹地图的定位场景下,角分辨率为0.1度;在建图场景下,角分辨率因累积误差而较大,会造成地图歪斜,因此需要激光SLAM或地面标线来修正。

四、案例研究

4.1 某主机厂总装车间SPS物流

这是初代地纹项目,潜伏式牵引AGV和潜伏式举升AGV配置3D激光雷达和地纹相机,车载工控机配置Nvida 1030显卡,负责内饰和天窗的SPS配送。该项目实施中遇到的问题分为设计和工程两大类,归纳如下。

4.1.1 地纹模组

地纹相机的设计问题,后用地纹模组解决:

  • 多车地纹相机补光一致性人工调整工作量大且收敛慢。
  • 多车地纹相机清晰度。人工调整定焦相机焦距,然后胶水固定,一致性差,且不利于维护。
  • 补光灯寿命短。属于设计/装配问题。
  • 相机视野不良。部分相机能看到车体,其反光干扰纹理图像。属于设计/装配问题。
  • 相机画面撕裂。相机与工控机的网络通路带宽不稳定,与装配和选型都有关。
  • 相机曝光参数不良导致增益不足。导致快速运动时脱轨,需要人工调节曝光参数。
  • 相机掉线卡帧。属于设计/装配问题,行驶过程中抗震性差。

地纹模组通过提高集成化程度解决散件组装带来的装配一致性、抗震、标定等问题。

4.1.2 车载工控机

加装1030显卡的嵌入式工控机在实施时遇到以下问题,后地纹用工控机重新选型,算法升级使用Intel集成显卡以消除加装显卡带来的抗震、功耗的问题。

  • 工控机操作系统不纯净。内置的一些服务消耗内存和算力,随机干扰算力。定型后的工控机使用一个镜像安装。

4.1.3 车体设计与厂内调试

  • 无减震措施导致工控机与相机故障。驱动轮、从动轮与底盘刚性连接,经过地缝产生的震动传递到工控机和地纹相机,运行一段时间后震松板卡和螺丝。底盘设计应考虑减震,至少工控机与地纹模组与底盘的固定应使用尼龙块等减震材质。
  • AGV直线度不一致。过弯时轨迹不一致,某些车出现地纹脱轨。工程现场通过建立平行线地纹轨迹应对。
  • AGV毛刷挂垃圾干扰地纹相机。在车头布设的毛刷本意是清除地面垃圾,使含由金属碎屑的垃圾不会卷到相机或地充头(导致短路)下,实际情况是毛刷挂着垃圾产生更严重问题,后将毛刷移动到车尾。
  • 驱动轮卡螺丝。装配场景下地面有螺丝掉落,卡在驱动轮导致底盘倾侧,进而改变相机视野而脱轨。这种现象也发生在地面不平之处,比如拱起的伸缩地缝、地充凸起地面等。
  • 驱动轮安装偏差。与直线度相似,内/外八字驱动轮导致行驶轨迹扭曲,引起地纹脱轨。属于厂内制造/调试质量问题。
  • 车体带载变形。车体带载变形后改变地纹相机视野变化,导致标定失效。根据变形归因分为两类:一是驱动轮弹簧力调节错误,使驱动轮和从动轮在空载/带载时触地不同(即空载时跷跷板,带载时所有轮子触地);二是底盘设计错误,强度不够,带载时车体变形。

4.1.4 建图车

建图车解决工程技术方面的问题:

  • 降低平行线地纹轨迹的建图复杂度。
  • 利用IMU解决空旷区域激光SLAM不良问题(相当于纯地纹建图,IMU提供精确的角度)。