自动驾驶汽车为什么需要高精度定位?干货都在这里

2023-05-16

2019年5月7日,曾作为主PM驱动凯迪拉克、Jeep全系、福特全系车型Sync3导航产品研发,现任千寻位置车端高精度定位解决方案经理的宋子未,讲授了主题为“自动驾驶汽车为什么需要高精度定位?”的线上公开课。以下内容根据宋子未在公开课上的分享编辑整理。

内容简介

1、什么是自动驾驶?
2、发展自动驾驶遇到的定位技术瓶颈
3、高精度卫星定位在自动驾驶中的基础性作用
4、千寻位置高精度卫星定位产品介绍

课程实录

一、什么是自动驾驶?

目前,汽车的四大发展趋势是:电动化、智能化、网联网和共享化。其中,智能化与高精度定位的关联最大。

首先,简单介绍一下自动驾驶的等级定义。从没有任何驾驶辅助到完全自动驾驶,一共分为5个等级:L1、L2、L3、L4、L5。目前,大部分辅助驾驶功能,都在L1到L3之间。 L1、L2等级,实际上还是以人控制为主,只不过传感器和一些车载控制模块,会帮助驾驶员来执行一部分的驾驶功能;但从L3等级开始,驾驶员和车辆之间就会出现一个移交的过程,要么驾驶员将驾驶的主权交给车辆,要么在车辆认定自己没有办法自动驾驶时,将控制权交回给驾驶员。

目前,最前沿的自动驾驶功能,主要还是介于L2和L3之间。尽管对于L3需要到达什么样的自动驾驶功能,行业内还有一定的争议,但比较明确的是L2已经达到了可量产的水平。那么,它们上路后的效果如何呢?

据不完全统计,自2016年以来,已经发生了8起自动驾驶道路交通事故,其中就有4起是发生在L2级的自动驾驶汽车,原因也在于L2级的自动驾驶汽车是现在唯一量产出货的车型。

导致事故发生的原因也是多样的,从感知、决策再到控制,任何一个环节产生差池,都有可能引发交通事故。定位在 “感知”环节中是非常重要的一个模块,它会帮助车辆判断当前所处的位置,从而对目前的环境进行整体认知。

如果汽车能够定位自身的精准位置,再结合高精度地图,它对于当前整体驾驶环境下的一些静态或准静态的信息会产生非常准确的判断。基于此,自动驾驶决策系统才能够做出正确判断,然后控制车辆的下一步行为。

二、发展自动驾驶遇到的定位技术瓶颈

自动驾驶中的高精度定位技术,有绝对定位和相对定位之分。常见的激光雷达、摄像头、超声波雷达、毫米波雷达,都属于相对定位范畴;而GNSS(全球卫星导航系统)定位结合IMU惯性传感器的融合定位,能得到车辆所处的经纬度信息和当前的姿态信息,反映的是车辆在地球坐标系中的绝对位置,属于绝对定位。

但是,每一类定位传感器都有自己的优势,也有非常明显的缺陷。

例如激光雷达,它的测量精度、探测距离以及最终得出的结果都非常有保证,但是它成本高且部件易磨损,同时,在使用过程中比较容易受遮挡,也不能识别颜色文字图案等,导致量产能力弱。在前不久特斯拉的发布会上,马斯克也diss了激光雷达。

再比如毫米波雷达,虽然在当前的自动驾驶方案中被应用的非常多,但它的问题是探测角度小,需要安装非常多的毫米波雷达,才能实现对车辆周边整体环境探测,实现精准定位。这套方案也存在成本高的问题。

超声波雷达的方案,当前很多泊车辅助功能都在用。但问题在于,它探测距离最多只能到3米,精度也很低。

视觉定位的方案主要通过摄像头实现,它是目前自动驾驶技术中比较主流的定位方案。这套方案的主要优势为成本低、可以识别文字颜色和图案等。但是,视觉定位的效果会受到环境光线的影响,在雨雪、大雾的情况下,定位效果也比较差。

GNSS卫星定位和惯性导航在车载导航方面的应用比较多。关于GNSS定位,主要优势是成本低、精度高。目前,基于千寻位置提供的差分服务,GNSS定位可以达到动态厘米级。

业内经常使用惯性导航和GNSS做融合,因为结合了惯性导航后,在GNSS信号丢失的情况下,车辆依然能够准确定位。但是,由于惯性导航依靠推算实现,时间一长累计误差就会比较明显,并且它需要得到一个比较准确的初始位置才可进行推算,一般不会作为单独的导航传感器存在,往往要搭配其他的传感器使用。

