2.1 自动驾驶汽车架构
近年来随着经济社会的发展,民用汽车保有量不断攀升,据公安部统计,截至2020年6月,全国机动车保有量达3.6亿辆,其中汽车有2.7亿辆;机动车驾驶人达4.4亿人,其中汽车驾驶人有4亿人,69个城市汽车保有量超过100万辆,北京、成都等12个城市的汽车保有量超过300万辆。大规模的汽车保有量导致严重的交通安全、效率和环境污染问题。多数交通事故是驾驶员疲劳、误判等原因导致的,因此将人工智能技术用于汽车的自动驾驶,能够有效降低酒驾、疲劳驾驶、不遵守交通规则等人为引起的交通事故,减少驾驶员失误,提高安全性。同时,通过C-V2X技术进行多车和多车路协同,能够大幅度提高交通效率,并在一定程度上减少能源消耗。
将传统汽车升级为自动驾驶汽车需要重点解决车辆的高精度定位、周边环境认知、运动控制、驾驶决策、行驶规划等多种问题,自动驾驶汽车整体架构如图2-1所示。
图2-1 自动驾驶汽车的整体架构
自动驾驶汽车的整体架构包含五个子系统,分别是环境感知系统、定位系统、通信系统、规划与决策系统、运动控制系统。
1)环境感知系统
自动驾驶的首要任务是对周边环境进行感知,因此该系统依赖于自动驾驶汽车上配置的大量传感器与辅助技术提供的感知信息,进而通过人工智能技术实现对车辆运动、周边环境,以及驾驶员状态行为的感知和监测。
该系统所用到的传感器类型很多,包括摄像头、毫米波雷达、激光雷达、超声波雷达、红外夜视等。对于这些传感器捕捉到的数据,技术人员需要使用现有的计算机技术来实时处理多种异构、不同步数据,从而获得自动驾驶汽车对周边环境的主动感知,因此需要计算机领域的交叉知识来解决该问题。
而辅助系统包括高精度地图、V2X车联网系统等,这些辅助系统不是来自自动驾驶汽车自身,而是其他服务提供者为其提供的环境信息,这种信息相对于自动驾驶汽车来说是全局的环境信息,可以解决汽车由于视野有限、前向遮挡等造成的环境认知局限性问题。
由于每种传感器和辅助技术都有其适用的场景,因此对各种信息进行充分的融合可以为自动驾驶汽车提供更加全面可靠的感知数据。
2)定位系统
实时稳定地输出足够高精度的位置信息、速度信息是自动驾驶汽车可以持续安全运行的前提,而定位系统正是可以解决该问题。其所需要输出的信息包括车辆的经纬度信息、航向角、速度、加速度、俯仰角等,一旦这些信息无法实时精确获取,车辆就无法确定自身位置,从而可能导致十分严重的后果。
定位信息获取的方式多种多样,全球导航卫星系统(Global Navigation Satellite System,GNSS)、惯性导航系统(Inertial Navigation System,INS)、高精度地图定位技术、多传感器融合定位技术、无线通信辅助定位技术。各融合定位技术均可达到定位的目的,但优缺点各不相同,因此自动驾驶汽车通常使用多种技术来实现定位,以高精度地图(High Definition Map,HD Map)为依托,通过INS和GNSS结合来实现定位是当前主流方案。
高精度地图相对于传统的电子地图,包含了更多的驾驶辅助信息,如道路网的精确三维表征、信号灯颜色定义、道路限速信息、车辆转弯开始位置等,且其精度相较于传统电子地图更高,可达到厘米级精度,这对于确保自动驾驶安全性至关重要。
而在定位过程中,全球导航卫星系统起主要作用。GNSS是比较成熟的常用技术,使用三角定位法,通过3颗以上的卫星来实现对地球表面任一位置的定位。自动驾驶通常使用RTK(Real-Time Kinematic,实时动态技术)估计信号传播误差,从而修正GNSS由于云层、天气等对信号传输的影响,来获得更高精度的定位信息。GNSS严重依赖于卫星信号,然而对于一些位置,由于多路径效应、卫星信号被遮挡等原因,会使得可使用的卫星不足三颗,从而无法实现GNSS定位和测速。而INS是借助惯性传感器来获得每一时刻的加速度和角速度,通过时间积分和空间累加推算实时位置信息,因此不依赖于外部信号,且不受外部环境的影响。但是由于INS是通过累计获取实时位置信息,因此不可避免存在累计误差,数据的长期精度较低,而且无法获取时间信息,且惯性导航系统在每次使用前需要较长时间初始化,因此一般不单独使用。故当前主流解决方案结合了GNSS和INS来进行联合定位,在卫星信号不好时使用INS来进行短距离实时定位,而长时间的准确度则依赖于GNSS来保证。
3)规划与决策系统
自动驾驶汽车的最终目的是通过获知的感知信息来控制汽车安全到达使用者指定的目的地,因此自动驾驶汽车的规划与决策系统依赖于环境感知系统和规划与决策系统,是这两个子系统的上层系统。在获得准确、全面的环境信息和定位信息后,自动驾驶汽车依靠该系统对汽车进行控制,以使其能够安全、快速、节省能源地到达使用者指定的目的地。该系统广义上可分为路由寻径、行为决策模块、动作规划模块。
路由寻径(Route Planning)作为自动驾驶汽车内部导航模块,需要根据使用者的目的地和高精度地图,对于自动驾驶汽车的宏观路线进行规划,从而指导自动驾驶汽车宏观上的运动。其输入是划分路网的高精度地图,通过使用一定的最优策略,输出从起点到终点的最佳道路行驶序列。
行为决策模块(Behavioral Module)的作用是在接收到路由寻径模块的全局规划后,结合感知子系统得到环境信息,如其他车辆、行人、障碍物,做出具体的行为决策,从而能够避开周边障碍物并沿着宏观路径到达终点。行为决策模块的难点在于,不仅静态障碍物会影响决策,同等级智能体的未来行为也会影响自动驾驶汽车自身决策,因此需要考虑在多智能体环境下如何进行协同决策,从而在复杂的环境中保证驾驶行为的安全性和高效性;其次,环境感知模块提供的环境信息难以保证真正的全面,因此行为决策模块对于未知障碍物应当具有可容错性,并能够及时做出行为反应以保证最基本的驾驶安全。目前的行为决策技术,可以分为四类:有限状态机模型、决策树模型、基于知识的推理决策模型、基于价值的决策模型。
动作规划模块(Motion Planning Module),需要根据具体的行为决策,来规划生成一条满足特定约束条件的轨迹,该约束条件可能为车辆本身动力学约束,也可能是避免碰撞、乘客舒适性、能源消耗等约束,从而作为后续反馈控制模块的输入,以产生对车辆的一系列具体控制信号,从而控制车辆运动。该模块常见的算法包括基于搜素的规划算法、基于采样的规划算法、直接优化算法、参数化曲线构造算法和人工势场法,这些方法最佳适用场景和优点不尽相同,因此结合多种算法可能会实现更好的决策。
4)运动控制系统
运动控制系统是实现高度自动化和无人驾驶的关键部件,需要根据动作规划模块产生的控制信号,来控制车辆本身的部件参数以实现车速调节、车距保持、换道、转向、超车等操作,从而安全可靠地到达预定目的地。从车辆本身来讲,运动控制需要实现纵向控制(驱动与制动)和横向控制(方向盘角度),实现了这两个方向的智能控制,就可以按照给定控制信号完成对车辆的控制。
其中纵向控制是驾驶速度方向上的控制,包括速度控制和换挡控制系统。这类控制问题可归结为对汽车电机驱动、发动机、传动和制动系统的控制。各种电机-发动机-传动模型、汽车运行模型和刹车过程模型与不同的控制器算法结合,构成了各种各样的纵向控制模式。常用的控制策略包括模糊控制、神经网络控制等。
而横向控制指垂直于运动方向上的控制,主要包括转向控制系统。目标是控制汽车自动保持期望的行车路线,并在不同的车速、载荷、风阻、路况下有很好的乘坐舒适性和稳定性。车辆横向控制主要有两种基本设计方法,一种是基于驾驶员模拟的方法;另一种是给予汽车横向运动力学模型的控制方法。其中基于驾驶员模拟的方法,一种较为简单的策略是使用运动力学模型和驾驶员操纵规则来对控制器进行设计;而另一个策略则是用驾驶员操纵过程的数据来训练控制器,从而得到合适的控制器。
5)通信系统
自动驾驶汽车由功能各不相同但相互依赖的系统组成,整体架构十分复杂,因此必须设计合理的通信系统来确保各系统间实时、稳定的通信。目前车辆的通信系统由车内网、车际网和车载移动互联网“三网”构成。车内网是车载终端与车内的传感器和电子控制装置通过汽车总线连接形成的车内通信网络,是实现车联网的基础。车际网即VANET(Vehicular Ad-hoc Network,车载自组织网络),是车-X之间基于DSRC和C-V2X等通信技术的动态网络。最后,车载移动互联网指车辆作为移动终端通过LTE/5G等广域无线通信技术接入互联网,实现车辆与云端应用服务平台连通。蜂窝移动网络的广覆盖特性使得车辆可以“实时在线”地访问云端的车联网服务。
车内网是指汽车内部导线采用总线控制的一种技术,通常称为汽车总线或汽车总线技术。车内网作用于车载的各个感知设备、中央处理器、控制器等模块之间,由于自动驾驶实时反馈需求,以及所需传递数据量的规模较大,因此车内通信需要具有高性能、高可靠性、高实时性的通信机制。目前常用的车内通信方式包括CAN总线方式、LIN总线方式、FlexRay总线方式和MOST总线方式。
CAN(Controller Area Network,控制器局域网络)作为ISO国际标准化的串行通信协议,其实时性和可靠性使得其成为自动驾驶汽车领域应用广泛的一种总线技术,CAN总线技术使用双绞线来传递信息,包括完整的串行数据通信、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力;且其实时性强,传输距离较远,抗电磁干扰能力强,成本低。VCU(Vehicle Control Unit,整车控制器)、雷达等传感器、汽车空调、电子指示、故障检测通常采用该方式进行信息传递。
LIN(Local Interconnect Network,本地互联网络)总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通信协议。其工作原理是采用单个主控制器和多个主从设备的模式,主从设备之间只需一根电压为12V的信号线。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,传输具有确定性且传播时间可以提前计算。在不需要CAN总线的带宽和多功能的场合中使用,例如,自动驾驶汽车大灯、灯光、门锁、电动座椅与控制中心的通信,从而降低通信成本。
高速容错网络协议(FlexRay)是专为车内局域网设计的一种具备故障容错的高速可确定性车载总线系统,将时间触发和事件触发方式相结合,具有高带宽、容错性好等特点,在实时性、可靠性及灵活性方面都有很大的优势,适用于安全性要求较高的线控场合及带宽要求高的场合。发动机控制、防抱死制动系统ABS、悬挂控制、线控转向通常使用该方式进行通信。
MOST(Media Oriented Systems Transport,多媒体传输系统),以光纤为载体,通常是环状拓扑结构,是主要面向多媒体设备、高速数据流传输的高性能网络,速率一般在10Mb/s以上,常用于汽车导航系统、多媒体娱乐等,且可以与多种网络进行连接。
车际网主要有DSRC与C-V2X两种方式,已经在第1章详细介绍。
目前常见的车载互联网解决方案,主要将手机上的应用与汽车连接,用户可以通过车载屏幕、按键、语音、手势功能来操作系统,减少司机直接控制手机、分散注意力的情形;此外,通过集成手机App,可以借助智能手机端已发展成熟的各种技术,从而直接为用户带来阶跃性的体验;随着深度学习的发展,人机交互接口也更加人性化,语音识别技术、手势交互技术将彻底改变繁琐的人机交互方式,最终以低成本极大地提升用户体验感。