首页
产品系列
行业应用
渠道合作
新闻中心
研究院
投资者关系
技术支持
关于创泽
| En
 
  当前位置:首页 > 新闻资讯 > 机器人知识 > 《视觉SLAM十四讲》作者高翔:非结构化道路激光SLAM中的挑战  
 

《视觉SLAM十四讲》作者高翔:非结构化道路激光SLAM中的挑战

来源:智东西      编辑:创泽      时间:2020/5/29      主题:其他   [加盟]

自动驾驶车辆通常都是预先建立地图,然后利用此图进行定位,所以真正的、完整的、高贵的SLAM只发生在第一次采集并生成地图之后,后续就是如何用这些地图进行定位导航的问题。另一方面,自动驾驶用的地图和机器人的地图。

低速自动驾驶车辆的地图

乘用车,大家也了解,一年半载的肯定没法实际上路,上了路还有一系列的法律法规问题,还有一堆的世(shi)界(shi)难(ju)题(keng)等着各位工程师去解决(tian keng)呢,所以这会儿我们也不需要多么着急(反正有更着急的人在)。

而对于低速车来说,相对安全,避不了障大不了先停在原地让人先过,还显得文明礼让(我家的产品避障完全没问题啊!)。这两年各种配送、清扫、挖矿之类的自动驾驶低速车会慢慢的抬头,大家应该会渐渐看到一些功能和价格都能够接受的产品。而我自己是做SLAM的,所以主要谈谈这类车上的SLAM问题。

和学术界平时说的SLAM不同,自动驾驶车辆通常都是预先建立地图,然后利用此图进行定位,所以真正的、完整的、高贵的SLAM只发生在第一次采集并生成地图之后,后续就是如何用这些地图进行定位导航的问题。另一方面,自动驾驶用的地图和机器人的地图,对,就是你平时见到的那种,ROS里的黑白灰图,也会有点差别。

ROS里的占据栅格地图,我喜欢叫它黑白灰图

机器人用的栅格地图,很显然,主要表达何处有障碍物,何处是可通行的区域,此外就没有了。它具有基础的导航与定位功能,精度也不错(厘米级),制作起来十分简单,基本可以让机器人自动生成。对于送餐扫地的室内机器人来说,这种地图基本就够用了。但是为什么自动驾驶不用这种图呢?它和高精地图有哪些差别呢?

一条很明显的区别是:在室内,机器人可以去任意可以通过的地方,不会有太多阻拦。而对于自动驾驶来说,每条路都有对应的交通规则:有些地方只能靠右行驶,有些地方不能停车,十字路口还有复杂的通行规则。

智行者科技无人清扫消毒车蜗小白

室内机器人可以利用栅格地图进行导航,但在室外可不能在十字路口上横冲直撞。所以,在导航层面,室内与室外的机器人出现了明显的区别。室内的导航可以基于栅格来实现诸如A*那样的算法,但室外基本要依赖事先画好的车道。如果你希望你的外卖机器人既能在室内取货,又要跑到马路上送到2公里外面的客户家中,那么就得同时考虑这两种地图的使用方法了。所以你看,低速车辆是界于传统移动机器人与乘用车之间的产物,它的地图比两边现成产品都要复杂。

我们会用不同的术语来描述地图的构建阶段。大体来说,从一无所有的采集过程开始,我们会碰到两个大阶段:

1、SLAM阶段:解决从原始传感器数据开始,构建某种基础地图的过程(一般是三维点云或二维图像、栅格);

2、标注阶段:在SLAM结果基础上进行人为标注,实现更精细的交通规则控制。

SLAM阶段往往是自动的,而标注阶段目前还主要是人工的,完美体现了“人工智能”相合作的过程。目前乘用车高精地图生产主要成本是在标注阶段,通常是一群人在在电脑前加班加点地赶着各种工程排期。显然,这个标注过程的好坏直接影响地图质量,一旦标错就等着观赏车辆各种怪异行为吧。