以上几种传感器各具优势及缺陷,在实际应用过程中很难找到一个各方面都兼顾的最优方案。

三、高精度卫星定位在自动驾驶中的基础性作用

客观来看,卫星定位是可用性比较高的一种技术方案,此外,相比于其他的传感器,成本也比较低。

GNSS定位技术在汽车领域的应用由来已久。上世纪80年代,汽车的导航功能就是通过单GPS星座定位的方式来实现的,但由于可见卫星少,定位精度在50米左右;后来,引入惯性导航传感器,能够保证定位的连续性,精度在10米左右,可实现车辆轨迹追踪,以及基于轨迹做驾驶员行为的监控分析等功能;随着卫星星座的发展,现在天上已经有了四个主要的卫星星座,可用卫星数量增多,并且每一个卫星星座都有至少2~3个不同的频段,卫星定位的精度也提升到5米左右。

随着车辆V2X应用以及L3、L4、L5级别的自动驾驶的发展,汽车对定位精度的要求进一步提高——必须达到1.5米甚至1米以内,那么,如何才能实现呢?

这就需要引入单频RTK(载波相位差分)技术了。基于这种技术的定位,复杂环境下可达到1.5米精度;空旷环境下,可达到50~80厘米的精度。而到了L3级别的自动驾驶之后,就要用到多频RTK技术,将定位精度提升到厘米级。

那么,RTK到底是一种什么样的技术呢?

首先,简单讲讲RTK的定位原理。使用这项技术的一个大前提是在地面建设卫星观测站(也称“基准站”),它的位置信息是固定的、已知的,当它接收卫星信号后,便可得到一个卫星定位结果。卫星定位结果和它已知位置的差值就是卫星定位误差。这个误差结果可以通过网络播发的形式传输给周边的车辆,车辆定位系统减掉误差之后,就能得到一个高精度的位置信息了。

高精度GNSS定位不受环境影响,在雨雪天的道路、雾霾天的道路、无车道线的道路以及沙漠草原等其他定位传感器无法工作的场景下,它都能正常工作。

此外,高精度GNSS定位加高精度地图,也能实现很多智能驾驶辅助方面的功能,比如提醒司机前方有急转弯道、坡道、交叉路口,还有一些已知的事故点,带来更好的驾驶体验; 同时,相对于一些视觉的定位方案,高精度GNSS定位不需要下载很多的地图以及点云的数据,也不会消耗太多系统资源去做数据处理,计算成本低。

四、千寻位置高精度卫星定位产品介绍

目前,千寻位置的基准站网已经实现全球覆盖,基于这套站网系统,千寻位置高精度定位服务覆盖全国。在中国以外的地区,千寻位置使用星基增强技术可将精度提升到亚米级。

千寻位置还在环境、网络、运维体系和数据中心这四个环节,保障服务的高可用率,让汽车随时随地都能实现高精度定位。

基于全球基准站网及服务的高可用率,目前,千寻位置提供的高精度GNSS定位产品可以接管车端定位的全流程。在车辆首次定位时, FindNow加速定位服务可帮助车辆缩短首次定位时间,3秒钟就能帮助汽车得到初始位置信息;然后,地基差分服务FinM Pro 、FindCM,以及星基差分服务可以对初始位置进行差分改正校准;此外,千寻位置还提供FindV融合定位服务,可在复杂场景下,对汽车的定位数据进行纠偏;如果想要实现导航轨迹追踪,千寻位置还能提供位置数据服务FindS;而FindTrace则能提供地图轨迹纠偏服务,在制作地图的过程中,帮助升级地图的精度。
目前,千寻位置在汽车领域已经拥有了大量的生态合作伙伴。在芯片模组层,千寻位置与高通、u-blox、ST、华为、移远等企业,合作推出定位芯片产品;在方案融合层,千寻位置已经与博世、恒润、德赛、斑马、高德等企业建立合作。千寻位置在网联(connectivity)、自动驾驶(autonomous)和研发服务类(Intelligent Vehicle service solution)三个方向上,形成了8个解决方案,服务于主机厂和Tier1,帮助汽车厂商实现监控管理和汽车的自动驾驶功能。

互动问答

英超:如何提高GNSS定位的安全性?

宋子未:GNSS定位的安全性可以分为功能安全和信息安全。其中功能安全是指汽车行业的ISO26262标准。为达到这个要求,在管理流程上要按照标准去设计,整个设计的过程中也要不断进行fault tree分析、FMEA分析等,再基于分析结果做优化,提升功能安全级别。同时,还要保证服务的完好性,简单来说就是在提供经纬度信息的同时,还告诉你这个信息的准确度是多少,然后自动驾驶系统再来判断是否采用这个位置信息,是否启动某项功能。

