汽车电子与软件

汽车电子与软件

2021-09-11

Subscription

自动驾驶技术概述

  1. 自动驾驶
1,823

作者:Stone319

前言

自动驾驶汽车,通过技术实现车辆自动驾驶,目的是减少驾驶疲劳、增强驾驶安全。

自动驾驶汽车按自动化程度可分 5 级:辅助驾驶、部分自动驾驶、条件自动驾驶、高度自动驾驶和完全自动驾驶。

完全的自动驾驶,可释放人出行驾驶时间,把汽车变成除家、办公室外的人的第三空间,在出行过程中办公和娱乐等。

车辆要实现自动驾驶,需要解决车辆在哪、往哪儿去、怎么去这三个基本问题。解决这些问题,涉及硬件平台、软件算法、交互、安全等多个领域和技术。本文将就相关技术做简要概述。

自动驾驶等级分级

系统架构

任何一个控制系统,都离不开输入、控制和输出三部分。自动驾驶系统也如此。

自动驾驶车辆,通过传感器感知周围环境信息,输入到计算平台处理,判断车辆位置和构建驾驶态势地图;根据驾驶态势图,对车辆运动进行行为决策、路径规划,再精准控制车辆底盘执行器实现自动驾驶。

从硬件上,自动驾驶系统包括:收集各种信息输入的传感器,对输入信息进行处理、对车辆运动进行规划和控制的计算平台,以及实现转向、制动、加速的底盘执行器。

从软件上,包括感知数据处理的感知层,对车辆运动规划、决策的规划层、对执行器精准控制的控制层。软件主要集成到计算平台中,部分感知数据处理放在智能传感器中。考虑到处理数据越来越大,对计算算力要求越来越高,后续数据处理有部分放到云端服务器的趋势。

自动驾驶系统基本框架

硬件平台

自动驾驶系统硬件,主要包括:智能感知、线控执行、计算平台三部分,分别对应于一般控制系统的输入、输出和控制。

智能感知包括:用于环境感知传感器,如毫米波、激光、超声波雷达和相机等;用于确定车辆位置的定位传感器,如全球卫星导航系统 GNSS、惯性导航系统 IMU;获取车辆本体数据的自感应传感器,如陀螺仪、车辆 CAN 总线等。

广义的讲,用于导航的高精度地图、与其他设备通信的 V2X 设备也是感知硬件之一。

计算平台,是对感知数据处理、进行规划决策并控制执行器。由于处理数据大、算法复杂,发展出了各自类型专用处理芯片,如图像处理芯片 GPU、数字处理芯片 DSP、可编程芯片 FPGA 和 AI 芯片等。

线控执行,是实现车辆运动的执行器,由计算平台控制,包括:车辆转向机构、制动系统、动力系统等。

自动驾驶系统硬件构成

软件平台

软件平台,除了底层驱动、实时操作系统外,上层应用主要包括感知层、规划层和控制层等程序。技术上以各种类型感知算法、定位算法、规划和控制算法等为核心内容。

感知算法

感知目的,就是告诉自动驾驶系统车辆周围环境,哪些区域能通行、哪些有障碍物。

目前广泛应用的方法是间接感知,即通过感知周围物距离、速度、形状等,构建驾驶态势图,进行规划、控制,间接作用于驾驶操作系统。

随着人工智能技术发展,通过深度学习将传感器数据(如车辆环境的图像)与驾驶操作行为构建映射关系,直接作用于驾驶操作系统方法,是未来发展趋势之一。

感知传感器各异,优劣势明显,如毫米波雷达擅长感知目标物运动状态,相机更容易提取目标物形状进行分类。进行各传感器数据融合,充分发挥各自优势,提高感知冗余、准确、时效性,感知融合技术广泛应用,典型算法有卡尔曼滤波、贝叶斯理论等。

感知算法分类

定位算法

定位目的,就是告诉自动驾驶车辆自己目前在哪。只有精准的定位,才可能正确的往哪去、怎么去。

全球卫星定位系统 GNSS,如 GPS、北斗等,能告诉我们在地球上所处位置,但其精度一般是米级,不能满足车辆自动驾驶厘米级要求。一般需要 RTK 差分技术辅助,才能实现厘米级定位精度。

GNSS 有个问题,一旦被遮挡定位精度就大打折扣,如道路两边高楼、繁茂的树木、隧道内、地下和室内停车场等场景。这种情况下,一般采用相对定位方法,通过里程计法推算实现短时间辅助定位,常用的基于惯导 IMU,也有通过车轮、相机、激光雷达推算。