然而,我们也没法完全实现标注过程的自动化,因为很多人为规则并不体现在场景数据里。比如公园里的草坪,物流车大概不能走上去,而洒水车大概就应该在草坪上行走,而我们无法通过点云或图像识别出此类规则,给此类地图带来了很大的人工工作量。

比如下面这个点云图,虽然结构上看不出来,但实际上中间一圈是一个草坪,正常情况下车辆是不能进去的。所以,只能通过人工来标注车辆的行驶区域,才能让小车正确地导航。

标注过程通常是一些非常繁琐的步骤,而且因为繁琐所以价格还挺高。根据2019年的《高精地图产业发展现状及趋势》,一公里高精地图的成本费用还在几千至几万元。采集车虽然贵但毕竟只有几台,计算机开一下程序也只需要一些电费,所以成本主要还是在标注上面。这里的商业化道路还是挺困难的,然而也没什么办法(摊手)。

问题低速车辆的SLAM

由于我个人是做SLAM的,咱们还是把主题回到SLAM上来。目前室外车辆的SLAM还是以多线激光为主。虽然激光SLAM原理上比较成熟,然而实际结合其他传感器来SLAM,还是有一些问题的。学术界的论文总喜欢挑好看的结果来发表,而现实问题往往是肮脏的、动态的、复杂的,这一点,没解决过实际问题的人可能感受不深。

低速车辆如果真正应用,那么地图构建时间就不能太长。如果我们在意地图质量的话,标注工作基本是省不了的,所以对SLAM端的要求就可以总结为:自动化、高可靠性,以及对复杂环境的适应能力(不需要现场人员调参)。这件事情看似简单,但实际用来总有各种各样的问题。

激光SLAM

激光SLAM的基本原理就是点云拼接,有些地方也叫注册、配准,等等。可以利用柱状物等特征信息来拼接,也可以直接用点来拼接,总之这方面各种方法大同小异,区别不大。激光SLAM的开源项目也有很多,感兴趣同学可以看看LOAM/Lego-Loam等经典的方案。

Lego-LOAM  Demo图

 

当然,论文上的图片肯定是美丽的,实际当中也肯定是会遇到问题的。如果只靠激光配准就可以把地图生成出来,那这边SLAM也就没什么难度可言了。我们不妨来看看激光SLAM有什么实际问题。

1、点云拼接是个类似于里程计的过程,它们计算的是局部点云之间的相对运动关系。这个运动误差会逐渐累计,直到地图出现严重变形。其中,高度上的变形会比较明显,你会发现地图一端可能会“翘起”或“下沉”。

激光SLAM的累计误差使得地图高度出现错误,两侧对不上

2、点云拼接的结果依赖于现场的实际三维结构。在结构化道路中,基本可以期待地图由中间的马路与两侧的路牙、树木、护栏组成;但在非结构化道路中,很难对场景结构有一个先验的知识。它可以是普通马路,也可能是人来人往的商业街,也可能是万众聚会的广场……总之,你很容易看到激光失效的场景。

激光匹配在广场或单侧台阶等场景下会导致失效,原本直线前进的轨迹会出现扭曲情形,并使得远处物体模糊

3、更常见的就是来回路段由于匹配失误导致地图出现重影,有些论文也称为“鬼影”。这种现象出现的原因,是两个激光点云看到了同样的结构,但由于距离较远,匹配算法没法将它们完整匹配起来。

4、最后,纯粹由激光匹配得到的地图,没有现实世界物理位置信息。如果缺少物理世界信息,那么你没法按照点云图把车辆导航到指定位置;如果有两个激光点云时,也很难把它们完美地拼接起来。

所以,我们需要处理激光与其他传感器的组合。在点云失效时,尝试用其他传感器进行补偿;在点云出现累计误差时,用其他传感器来进行修复。

激光SLAM和GPS组合

室外自动驾驶车辆通常有一个GPS接收器,指示其物理世界位置。结合GPS信号,我们就可以构建带有物理世界经纬度的地图。这个物理坐标在某些业务中是很重要的,因为车辆很可能需要导航到另一个真实世界的建筑物中。相对的,纯室内的小车就不需要这种坐标,因为它们只在一间或几间屋里导航,而不必关心这间屋子在真实世界当中什么位置。