郑哲:差分协议有哪些,主流的是什么?

宋子未:主流差分协议就是指RTCM协议,之前有RTCM2.3的版本,后来有3.0版、3.2版,目前使用最多的是RTCM3.2。其作用类似于数据格式约定,无论是RTK、RTD,还是PPP、PPK,这些差分技术所生成的改正数据都可以使用RTCM协议来进行传输。

王谋:车载高精度天线如何选型及安装?

宋子未:只要天线能够支持相应的GNSS星座和频段,都可以支持定位芯片实现高精度差分定位。但天线的接收质量非常关键,如果质量不好,就会影响到最终的差分结果。一般在车载高精度定位项目中,我们会向客户借用某一款车型一直使用的天线样品,然后对天线的接收质量做严格的测试评估,如果质量不理想,就会去调优算法,在算法依然无法有效提升性能的情况下,会跟客户沟通天线的选型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动驾驶汽车为什么需要高精度定位?干货都在这里 的相关文章

  • qt种实现搜索栏功能

    引言 在搜索栏种输入要搜索的文本 xff0c 就会出现相关联的文本提示 xff0c 这是可以通过鼠标选中要搜索的文本 xff0c 或者通过上下键选中要搜索的文本 效果 效果图如下所示 xff1a 实现 下面是相关的代码实现 xff0c 读者
  • orangePi3 TLS烧录启动、wifi配置和ssh登录、烧录进内置emmc flash

    orangePi3 TLS烧录启动 wifi配置和ssh登录 烧录进内置emmc flash 烧录镜像到TF卡启动 镜像下载 官方镜像地址 xff1a http www orangepi cn html hardWare computerA
  • C/C++——代码的编译和运行

    1 编译过程 每种高级语言都有对应的编译器 xff0c 而且针对不同指令集架构的CPU会提供不同的编译器 本文以C语言为例 xff0c CPU指令集架构不做前提约束 xff0c 实际上同一种语言也只有在狭义的编译阶段有所区别 xff0c 其
  • Arduino UNO GPS 制作 里程表 经纬度

    机缘 上过月买了一个GPS模块 xff0c 然后我用esp32读取GPS数据 xff0c 并使用LVGL显示GPS信息 期间踩了很多坑 xff0c 我用乐鑫的IDF开发 xff0c 自己写了一个GPS信息提取方法 xff0c BUG很多 x
  • socket编程——UDP协议(C语言编程)

    1 收发信息 ssize t sendto int socket void message size t length int flags struct sockaddr dest addr socklen t dest len 返回值 l
  • 【C语言之线性表链式存储结构】

    C语言之线性表链式存储结构 文章目录 C语言之线性表链式存储结构前言一 线性表链式存储结构定义二 相关概念1 结点1 头指针 三 代码描述1 单链表结点定义1 单链表的创建2 单链表的查找3 在单链表中 xff0c 替换某一个位置的数据4
  • unsigned char* (uchar*) 转为QImage

    场景 xff1a 有一副图像 xff0c 事先已经因为各种需要被读取到了内存中 xff0c 且不可再根据路径读取 xff0c 只能读取内存中的数据转为QImage 百度过好久 xff0c 没有一个帖子说的特别详细 xff0c 解释的特别清楚
  • 卷积的含义-详解

    原文链接 xff1a 点击此处看知乎原文 最近需要用到卷积对图像进行处理 xff0c 不明白卷积的含义 xff0c 找资料的时候在知乎找到一个很优秀的评论 xff0c 特此记录一下 以下内容来自于原文复制 xff1a 对卷积的困惑 卷积这个
  • 图像处理-直方图均衡化(C++实现,不依赖opencv)

    近来接触图像处理领域 xff0c opencv入门之后 xff0c 想自己动手实现一些算法 xff0c 先从直方图均衡化开始吧 xff01 我使用的图像文件是只包含数据yuv格式图像 xff0c 以后等需要的时候再处理从普通格式 xff08
  • 图像处理-Sobel边缘检测(C++实现,不依赖opencv)

    边缘检测一直是图像处理中比较热门的一块 xff0c 今天简单实现了下sobel算法 先上图 xff1a 原图 xff1a Sobel处理 彩图 xff1a Sobel处理 灰度图 xff1a 可以看到在不复杂的情况下 xff0c Sobel
  • 图像处理-高斯滤波和升级版Side Window版高斯滤波(C++实现,无需opencv)

    图像处理绕不开的一个环节就是去燥 xff0c 去掉各式各样的噪声来保证图像的质量 今天将高斯滤波实现了下 xff0c 在此稍作记录 以往惯例 xff0c 先上图 xff1a 原图 xff1a 高斯滤波 xff1a Side Window版高
  • Linux下,使用nginx+ffmpeg+video.js实现直播效果(含centos7环境配置步骤)

    前言 近来因为项目需要 xff0c 需要做一个把视频解码然后推流 xff0c 在浏览器播放的功能 然后查资料 找demo xff0c 最终决定使用FFmpeg 43 nginx来完成相应功能 xff0c 过程颇为心酸 xff0c 在此做下笔
  • 使用QMap保存数据时,若出现相同的键,可以在不改变原有的变量存储选型基础上,使用insertMulti函数来解决

    场景 问题发生场景解决办法方案一方案二方案三 xff08 重点 xff09 针对方案三的示例 问题发生场景 本来项目中选型选择的是QMap来存储相应的键值对 xff0c 根据Map中的键的顺序取出对应的值 但是在使用的过程中 xff0c 发
  • C语言,声明和实现放在头文件中

    将头文件和实现放在同一个文件中 普通函数与静态函数是有区别的 静态函数 xff1a static h ifndef CRND INCLUDE CRND H define CRND INCLUDE CRND H static int pore
  • C++的编译过程详解

    C C 43 43 编译过程 C C 43 43 编译过程主要分为4个过程 编译预处理编译 优化阶段汇编过程链接程序 一 编译预处理 xff08 1 xff09 宏定义指令 xff0c 如 define Name TokenString x
  • BA(Basic authentication)认证实践

    1 概念介绍 Basic authentication xff1a 是一种最简单的对Web资源进行访问控制的方法 xff0c 属应用层的安全保障手段 常用的签名算法有 xff1a base64 HmacSHA1 1 xff09 优点 xff
  • 累加校验和C语言实现

    发送方 xff1a 对要数据累加 xff0c 得到一个数据和 xff0c 对和求反 xff0c 即得到我们的校验值 然后把要发的数据和这个校验值一起发送给接收方 接收方 xff1a 对接收的数据 包括校验和 进行累加 xff0c 如果得到0
  • C++项目工程在Linux环境开发、部署和运行问题

    背景 当我们自己开发的项目程序需要在linux上进行部署 调试时 xff0c 项目代码完整拷贝过去之后 xff0c 直接运行我们自己的可执行程序 xff0c 往往提示找不到所相关的 so库 xff0c 会报错 这是因为 xff0c 系统只会
  • Jetson Xavier NX上安装ROS、Cartographer、基于D435i的Yolov5+TensorRT7的流程及问题解决

    主要记录下自己在Jetson Xavier NX上运行ROS Cartographer 基于D435i的Yolov5 43 TensorRT的系统环境配置流程 xff0c 经过了无数次在ARM上的安装 xff0c 这次是最流畅的一次环境配置
  • 计算机进制转换:二进制、八进制、十进制、十六进制

    一 什么是进制 在生活中 xff0c 我们通常都是使用阿拉伯数字计数的 xff0c 也就是10进制 xff0c 以10为单位 xff0c 遇10进一 xff0c 所以是由0 xff0c 1 xff0c 2 3 4 5 6 7 8 9组成的

