自动驾驶各模块协作与本质

自动驾驶系统本质上是一个"感知世界 → 理解环境 → 做决策 → 控制车辆"的闭环系统。

行业里一般按模块划分为:

  1. 感知(Perception)
  2. 定位(Localization)
  3. 预测(Prediction)
  4. 规划(Planning)
  5. 控制(Control)
  6. 系统与通信(Middleware/CAN/ROS/Apollo)
  7. 地图与导航(HD Map)
  8. 安全冗余(Safety)

理解成"人的驾驶过程":

  • 眼睛耳朵 → 感知
  • 知道自己在哪 → 定位
  • 判断别人要干什么 → 预测
  • 想怎么开 → 规划
  • 手脚操作方向盘油门刹车 → 控制

一、整体协作流程(核心)

自动驾驶是一个实时循环系统:

复制代码
传感器采集
   ↓
感知模块
   ↓
定位模块
   ↓
预测模块
   ↓
规划模块
   ↓
控制模块
   ↓
车辆执行
   ↓
再次采集环境

整个循环通常:

  • 10ms
  • 20ms
  • 50ms

执行一次

高速 NOA 场景里很多模块是 50Hz~100Hz 工作。

二、各模块详细机理

1. 感知模块(Perception)

这是自动驾驶的"眼睛"。

负责:

  • 看车
  • 看人
  • 看车道线
  • 看红绿灯
  • 看障碍物
  • 看交通标志

核心输入来自传感器:

常见传感器

摄像头 Camera

作用:

  • 识别车道线
  • 红绿灯
  • 行人
  • 交通牌

优点:

  • 信息丰富
  • 成本低

缺点:

  • 夜晚/逆光差
  • 距离估计不稳定

激光雷达 LiDAR

作用:

  • 获取3D点云
  • 精确测距离

原理:

复制代码
发射激光
→ 打到物体
→ 激光反射回来
→ 计算飞行时间
→ 得到距离

毫米波雷达 Radar

作用:

  • 测距离
  • 测速度

特别适合:

  • 雨天
  • 雾天
  • 高速场景

多传感器融合

  • Camera 看得懂语义
  • LiDAR 测距准
  • Radar 测速度准

所以要融合。

融合方法

时间同步

保证:

复制代码
Camera 时间
LiDAR 时间
Radar 时间
一致

否则:

车已经动了。

空间标定

解决:

复制代码
LiDAR坐标系
→ Camera坐标系

通过外参矩阵:

复制代码
R(旋转)
T(平移)

实现坐标变换。

数据融合

经典:

  • 卡尔曼滤波
  • EKF
  • UKF
  • Deep Fusion

例如:

复制代码
Camera发现一个车
LiDAR也发现一个车
→ 判断是否同一目标
→ 合并

2. 定位模块(Localization)

自动驾驶必须知道:

复制代码
我现在在哪

精度通常:

  • GPS:米级
  • 自动驾驶:厘米级

定位机理

GPS

卫星定位。

但城市峡谷会漂移。

IMU

惯性测量单元:

  • 加速度计
  • 陀螺仪

积分得到运动轨迹。

缺点:

误差会累计漂移。

激光定位

利用实时点云VS高精地图匹配。

常见:

  • NDT
  • ICP

定位融合

通常:

复制代码
GPS
+ IMU
+ LiDAR
+ Wheel Odometry

通过 EKF 融合。

核心思想:

不同传感器互补。

3. 预测模块(Prediction)

这是重要的模块

例如:

  • 前车会不会变道
  • 行人会不会横穿
  • 电动车会不会鬼探头

预测机理

输入:

复制代码
历史轨迹

输出:

复制代码
未来轨迹

例如:

复制代码
过去3秒轨迹
→ LSTM/Transformer
→ 未来5秒轨迹

输出:

复制代码
Trajectory A: 70%
Trajectory B: 20%
Trajectory C: 10%

因为人的行为是概率性的。

4. 规划模块(Planning)

这是"大脑"。

决定:

复制代码
车应该怎么开

规划分层

全局规划

类似导航:

复制代码
A点 → B点

使用:

  • A*
  • Dijkstra

生成路线。

行为规划

决定:

  • 超车
  • 跟车
  • 变道
  • 停车
  • 红灯等待

例如:

复制代码
前方慢车
→ 是否变道?

轨迹规划(核心)

生成:

复制代码
未来几秒车辆轨迹

例如:

复制代码
x,y,v,a

必须满足:

  • 不撞车
  • 不压线
  • 平滑
  • 舒适

常见算法

Frenet坐标系

自动驾驶经典。

把道路转换成:

复制代码
s:沿道路方向
d:横向偏移

便于规划。

轨迹优化

目标函数:

复制代码
最小曲率
最小加速度
最小jerk

5. 控制模块(Control)

规划只是"想"。

控制才是真正:

复制代码
打方向
踩刹车
踩油门

控制机理

目标:

复制代码
让车跟踪规划轨迹

横向控制

控制方向盘。

常见:

Pure Pursuit

找前视点。

Stanley

自动驾驶经典。

MPC(模型预测控制)

高阶自动驾驶大量使用。

纵向控制

控制:

  • 加速
  • 刹车

常见:

  • PID
  • MPC

PID控制

思想:

  • P:当前误差
  • I:历史误差
  • D:未来趋势

6. 控制如何真正让车动起来?

控制器输出:

复制代码
方向盘角度
油门百分比
制动力

发送到:

复制代码
CAN总线

车辆 ECU 执行

7. 高精地图(HD Map)

高精地图不是普通导航地图。

它包含:

  • 车道级信息
  • 红绿灯位置
  • 停止线
  • 路沿
  • 坡度

Apollo里的典型协作

Apollo:

复制代码
感知:
识别红绿灯

定位:
确定距离停止线还有30m

预测:
前车减速

规划:
决定停车

控制:
输出刹车

然后:

复制代码
CAN发送
→ 车辆制动
相关推荐
captain_AIouo5 小时前
Captain AI以视频运营破局!助Ozon商家抢占流量红利
大数据·人工智能·经验分享·aigc·音视频
AI医影跨模态组学5 小时前
NPJ Precis Oncol(IF=8)中国科学院深圳先进技术研究院吴红艳教授等团队:深度可解释放射基因组学解析乳腺MRI肿瘤微环境
人工智能·深度学习·论文·医学·医学影像
Artdesign_E5 小时前
如何让AI图文自动生成视频?一键图文转视频指南
图像处理·人工智能·aigc
大模型最新论文速读5 小时前
05-15 · LLM 最新论文速览
论文阅读·人工智能·深度学习·机器学习·自然语言处理
数智工坊5 小时前
【DINOv2论文阅读】:无需监督的通用视觉特征提取器——机器人VLA模型的“眼睛“基石
论文阅读·人工智能·深度学习·计算机视觉·transformer
m0_617493945 小时前
PyTorch CUDA设备不可用错误解决方案
人工智能·pytorch·python
Soari5 小时前
告别玩具级 Demo!深度拆解 agents-towards-production,用硬核工程把 AI Agent 推向工业级生产线
人工智能·软件工程·llmops·架构优化·genai·aiagent·生产级部署
minhuan5 小时前
RTX 4090显存终极优化:模型分层加载、CPU Offload显存和内存动态置换实践.179
人工智能·大模型应用·rtx 4090显存优化·模型分层加载·cpu offload优化
2601_958548485 小时前
电镀整流机源头厂家:企业采购选型策略深度解析
人工智能