apollo学习笔记六:apollo硬件开发平台介绍

1.自动驾驶开发流程四大步骤

在这里插入图片描述

1.1 软件在环

软件在环是基于仿真和模拟的软件仿真,类似于赛车类游戏。即是在软件系统里仿真模拟出真实的道路环境如光照、天气等自然环境,开发者可将自动驾驶代码开发完毕后,在仿真系统内运行,测试是否可以实现目标。

1.2 硬件在环

硬件在环是基于必要的硬件平台。在第一步的软件仿真结束后,将所有的仿真结果与传感器、计算单元集合在一起,在硬件环境里测试。

1.3 车辆在环

车辆在环是基于车辆执行。这一步将在一个封闭环境中测试开发者所开发功能,优点在于封闭环境中不会有交通流的干扰。

1.4 司机在环

司机在环是基于实际道路。在第三步测试成功后进入到司机在环,它不仅测试自动驾驶的程序代码,还能获得专业司机的评判。

2.自动驾驶三大系统

自动驾驶分为三大系统:感知系统、决策系统和控制系统,每个系统里都有相对应的硬件系统。
在这里插入图片描述

2.1 感知系统

感知系统分为汽车运动、环境感知和驾驶员监测。
(1)汽车运动相关硬件主要有惯性导航、速度传感器、角度传感器和全球定位系统等。
(2)环境感知相关硬件主要有激光雷达、超声波、摄像头、毫米波雷达、V2X。
主要介绍不太熟悉的V2X,V2X全称Vihicle to everything,即车与任何事物的联系,主要包括V2V车与车(vehicle),V2I车与基础设施(vechile to infrainstructure),V2P车与人(vehicle to people),V2N车与云(vehicle to network)。详细一点就是车辆通过传感器,网络通讯技术与其它周边车、人、物进行通讯交流,并根据收集的信息进行分析、决策的一项技术。
(3)驾驶员监测相关硬件主要有摄像头和生物电传感。
摄像头可通过图像识别判断驾驶员当前状态,如是否疲劳,是否注意力集中等;生物电检测部分装在方向盘中,判断驾驶员手是否脱离方向盘等。

2.2 决策系统

决策系统分为计算单元、T-BOX和黑匣子三部分。
(1)计算单元里是自动驾驶感知决策控制的算法。目前自动驾驶用的是X86结构的服务器或工控机。
(2)T-BOX即Telematics BOX,是车联网的通讯网关,它上接互联网下接CAN总线。
(3)黑匣子类似于飞机的黑匣子,是用来记录无人驾驶过程中所有的信息和状态。

2.3 控制系统

控制系统可分为车辆控制和警告系统。
a)车辆控制主要分为制动、转向、发动机和变速箱。
b)警告系统主要分为声音、图像和震动 。

3.核心传感器

在这里插入图片描述

3.1 摄像头

摄像头主要是用于车道线、交通标识牌、红绿灯、车辆和行人的检测。它的优点是检测信息全面且价格便宜,缺点是性能受天气影响较大。
摄像头主要由镜头、镜头的模组、滤光片、CMOS/CCD、ISP和数据传输这几部分组成。
摄像头的基本工作原理:光线通过摄像头前面的镜头和滤光片聚焦到后面的CMOS的Sensor上。Sensor将光信号进行曝光转化成电信号,然后通过ISP图像处理器转化成标准的RGB或者YUV的数据格式,最后传输到后端的计算机进行处理。
摄像头分为单目和双目。双目摄像头通过同时拍两张照片,通过两个图像之间的视觉差进行计算,对任意的障碍物提出警告和标识。

3.2 激光雷达

激光雷达的核心原理是TOF(Time of Flight),基本原理为一束光射出后碰到障碍物后,光会发生回波,并在APD上进行接收和计算光折返的距离。
根据扫描原理,激光雷达可以分为同轴旋转、棱镜旋转、MEMS、OPA相控阵以及Flash。 激光雷达不光是用于感知,地图类的测绘和定位也会使用到需要它。

3.3 毫米波雷达

毫米波雷达主要用于交通车辆的检测。
它的优点是检测速度快且较准确,不受天气情况干扰,缺点是不能对车道线进行识别检测。
毫米波雷达主要是由射频天线、芯片和算法组成,基本原理是发射一束电磁波,然后观察电磁波回波的摄入差异来计算距离和速度。
目前可分为77G和24G两种,远距离采用77G,近距离采用24G。