智行者科技无人清扫消毒车蜗小白

GPS的一大特点就是“看天吃饭”。信号好的时候它可以到达厘米级定位,可以直接使用差分GPS+IMU的结果来进行组合导航。这种做法在如今的无人车、无人机里还很常见。对于天天在高速公路上奔跑的乘用车来说,绝大部分情况下可以以GPS为主导;但是,对于园区里运营的小车,进个树林穿个夹层都是稀松平常的,GPS“信号不好”比“信号良好”更加常见。你能够接受无人车因为“信号不好”半路抛锚的情况吗?

在公园、景区的道路上,小车会经常穿梭于树林、桥梁之中。这些地形上GPS很有可能出现大范围不可用的情形

GPS噪声是个很有意思的模型。通常GPS接收器根据自身接收情况,会给出一个信号强弱的判断。然而,由于著名的多径效应,GPS也可能给出一个信号很强,但位置错误的数据。这就要求SLAM算法对各种信号下的GPS都有稳定的表现。在GPS好时,应该听从GPS的轨迹走向;在GPS不好的区域,能够正确识别并改进。

GPS信号良好的路段例子。左侧:点云地图;右侧:轨迹图。轨迹图中红色为优化后轨迹,蓝色为GPS轨迹。由于GPS全程良好,优化轨迹与GPS重合。

GPS信号不佳的例子。可以看到右侧蓝色轨迹在无规律跳动,但是点云仍需要正常构建。

 

GPS信号的不确定还会带来一些实际的问题。例如,如果车辆开机时GPS信号不好,那么车辆如何确定自身的物理位置?它应该是开到一个开阔区域,等待GPS信号变好,还是以一种“不确定物理位置,但有相对位置”的状态开始运行?

假设如此,那么运行一段时间后GPS信号变为正常,定位信息应该直接跳到GPS指向的物理位置吗?这种跳变会不会对控制产生不良的影响?另一方面,在建图时,我们通常需要按照物理位置来区分不同的地图,例如公园北侧和南侧很可能使用两个不同的地图。如果GPS信号不好,车辆应该如何确定使用哪一张地图?这些问题都需要一个实际的解决方案。

GPS的处理方式是室内外车辆SLAM的一个很大的不同点。这会让SLAM的逻辑变得更加复杂。我们需要结合其他的传感器位置来判断GPS信号的有效性,这往往要用到一些全局轨迹的估计方法,而像卡尔曼滤波器这样有时间顺序的算法会受到干扰。

另外,如果我们还使用了基于位置的回环检测算法,那么它会明显受到GPS信号好坏的影响。一旦GPS信号变差,激光SLAM的性质就变为一个里程计,其累计误差变大之后,基于位置的回环检测算法就很可能失效。

激光SLAM的退化特性

激光SLAM存在各种失效情况,有些你甚至很难事先预料到,例如:

在广场、机场等开阔区域,即使是多线激光,也只能看到几圈地面上的点云。仅使用地面点云进行匹配,很可能在水平面上发生随机移动。

在长隧道、单侧墙、桥梁等场地中,激光匹配会存在一个方向上的额外自由度。也就是说,沿着隧道前进时,获取到的激光点云是一样的,使得匹配算法无法准确估计这个方向上的运动。类似地,如果机器绕着一个圈柱形物体运动时,也会发生这种情况。

在一些异形建筑面前,激光可能发生意想不到的失效情形。

这些结果被称为激光的“退化”,也就是说,本来能够估计6自由度的激光匹配算法,由于场景结构的限制,某几个自由度上的运动无法估计。这时,就需要建图算法来降低激光轨迹的权重,利用其他轨迹来补偿激光的失效了。

位于长沙的梅溪湖艺术中心是令我印象深刻的地方(虽然我本人并没有去过现场)。但在这个区域的中心,激光匹配就会非常不稳定,给出一些错误的结果

 

大型地图的拼接与回环检测

