1. 引言

大家好呀, 这里是矮脚兽, 北航硕士刚毕业进入自动驾驶行业的小萌新. 很开心能够称为古月居的签约作者, 准备开一个自动驾驶的专栏, 记录自己的学习点滴. 这是专栏的第一篇文章, 主要讲一讲自动驾驶中最基本的基础知识. 希望接下来的日子里能和大家一起”无限进步”!

2. 自动驾驶模块组成

下面这张图展示的是Apollo 6.0的组织架构, 我就以这张图片为基础自下而上来说一说自动驾驶模块的各个组成[1]


Apollo 6.0

2.1 Drive-by-Wire控制系统

传统汽车都是通过发动机带动齿轮传动系统将动力输出到车轮, 但是对于计算机来说没法直接对齿轮这样的机械结构直接进行控制, 于是需要Drive-by-Wire来作为计算机和机电系统的沟通桥梁, 使得对车轮的控制称为可能.
Drive-by-Wire常见的有以下几种[2].

  • Throttle by wire
  • Brake by wire
  • Shift by wire
  • Steer by wire
  • Park by wire

Drive-by-Wire本质上就是在车辆控制的各个环节加上一个电机, 通过对电机参数的控制来间接完成对车的控制. 比如Steer by wire利用电机控制方向盘, Throttle by wire利用电机控制节流阀[3].


Steer By Wire
Throttle by wire

2.2 硬件平台

自动驾驶所需的硬件为计算单元 + 传感器, 它们的分布如下图所示. 计算单元为算力较强的PC, 传感器分布在车的四周, 是自动驾驶获取周围环境实时信息的主要来源.
Hardware Overview

2.3 开放软件平台

这个部分是自动驾驶的核心, 所有相关算法都在这一层. 其中比较重要的有地图定位感知预测规划控制. 当然, 这里面涉及的东西较多, 后面会在其他文章中细讲.
Software overview

2.4 云服务平台

云服务里面最重要的是高精地图仿真. 其中高精地图是预先测量好存储在云端的, 通过Map Engine来进行调用. 仿真则可以验证算法的可行性, 加快开发效率.

3. 自动驾驶等级分类

自动驾驶等级分类大家应该都不陌生, 简单列一下, 这里就不细讲了, 网上也可以找到一堆相关内容. 不过值得注意的是SAE今年四月份发布了最新的自动驾驶分级标准: SAE对自动驾驶的等级分类2021版, 感兴趣的同学可以去看一看.

自动驾驶等级 相关说明
Level 0 No Driving Automation
Level 1 Driver Assistance
Level 2 Partial Driving Automation
Level 3 Conditional Driving Automation
Level 4 High Driving Automation
Level 5 Full Driving Automation

4. 自动驾驶安全标准

安全永远是自动驾驶首要保证的事情, 大体上安全问题分为两种: Functional SafetySecurity.
Functional Safety指的是自动驾驶系统本身的设计不足导致的问题, 其中有一些是可以优化的系统性错误, 而另外一些是难以复现的随机错误. Security则是指外部故意破坏造成的安全问题, 比如”黑客攻击”, 这就要求自动驾驶设计厂商从网络层面加强管理.
ISO26262[4]是一个被业内广泛关注的安全设计标准, 它涉及了自动驾驶安全的方方面面. 可以说定义了在自动驾驶领域目前人类可以做到的极限, 正因如此, 很多厂商只是把它当作一种参考, 而非法律上的强制执行.

5. 结束语

关于自动驾驶, 这里挑了几个重要的方面做了简要介绍. 如果大家有其他观点, 欢迎在评论区补充. 如有错误, 欢迎指正, 我会及时更新!