自动驾驶定位系列教程十二_ 关于建图的讨论

自动驾驶定位系列教程十二: 关于建图的讨论

系列文章进行到这里,建图部分算是基本完工了。

但是关于建图这件事倒还有几句话想说。

现在是早上7:25,在熬了一个通宵debug之后,打了这些字,浑浑噩噩,乱七八糟,胡说八道。

所以,对各位只有一个请求,就是读完这篇之后如果觉得浪费时间,别骂人就行了。

image

附赠自动驾驶学习资料和量产经验:链接

本系列教程涉及完整代码V作者获取

关于是否需要地图这个问题,高翔博士已经在别的文章里回答过了(文章链接),而且答得非常好,反正比我好,在观点上我和大佬是一致的,这里我想补充谈一些我的想法。

我想往这个问题的背后走一走,所以就不局限于城市自动驾驶场景,而是着眼于多场景的定位需求。

其实要不要建图的问题在不同场景的定位需求下确实有不同的答案,也即在不同场景的任务中要适应性地改变方案。

作为融合定位工程师,为了能够准确给出匹配的方案,我们首先要明白定位方案设计的核心思想是什么,各种不同的方案其实只是核心思想在不同场景下的应用而已。

我总结的核心其实就三个字:“互补性”。

1. 什么是互补性

“互补性”这三个字怎么强调都不为过,定位方案中传感器选择的过程,就是**“寻找互补性”的过程,而融合的过程,就是“执行互补性”**的过程。

不妨举几个例子。

第一个是IMU和GNSS的例子,前者有累计误差,但是没有位姿跳变,后者没有累计误差,但受干扰或遮挡时会跳变。二者融合,既能消除累计误差,又能避免跳变。可以抽象表述为,误差在“累积性”和“噪声性”上都有互补,那么融合既消除了累计性,又消除了噪声性。

第二个是GNSS和点云地图定位的例子,二者均不随时间累计,均有位姿跳变,前者在场景稀疏的情况下定位良好,但受高楼和树木遮挡时表现不好,后者在空旷处无法定位,但是就喜欢稠密的地方,二者融合,两种场景皆可解决。可以总结为在“异常场景”上有互补,融合使其场景适应性增强。

第三个是IMU和激光里程计的例子,二者均有累计误差,但是前者随时间累计,后者随距离累计。二者融合,速度快时,经过同样距离,imu累计误差比激光里程计小,应以imu定位结果为主,速度慢时,经过同样距离,imu累计误差更大,应以里程计定位为主。这样融合后的累计误差均比单一传感器时要小。可以总结为在“误差累计方式”上存在互补,融合使其累计误差减小。但是“累计性”仍然存在,并没有被消除。

这样的例子太多了,但是从上面三个例子中已经足以发现一个规律,融合消除或者减弱的是其有差异的那部分特性,具体包括IMU误差累积性与GNSS误差不累计性之间的差异,GNSS喜空旷与点云地图定位喜稠密之间的差异,IMU随时间累计与激光里程计随距离累计之间的差异,融合使他们的性能都有大幅度提升。但是我们同时也注意到,他们共同具有的那部分特性并没有被消除,比如IMU和激光里程计均具有累计性,融合之后仍有累计误差,虽然误差减小了。可以想见,即使再拿一万个具有累计误差的传感器和他们融合,融合结果的误差仍然是有累计的。

所以,我们有必要强调:只有差异性才能在融合中得到补偿。

这句话也可以换一种表述方式:通过融合消除误差的过程,就是为该误差寻找差异性信息的过程。

这个差异性就是互补性。

《机器人学中的状态估计》有这样一句话“状态估计的过程,是理解传感器本质的过程”。在我的理解里,与其他传感器的互补性就是这个“本质”的重要组成部分。

2. 要寻找的是什么样的差异性?

差异性无处不在,我们面对一个系统,为了提高它的性能,应该怎样从众多的差异性中找到最重要的那个?

举个例子,在IMU和GNSS组合的方案中,融合结果之所以既不累计又不跳变,是因为GNSS的“不累计性”跟IMU“累计性”形成了一对差异性。现在把它放在城市环境下,有很大概率GNSS信号受遮挡,无法定位,这时这一对差异性就消失了,无法形成互补,那么融合结果就又重新具有了“累积性”。

要解决这个问题,就要从差异性消失的原因入手。

因为GNSS被稠密环境遮挡,导致我们需要的“不累计性”消失了,那么就要提供一个同样具有“不累计性”,并且在“遮挡性”上和GNSS能形成互补的信息,比如基于点云地图的定位就具备这个要求,所以加上这个信息之后,不仅提供了另一个“不累计型”,而且它和GNSS有形成了场景的互补性,那么这个融合系统就同时具备了“不累计性”和“稠密环境适应性”。

所以,解决故障时最缺失的那个差异性,就是我们最需要寻找的差异性。

这好像是一句废话。

为了证明这句废话并没有完全非废,我们举一个反例。

在上面这个故障中,如果我不添加点云地图定位,而是再添加一个轮速计,跟添加点云地图定位比,它是更好了,还是更坏了呢?(我们这里的讨论以性能为目的,暂不考虑复杂度、成本、数据下发等运营相关事项)。

添加轮速计以后,IMU+轮速计的组合把里程精度提高了,但是“累计性”仍然存在,它会让你不超差的时间长一些,能在指标内保持行走更远的距离。如果这个自动驾驶车就是在一个区域内来回清扫,这个区域两边都是楼,RTK几乎没有固定解,虽然区域并不是很大,但是车辆来回走,总路程很长,所以仍然会导致超差。所以这种做法只是给他续了命,并没有给他看好病。

