自动驾驶核心技术
自动驾驶等级划分
- L0:无自动化
- L1:原始驾驶员辅助系统,像自适应巡航、防抱死制动
- L2::部分自动化,像紧急制动、车道保持、碰撞预警
- L3:有条件的全自动化,在正常操作期间,驾驶员可以专注于除驾驶以外的其他任务,紧急情况需要快速响应接管车辆(目前国产自动化驾驶)
- L4:在天气条件许可,基础设施完善的情况下,完全不需要驾驶员
- L5:无论在任何场景下,都不需要驾驶员,目前尚无实现L4级别及以上的自动驾驶车辆
自动驾驶经典架构-感知层、决策规划层、控制层
我理解自动驾驶架构离不开算法的加持,感知层使用感知识别算法 ,决策规划层使用自主定位、规划决策算法 ,控制层使用自主控制算法。
感知层
传感器(摄像头、雷达、激光雷达)提供了原始数据流 ,但这些数据本身只是一堆像素点、一簇距离点或一组电磁波信号。感知识别算法的任务,就是像人类大脑一样,从这些数据中提取出有意义的、结构化的信息。(识别过程中必不可少的应该就是数据集,这些数据集由数据标注而来)
常见的传感器:
- 摄像头
- 原理:模仿人眼,通过CMOS/CCD采集光线,形成2D图像。
- 优势:分辨率高,能识别颜色、纹理、文字(交通标志)、信号灯状态,成本相对较低。
- 劣势:受光照(逆光、夜间)、天气(雨雾)影响极大;获取的是2D信息,测距不精准。
- 原理:通过卷积神经网络提取图像特征 → 生成可能包含物体的候选框 → 对候选框进行分类和位置精修。
- 激光雷达
- 原理 :主动发射激光束,测量反射时间,生成周围环境的高精度三维点云。
- 优势:测距精度极高(厘米级),能生成真实3D模型,不受光照影响。
- 劣势:成本高昂;在极端雨雪、浓雾天气性能下降;难以识别颜色和纹理信息。
- 毫米波雷达
- 原理 :发射无线电波,利用多普勒效应探测物体的距离和相对速度。
- 优势:测速极准;穿透性强,基本不受雨、雾、灰尘影响;探测距离远。
- 劣势:分辨率低,无法识别物体细节和形状。
多传感器融合解决了单一传感器的根本局限:
- 摄像头 :能识别"是什么 ",但不知"有多远"。
- 激光雷达 :能测量"在哪里、多精确 ",但不知"是什么"。
- 毫米波雷达 :能知道"有东西在动、多快 ",但不知其具体身份。
- 融合后 :形成 "前方15.3米处有一个静止的停止标志" 的完整、可靠环境认知。
核心传感器特性对比表
| 传感器 | 探测维度 | 测距精度 | 测速能力 | 恶劣天气适应性 | 成本 | 关键信息 |
|---|---|---|---|---|---|---|
| 摄像头 | 2D图像 | 低(依赖估算) | 低 | 差 | 低 | 颜色、纹理、语义 |
| 激光雷达 | 3D点云 | 极高(厘米级) | 中 | 中(受大雨雪影响) | 极高 | 精确3D轮廓、距离 |
| 毫米波雷达 | 距离、速度 | 高 | 极高 | 极好 | 中 | 距离、速度(尤其径向) |
决策规划层
如果说感知层是"看清世界",决策规划层就是"思考如何行动"。它首先需要确切地知道 "我在哪里"(自主定位) ,然后才能决定 "要去哪、怎么走" ,最终规划出具体、平滑的行驶路线。
决策规划层可以细分为三个核心阶段:定位、决策、规划。它们环环相扣。
| 阶段 | 核心问题 | 关键技术/算法 | 作用与输出 |
|---|---|---|---|
| 1. 自主定位 | "我在哪里?" | GNSS/RTK 、SLAM、惯性导航、高精地图匹配 | 确定车辆在全局坐标系中的厘米级精确位姿(位置、朝向)。 |
| 2. 行为决策 | "现在该干什么?" | 基于规则/状态机、博弈论、深度强化学习 | 根据定位、感知信息,输出高层驾驶策略指令,如:跟车、变道、超车、停车。 |
| 3. 运动规划 | "具体该怎么走?" | 路径搜索(A*) 、轨迹优化(MPC) | 将决策指令转化为一条平滑、安全、可执行的具体轨迹(未来几秒内每个时刻的位置、速度)。 |
核心任务分解:
- 全局路径规划(路由) :规划从A点到B点的最优宏观路线 ,类似手机导航。(核心算法:A*算法、Dijkstra算法)。
- 行为决策 :根据实时路况(周围车、人、规则),决策驾驶策略,如:跟车、变道、超车、让行。(实现方法:基于规则、基于学习/强化学习)。
- 运动规划 :将行为决策转化为一条平滑、安全、可执行的具体轨迹 (未来几秒内每个时刻的位置、速度)。(主流方法:模型预测控制,即"走一步,看三步")。
特点与挑战:
- 拟人化:需要像人一样预判他车意图,进行安全博弈。
- 安全性 :必须处理罕见但危险的"长尾场景"(如突然滚出的轮胎)。
- 舒适性:规划的轨迹需平顺,避免急刹、猛拐。
控制层
控制层是系统的"手脚 ",它接收规划层下发的"理想轨迹 ",通过精确调节方向盘转角、油门和刹车,让车辆稳定、精准地沿着这条轨迹行驶。
核心控制任务:
- 横向控制 :控制方向盘,使车辆准确跟踪期望的行驶路径(如保持车道、过弯)。
- 纵向控制 :控制油门和刹车,使车辆达到并保持期望的速度,同时与前车保持安全距离。
核心技术:
- PID控制
- 核心思想 :基于当前误差进行即时反应。就像你用手保持木棍直立,眼睛看到棍子往哪边倒(误差),手就立刻往反方向调整。
- 工作原理 :
- P(比例):误差越大,调整力度越大。(倒得越厉害,手推得越用力)
- I(积分):消除历史累计的稳态误差。(如果一直有一个小角度的偏差,就慢慢加大力度修正它)
- D(微分):预测误差变化趋势,抑制振荡。(看到棍子倒得越来越快,就提前加大力度"刹车")
- 在自动驾驶中的应用 :
- 优点:简单、稳定、计算量小,广泛应用于基础巡航控制。
- 缺点 :像是"近视眼",只关心当前瞬间的误差,无法提前预见未来变化,也难以处理复杂的车辆动力学耦合(如高速过弯时,横向和纵向控制会互相影响)。
- 模型预测控制
- 核心思想 :滚动优化,反馈校正 。这是目前高阶自动驾驶的主流和前沿。
- 工作原理(四步循环) :
- 预测 :基于车辆动力学模型和当前状态,预测未来一段时域内多条可能的轨迹。
- 优化 :从这些轨迹中,选择一条综合成本最低的(成本函数考虑:跟踪精度、乘坐舒适、能耗、安全性等)。
- 执行 :只将这条最优轨迹的第一步控制指令发送给执行器。
- 滚动 :下一时刻,基于新的实际车辆状态,重新开始预测-优化-执行的循环。
- 在自动驾驶中的绝对优势 :
- 预见性:能提前考虑未来路径曲率变化、限速变化等,做出更平顺的决策。
- 处理约束:能直接将物理限制(如方向盘转角极限、轮胎摩擦圆)作为优化问题的约束,保证控制指令永远可行、安全。
- 多目标协同:天然地将横向和纵向控制统一在一个优化框架内处理,实现更好的协同。
执行基础:线控底盘
- 是什么 :传统汽车的油门、刹车、方向盘通过机械/液压与驾驶员相连。线控底盘 则将其改为电子信号控制,为自动驾驶的指令执行提供了直接的物理接口。
- 重要性:没有线控底盘,自动驾驶的"大脑"就无法直接"指挥"车辆行动。
技术架构总结
| 架构层级 | 核心比喻 | 输入 | 核心任务/算法 | 输出 |
|---|---|---|---|---|
| 感知层 | 眼睛与耳朵 | 传感器原始数据 | 感知识别、多传感器融合 | 环境结构化模型(目标、车道、信号灯) |
| 决策规划层 | AI老司机(大脑) | 环境模型、目的地 | 路径搜索(A*)、行为决策、轨迹规划(MPC) | 一条平滑、安全的未来行驶轨迹 |
| 控制层 | 精准的手脚 | 期望轨迹、车辆状态 | 横向/纵向控制(PID, MPC) | 方向盘转角、油门/刹车开度 |
| 执行层 | 强健的躯体 | 控制指令 | 线控底盘执行 | 车辆的实际运动 |
关键闭环:数据驱动的迭代
整个系统运行中产生的数据(尤其是感知错误、规划不足的**"Corner Cases")会被收集、标注,用于 重新训练和优化算法模型**,形成"数据闭环",驱动系统持续进化。