开源的自动驾驶框架

目前主流的开源自动驾驶框架 ,这类框架覆盖了从入门学习、算法研发工程落地、实车部署 的全场景,核心分为全栈式框架 (覆盖感知/预测/决策/规划/控制全流程,可直接对接实车)和模块化框架 (聚焦单一环节,适合算法定制开发),同时还有轻量化入门框架(适合新手快速上手)。

下面按**「全栈式工业级框架」「模块化研发框架」「轻量化入门框架」三大类梳理,每类都介绍 核心定位、代表框架、核心特点、适用场景**,同时补充框架的开发语言、部署适配、生态优势 ,兼顾新手入门、算法研究、工程落地的不同需求,覆盖目前最主流、维护最活跃的开源项目。

核心分类说明

  • 全栈式工业级框架:自动驾驶全流程覆盖,有成熟的模块解耦、通信机制、实车适配方案,是企业/团队做实车开发的首选,代表为Apollo、Autoware;
  • 模块化研发框架:聚焦感知/规划/控制等单一环节,算法灵活性高,适合科研人员做算法创新、论文复现,代表为OpenPCDet、LaneDetect;
  • 轻量化入门框架:代码量少、逻辑清晰、依赖简单,适合编程/自动驾驶新手快速理解核心流程,代表为MiniAuto、SelfDrivingCarSim。

一、全栈式工业级开源自动驾驶框架(核心推荐)

这类框架是自动驾驶开发的主流选择 ,具备感知-预测-决策-规划-控制-车控的全栈能力,提供完善的工具链、仿真环境、实车适配接口,部分由大厂/顶级科研机构维护,生态活跃、文档齐全,可直接部署到真实车辆或高保真仿真平台。

1. Apollo(百度)------ 工业级落地首选,生态最完善

  • 核心定位 :百度开源的全栈式L4级自动驾驶框架,目前最成熟、落地场景最丰富的工业级开源框架,覆盖乘用车、商用车、矿卡、无人小巴等全车型,支持高速、城市道路、泊车、园区等全场景。
  • 核心特点
    1. 全栈解耦:模块分为感知、预测、决策、规划、控制、车控、定位、地图、仿真等,基于Cyber RT低延迟通信,适配车载实时性要求(模块间延迟≤100ms);
    2. 算法成熟:规划模块为EM Planner(A*+DP+QP),支持超车/绕行/跟车等复杂场景,控制模块集成PID/MPC,感知支持多传感器融合(激光雷达+摄像头+毫米波雷达);
    3. 实车适配:原生支持速腾聚创、禾赛等激光雷达,特斯拉、Mobileye等摄像头,适配比亚迪、吉利等车企的底盘CAN总线;
    4. 仿真完善:自带Apollo Sim高保真仿真平台,支持场景编辑、轨迹回放、算法验证,也可对接Carla、LGSVL仿真器;
    5. 文档齐全:有详细的开发手册、实车部署教程、算法解析,社区活跃,问题反馈及时。
  • 开发语言:C++(核心模块)+ Python(工具/仿真)+ CUDA(GPU加速);
  • 部署环境:Ubuntu 18.04/20.04,支持X86、ARM(Jetson Xavier/Nano)、百度昆仑芯等车载计算平台;
  • 适用场景:企业实车开发、团队做自动驾驶项目、中高级开发者做算法落地优化;
  • 开源地址https://github.com/ApolloAuto/apollo

