写点什么

自动驾驶复杂环境下高精度定位技术

  • 2019-07-06
  • 本文字数:2621 字

    阅读完需:约 9 分钟

自动驾驶复杂环境下高精度定位技术

今天为大家分享下,自动驾驶在复杂环境下的高精度定位技术。



定位/导航负责实时提供载体的运动信息,包括载体的:位置、速度、姿态、加速度、角速度等信息。


自动驾驶对定位系统的基本要求


  1. 高精度:达到厘米级。

  2. 高可用性:保持它的稳定性,自动驾驶测试已经从封闭的场景转移到更开放的场景,这要求我们定位系统能处理更多更复杂的情况。

  3. 高可靠性:整个定位的输出是感知,规划与控制的输入,如果定位系统出现偏差将会导致很严重的后果。

  4. 自主完好性检测:因为我们系统的可靠性只能做到非常接近 100%,但是难以达到真正的 100%,这要求我们在没有办法提供准确的输出的时候,能及时的警告用户,采取措施,避免发生事故。对它的要求就是要保证较低的虚警率与漏警率。



为了满足自动驾驶对导航与定位的要求,采用的方法有:


  • 惯性导航 INS

  • 全球导航卫星系统 GNSS

  • 高精地图与线上激光 lidar 点云匹配定位

  • 里程计

  • 结合车辆运动特性的运动约束



接下来介绍下惯性测量单元 IMU ,目前自动驾驶常用的按照精度分为两类:


一种是基于光纤陀螺 FOG 的 IMU ,它的特点是精度高,但同时成本也高,一般应用于精度要求较高的地图采集车辆。


第二种是基于 MEMS 器件的 IMU ,它的特点是体积小,成本低,环境适应性强,缺点是误差大,如果把它应用在自动驾驶测试车辆中,需经过比较复杂的处理。



为了有 IMU 输出的原始数据得到导航定位输出,需要进行捷联惯性导航 ( SINS ) 解算,包括这样的几个模块:


  1. 陀螺输出角速度信息积分得到姿态

  2. 采用姿态信息对加速度计输出的比力做转换,由载体坐标系到导航坐标系

  3. 重力计算,有害加速度,地球自转角速度等补偿

  4. 加速度信息积分得到速度与位置


由于积分过程的存在,造成输出误差随着工作时间发生积累。



下面介绍下全球卫星定位导航,它是基于测定的绝对定位方案,误差不会随着工作时间以及载体运动发生变化。


目前全球卫星导航的一个显著的特点是由单频单系统向多频多系统转变,比如我们国家的北斗导航系统,俄罗斯的 Glonass ,欧盟的 Galileo 等。这幅图是北京某一天所能接收到的卫星信号的星空图,可见基本可以保证在任意时间我们都能收到 35 颗以上的卫星。多频多系统在极大的程度上提高了我们导航系统的可靠性与可用性。



另外一个显著的特点是精密定位,在民用领域的广泛应用,尤其是基于载波相位动态差分的 RTK 技术在智能驾考,无人机,精密农业等领域得的了普遍的应用。在自动驾驶领域他的优点是:


  • 厘米级定位精度

  • 双天线测向


精密定位在提高定位精度的同时,由于需要基站信息,这也增加了整个系统对于基站(基站服务提供商)和网络信号的依赖。



因为 GNSS 是基于卫星定位的导航,具有非常脆弱的特点:


我们在城市里经常会遇到城市峡谷,使我们没办法接收低仰角的卫星信号,极大的增加了我们定位的因子,增大了定位结果的不确定性。另外一个是信号干扰,车辆本身及加装设备等使车辆的电磁环境非常恶劣,如果处理不得当,会严重影响接收机的收星及观测值的质量。



接下来是基于高清度地图匹配定位,它是事先建立的高精度地图,配合我们线上的激光点云,可以做到绝对定位,厘米级高精度,它的一个显著的局限性是增加了我们对高精地图的依赖。



另外一个是轮式传感器 Wheel Sensor ,自动驾驶目前获得车轮的信息有两种方法:外接和内置。


外接,它的特点是分辨率和精度都非常高,缺点是结构复杂,可靠性难以保证,通常用于我们的地图采集车。


内置传感,它的特点是无需外接设备,缺点是精度低,误差比较大,如果用于测试车辆需要经过很多的处理才可以。


另外,IMU 的敏感轴,很难保证与车的运动方向是完全平行的,所以需要做一个精确的标定,除了轮速的输出,要得到有用的车速信息和里程信息,需要做一些推算,需要一些车轮的参数,而车轮的参数会随着我们的工况发生变化,所以我们需要对它做在线的估计。在这个过程中,我们的计算误差会随着运动的距离发生积累,且会受到路况的影响,比如轮胎打滑或者过减速带。



我们还可以结合车辆的运动特点做些约束。比如我们可以通过一些方法检测车辆是否处于静止,这样就可以假设在静止的时候速度等于 0,可以保证我们在极端的情况下,我们的定位结果不发生很大的误差。我们可以加入一些车辆横向或者纵向的约束条件加入到多传感器融合的系统中。



在获得传感器输出数据之后,我们整个多传感器融合定位,包括几个部分:


  1. 数据预处理,将惯性导航解算,GNSS 的质量控制,雷达数据的误差补偿,还有基于轮式传感器的计算,以及在线估计和补偿。

  2. 基于雷达数据和高精地图的匹配定位。

  3. 四个核心模块:

  4. ZUPT/ZIHR/NHC,车辆运动约束部分

  5. INS Alignment,惯性导航初始对准部分

  6. Integrated,组合部分

  7. FDI,故障检测与隔离部分

  8. 安全相关的模块,就是对于输出的完好性监测。



