自动驾驶各模块协作与本质 自动驾驶系统本质上是一个“感知世界 → 理解环境 → 做决策 → 控制车辆”的闭环系统。行业里一般按模块划分为感知Perception定位Localization预测Prediction规划Planning控制Control系统与通信Middleware/CAN/ROS/Apollo地图与导航HD Map安全冗余Safety理解成“人的驾驶过程”眼睛耳朵 → 感知知道自己在哪 → 定位判断别人要干什么 → 预测想怎么开 → 规划手脚操作方向盘油门刹车 → 控制一、整体协作流程核心自动驾驶是一个实时循环系统传感器采集 ↓ 感知模块 ↓ 定位模块 ↓ 预测模块 ↓ 规划模块 ↓ 控制模块 ↓ 车辆执行 ↓ 再次采集环境整个循环通常10ms20ms50ms执行一次高速 NOA 场景里很多模块是 50Hz~100Hz 工作。二、各模块详细机理1. 感知模块Perception这是自动驾驶的“眼睛”。负责看车看人看车道线看红绿灯看障碍物看交通标志核心输入来自传感器常见传感器摄像头 Camera作用识别车道线红绿灯行人交通牌优点信息丰富成本低缺点夜晚/逆光差距离估计不稳定激光雷达 LiDAR作用获取3D点云精确测距离原理发射激光 → 打到物体 → 激光反射回来 → 计算飞行时间 → 得到距离毫米波雷达 Radar作用测距离测速度特别适合雨天雾天高速场景多传感器融合Camera 看得懂语义LiDAR 测距准Radar 测速度准所以要融合。融合方法时间同步保证Camera 时间 LiDAR 时间 Radar 时间 一致否则车已经动了。空间标定解决LiDAR坐标系 → Camera坐标系通过外参矩阵R旋转 T平移实现坐标变换。数据融合经典卡尔曼滤波EKFUKFDeep Fusion例如Camera发现一个车 LiDAR也发现一个车 → 判断是否同一目标 → 合并2. 定位模块Localization自动驾驶必须知道我现在在哪精度通常GPS米级自动驾驶厘米级定位机理GPS卫星定位。但城市峡谷会漂移。IMU惯性测量单元加速度计陀螺仪积分得到运动轨迹。缺点误差会累计漂移。激光定位利用实时点云VS高精地图匹配。常见NDTICP定位融合通常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横向偏移便于规划。轨迹优化目标函数最小曲率 最小加速度 最小jerk5. 控制模块Control规划只是“想”。控制才是真正打方向 踩刹车 踩油门控制机理目标让车跟踪规划轨迹横向控制控制方向盘。常见Pure Pursuit找前视点。Stanley自动驾驶经典。MPC模型预测控制高阶自动驾驶大量使用。纵向控制控制加速刹车常见PIDMPCPID控制思想P当前误差I历史误差D未来趋势6. 控制如何真正让车动起来控制器输出方向盘角度 油门百分比 制动力发送到CAN总线车辆 ECU 执行7. 高精地图HD Map高精地图不是普通导航地图。它包含车道级信息红绿灯位置停止线路沿坡度Apollo里的典型协作Apollo感知 识别红绿灯 定位 确定距离停止线还有30m 预测 前车减速 规划 决定停车 控制 输出刹车然后CAN发送 → 车辆制动