2. Autoware.Auto/Autoware.Universe(全球开源社区)------ 开源界标杆,适配低成本硬件

  • 核心定位 :由日本东京大学发起、全球社区维护的全栈式自动驾驶框架,是开源自动驾驶的标杆,主打**"低成本、易部署、跨平台"**,支持L2~L4级自动驾驶,覆盖城市道路、高速、园区等场景。
  • 核心特点
    1. 两代架构:Autoware.Universe(基于ROS 2)为最新版,解耦更细、实时性更强;Autoware.Auto为经典版,适合入门;
    2. 低成本适配:支持纯视觉感知(无激光雷达)、低成本激光雷达(如速腾聚创M1),降低开发门槛;
    3. 模块化设计:核心模块基于ROS 2 Humble通信,支持模块热插拔,可快速替换自定义算法(如用自己的感知算法替换原生模块);
    4. 仿真与实车:对接Carla、LGSVL、Webots仿真器,原生支持Autoware Demo Car、雷克萨斯RX等实车,提供详细的实车改装教程;
    5. 社区驱动:全球开发者贡献,算法更新快,支持多语言文档,适合国际合作项目。
  • 开发语言:C++(核心模块)+ Python(工具/仿真)+ Rust(部分高性能模块);
  • 部署环境:Ubuntu 20.04/22.04,ROS 2 Humble,支持X86、ARM(Jetson系列)、瑞芯微等平台;
  • 适用场景:科研机构算法研究、创业团队低成本开发、开发者做跨平台适配;
  • 开源地址https://github.com/autowarefoundation/autoware.universe
  • 核心定位 :ROS 2官方的导航/局部自动驾驶框架 ,主打低速(≤20km/h)、结构化环境(园区、工厂、仓储),覆盖定位、路径规划、避障、控制全流程,是园区无人车、AGV、配送机器人的核心框架。
  • 核心特点
    1. 轻量高效:核心模块基于ROS 2,实时性强,单帧规划耗时≤10ms,适合低速实时避障;
    2. 算法丰富:局部规划默认采用DWB(动态带宽窗口法),全局规划支持A*、Dijkstra、RRT*,定位支持AMCL(蒙特卡洛定位)、GPS+IMU融合;
    3. 易扩展:支持自定义规划/控制算法,可快速对接激光雷达/摄像头/超声波雷达;
    4. 仿真完善:原生对接Gazebo、Webots仿真器,支持场景编辑、避障测试;
  • 开发语言:C++(核心)+ Python(工具);
  • 部署环境:Ubuntu 20.04/22.04,ROS 2 Humble/Galactic,支持X86、ARM(树莓派、Jetson Nano);
  • 适用场景:园区无人小巴、工厂AGV、仓储配送机器人、低速自动驾驶入门;
  • 开源地址https://github.com/ros-planning/navigation2

二、模块化开源自动驾驶框架(聚焦单一环节,适合算法研发)

这类框架不做全栈覆盖 ,而是聚焦自动驾驶的单一核心环节 (如感知、规划、控制、仿真),算法灵活性高、定制化强,适合科研人员做算法创新、论文复现,或开发者为全栈框架替换自定义算法

(一)感知模块专属框架(目标检测/分割/车道线/定位)

  1. OpenPCDet(香港中文大学)------ 3D点云感知标杆

    • 核心:专注激光雷达3D点云目标检测,集成PointPillars、VoxelNet、CenterPoint等主流算法,支持模型训练、推理、部署,是自动驾驶3D感知的首选开源框架;
    • 适配:支持KITTI、Waymo、NuScenes数据集,可导出ONNX模型对接Apollo/Autoware;
    • 地址:https://github.com/open-mmlab/OpenPCDet
  2. MMDetection3D(商汤/港中文)------ 多传感器3D感知集成

    • 核心:基于MMDetection的多传感器融合3D感知框架,支持激光雷达、摄像头、毫米波雷达融合检测,集成2D/3D检测、分割、跟踪全算法;
    • 优势:模块化设计,可快速搭建自定义融合感知算法,支持模型轻量化;
    • 地址:https://github.com/open-mmlab/mmdetection3d
  3. LaneDetect(社区)------ 车道线检测专用

    • 核心:专注自动驾驶车道线检测/分割,集成ULFNet、LaneNet、CurveLane-NAS等主流算法,支持城市道路、高速、弯道等复杂场景的车道线检测;
    • 适配:可直接输出车道线坐标,对接规划模块;
    • 地址:https://github.com/Turoad/lanedet
  4. RTAB-Map(社区)------ 视觉SLAM/定位

    • 核心:基于视觉/激光雷达的SLAM与定位框架,支持实时建图、定位、回环检测,适合无高精地图场景的自动驾驶定位;
    • 适配:原生支持ROS/ROS 2,可对接Navigation2、Autoware;
    • 地址:https://github.com/introlab/rtabmap