随机推荐

  • 摘要认证,使用HttpClient实现HTTP digest authentication

    文章目录 前言一 四个过程二 过程细节三 HttpClient 代码示例 前言 今天工作需要做了摘要认证 xff08 digest authentication xff09 xff0c 下面就工作中遇到的问题及过程做一个总结 一 四个过程
  • C语言之带参数的宏

    这两天在学习C语言 xff0c 发现宏定义挺有意思 xff0c 可以减少代码量 带参宏定义 的一般形式为 define 宏 名 形参表 字符串 带参宏调用 的一般形式为 xff1a 宏 名 实参表 xff1b define M X Y X
  • visual studio升级

    visual studio升级 概述升级步骤温馨提示 概述 有时处于开发要求或者安全要求 xff0c 需要将visual studio升级到最新的版本 本篇文章记录一下如何升级 升级步骤 1 找到visual studio的安装路径下的安装
  • STL中那些好用的东西!(持续更新)

    一 数据结构部分 1 set amp map xff08 后续持续更新 xff09 2 queue xff08 priority queue xff09 queue lt int gt a 定义 a push i 压入 a pop 弹出 a
  • 工业机器人虚拟仿真设计

  • HTTP详解

    一 什么是HTTP xff1f HTTP xff08 HyperText Transfer Protocol xff0c 超文本传输协议 xff09 是一个简单的请求 响应协议 xff0c 它通常运行在TCP之上 xff08 应用层 xff
  • android练习之为 TextView 添加监听器 ,添加后退按钮 ,从按钮到图标按钮

    为 TextView 添加监听器 NEXT按钮不错 xff0c 但如果用户单击应用的TextView文字区域 xff08 地理知识问题 xff09 xff0c 也可以跳转 到下一道题 xff0c 用户体验会更好 添加后退按钮 为GeoQui
  • ORA-01918: 用户 'SCOTT' 不存在 解决方法

    SQL gt alter user scott account unlock alter user scott account unlock 第 1 行出现错误 ORA 01918 用户 SCOTT 不存在 找到scott sql 文件 S
  • idea 里form表单action提交servlet文件出现报错

    由于在action的字符串中加了空格 xff0c 导致于于url pattern不匹配 xff0c 所以报错
  • 数据结构——二维数组

    二维数组可以理解为数组的数组 二维数组组织为矩阵 xff0c 可以表示为行和列的集合 但是 xff0c 创建二维数组以实现关系数据库外观相似的数据结构 它提供了一次容纳大量数据的便利性 xff0c 可以在任何需要的地方传递给任意数量的功能
  • 数据结构——链表

    链表是一种随机存储在内存中的节点的对象集 节点包括两个字段 xff0c 即存储在该地址的数据和包含下一节点地址的指针 链表的最后一个节点包含指向null的指针 1 链表的用途 链表不需要连续存在于存储器中 节点可以是存储器中任何位置并链接在
  • 多线程学习笔记--第一章 多线程技能(1)

    1 什么是进程 xff1f 进程是操作系统结构的基础 xff0c 是一次程序的执行 xff1b 是一个程序及其数据在处理机上顺序执行时所发生的活动 xff1b 是程序在一个数据集合上运行的过程 xff0c 它是系统进行资源分配和调度的一个独
  • 多线程学习笔记--第一章 多线程技能(2)

    1 currentThread方法 该方法返回代码段正在被哪个线程调用的信息 2 isAlive方法 判断当前线程是否处于活动状态 活动状态是线程已经启动且尚未终止 线程处于运行或准备开始运行的状态 如果将线程对象以构造参数的方式传递给Th
  • Qt编程过程中若给定一些数,把它们四舍五入后,保留两位小数

    double类型的数进行四舍五入后保留两位小数 场景实现方式方法一 方法二总结 场景 开发的过程中需要显示一些double类型的数 xff0c 但是又不能直接显示 xff0c 需要四舍五入之后保留两位小数 如 xff1a 0 124567
  • C语言中,头文件、源文件和库文件的关系(转)

    初学c xff0c 一直搞不懂几个概念 xff0c 偶然看到一篇比较好的文章 xff0c 转载一下 xff0c 原文https blog csdn net xhbxhbsq article details 78955216 一下是原文内容
  • 串口是怎样传输数据的

    概述 通过逻辑分析仪捕捉串口传输的数据来了解串口传输数据的实质 串行接口简称为串口 xff0c 串行接口 xff08 Serial Interface xff09 是指数据一位一位地顺序传送 实现双向通信就需要一对传输线 xff0c 即TX
  • 精准时空:让人工智能更智能

    如今科技界 产业界最热门的关键词是什么 xff1f 各地方政府给出了明确的答案 人工智能 8月的最后一周 xff0c 重庆 上海两大直辖市 xff0c 争先恐后地举办了以智能为主题的大会 精准时空能力 xff0c 作为机器智能的基础数据 x
  • 关于FindCM厘米级定位,这6个问题的答案你需要知道

    面对越来越复杂的应用场景 xff0c 单一的FindCM xff08 千寻知寸 xff09 产品 xff0c 已经无法满足不同行业客户的差异化需求 近日 xff0c 千寻位置完成FindCM产品分级 xff0c 推出了面向不同行业和应用场景
  • 千寻位置如何满足自动驾驶“刚需”

    自动驾驶 xff0c 本质是汽车产业的升级 自动驾驶技术在5G 人工智能和汽车行业的飞速发展下 xff0c 成为业界焦点 目前 xff0c 通用 一汽 广汽 北汽 吉利 长安等国内外主流车企都在进行自动驾驶技术研发 xff0c 而他们正在使
  • 自动驾驶汽车为什么需要高精度定位?干货都在这里

    2019年5月7日 xff0c 曾作为主PM驱动凯迪拉克 Jeep全系 福特全系车型Sync3导航产品研发 xff0c 现任千寻位置车端高精度定位解决方案经理的宋子未 xff0c 讲授了主题为 自动驾驶汽车为什么需要高精度定位 xff1f