我再举一个例子,同样是IMU和GNSS的组合方案,这次是在高速路场景下,用在卡车上,遇到的问题是高速路上偶尔会有一些隧道,进入隧道以后GNSS信号消失,IMU的位置保持精度又不足以保证在出隧道之前不超差,这时应该怎么办?

如果我们仍像上一个例子那样加一个点云地图定位可以吗?如果做过这方面工作的应该都知道,隧道内随着距离推进,点云是无差异性的,也就是说点云和地图匹配容易匹配不上。

反过来,如果我加一个轮速计呢,加上轮速计以后虽然有累计误差,但是累计误差减小了,而且车是单方向通过隧道,不会像清扫车那样在一个没信号的区域里来回走,所以需要保持的距离没那么长,在这种情况下,添加轮速计反而比添加点云地图定位要好。

我们把这两个例子在一起看,能发现什么呢?

我们能够发现同一套组合方案,出现同样的故障,同样的原因,但是解决方案不一样。而且在上一个例子中被抛弃的方案反而成了这个例子中的优选,而上一个例子中的优选,却在这个例子中被抛弃。

所以,我们把刚才的那句废话再说一遍:解决故障时最缺失的那个差异性,就是我们最需要寻找的差异性。

并且,在它的后面再追加一句:缺失程度是由目标任务决定的。

3. 系统性能的短板是由最缺失的那个差异性决定的

这一点其实是上一点的延续,之所以单独作为一个点来说,是因为它很重要。

我们或许见过这样的例子,有一个项目,需要在一个城市环境下,完成20cm以内的定位需求,而目前的方案中GNSS+IMU+轮速计精度不行,经常超差,原因就是城市中高楼和树木太多,导致观测信息有效率和质量都很差。

如果我们按照刚才的思路分析原因,这里的故障状态就是GNSS“非累计性”消失,导致融合系统重新出现“累积性”,解决故障就是要重新给这个“累积性”寻找差异信息,并且要和GNSS的“稠密遮挡性”形成差异。

而有些做法却是再添加一个具有“累计性”的东西,比如添加一个激光里程计,像loam那样。虽然它也和IMU与轮速计提供了差异性,但是这个不是最缺失的那个差异性,“累计性”是他们的共性,是消除不了的。所以这样的差异性再加一万个过来,也无法解决问题。如果是刚才清扫车的任务,那么超差是必然的。

既然这个系统里,性能的短板是由“累积性”决定的,不给它提供差异性信息,性能永远不会有本质上的提高。

4. 怎样利用互补性的原则设计方案

上面几个部分我们分析了什么是互补性、找什么样的互补性、以及怎样找(瞄准短板)。

这就是我们一开始提到的定位方案设计的核心思想。

定位方案设计的过程,就是核心思想在不同场景下的运用过程,即抽象问题具象化。

列几个常见场景:

1)城市环境清扫车

a. GNSS和IMU是基础,二者融合消除了“累积性”

b. 由于经常出现GNSS长时间受遮挡,所以要寻找同样具有“非累积性”且“遮挡性”与GNSS互补的方案,即点云地图定位

c. 有些区域雷达容易受遮挡,比如人流量大,此时可低速或停车,IMU随时间累计,需增加不随时间累计的信息,即轮速计

d. 轮速计打滑、GNSS位姿跳变、点云地图位姿跳变均与IMU噪声特性形成互补

2)港口卡车

a. GNSS+IMU组合,GNSS信号有效率和质量均较高

b. 偶尔有起重架遮挡,正常通行可依赖IMU

c. 若在起重架下行驶慢,甚至停留,IMU随时间累计,误差增大,需要加轮速计

3)矿区

a. GNSS+IMU组合,GNSS信号有效率和质量均较高,基本够用

b. 偶尔有信号不好路段,需要增加额外里程计,因为矿区环境多变,点云地图方案不合理,而轮速计在坑洼路面表现不好,所以加激光里程计

  • 60
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apollo自动驾驶建图是一个关键的技术,用于使无人驾驶车辆能够准确地感知周围环境并创建高精度的地图。该技术主要依赖于激光雷达、摄像头和其他传感器。 首先,Apollo自动驾驶车辆会搭载多个激光雷达传感器,这些传感器能够通过发射激光束并测量其在环境中的反射时间来获取周围物体的距离和位置。通过多个激光雷达的组合使用,车辆能够获取到全方位的环境信息。 其次,车辆还会配备多个摄像头来获取图像信息。这些摄像头能够记录车辆周围的颜色、纹理和形状等信息,从而进一步识别和定位周围的物体。通过将激光雷达和摄像头的数据进行融合处理,车辆能够更加准确地感知周围环境。 在获取到周围环境的数据后,Apollo会通过传感器融合和运动模型等算法对数据进行处理,并利用SLAM(同时定位与地图构建)算法创建地图。这个过程包括了对激光雷达和摄像头数据进行滤波、分割和匹配等操作,并将数据与车辆的运动状态相结合,逐步构建出高精度的地图。 通过实时地创建和更新地图,Apollo可以将地图中的静态障碍物、道路标志、交通信号灯等信息与车辆的感知结果进行比对,从而更好地规划路径和做出相应决策。 总而言之,Apollo自动驾驶建图技术,通过激光雷达、摄像头等传感器获取环境信息,然后利用SLAM算法创建高精度的地图,以支持车辆的路径规划和决策。这个过程对于保证自动驾驶的准确性和安全性至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值