(二)规划/控制模块专属框架

  1. OMPL(开源运动规划库)------ 全局规划算法集

    • 核心:专注运动规划算法,集成A*、Dijkstra、RRT*、PRM等上百种全局规划算法,支持自定义约束(如车辆动力学约束);
    • 适配:原生支持C++/Python,可对接Apollo/Autoware/Navigation2的规划模块;
    • 地址:https://github.com/ompl/ompl
  2. CasADi(瑞士联邦理工)------ 模型预测控制(MPC)专用

    • 核心:专注优化算法求解,是自动驾驶MPC控制的核心开源框架,支持快速搭建MPC控制模型,求解多约束优化问题;
    • 适配:支持C++/Python,可导出控制模型对接Apollo/Autoware的控制模块;
    • 地址:https://github.com/casadi/casadi

(三)仿真模块专属框架(算法验证/场景测试)

  1. Carla(西班牙马德里理工)------ 高保真自动驾驶仿真器

    • 核心:开源高保真自动驾驶仿真平台,支持物理级车辆仿真、交通流模拟、天气/光照变化,可生成虚拟传感器数据(激光雷达/摄像头/雷达);
    • 适配:原生支持Python/C++,可对接Apollo/Autoware/Navigation2,支持算法端到端测试;
    • 地址:https://github.com/carla-simulator/carla
  2. LGSVL Simulator(LG)------ 车载级高保真仿真

    • 核心:专为自动驾驶设计的高保真仿真器,支持城市道路、高速、园区等全场景,虚拟传感器数据精度接近真实硬件,支持实车框架无缝对接;
    • 适配:原生支持Apollo、Autoware,可导入高精地图;
    • 地址:https://github.com/lgsvl/simulator
  3. Webots(Cyberbotics)------ 轻量化多机器人仿真

    • 核心:跨平台轻量化仿真器,支持自动驾驶车辆、移动机器人仿真,内置丰富的车辆模型和传感器模型,操作简单;
    • 适配:原生支持ROS/ROS 2,适合新手做算法快速验证;
    • 地址:https://github.com/cyberbotics/webots

三、轻量化开源自动驾驶框架(适合新手入门)

这类框架代码量少(千行级别)、逻辑清晰、依赖简单 ,无复杂的模块解耦和通信机制,直接实现感知-规划-控制的核心流程 ,适合编程新手、自动驾驶入门者快速理解自动驾驶的核心逻辑,无需深厚的C++/ROS基础。

1. MiniAuto(社区)------ 极简自动驾驶入门框架

  • 核心:基于Python的极简全栈自动驾驶框架,模拟感知(虚拟雷达)、规划(A*+DWA)、控制(PID)的核心流程,代码量仅千行,逻辑清晰;
  • 特点:自带简易仿真界面,可直观看到车辆避障、路径跟踪的过程,支持自定义场景;
  • 适用:纯新手,快速理解自动驾驶核心流程;
  • 地址:https://github.com/610265158/MiniAuto

2. SelfDrivingCarSim(Udacity)------ 优达学城入门框架

  • 核心:Udacity自动驾驶纳米学位的入门仿真框架,基于Python/Matlab,实现纯视觉车道线检测、定速巡航、简单避障的核心逻辑;
  • 特点:有详细的教程和作业,适合边学边练,理解视觉感知和基础控制;
  • 适用:编程基础薄弱,想从视觉感知入手的新手;
  • 地址:https://github.com/udacity/self-driving-car-sim

3. SimpleAuto(社区)------ 基于ROS的轻量化入门框架

  • 核心:基于ROS 1的轻量化自动驾驶框架,实现激光雷达定位、A*路径规划、DWA局部避障、PID控制的核心流程,模块解耦简单,适合ROS入门者;
  • 特点:自带Gazebo仿真场景,可快速实现车辆在仿真环境中的自主导航;
  • 适用:有Python/ROS基础的新手,过渡到工业级框架前的练习;
  • 地址:https://github.com/gisbi-kim/SimpleAuto

四、不同需求的框架选择建议(核心参考)

🔹 纯新手入门(无编程/ROS基础)