目前我们的导航定位优化方法,还是基于传统得卡尔曼滤波器,其优化的一个指标是使状态方差达到最小。在建立 Kalman Filter 模型的时候,首先要选择状态变量,目前我们还是基于导航参数误差+车载的传感器误差,作为状态估计。然后状态方程通过一步预测和量测更新,实现我们在时间域的递推。



下面简单介绍下故障诊断与隔离,传统的软件方法有很多,比如卡方检测等,另外是硬件上的冗余。如果我们可以配备多套 GNSS/IMU ,我们可以配合软件解析余度实现多个冗余,来提高可靠性。


典型场景



首先是一个非常典型的场景,视野非常开阔,这时我们可以利用,Gnss/Rtk ,Scan Math Pose 作为量测量校准 IMU/ Wheel sensor 误差,并作出补偿。



这个场景是我们的车辆运行在一个激光雷达纵向特征非常不明显的桥上,导致我们的高精定位在纵向上失效情况。解决办法是使用 GNSS, IMU,Wheel Sensor 信息,检测 scan match 纵向失效情况, 使其不影响定位系统输出。



上面这个场景是我们的激光雷达由于点云被遮挡,导致我们与高精地图匹配定位失败,这要求我们整个系统能不依赖于匹配定位,也能输出非常可靠的结果。



这俩个场景是对于卫星导航来说非常恶劣的场景,需要我们从传感器融合部分去处理,使其具有野值的剔除能力,以及对它参数的自适应调节能力。



这个场景更极端,是车辆穿越高架桥的下面,导致我们整个卫星定位导航失败,此时需要我们的系统能独立于卫星导航,也能可靠的工作,得到可靠的结果。


作者介绍


崔留争,Pony.ai 资深研发工程师。中国科学院大学工学博士,负责 Pony.ai 多源信息融合定位技术研发。曾就职于 DJI ,负责高精度定位技术,Gnss/Ins 组合导航等相关的研发工作。


本文来自 DataFun 社区


原文链接


https://mp.weixin.qq.com/s/BH6scp_WnA3VLh1oNmJJWA


2019-07-06 08:005489

评论

发布
暂无评论
发现更多内容

软件测试 | 测试开发 | 相比Selenium,Web自动化测试框架Playwright

测吧(北京)科技有限公司

测试

InfoQ写作社区 2022 年度优质创作者评选名单公布!

InfoQ写作社区官方

热门活动

科技创新实力受认可,网易有道入选 2022 中国技术品牌影响力企业榜

有道技术团队

技术 数据分析

性能测试技术笔记(三):如何设计一个压测平台

老张

性能测试 压测平台

一加11:新的赛场,“不温和”的答卷

脑极体

创作技术博客以来的一些成就

嵌入式视觉

知乎 博客 CSDN 博客园

Git遇到冲突?解决也太简单了!

Jackpop

同盾科技 x TiDB丨实时数据架构为风控智能决策保驾护航

PingCAP

#TiDB

关于接口测试自动化的总结与思考

阿里巴巴云原生

阿里云 云原生 TPS

Flutter Hero 动画组件的飞行过程显示控制

岛上码农

flutter ios 安卓 移动端开发 跨平台开发

Python专属搜索引擎!又一款Python库学习神器?

Jackpop

EditText(输入框)详解

梦笔生花

android edittext 输入框设计 文本框(TextView)

RayLink远程控制软件:叮~你收到一份年度关键词报告

RayLink远程工具

远程控制软件 RayLink

企业专用的即时通讯产品如何选择?

WorkPlus

CMD有哪些有趣的命令?

Jackpop

8.3K Star!这才是我们苦苦寻找的PDF阅读器。。。

Jackpop

harbor从1.6.1升级至2.7.0

小黄鱼

Harbor

Java学习者看过来!这些优质项目千万别错过

Jackpop

2022 InfoQ 写作社区年度优质企业号评选名单公布!

InfoQ写作社区官方

热门活动

Apipost——让前端、后端、测试共用一份API文档!

不想敲代码

Apipost接口自动化测试功能详解

测试人生路

Postman 自动化测试 接口自动化测试

Github上有什么好的unity开源项目?

Jackpop

TiDB 6.5 LTS 发版

PingCAP

#TiDB

2022 OpenMLDB 硕果累累,颁奖台上荣耀连连

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

Kyligence 客户案例“泰康集团精细化经营分析与运营平台”获评数据智能最佳实践案例

Kyligence

数据分析 指标管理

WorkPlus平台多业务系统集成,让企业沟通协作更畅通

WorkPlus

精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)

洛神灬殇

sentinel 1月日更 Sentinel 系统

阿里云张献涛:无影,让计算触手可及

云布道师

无影云电脑

好家伙!阿里最新SpringBoot进阶笔记涵盖了SpringBoot所有骚操作

程序员小毕

程序员 后端 ssm springboot java面试

连续四年发布科技趋势预测,他们在探索中国科技的“主干道”

脑极体

云渲染动画价格一般多少?

Renderbus瑞云渲染农场

云渲染 云渲染价格

自动驾驶复杂环境下高精度定位技术_AI&大模型_DataFunTalk_InfoQ精选文章