室外SLAM的另一个特点是:室内地图通常有一个面积限制,例如大多家居面积都在200平方米以内;而室外地图可能达到几十万平米,乘用车甚至可以建立城市公路级别的地图。

智行者科技无人乘用车星骥系列

对于扫地机这些家用机器人,我们允许它自由地在室内探索,因为室内面积毕竟是有限的;而对于室外车辆,如果自由探索的话,很可能沿着一个方向出去就回不来了。这就要求室外高精地图有一个事先的采集过程。

目前各家公司对高精地图的采集方式并不一样。乘用车通常需要驾驶员在采集区域内行驶固定圈数,然后把数据带回数据中心进行解算。乘用车的数据量非常大,一般几十GB至TB级别水平,其解算也需要大量计算资源。

而对于低速车,它们运动范围受业务和电池限制,通常在几十公里以内,适配时间在一两天以内。而对更大的区域,往往进行分块、分区的建图方式。

对于较大的地图,通常使用分段采集、建图、拼接的方式

 

低速车辆由于业务变更较快,对地图的构建时间和灵活性有一定的要求。例如,清扫车这一周可能在东区运行,下一周就可能在西区运行。或者,可能要求在以往的清扫区域基础上添加一块新的区域。这种需求一方面要求地图能够以更快的速度进行构建,一方面也要求地图能够快速地进行拼接与合并。同时,由于场景的客观通行限制,低速车辆有时候并不能“绕场景一整圈”,而必须一段一段地采集数据。

在这个数据中,我们先采集了横向的道路,然后分别采集两次纵向道路,最后进行合并

 

地图合并算法可以自由设计。我们可以把两个局部地图视为固定不变的点云,然后使用简单的ICP进行刚性拼接。如果局部地图本身没有畸变,这种做法的效果也挺不错。但是,如果拼接地图存在多个重叠区域,这种刚性拼接就可能导致“拼对了头但拼错了尾”的情况。所以,我们更倾向于借助类回环检测与Pose Graph的方法,对两条轨迹进行融合而非刚性拼接。

团队沟通和其他问题

当然,现实当中还会存在算法之外的问题。毕竟大多数地方只有几位算法工程师,而数据则来自全国各地成千上万台运营的小车。终端的运营人员也好,采集人员也好,大部分并不具备地图定位的相关知识,往往不理解“怎样才是科学的采图轨迹”。这种沟通问题是我们日常工作中见到的最多的问题。

智行者科技无人物流配送车

由于场景的复杂性,建图算法不可能保证100%的成功率。如果碰到一个全程缺少GPS的开阔、弱纹理、高动态场景,任何算法都无法完全保障。这听着像是在抬杠,但是很遗憾的是,现实当中某些大型车库、大型车站内部、高楼间商业街正属于此类场景。这些场景中最容易出现的问题是由于GPS的缺失,地图累计误差过大,出现错位或重影的情况。在这些情况中,我们就只能借助人工的方式来辅助建图了。

在地图出现明显错位情况下,我们利用可视化软件,对融合轨迹进行人工干预,修复累计误差,使地图回到正确的情况

小结

以上我们谈论了一部分低速自动驾驶车辆在建图中碰到的实际问题。对于建图算法的开发人员来说,能够足不出户看到全国各地的地图,也是一件令人欣慰的事情。相信很多人也会享受这一过程,参与到地图构建算法研发的过程中来吧。

虽然非结构化道路激光SLAM中的挑战很多,但是在发现问题中去享受解决问题的快感,是一件能让人很爽的事情,我将永远乐此不疲。




图像检索入门、特征和案例

图像检索是计算机视觉中基础的应用,可分为文字搜图和以图搜图。借助于卷积神经网络CNN强大的建模能力,图像检索的精度越发提高

如何加快解决数据产权问题

数据所有权方面,1原始数据属于个人,2企业享有衍生数据所有权,3政府享有政府数据的归属权

戴琼海院士:搭建脑科学与人工智能的桥梁

脑科学的发展将推动人工智能科学从感知人工智能到认知人工智能的跨越

“触控一体化”的新型机械手指尖研究

