雷锋网按:本文内容来自千寻位置网络有限公司业务总监裴世兵在硬创公开课的分享,由雷锋网旗下栏目新智驾(微信号:AI-Drive)编辑整理。
裴世兵,现任千寻位置网络有限公司业务总监。在卫星、导航、交通相关领域深耕15年有余,在技术研究、系统研发、市场拓展、行业分析等领域有丰富经验,拥有17项国家发明专利,对组合高精度卫星定位技术在自动驾驶领域的应用有深入理解。2014年,裴世兵承担首个海外北斗地基项目-巴基斯坦国家北斗地基增强网的规划建设;2016年负责车道级导航系统研发,实现了车道级高精度地图采集制作与车辆高精度定位技术;组织研发了国内首辆自动驾驶电动汽车。
内容介绍
本期雷锋网公开课包括以下内容:
1、自动驾驶系统
2、高精卫星定位对自动驾驶的价值
3、高精卫星定位实现方法
4、高精卫星定位基础建设(by 千寻)
5、自动驾驶中的高精定位技术方案
6、自动驾驶汽车高精定位案例
*公开课全程视频
1、自动驾驶系统
一辆自动驾驶汽车就像一个人,它需要几个部分:
第一,它需要眼睛来感知环境。
第二,它需要大脑来做出决策。
第三,它需要手脚来控制行为。
那么如何实现感知、决策和控制呢?感知就类似人的视觉、听觉、触觉,对于车辆来说,它是通过一些传感器来实现感知的,通过传感器,自动驾驶系统能够了解周围的车、人、交通状况、所处位置等。
决策是比较关键的一部分,决策是在感知基础上对下一步(加速还是减速、如何转向等)进行判断,同时,决策系统还会兼顾舒适性和安全性问题。
控制指的是车辆本身的一些控制系统,它通过决策大脑对车辆下达一些指令,比如说转向、刹车、加速。
2、高精卫星定位对自动驾驶的价值
今天我们的主题集中在自动驾驶系统的感知层面,其中的关键是传感器。从国际来看,自动驾驶汽车的传感器无外乎这样几种:高精度卫星定位系统,组合惯导,激光雷达,摄像头,微波雷达,超声波雷达等等,很多传感器构成了整个车辆的感知系统。
有了这样的感知系统,车辆才能对外界的环境、自己所处的位置有一个清楚的了解,那么每个传感器的这个特点是怎样的呢?在此简单介绍一下:
(1)激光雷达。激光雷达是目前自动驾驶系统最常用的传感器之一,它是通过激光扫描实时生成3D点云地图,再将实时扫描地图与地图库匹配来定位车辆,去做相对定位。同时,激光雷达也能够识别行人、车辆、车道线、马路边线以及周边环境距离等信息。它的优势是探测精度非常高(毫米级),探测距离能达到百米的量级。但是它也存在一些缺点:首先激光可视范围内如果有遮挡,例如有树、垃圾桶等遮挡,就无法进行识别;第二点由于激光波束靠反射来识别,所以无法识别颜色图案、文字等标识;第三点,目前最主要的问题是,激光雷达的成本相对来说依然很高,一个64线激光雷达成本超过几十万,所以普通车辆其实是很难用在上面的;第四点,传统激光雷达的传动部件是机械的,长期使用会造成磨损。当然,目前的一些新技术已经在解决这个问题,并且成本会逐渐下降。
(2)视觉传感器,即摄像头,包括单目、双目和多目。视觉传感器可以利用图像匹配,也能够实现车辆定位,以及对周围环境的3D建模。同时,视觉传感器可以识别行人、车辆和车道线等,也能够判断距离。它的优势是相对于激光雷达而言成本非常低,而且能够识别路牌、交通灯甚至是一些文字信息。同样也存在一些缺陷,比如遮挡情况是没办法识别的,并且强光和黑夜等条件下,识别率相对来说比较低。例如北京的雾霾天气,识别率也是不高的。
(3)毫米波雷达。毫米波雷达目前是一个非常成熟的技术。很多高档车前端的防撞雷达,应该用的都是毫米波雷达,这种传感器测量精度和测量距离以及成本都是没有问题的,但是它的探测角度比较小,并且通常需要多个雷达来完成一个探测任务。
(4)超声波雷达。超声波雷达主要用于探测近距离障碍物,用在倒车、自动泊车等方面。超声波的探测距离一般在3-5米以内。
(5)RTK接收机。这是目前我们所了解的自动驾驶系统普遍会采用的一个技术,它利用高精度卫星定位,实现对车辆的厘米级定位,并且能够通过双天线的接收机,确定车身的航向,甚至是俯仰。RTK接收机的优点是定位精度高、使用简便,成本也相对比较低。但是它也存在一些问题,因为受电磁环境影响,比如说干扰、环境遮挡反射等等,这会造成它的定位精度下降。
(6)高精度组合惯导。组合惯导其实是利用陀螺和加速度G去推算车辆的位置、航向和加速度。通过这样一些参数积分,自主推算车辆在当前速度和加速度情况下,下一个时刻所处的位置。它的优势是不依赖外界环境,靠自身就可以实现定位。但存在的问题是,如果长时间推算,存在一个累计误差,随着时间越来越长,如果没有办法给它提供校正的话,这个误差就会越来越大。
目前的自动驾驶方案大概就是以上几种,每一家厂商在设计和应用自动驾驶系统时,都会或多或少去偏重某一类传感器,比如说有的会偏重激光雷达,有的偏重视觉,有的会偏重卫星定位,不同的方案各有优缺点,如下图。
如何看待高精度卫星定位对自动驾驶的价值?
第一点,极端天气和环境下的位置感知。举个例子,雨天积水发射灯光、冬天路面积雪覆盖等情况下,利用视觉传感器和激光雷达是很难识别车道线的,又如在没有车道线的道路,如开阔的广场,或比较大的院子或停车场里面,这样的封闭区域不一定有明显的道路边线,周围又没有相对比较容易辨识的参照物,所以视觉和激光雷达很难做出相对定位。
但高精度卫星定位是不受这些因素的影响的。高精度定位配合高精度地图,车辆可以对自己的位置做出非常准确的判断,而后控制车辆按照预定方向行使。这是我们认为高精度定位对自动驾驶带来的第一个价值。
第二点,自动驾驶的安全性和舒适性。例如车辆在一条很长的高速路行使,如果在这条高速路上有一个很急的弯道,如果用视觉或激光雷达的方式去判断,车辆快开到这个弯道的时候才能去做出判断,这样会造成急刹车、急转弯等现象,这个时候会给整个驾驶的安全性和舒适性造成影响。但如果使用高精度定位技术,车辆对自己的位置有清晰的了解,车辆可以通过自己的智能决策系统去判断,什么时候、提前多少米开始刹车、转向以及转向的角度。这种方式提升了整个驾驶系统的安全性和舒适性。
第三点,V2X应用。在交叉路口的车辆穿行和避让场景中,如果每一辆车都能够精确地定出自己的位置,通过车车通信和车路通信把自己的位置分享给其他车辆,那么每辆车都会对彼此的位置和路口的交通情况有清楚的了解,通过这样一种智能路车调度系统,可以实现交叉行驶车辆的调度。达到一定程度的话,甚至可以取消红绿灯。
第四点,节省自动驾驶系统运算量。利用图像识别和激光点云算法,不管是存储量还是运算量都是巨大的,所以目前我们看到一些自动驾驶车的后备箱里,实际上放了一个非常大型的服务器去做运算和处理的。这种模式是很难实现工程化或者商业化应用的。
如果利用卫星定位,就可以定位出车辆大概在这个道路的某一段,或者说在道路非常精确的某一个路段上,在做点云匹配时,就完全没有必要把整个城市或整条道路的这个点云图像数据库都调入做匹配处理,只需要调用一段数据就可以了,这样会大大缩短存储量和运算量。所以目前我们看到,一些自动驾驶汽车用工控机就可以完成系统处理。
目前业界普遍划分的自动驾驶分为5个阶段:Level 1—Level5。现在大多数上处于Level 2以下,即高级辅助驾驶,能做到跟车、防碰撞、车道保持等。在Level 2以下的阶段,卫星定位技术对整个辅助驾驶系统来说是一个可选项,不一定是必须要有的。同时对于卫星定位的精度要求,也是仅在道路级即可,主要用于道路导航。
当自动驾驶技术发展到L3以上时,要求车辆L3在高速公路、停车场泊车等特殊场景中实现自动驾驶。这些都是需要高精度卫星定位的,并且对精度的要求也越来越高,精度要求做到车道级,这样才能做到在高速公路上并线或是上下匝道,并确保车辆的安全性。
3、高精卫星定位实现方法
如何实现高精度卫星定位?
首先介绍一下普通卫星定位的原理。地面上一个接收机,在同时接收天上4颗卫星信号的时候就能够实现定位,为什么要4颗卫星呢?
我们都知道,X、Y、Z三个方向需要三颗卫星,三个方程完成定位。但事实上,时间也是一个不确定性,所以未知数有四个:X,Y,Z和T。所以当地面接收机收到4颗卫星信号的时候,它会根据4个方程解算出当前的时刻,以及X、Y、Z的坐标。
但是这种方法存在一些误差。比如信号穿过天空的电离层和对流层时会产生一定的扰动,会造成信号延迟同时产生误差,同时我们观测的卫星轨道等都会存在一定抖动,所以普通卫星定位存在比较大的偏差,它的可信度是不高的。
如何解决这个问题?
我们提出这样一个办法,就是在地面上建立基准坐标的参考站。这个参考站是有要求的,第一,它所建立的位置坐标是要永远不变动的,我们甚至要求将它建在基岩上,如果这个地方土层比较松动,我们会向下挖,一直挖到冻土层的时候,确保这个基准站的坐标是固定不动的。
这样的基准站会连续7×24小时观测所有能观测的卫星信号,由于它的自身坐标是已知的,所以通过观测卫星信号,它能够反向推算出电离层、对流层的误差,以及卫星轨道的误差,总结形成一系列误差参数。这些误差参数通过某个传输方式传给接收机,接收机在定位的时候,就可以在运算过程中把误差减掉。通过这种方式,我们就能够实现高精度的卫星定位。那么,因为误差参数传递是不同的,所以对于接收机来说,差一点的可以做到米级,甚至是亚米级精度,好一点则是厘米级误差。这就是高精度卫星定位的基本原理。
目前,高精度卫星定位在应用于自动驾驶时,普遍使用的是RTK技术,我们称之为载波相位差分技术。
这个定位算法其实并非新技术,早在10年前,它就已经有成熟的应用了。举个例子,我们现在的测量测绘领域,比如要修路、架桥或是盖楼,地基、路基都是通过RTK技术去画线,又如从河的两岸往中间架桥的时候,你会发现桥梁合拢时候中间能够刚好对齐,这都是采用了RTK定位手段,使两边的桥梁可以非常精准地合拢在一起。
其他方面,如车辆应用上,我们最熟悉的就是驾考系统。考试车辆装有两个RTK定位设备,它能够把车辆虚拟成一个方框,与地图中的车库线位置匹配,当车辆出库和入库的时候,一旦超出这个车库的边界线,系统就会及时报警。另外,RTK技术还应用在精准农业,黑龙江省80%的大马力拖拉机已经全部安装了自动驾驶系统,可以自动播种或收割。
4、高精卫星定位基础建设
所以,RTK应用在传统行业其实并不陌生。但它也存在问题,就是作用范围是有限的。目前像驾校、精准农业,通常会架一个单站,在附近范围作业。但这样的系统对智能交通或自动驾驶来说,可能在园区中做一个demo是没有问题的,但很难应用到实际的商业领域中。怎么办呢?
我们目前有这样一个成果。上图中,每一个节点代表了一个基准站,这个基准站由千寻网络位置公司在全国建设,2016年底已建设完成超过1200个基准站。这些基准站的数据会统一回传到我们的服务平台,形成全国一张网,再把这张网上的数据结算到每一个地区的误差参数。通过这种方式,能实现全国的高精度定位服务覆盖。
那么对于接收机来说,如何实现高精度定位呢?对于一个正常的卫星定位接收机而言,在接收卫星信号的同时,它也能够通过互联网从千寻的服务平台上获取当地的卫星定位误差参数。拿到误差参数后,在接收机里会有一个高精度定位解算的算法,最终输出一个高精度定位结果。
以上是高精度定位的一个基本原理,总结来说它需要两个条件:
条件一,接收机本身要支持这样的定位解算算法。目前我们看到的国际国内主流的卫星导航厂家和产品都是支持这种算法的,可能不同的产品会有精度差异。
条件二,要能够支持联网。这样可以通过互联网从全国一张网平台上拿到误差参数,实现高精度定位。
5、自动驾驶中的高精定位技术方案
自动驾驶系统中应用了哪些关键高精度定位技术呢?
第一,要想实现自动驾驶系统运行,首先厘米级定位的播发服务是必不可少的。但是这种服务目前存在几个问题,一个问题是只能满足区域的自动驾驶演示或测试服务,很难实现大范围的跨省测试。第二个问题是目前的局域网很难实现高并发的支持。假如有100万辆车,同时在一个城市里需要高精度定位服务,这对于后台的压力是非常大的。这也是要实现全国性的、高服务等级的定位播发服务的原因。
第二,组合高精度定位终端。RTK是一种非常低成本并容易获取的高精度定位技术。但是,城市环境有很多高楼遮挡、立交桥、地下隧道等情况,这些情况下卫星定位很难全程保证高精度定位精度的。这个时候需要高精度组合惯导来辅助定位,当卫星短时间失锁的时候,可以用惯导去短时间推算位置。
第三,多传感器融合定位算法。刚提到将RTK的定位和惯导做融合,未来我相信还会有更视觉传感器、激光雷达传感器的融合,保证自动驾驶车辆的高可靠性和安全性。
第四,高精度地图。这方面大家已经普遍比较关注了,有了高精度定位,如果没有地图的话,定位是没有办法与环境做匹配的。所以高精度地图的采集和应用也是自动驾驶方案中的重要一环。
6、自动驾驶汽车高精定位案例
高精度定位在智能驾驶以及自动驾驶中有哪些应用?这里我把我们比较熟悉和参与比较深的案例介绍一下。
2016年7月16日,在杭州的云栖小镇举办了一场上汽荣威RX5发布会。这辆车本身已经集成了车道集导航技术和的高精度地图。从上图(1)中其实可以看到,它的导航地图已经跟传统的地图不一样了,可以精细区分车道。
同时,这类高精度地图对于车辆的定位精度也相对来说要求比较高,所以这辆车本身搭载了高精度的厘米级定位终端,同时搭配千寻Find Cm的服务。因此,这辆车能够在这样的示范区达到高精度自主导航的效果。2016年10月13日-16日,在杭州云栖大会上,上图(2)中的这辆车完全基于高精度卫星定位实现了他实现了自主避障、行人跟随、定点停车、自动泊车等功能。
2016年11月12日-13日,江苏常熟举办的中国智能车未来挑战赛中,经我们调研,来自全国的23支参赛队伍均采用了RTK高精度卫星定位技术。比赛赛场使用的高精度地图也是利用这种厘米级定位服务来采集的。
如何看待高精度定位技术在自动驾驶中的应用呢?我们这么认为,高精度定位是自动驾驶的基础,它具有一下特点:
第一,覆盖广。有了全国一张网以后,高精度位置服务将广泛覆盖。
第二,易使用。对于用户而言,位置的获取、处理速度和技术难度都不高。
第三,高稳定。目前全国一张网采用整网解算,基于云架构处理,可靠性和稳定性较高。
第四,低成本。相对于激光雷达等设备而言,RTK定位技术的成本还是很低的。
自动驾驶研发路线
我们通过与国内OEM厂商和Tier 1厂商的合作与调研中发现,自动驾驶技术的研发走得是两条路线:工程化路线和技术化路线。
工程化路线:选择工程化路线的,主要是OEM主机厂和Tier 1等零部件供应商,这条路线更偏向于实用角度。一般来说,初级会先实现车道级导航,类似上文提到的RX5实现的功能,即通过车辆高精度定位,配合高精度地图,对现有车辆的导航有一个体验上升级 → 在此基础上,可能会发展L2到L3级别,即高级智能辅助驾驶技术,包括车道保持、车辆跟随,实现的场景主要针对高速公路等简单场景 → 再往后,会实现L3-L4阶段,如实现变道控制、超车,以及自主上下高速等 → 最后阶段,才发展到L4-L5,能够实现完全自主驾驶。
技术化路线:选择技术路线的厂商,主要是一些互联网公司以及智能驾驶技术企业,他们的技术能力,我认为还是非常强的,有一些甚至直接切入L4-L5级别的这种高度自动驾驶技术。
技术化路线中的公司运营模式分为几类。
1、关注车道级导航,会为现有的类似百度、高德等公司做导航体验的提升。
2、从低速自动驾驶切入,这类方向是注重实用性的。低速自动驾驶汽车属于非道路场景应用,我们也看到,短时间内,自动驾驶车辆上路都是不合法的。所以,一些公司专注于非道路应用,如景区游览车、小区巡逻车、园区代步车等。这部分被认为是最先落地的自动驾驶技术和应用。
3、瞄准道路级自动驾驶应用。这类公司技术能力相对来说比较强,他们通过集成传感器、开发算法以及高精度定位等能力,提供一个完成的自动驾驶解决方案。最后将方案提供给车厂,或是自己造车等等。
精彩问答
新智驾:目前已有许多行业人士认为,芯片+算法的集成化方案会成为未来自动驾驶的趋势,您如何看待高精度位置服务的嵌入式方案,以及与其他传感器处理能力的融合?
裴世兵:未来自动驾驶领域,芯片+算法的集成方案是必然趋势。其中包括两点:一点是“去专业化”,一定会有类似公司提供相关服务,让更多的人使用高精度服务时感受不到技术的实现过程。例如目前我们会提供SDK工具包方案,对于用户,只要在系统或处理器中嵌入SDK工具包,那么他在系统运行时会自动从服务器拿到高精度定位数据,并将数据给到高精度芯片内部,让芯片获得高精度定位结果。另一点就是与其他处理器的融合,目前最简单的是提供单纯的RTK定位算法,再高一级是将惯导算法融合,让高精度定位服务更加连续、稳定和可靠。
未来,我相信会逐渐将视觉、激光雷达等其他传感器信息,甚至包括车辆本身的CAN BUS信息也融合进去,高度集成的方案最终会给出车辆精准的位置。
新智驾:高精度定位服务商和高精度地图服务商应该合作开发综合解决方案吗?还是客户购买两家的服务后,自己再进一步做融合处理呢?
裴世兵:高精度定位和高精度地图本身就是一对,一定要配合起来才能正常发挥作用。所以目前这两个角色也是紧密配合,未来不论会不会合作提供方案,但配合是没有问题的。
用户一定要了解到高精度定位技术和高精度地图,不止是为了单纯的定位,也可能为其他业务逻辑服务。所以对于一家自动驾驶厂商而言,它必须同时了解高精度位置定位和高精度地图。
新智驾:我国高精度位置服务与国外水平的差距?北斗的实用情况如何?
裴世兵:国内外高精度位置服务的技术原理其实是一样的。单从北斗情况来看,它的发射比GPS晚,但北斗在整个的系统设计和构型上理论上是超越GPS的。例如北斗系统有5颗静止轨道卫星(同步卫星),可以一直在中国上空,这保证了北斗在中国的卫星数比其他地区多,这是北斗系统服务国内的优势之一。另一点,国内基准站建设数量远远超越国外的基准站数量,这是我们能够提供更优质高精度位置服务的基础能力。
新智驾:自动驾驶汽车对环境感知和定位的实时性要求很高,高精度定位服务如何在这方面进行优化?
裴世兵:自动驾驶汽车对定位的实时性要求很高,所以我们的很多合作伙伴在选用接收机或输出频率时一般会选择20赫兹。但使用高精度定位服务是不受这种影响的,因为高精度定位服务我们目前采用的方案是1秒为用户播发一次差分数据,理论上来说,接下来10秒内系统都可以使用这组数据做运算,所以影响是不大的。
另外还有一个比较低成本、更简单的方案,比如说采用1赫兹的低成本卫星定位接收机,再结合惯导推算位置,用惯导补足更高实时性(20赫兹、50赫兹甚至100赫兹)的定位需求,相对而言容易的多。
新智驾:目前市场上有五花八门的各类自动驾驶解决方案,您如何看待高精度位置服务在其中扮演的角色?
裴世兵:高精度定位服务不是唯一的自动驾驶解决方案,但一定是自动驾驶解决方案中最基础的环节。未来,厂商也不会单独采用某一项技术实现自动驾驶,必然是技术融合的解决方案。对于他们能造成影响的包括两点,一个是技术成本,一个是设备使用的复杂程度。所以目前,如激光雷达在成本没有降下来的情况下,人们对它的使用会非常慎重,但对于RTK定位而言,成本已经很低了,并还在下降,所以未来的使用推广中应该不会存在难度。
另外,自动驾驶车辆最受关注的还是安全性。如何实现安全?第一,定位和环境感知越精准越好;第二,技术手段越多、越融合越好,多种手段的融合能够提升系统稳定性和安全性。高精度定位服务在自动驾驶中其实扮演了一个重要角色,尤其是未来实现V2X应用时,作用会体现得更加明显。