优先选轻量化Python框架:MiniAuto → SelfDrivingCarSim,先理解核心流程,再学习Python/ROS。

🔹 算法研发/论文复现(科研人员/研究生)

  • 感知方向:OpenPCDet → MMDetection3D(3D检测)、LaneDetect(车道线);
  • 规划方向:OMPL(全局规划)、CasADi(MPC控制);
  • 端到端验证:Carla/LGSVL(仿真) + 自定义算法。

🔹 低成本项目开发(创业团队/学生竞赛)

  • 低速场景(园区/工厂):ROS 2 Navigation2 → Autoware.Universe(纯视觉/低成本激光雷达);
  • 高速/城市简单场景:Autoware.Universe + 自定义感知算法。

🔹 工业级实车落地(企业/专业团队)

  • 首选Apollo:生态完善、实车适配多、场景覆盖全,适合乘用车/商用车/矿卡等量产开发;
  • 次选Autoware.Universe:开源社区驱动,低成本适配,适合无大厂资源的团队。

🔹 移动机器人/AGV(低速结构化环境)

直接选ROS 2 Navigation2:轻量高效、实时性强,原生支持避障和导航,适配各种低速移动机器人。

五、核心注意事项(框架使用避坑)

  1. 版本与环境匹配:工业级框架(Apollo/Autoware)对Ubuntu、ROS/ROS 2、CUDA版本有严格要求,务必按官方文档配置,避免版本冲突;
  2. 硬件适配成本:Apollo对车载硬件要求较高(建议Jetson Xavier/X86+3090),Autoware/Navigation2可适配低成本硬件(Jetson Nano/树莓派),按需选择;
  3. 仿真先行 :任何算法开发都先在Carla/LGSVL/Apollo Sim中验证,再部署到实车,避免实车风险;
  4. 生态优先 :选择维护活跃、社区大的框架(如Apollo、Autoware、OpenPCDet),避免使用无人维护的小众框架,遇到问题无解决方案。

总结

目前开源自动驾驶框架已形成**"全栈工业级框架做落地,模块化框架做算法创新,轻量化框架做入门"**的生态格局,核心要点如下:

  1. 全栈落地首选:Apollo(工业级、生态完善)、Autoware.Universe(低成本、开源社区)、ROS 2 Navigation2(低速移动机器人);
  2. 算法研发首选:OpenPCDet/MMDetection3D(感知)、OMPL/CasADi(规划控制)、Carla/LGSVL(仿真);
  3. 新手入门首选:MiniAuto(Python极简)、SelfDrivingCarSim(优达学城教程);
  4. 核心原则仿真先行、版本匹配、生态优先,根据自身需求(入门/研发/落地)和硬件条件选择框架,避免盲目追求"全栈"或"高难度"。

这些框架基本覆盖了自动驾驶开发的所有场景,且大部分相互兼容(如OpenPCDet的模型可对接Apollo,Carla可仿真Autoware),可根据需求组合使用,大幅降低开发成本。

相关推荐
tntxia14 小时前
C++ 基础教程:从入门到精通
c++
Drone_xjw14 小时前
从 GDB 到 CDB:C/C++ 程序调试的两把“手术刀”
c语言·开发语言·c++
r_oo_ki_e_14 小时前
Java Map 集合学习笔记
java·笔记·学习
AI科技星14 小时前
全域谱分析:无穷维超复数信息场分形统一场论 ——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·机器学习·金融·乖乖数学·全域数学
字节跳动的猫14 小时前
支持二次开发的开源商城系统推荐:LikeShop、ShopXO 等主流商城源码解析
开源
stormzhangV14 小时前
为什么你的 AI 像智障
人工智能
Jerry14 小时前
LeetCode 383. 赎金信
算法
ai产品老杨15 小时前
H264 H265视频分析常见问题和排查清单
人工智能·算法·音视频
xurime15 小时前
Excelize 开源十周年,发布 2.11.0 版本
golang·开源·github·excel·导出·导入·excelize·基础库
项目经理老王15 小时前
OpenClaw无捆绑安装包,安全纯净版AI助手部署
人工智能·安全