一、Autoware 三大版本




1、版本简介


Autoware 三大版本 :


2、Autoware 技术栈


Autoware 三个版本技术栈相同 , 都是基于 高精地图 + 激光雷达 + 摄像头 + 毫米波雷达 + 感知系统 + 预测系统 + 决策规划 + 线控控制 实现的自动驾驶 , 技术架构 如下图所示 ;

  • Sensors 传感器 ( 激光雷达 / 摄像头 / 毫米波雷达 ) 采集的数据 是 自动驾驶系统 的 输入 ;
  • 自动驾驶系统 的 输出 是 传递给 Vehicle 自动驾驶汽车 的 线控信号 ;
  • 定位 是 重中之重 , 如果没有定位信息 , 自动驾驶 系统 直接瘫痪 , 传感器 信号 / 高精地图 / 汽车接口 的 所有信息 汇集在一起 , 必须先实现准确定位 , 如果定位失败 , 则 自动驾驶系统 强制关机 ;
  • 定位成功 之后 , 才能考虑 后续的 感知、预测、决策、控制 操作 , 否则 无法执行 自动驾驶操作 ;
  • 感知系统 负责 识别 静态的道路信息 , 和 动态的物体 ;
  • 决策规划 负责根据不同的任务 , 生成不同的决策 , 然后将这些决策 转为 汽车的线控信号 ;
    在这里插入图片描述

3、学习路径建议


当前市面上 Autoware.AI 的 学习资料较多 , 有成熟的课程和项目 ;

Autoware Core/Universe 需要去官网查看文档 , 自己按照文档学习 , 学习难度较高 ;


学习推荐 : 对于 自动驾驶领域 的 纯新手 , 建议先学习 Autoware.AI , 学习资料较多 , 课程完善 ; 等熟练使用 Autoware.AI 后 , 自行去官网学习 Autoware Core/Universe ;

商用推荐 : 如果要开发商业项目 , 建议使用 Autoware Core/Universe 版本 ;





二、Autoware 各版本详细解析




1、Autoware.AI


Autoware.AI 起源于 2015 年 , 以 ROS 1 ( Robot Operating System 1 ) 为基础构建 , 是 学术界 和 工业界 最广泛使用的开源自动驾驶平台之一 ;


① Autoware.AI 技术特点


Autoware.AI 有如下特点 :

Autoware.AI 主要 基于 ROS 1 的 Kinetic / Melodic 版本 进行开发构建 ;

采用了模块化设计 :

  • 感知模块 Perception
  • 定位模块 Localization
  • 规划模块 Planning
  • 控制模块 Control

支持多种传感器 :

  • 激光雷达 LiDAR
  • 摄像头
  • GNSS/IMU
  • 毫米波雷达
  • 超声波雷达

使用传统算法为主 :

  • 定位算法 : NDT ( Normal Distributions Transform ) 、ICP ;
  • 感知算法 : Euclidean Clustering、Ground Plane Filtering、YOLO 等 ;
  • 规划算法 : DP ( Dynamic Programming ) + EM ( Elastic Band ) 或 纯状态机 ;

Autoware.AI 开发阶段 适配 Ubuntu14.04 - Indigo、Ubuntu16.04 - Kinetic、Ubuntu18.04 - Melodic 等 Ubuntu Linux 系统版本 ;


② Autoware.AI 优缺点


Autoware.AI 优点 :

  • 文档丰富 ;
  • 部署简单 : 易于部署在 NVIDIA Jetson、x86 工控机等平台
  • 案例多 : 大量高校、研究机构使用 , 教程和案例多 ;

Autoware.AI 缺点 :

  • 实时性差 : 不适合车规级量产 ;
  • 架构松散 : 模块间耦合度高,难以维护和扩展 ;
  • 技术欠债 : 不支持现代软件工程实践 , 如 : 没有 单元测试 ;

③ Autoware.AI 适用场景


Autoware.AI 适用于 对实时性、安全性要求不高的场景 ;

  • 学术研究与教学 : 高校 和 科研机构 进行 学术研究 和 教学 , 验证基础算法 , 学习自动驾驶入门 ;
  • 低成本原型验证 : 小型团队 开发 低速简易 自动驾驶演示车 , 用来 验证基础功能可行性 , 无需投入过多精力解决 复杂的 系统稳定性问题 ;
  • 验证算法可行性 : 验证开发出新算法 , 如 : 目标检测 , SLAM 算法 , 快速验证该算法的可行性 ;

2、Autoware.Core/Universe



① 版本简介


Autoware.Core/Universe 是当前的主流版本 , 基于 ROS 2 构建 , 由 Core 和 Universe 两个模块组成 , 解决了 Autoware.Auto 的开发协作与扩展性问题 ;

  • Autoware.Core 继承了 Autoware.Auto 的 稳定化策略 , 代码经过充分测试 , 包含自动驾驶系统所需的传感、计算、驱动等基础核心组件 , 保障系统基础运行的可靠性 ;
  • Autoware.Universe 则是 Core 的扩展模块 , 代码质量要求相对宽松 , 方便开发者贡献前沿功能 ;
  • 适配 Ubuntu20.04 - Galactic、Ubuntu22.04 - Humble 等 Linux 系统版本 , 兼容性更强 ;

② Autoware.Core/Universe 特点


Autoware.Core/Universe 技术特点 :

  • 基于 ROS 2 Humble 框架 ;
  • 版本融合 : 融合 Autoware.AI 的功能丰富性 + Autoware.Auto 的架构严谨性 ;
  • 模块化架构 : 采用 模块化、可插拔架构 ;
  • 强调 开放标准 : 支持 OpenSCENARIO、OpenDRIVE、ASAM OSI 等 ;
  • 提供 完整工具链 :
    • 高精地图工具 : MapTool , 创建、编辑和验证高精地图(HD Map) 的工具集 ;
    • 行为决策工具 : Behavior Planner , 根据交通规则、周围交通参与者状态、高精地图语义,决定自车的宏观驾驶行为 ;
    • 轨迹规划工具 : Motion Planner , 负责生成一条安全、平滑、动力学可行的时空轨迹 ;
    • 线控控制工具 : Control ( MPC、Pure Pursuit ) , 接收 Motion Planner 生成的参考轨迹 , 计算出 转向角 和 加速度 / 油门 / 刹车指令 , 使车辆精确跟踪轨迹 ;

③ Autoware.Core/Universe 应用场景


Autoware.Core/Universe 应用场景 : 该版本覆盖 从 科研 到 工业级落地 的全场景需求 ;

  • Autoware.Core 适合 工业级商业化落地 , 比如自动驾驶出租车、园区无人接驳车、干线物流自动驾驶等对稳定性和安全性要求高的场景 , 可为量产级方案提供稳定的基础架构 ;
  • Autoware.Universe 则适配前沿 技术探索 与 定制化开发 , 例如 : 科研机构 测试最新感知融合算法、企业为特殊场景开发 专属规划策略 等 , 开发者可快速将实验性技术集成到系统中验证效果 , 同时其宽松的贡献门槛也适合高校开展创新型科研项目 ;
Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