3.4 组合导航

组合导航是通过GNSS板卡接收所有可见的GPS卫星信号并进行计算,从而得出被检物体在大地坐标系中的空间位置。
当车辆通过隧道、有建筑物群和树荫遮挡等路段时,GPS信号会产生遮挡不能提供很好的结算和实时导航,所以这种情况下需要融合惯性导航的信息。
惯性导航是一个完全封闭的系统,不受外界影响,可以直接给出车身的位置、速度和姿态。

3.5 传感器安装位置

自动驾驶汽车传感器的安装位置一般是:
(1)激光雷达是360°旋转的,所以它都是安装在车顶;
(2)毫米波雷达的指向性很强,所以它一般安装在前后保险杠上;
(3)考虑到车身在道路上的俯仰和姿态的干扰,所以组合导航系统一般是安装在两个后车轮的中轴线上;
(4)车身的360°都会安装摄像头。

3.6 传感器应用范围

在这里插入图片描述

自动巡航(ACC)、应急制动(AEB)、行人检测(PD)都是L1、L2级的功能。
a)L1、L2关注的是传感器误检,因为L1、L2驾驶主体是人,所以该阶段的算法会避免一定的误检率。
b)L3以上关注的是传感器漏检,因为从L3开始,驾驶主体是系统,一定不能让系统的传感器段出现漏检情况。

在这里插入图片描述
从图中可以看出,在限速120km/h下,传感器探测范围为150m就可以达到要求。

4.计算单元

在这里插入图片描述

目前计算单元都是集中式的架构,即将所有的工作都放到一个工控机当中。
这种架构的缺点是体积大、功耗高,不适应未来的量产;优点是方便代码的快速迭代,工控机卡槽的设计方便硬件更新和扩展 。
由于集中式的缺点,未来将会考虑嵌入式的方案。将各传感器的原始数据先融合到一个Sensor Box中,在其中完成数据融合, 然后将融合后的数据给到后端计算平台处理。如图所示:
在这里插入图片描述

Sensor Box作用:目前所用传感器给出的原始数据该如何判断融合完成后是否是判断同一个目标,需要有一个时间戳同步,保证这个时间戳下每个传感器探测的都是同一个坐标系,时间戳的同步是在Sensor Box里面完成的。

5.芯片开发

当自动驾驶的某些算法固定之后,可以基于特定的需求去专业定制芯片(ASIC芯片)。ASIC芯片的能效表现要远超CPU、GPU等通用型芯片以及半定制的FPGA。
在这里插入图片描述

芯片设计流程整体分为芯片设计、芯片制造、芯片封装三部分。首先,汽车厂将算法固定下来, 然后选择一些适用的ip核,比如ARM和MALI,之后进行EDA设计,将设计完的设计图交于芯片制造厂制造。

6.线控系统

在这里插入图片描述

自动驾驶线控系统(control by wire)指的是汽车的控制是由一些简单命令完成的,而不是由物理操作完成的。
线控部分相当于人的手和脚,执行上端的指令。主要分为三大部分:减速控制、转向控制和加速控制。
传统汽车的这些控制由液压系统和真空助力泵协助完成,自动驾驶汽车的线控需要用电控化的零部件来完成,如电子液压制动系统(EHB)。

自动驾驶从整个线控化来看,分为三个阶段:
(1)对原车的方向盘踏板进行改装,将一些转向管柱截断后,加装转向电机,通过控制电机进行转向,缺点是未经过原车系统测试验证,存在安全隐患。
(2)基于原车的辅助驾驶系统,对Can总线协议进行破解,通过原车总线指令控制车的转向和制动。
(3)从车底盘开始开发的一套系统,转向线控完全按照自动驾驶需求定制。。

Apollo平台认证是指百度目前正在使用的传感器经认证后公布出来。例如Velodyne 64线激光雷达就属于Apollo平台认证产品,我们会基于正在使用的传感器提供数据集。
Apollo硬件开发平台认证,则是在Apollo代码层面进行验证,如感知模块的数据化采集标注和模型的训练的额外工作,还需要开发者自己完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值