SLAM,实时定位和地图构建,在室内机器人定位被广泛采用。这是一种通过数据特征点匹配的定位方法,常用的分为基于相机 SLAM 和基于激光雷达 SLAM。

在汽车上应用,相机 SLAM,容易受到光照条件影响;激光雷达 SLAM,容易受到暴雨、灰尘等环境影响,同时,在开阔地方应用也受限,因为无明显特征点而无法进行定位。

定位算法分类

规控算法

规划、控制目的,一是对车辆运动进行全局规划(从地点 A 到地点 B 运行路线)、行为决策(判断变道还是超车等)、局部规划(规划局部行驶轨迹,规避障碍物等);二是,精准控制车辆按规划轨迹行驶。

全局路径规划、局部轨迹规划,本质上就是搜索最佳路径。常用的搜索算法为 A * 算法,考虑节点到起点和终点最短距离作为优先级。轨迹和路径本质区别是轨迹考虑了时间维度,在轨迹生成时考虑障碍物规避和控制约束,构建损失函数,进行最优行驶轨迹选择。

控制算法,最常用的是经典控制算法 PID 控制。对车辆横向控制,一般采用简化的二轮自行车运行学模型,通过纯跟踪控制 - 同人类驾驶向前看,选取预瞄点。

为了更精准的控制,提高控制鲁棒性,也有采用车辆运动学模型进行控制,甚至采用横纵向协同控制算法 - MPC 模型预测控制。

规控算法分类

交互技术

传统汽车交互,在车内,驾驶员通过油门、刹车踏板、换档手柄等给车辆输入驾驶意图,通过物理按钮或触摸屏幕进行车载系统控制。在车外,通过驾驶员手势、喇叭等与行人等交互。

目前在车内,通过语音与车辆交互越来越普遍,手势交互也越来越流行。在完全实现自动驾驶前,为避免驾驶员因过多自动控制而走心,驾驶员状态监控也广泛应用。

未来随着自动驾驶发展和交互技术提高,人们不用关注车外状况,更多的享受在车内时光,通过手势、头姿态控制车辆,甚至可通过脑电波获取驾驶意图来交互。

在车外,自动驾驶车辆将直接与行人交互,如通过外部警示、灯条和屏幕交互灯,甚至通过人身上移动设备与行人交互,以及通过 V2X 设备与交通系统交互等。

交互技术分类

安全技术

发展自动驾驶技术,提高交通安全,避免交通事故是主要目的之一。所以保证自动驾驶系统安全技术尤为重要。

安全技术有两个维度,一是安全设计,保证自动驾驶系统设计开发时充分考虑安全;二是安全验证,通过各自验证技术和方法,对自动驾驶系统充分验证,保证可靠性。

安全设计一般分为:避免电子电气系统失效对人员危害的功能安全设计;避免因功能不足、人员误用等对人员危害的预期功能安全设计;避免因系统被侵入、攻击,保证车内外系统通信物理和逻辑安全的信息安全设计;通过数学方法来界定 「安全状态」 的责任敏感安全等。

安全验证一般分为:虚拟仿真和实车验证。虚拟仿真,根据验证仿真的内容和阶段不同,包括模型在环测试 MIL、软件在环测试 SIL、处理器在环测试 PIL、硬件在环测试 HIL 等。实车验证,可分为封闭道路测试、示范区测试和公开道路测试。

自动驾驶汽车,相对于传统车辆,验证成指数级增加。都依靠实车测试,从时间上和成本上都不现实,进行充分的仿真测试非常关键。

安全技术分类

写在后面

上述提到的自动驾驶技术,更多的从单车智能角度展开。作为未来发展一大爆发点 - 智能汽车,未来发展方向包括自动化和网联化两个方面。

智能汽车关键技术,可总结为 「三横」和 「两纵」。

「三横」 指车辆 / 设备技术、信息交互技术和基础支撑技术;「两纵」 指车载平台和基础设施建设。

车辆 / 设施技术包括:环境感知技术、智能决策技术和控制执行技术等。

信息交互技术包括:V2X 通信技术、云平台与大数据技术、信息安全技术等。

基础支撑技术包括:高精度地图与高精度定位技术、标准法规和测试评价技术等。

智能汽车关键技术
本文著作权归作者所有,并授权 42 号车库独家使用,未经 42 号车库许可,不得转载使用。
Comment · 0
Owner: 0
Sort by like

Upload
大胆发表你的想法~
7
Comment