

一、自动驾驶软件架构总览
如果把自动驾驶系统比作一个人,那软件就是大脑和神经系统。它不是一个大而全的程序,而是分层的架构,每层各司其职。
整体来看,自动驾驶软件栈从下到上可以分为 4 层:

用互联网黑话说,这就是一个经典的分层解耦架构——下层为上层提供服务,上层不关心下层的实现细节。
1.1 核心数据流
不管架构多复杂,自动驾驶软件本质上只做一件事:让车从 A 点安全地开到 B 点。
数据流向是这样的:
传感器数据 → 感知(Perception) → 定位(Localization) → 预测(Prediction) → 规划(Planning) → 控制(Control) → 执行机构
可以把它想象成一个人开车的过程:
- 眼睛看路→ 知道自己在哪→ 判断别人要干嘛→ 决定怎么走→ 手脚操作方向盘油门
每一步都依赖上一步的结果,环环相扣。
二、底层:操作系统与框架
2.1 RTOS —— 实时操作系统
自动驾驶对时间的要求极其严格——刹车指令晚发出 100ms,后果可能完全不同。所以车载计算平台跑的不是普通的 Windows 或 macOS,而是实时操作系统(RTOS, Real-Time Operating System)。
目前主流方案有两种:

这里有个关键区别:QNX 是硬实时,能保证任务在确定时间内完成;RT Linux 是软实时,尽力保证但无法 100% 确定。所以很多量产车上会用 QNX 做安全关键的模块,RT Linux 做非关键的计算任务。
2.2 Framework —— 中间件框架
光有操作系统还不够,还需要一层中间件框架来管理模块间的通信、调度和数据交换。
最著名的就是 ROS(Robot Operating System, 机器人操作系统):
ROS 最初面向机器人研发,后来被自动驾驶领域广泛采用 提供了节点间通信、消息传递、工具链等基础设施 目前主流趋势是从 ROS 1 迁移到 ROS 2,后者在实时性和安全性上有大幅提升
除了 ROS,还有其他选择:

所以自动驾驶软件工程师,某种程度上也是在写"机器人程序"?这个跨界还挺自然的。
三、中层:六大核心功能模块
这是自动驾驶软件的灵魂所在,也是技术竞争最激烈的层面。
3.1 HD Map —— 高精地图
之前专门写过地图篇,这里从软件架构的角度再补充几个关键点。
高精地图(HD Map, High Definition Map) 和日常用的导航地图完全不是一个东西:

高精地图在自动驾驶中的核心作用:
提供 Level 4 及以上 自动驾驶所需的数据支撑 包含大量静态物体的精确信息(路灯杆、交通标志牌的位置和高度) 用于相对定位计算——结合传感器数据精确定位车辆 帮助传感器缩小检测范围(ROI, Region of Interest),减少计算量 提供道路导航语义信息(限速、车道类型、转向规则) 辅助识别车道中心线,确保车辆行驶在正确位置
坐标系方面,主流采用 WGS84(GPS标准坐标系)或墨卡托投影坐标系。
3.2 Localization —— 定位
定位模块解决的是"我在哪里"的问题。通过融合 GNSS、IMU、LiDAR 等多种传感器的数据,结合高精地图,计算出车辆的精确位姿(位置+朝向)。这块之前详细写过,不再展开。
3.3 Perception —— 感知
感知模块是车的"眼睛",负责理解周围环境。主要包含两大能力:
计算机视觉(Computer Vision, CV)
- 目标检测
:识别车辆、行人、自行车、障碍物等 - 车道线检测
:识别车道边界和道路标线 - 交通标志识别
:读懂数字限速、红绿灯状态等
多传感器融合(Sensor Fusion)
将 Camera(摄像头)、LiDAR(激光雷达)、Radar(毫米波雷达)的数据融合 不同传感器各有优劣,融合后才能获得可靠的环境感知结果 
所以单一传感器永远不够,多传感器融合才是正道。
3.4 Prediction —— 预测
感知告诉你周围有什么,预测则告诉你它们接下来会做什么。
比如前方有一辆车,它是在直行还是要变道?旁边行人是继续走还是准备过马路?这些都需要基于运动学模型和行为历史来做预测。预测越准,后续的规划就越从容。
3.5 Planning —— 规划
规划是自动驾驶的"大脑决策",通常分为两层:

其中行为规划(Behavior Planning)决定"做什么"——跟车、换道、超车、避障;运动规划(Motion Planning)决定"怎么做"——生成一条平滑的可执行轨迹。
3.6 Control —— 控制
控制是最后一公里——把规划出的轨迹变成实际的车辆动作。
通过控制算法(如 PID、MPC 等)输出方向盘转角、油门量、制动压力等指令,驱动执行器完成实际操作。
四、上层:HMI 与云端
4.1 HMI —— 人机交互
HMI(Human-Machine Interface)是驾驶员与自动驾驶系统的交互窗口:
显示当前驾驶模式(手动/L2辅助/L4自动) 周围环境的可视化呈现 接管请求提醒 故障报警
4.2 Cloud Platform —— 云端平台
自动驾驶不只是车上的事,云端也在参与:
高精地图的更新与分发 远程监控与诊断 数据回传用于算法迭代优化 V2X(Vehicle-to-Everything)车路协同信息的接入
五、总结
回顾一下自动驾驶软件的全貌:

从底层的硬实时保障,到中层的感知-预测-规划-控制闭环,再到上层的人机交互与云端协同——每一层都是不可或缺的一环。自动驾驶之所以难,就是因为这每一层要做到足够好,而且还要让它们之间高效协同。
· END ·
联系人|Lilian
电话|18217555248(微信同号)
邮箱|lilian.wu@artisan-event.com
关注【ArtiAuto 匠歆汽车】,获取最新行业趋势与深度技术洞察。
加入【AutoCS】智能汽车信息安全社群,共同探讨漏洞分析、入侵防护与实战案例,共建端到端协同防御体系。
加入【AutoSEMI】智能汽车半导体社群,与芯片设计、EDA、整车伙伴共同探讨。直面从RISC-V、测试、认证到流片、上车的全链路挑战,协同推动国产芯片落地。
加入【AutoPEPS】智能汽车无钥匙进入社群,与同仁共研共创。攻坚无钥匙进入与数字钥匙融合的硬核挑战,定义下一代智能进入,加速技术量产落地。



来源:产品小白,部分素材源自网络,如涉及版权问题,请及时联系lilian.wu@artisan-event.com删除。
夜雨聆风