目录
[1 感知(Perception)](#1 感知(Perception))
[1 战略规划(Route Planning)](#1 战略规划(Route Planning))
[2 行为规划(Behavior Planning)](#2 行为规划(Behavior Planning))
[3 轨迹规划(Trajectory Planning)](#3 轨迹规划(Trajectory Planning))
[1 摄像头(Camera)](#1 摄像头(Camera))
[2 激光雷达(LiDAR)](#2 激光雷达(LiDAR))
[3 毫米波雷达(Radar)](#3 毫米波雷达(Radar))
[4 超声波雷达](#4 超声波雷达)
[1 自动驾驶计算平台](#1 自动驾驶计算平台)
[2 车辆控制系统](#2 车辆控制系统)
[3 车载网络](#3 车载网络)
[1 仿真测试](#1 仿真测试)
[2 封闭场地测试](#2 封闭场地测试)
[3 开放道路测试](#3 开放道路测试)
[4 回归测试](#4 回归测试)
一、自动驾驶系统的基本组成
自动驾驶系统通常分为 感知(Perception)---定位(Localization)---规划(Planning)---控制(Control) 四大核心模块。
整体流程可以理解为:
传感器采集 → 环境理解 → 决策规划 → 车辆执行
1 感知(Perception)
作用:
感知模块负责 识别车辆周围环境,相当于自动驾驶汽车的"眼睛和耳朵"。
主要任务:
-
车道线检测
-
车辆检测
-
行人检测
-
障碍物检测
-
交通灯识别
-
可行驶区域识别
核心技术:
-
目标检测(YOLO / CNN)
-
语义分割
-
多传感器融合
常用传感器:
-
激光雷达(LiDAR)
-
摄像头(Camera)
-
毫米波雷达(Radar)
-
超声波雷达
感知输出:
环境模型
- 前方车辆
- 行人
- 障碍物
- 车道线
- 红绿灯
二、定位(Localization)
作用:
定位模块用于 确定车辆在地图中的精确位置和姿态。
简单理解:
我现在在哪?
常见定位方式:
1 GNSS / GPS 定位
通过卫星定位车辆位置。
2 RTK高精定位
误差可达到:
厘米级(2~10cm)
3 激光雷达定位
方法:
LiDAR + 高精地图匹配
常见算法:
-
NDT
-
ICP
4 视觉定位
利用:
SLAM
视觉里程计(VO)
5 多传感器融合
常见组合:
GPS + IMU + LiDAR + Camera
融合算法:
-
卡尔曼滤波
-
EKF
-
UKF
多传感器融合可以在 GPS失效(隧道、城市峡谷)情况下仍保持定位稳定。
三、规划(Planning)
规划模块负责 决策车辆如何行驶。
简单理解:
下一步应该怎么开
规划一般分三层:
1 战略规划(Route Planning)
选择路线:
A → B
类似:
-
高德导航
-
百度地图
算法:
A*
Dijkstra
2 行为规划(Behavior Planning)
决定车辆行为:
例如:
-
是否变道
-
是否超车
-
是否停车
-
是否避障
常见方法:
FSM(有限状态机)
规则决策
强化学习
3 轨迹规划(Trajectory Planning)
生成车辆轨迹:
未来5秒车辆轨迹
输出:
x y yaw v
常见算法:
-
MPC
-
贝塞尔曲线
-
五次多项式
-
lattice planner
四、控制(Control)
控制模块负责 让车辆按照规划轨迹行驶。
简单理解:
方向盘怎么打
油门踩多少
刹车踩多少
控制主要包括:
横向控制(Steering)
控制方向盘。
算法:
Pure Pursuit
Stanley
MPC
纵向控制(Speed)
控制速度。
算法:
PID
MPC
ACC控制
输出信号:
steer
throttle
brake
最终通过 车辆控制器 ECU 执行。
五、核心传感器原理
自动驾驶车辆主要依靠以下传感器:
1 摄像头(Camera)
原理:
光学成像 + 计算机视觉
优点:
-
成本低
-
识别能力强
-
可识别交通灯 / 标志
缺点:
-
易受光照影响
-
深度信息弱
2 激光雷达(LiDAR)
原理:
激光发射 → 碰到物体 → 返回
通过时间差计算距离
公式:
distance = c × time / 2
优点:
-
精度高
-
3D点云
缺点:
-
价格高
-
雨雾影响
3 毫米波雷达(Radar)
原理:
FMCW调频连续波
可测量:
-
距离
-
速度(多普勒效应)
-
角度
优点:
-
雨雾天气稳定
-
可测速度
缺点:
- 分辨率低
4 超声波雷达
原理:
声波反射
工作频率:
约40kHz
应用:
-
自动泊车
-
低速避障
六、车辆系统组成
自动驾驶车除了算法,还包括 整车电子系统。
主要模块:
1 自动驾驶计算平台
例如:
-
NVIDIA Drive
-
Orin
-
Xavier
作用:
运行感知、定位、规划算法
2 车辆控制系统
包括:
-
ECU
-
线控系统(Drive-by-wire)
控制:
方向盘
油门
刹车
3 车载网络
常见通信协议:
-
CAN
-
Ethernet
车辆内部多个 ECU 通过 CAN总线通信。
七、自动驾驶开发集成流程
自动驾驶开发通常遵循以下流程:
需求定义
↓
算法开发
↓
仿真测试
↓
软件集成
↓
车辆测试
↓
道路测试
↓
量产
开发工具:
-
ROS
-
Autoware
-
Apollo
-
Carla / LGSVL
八、自动驾驶测试体系
自动驾驶测试通常包括:
1 仿真测试
软件:
CARLA
LGSVL
Apollo Sim
验证算法逻辑。
2 封闭场地测试
测试:
-
自动泊车
-
避障
-
紧急刹车
3 开放道路测试
测试:
-
城市道路
-
高速
-
复杂交通
4 回归测试
每次软件升级都要重新验证。
九、自动驾驶完整技术架构总结
可以用一句话总结:
传感器 → 感知 → 定位 → 规划 → 控制 → 车辆执行
对应人的驾驶过程:
眼睛看路 → 判断位置 → 思考路线 → 控制方向盘