无人驾驶技术架构、方向及技能要求

目录

  • 一 前言
  • 二 无人驾驶技术架构
    • 2.1 车辆认证平台
    • 2.2 开源硬件平台
    • 2.3 开源软件平台
    • 2.4 云端服务平台
  • 三 无人驾驶软件技术方向
  • 四 无人驾驶软件技能要求

一 前言

  之前研究过百度Apollo平台,个人认为其作为一个开源开放的智能驾驶平台很适合初学者学习,官方给出的技术架构也很经典。所以关于无人驾驶方面的技术架构,从Apollo平台入手学习完全可以。同时,本文在了解了无人驾驶技术架构后,对软件技术方向进行分类,最后确定各软件技术方向所需的技能要求。

二 无人驾驶技术架构

  在百度Apollo的官网上,可以清楚看到百度给出了如图—等等—所示的开放平台架构,具体包括云端服务平台、开源软件平台、开源硬件平台和车辆认证平台等部分,下面我们从后往前依次介绍各部分内容。
无人驾驶技术架构、方向及技能要求_第1张图片

百度Apollo开放平台架构

2.1 车辆认证平台

  要想做无人驾驶,首先必须要有一辆带有AMT和线控底盘的车辆,而且要能够控制车辆的转向、油门和制动系统,整个开发过程中也最好能有车辆主机厂和车辆零部件供应商技术人员的支持。这个前提条件可能看似简单,但实际上非常难,因为你首先要能够找到愿意跟你真心合作的主机厂和车辆零部件供应商,否则主机厂和车辆零部件供应商轻易不会将整车的线控转向接口和制动接口开放出来,因为后期开发试验过程中一旦发生意外,谁也说不清楚,也更不愿承担风险和责任。
  所以能看到Apollo在该部分也需要线控车辆,并且要开放线控车辆的控制接口,这是一切无人驾驶的前提和基础。百度Apollo的线控车辆是Lincoln MKZ,据说是从AutonomouStuff公司定制的,其是一家专门提供无人驾驶改装车的公司。

2.2 开源硬件平台

  在有了可以开放车辆控制接口的线控车辆后,就要在此基础上进行硬件设备安装了,Apollo的开源硬件平台具体见下。
  车载计算单元,是一个控制器,接收传感器输出的数据,经过分析处理后发出数据给车辆执行器。
  GPS、IMU,二者都是用于车辆定位的传感器,其中GPS定位精度差,采样频率低,但稳定性好,而IMU定位精度好,采样频率高,但随时间增长误差会变大,稳定性差。所以通常对二者进行卡曼滤波,以提高系统的定位精度和稳定性。
  摄像头、激光雷达、毫米波雷达和超声波雷达,都是用于感知环境的传感器。其中摄像头主要的检测对象是行人和车道线,而根据检测类型、检测范围和环境条件的不同,会使用激光雷达、毫米波雷达和超声波雷达。
  HMI设备,是显示系统和车辆状态的终端,也能和无人驾驶系统交互。
  黑盒子,这个之前不太了解,不过查资料后发现好像是用于车辆安全的,能记录驾驶中的行驶数据,如果一旦发生事故,以此可以帮助企业定位无人驾驶汽车的事故原因,从而判定责任来源。
  ASU(Apollo传感器单元),协同车载计算单元工作,以实现传感器数据的同步采集和融合处理,还通过CAN总线和车辆通信。
  AXU(Apollo扩展单元),开发人员通过插入GPU、FPGA等模块来提高车载计算单元的计算能力和存储器的容量。
  V2X OBU(车联网车载单元),通过其与V2I(车与基础设施)、V2N(车与网络)、V2V(车与车)之间共享信息。

2.3 开源软件平台

  在车辆上安装好以上的硬件平台后,接着就是最核心也最重要的软件平台部分了。目前,百度Apollo好像用Cyber RT框架替代了之前的ROS, 这个开源计算框架里包含了构建无人驾驶的模块和应用组件,每个组件代表一个专用的算法模块。在运行时,框架把融合好的传感器数据和预定义的组件打包在一起形成轻量任务,之后,框架的调度器可以根据资源可用性和任务优先级来派发这些任务。而为了使系统响应迅速,一定要具备实时操作系统,保障在短时间内对突发的系统干预做出响应。
  车辆在行驶过程中首先解决我在哪的问题,所以要有地图和定位模块,接着解决我周围身边有什么的问题,所以要有感知模块,然后解决我去哪里从哪里走以及过程中遇到异常事件的响应问题,所以要有规划模块、预测模块和决策模块(Apollo平台中的规划模块实际上包括规划和决策两个部分),最后解决我怎么走的问题,所以要有车辆控制模块。

2.4 云端服务平台

  对于这方面,博主目前业务没有涉及太多,也不太了解,所以就不做阐述了。

三 无人驾驶软件技术方向

  从上述技术架构来看无人驾驶需要的技术方向,先以Apollo开放平台架构为参考看下整个无人驾驶供应链里有哪些类别的公司,再根据公司类别来看需要哪些技术方向。
  主要包含地图服务商、传感器供应商、系统供应商和整车厂,具体技术优势分析见如下。

  1. 地图服务商
      主要是指能够提供高精地图的地图厂商,包括四维图新、长地万方等。

  2. 传感器供应商
      研发生产传感器的公司,包括摄像头、毫米波雷达、激光雷达等等,这些传感器对无人驾驶非常重要,相应的技术要求也就更高。这方面国外公司做的比较好,比如摄像头厂商Mobileye、毫米波雷达厂商Conti、激光雷达厂商Velodyne等等,而国内的摄像头厂商有Maxieye、Minieye、极目等,毫米波雷达厂商行易道、安智、隼眼等,激光雷达厂商禾赛等。

  3. 系统供应商
      在传感器基础上设计研发上层软件的公司,无人驾驶中大家很熟悉的就有谷歌、百度以及前百度无人驾驶团队成员创立的公司,比如景驰科技、Pony.ai、元戎启行等,辅助驾驶国外公司包括Bosch、Wabco等,国内公司恒润、FreeTech、清智等。

  4. 整车厂
      这个不必多说,大家应该都了解,乘用车方面一汽、东风和吉利等,商用车方面解放、中国重汽、陕重汽等。

  我们看下四种厂商各自的优势是什么,刚才我们说Apollo软件平台包括地图定位部分、感知部分、预测规划决策部分、车辆控制部分。地图服务商擅长地图部分,传感器供应商擅长感知部分,系统供应商擅长定位、预测规划决策部分,整车厂擅长车辆控制部分。

  因为博主所在公司是处于系统供应商的位置,所以以后我的博文内容以定位和预测规划决策部分为主展开,其余部分根据需要进行研究。

四 无人驾驶软件技能要求

  关于技能要求,我是根据实际工作情况和在网上查阅学习到的,主要围绕开源软件平台中的感知部分、规划部分、决策部分和车辆控制部分,具体见下表。
无人驾驶技术架构、方向及技能要求_第2张图片

无人驾驶软件技能要求

  我比较关注的是规划和决策方面,所以也会按照相应的技能要求学习,我把其分为基础知识和进阶知识两部分,基础知识包括Linux、ROS、数据结构、C、C++、Python等,进阶知识包括算法基础理论和应用,以后分享的内容也会和以上相关。
  好了,本次的内容就到这里,希望和各位相互学习,共同进步。

你可能感兴趣的:(自动驾驶)