自动驾驶系统本质上是一个“感知世界 → 理解环境 → 做决策 → 控制车辆”的闭环系统。
行业里一般按模块划分为:

  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

https://images.openai.com/static-rsc-4/YsgoHn8o6VXbLuaSMEf61735e2jDc9rOdnhb07kackyjUswTM9HX39PAisb8cfyAutfsQRlMFP9jJZcV9pu3V3i1tEL-aA5Tj4I_KG5jb8-vnoPGTmCN1tcxyTe_K5jmvlzb095P5jZ2Ihb1H7OWRmVkMPvRAAn9Q-EJUt--knm6p5qU-CcU6FqJY5Wu0p5R?purpose=fullsize

https://images.openai.com/static-rsc-4/6vJPbTVm4IJFo-AhRthk8lr9hs0BTZHLZdAUJdx2WpKPAwrSRGn4h9Bwrp_1AlSsHcvpF-ZOghde4J0pBU0jQQg7i-FB-O4MreBhafiK2_nDOFLrCFdCSTDHz3U93LyrWFdBg3fc-QlK0p8HgV34uHjrvoeT6GVR-ZtNbEkfqFxRAHnXi0uYvXEiWLoVPgTM?purpose=fullsize

https://images.openai.com/static-rsc-4/Ejz8Xf1_u7bCkrzdEVVC4gnMTNg2pB319MBZ_vRXDSEBJOj_2GU8DON638Smus16rGVuMGkNyjxl3y6sYrZRx9lTbA5rnT3f72RTDNGf-HhxcOTQHLFn-f5WCgvoUBgZ_ZAVqMEDckYBAzQVt0sfkkHP9UCEYL7s5GQn_VDFHkENOfnpNn0hNKQ0uwBbdyjk?purpose=fullsize

作用:

  • 获取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发送
→ 车辆制动
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