机械手面临的难点在于如何在柔性物体上施加可控的挤压力,以及在非稳定状况下确保精确、稳健的抓握与柔性指端操控

微信提出推荐中的深度反馈网络,在“看一看”数据集上达到SOTA

DFN模型综合使用了用户的隐式正反馈(点击行为)、隐式负反馈(曝光但未点击的行为)以及显式负反馈(点击不感兴趣按钮行为)等信息

基于脑肌融合的软体康复手研究

软体机械手充分利用和发挥各种柔性材料的柔顺性,及其非线性、粘弹性和迟滞特性等在软体手运动和控制中潜在的“机械智能”作用,降低控制的复杂度,实现高灵活性、强适应性和良好交互性,在医疗康复领域有重要应用价值

情感分析技术:让智能客服更懂人类情感

智能客服系统中人机结合的服务形式,从五个维度总结和介绍情感分析技术在智能客服系统中的应用场景,包括情感分析算法模型的原理及实际落地使用方式和效果分析

AI也会遭遇瓶颈 解析人工智能技术的存储性能需求

AI人工智能技术需要构建强有力的IT基础设施,人工智能的工作主要由采集、准备、训练和推理四部分组成,每个部分需要读写不同类型的数据,工作负载也不尽相同,将给存储设备带来较大的挑战。

自动化所提出神经元群体间侧向交互的卷积脉冲神经网络模型

基于梯度反向传播的脉冲神经网络(SNN)训练方法逐渐兴起。在这种训练方法下,SNN能够在保留神经元内部动力学的同时获得较好的性能

基于激光雷达的SLAM(激光SLAM)研究

Cartographer跨平台和传感器配置,MC2SLAM实时激光里程计系统,LeGO-LOAM种轻量级和地面优化的激光雷达里程计和建图方法,SUMA++开源的基于语义信息的激光雷达SLAM系统

学一个忘一个?人工智能遭遇“灾难性遗忘”,克服“失忆”有何良策

人工智能为什么会产生“灾难性遗忘”?目前,解决灾难性遗忘的方案有哪些?难点在哪?来看看专家怎么说
 
资料获取
新闻资讯
== 资讯 ==
» 人形机器人未来3-5年能够实现产业化的方
» 导诊服务机器人上岗门诊大厅 助力医院智慧
» 山东省青岛市政府办公厅发布《数字青岛20
» 关于印发《青海省支持大数据产业发展政策措
» 全屋无主灯智能化规范
» 微波雷达传感技术室内照明应用规范
» 人工智能研发运营体系(ML0ps)实践指
» 四驱四转移动机器人运动模型及应用分析
» 国内细分赛道企业在 AIGC 各应用场景
» 国内科技大厂布局生成式 AI,未来有望借
» AIGC领域相关初创公司及业务场景梳理
» ChatGPT 以 GPT+RLHF 模
» AIGC提升文字 图片渗透率,视频 直播
» AI商业化空间前景广阔应用场景丰富
» AI 内容创作成本大幅降低且耗时更短 优
 
== 机器人推荐 ==
 
迎宾讲解服务机器人

服务机器人(迎宾、讲解、导诊...)

智能消毒机器人

智能消毒机器人

机器人底盘

机器人底盘

 

商用机器人  Disinfection Robot   展厅机器人  智能垃圾站  轮式机器人底盘  迎宾机器人  移动机器人底盘  讲解机器人  紫外线消毒机器人  大屏机器人  雾化消毒机器人  服务机器人底盘  智能送餐机器人  雾化消毒机  机器人OEM代工厂  消毒机器人排名  智能配送机器人  图书馆机器人  导引机器人  移动消毒机器人  导诊机器人  迎宾接待机器人  前台机器人  导览机器人  酒店送物机器人  云迹科技润机器人  云迹酒店机器人  智能导诊机器人 
版权所有 © 创泽智能机器人集团股份有限公司     中国运营中心:北京·清华科技园九号楼5层     中国生产中心:山东日照太原路71号
销售1:4006-935-088    销售2:4006-937-088   客服电话: 4008-128-728