【自动驾驶】Autoware 三大版本 ( Autoware.AI | Autoware.Auto | Autoware Core/Universe )

【自动驾驶】Autoware 三大版本 ( Autoware.AI | Autoware.Auto | Autoware Core/Universe )

文章目录




一、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 则适配前沿 技术探索 与 定制化开发, 例如 : 科研机构 测试最新感知融合算法、企业为特殊场景开发 专属规划策略 等 , 开发者可快速将实验性技术集成到系统中验证效果 , 同时其宽松的贡献门槛也适合高校开展创新型科研项目 ;

Read more

Windows 10/11环境下USB-Blaster驱动安装详解

USB-Blaster驱动在Win10/Win11下的“玄学”安装?一文彻底讲透! 你有没有遇到过这样的场景: FPGA代码写完,板子上电正常,Quartus Prime也打开了——结果点“Program”时弹出红字警告:“ No hardware available ”。 设备管理器里多了一个黄色感叹号的“未知设备”,或者干脆显示“USB-Blaster [Invalid]”。 别急,这几乎每个用Altera(现Intel FPGA)开发的人都踩过的坑。问题不在你的代码,也不在硬件,而是在那个看似简单、实则暗藏玄机的 USB-Blaster 驱动安装 。 尤其是在 Windows 10 和 Windows 11 系统下,微软对驱动签名和内核安全越来越“较真”,传统的“插上去自动识别”早已成为过去式。今天我们就来把这件事从根儿上说清楚:为什么装不上?怎么才能稳稳地装上?以及那些官方文档不会告诉你的实战技巧。 不是所有“USB下载线”

FPGA高速通信:Aurora64B/66B IP使用指南

Aurora 64B/66B IP核配置及使用详解 Aurora 64B/66B 是 Xilinx(现 AMD)提供的一种高速串行通信协议 IP 核,专为 FPGA 设计,支持点对点数据传输,适用于数据中心、高性能计算等场景。本指南将帮助初学者轻松调用该 IP 核,实现编码、译码和传输回环功能。内容包括 IP 核配置、端口介绍、使用方法、example design 调用、关键模块(如 framegen 和 framecheck)的作用,以及完整实现步骤。指南基于 Vivado 设计工具,确保真实可靠。 1. Aurora 64B/66B IP核简介 Aurora

硬件-电源-VR多相电源深入解析

1. 引言 一块高性能服务器主板的CPU插槽周围,总是簇拥着一排排整齐的、覆盖着金属散热片的“小方块”。它们就属于VR多相电源的一部分,VR多相电源如同CPU的“专用心脏”,负责将来自电源的“粗犷”能量,转化为CPU所能接受的“精细”养分。本文主要介绍Buck多相电源。 2. VRM是什么?为什么需要“多相”? 2.1 VRM的核心使命:精准的“能量转换师” VRM,全称 Voltage Regulator Module(电压调节模块),其核心任务只有一个:将来自一次电源的电压(如+12V),高效、精准地转换为CPU、GPU等核心芯片所需的低电压(如0.8V~1.3V)和大电流(可达数百A)。 如果让数百安培的电流直接以1V电压从机箱电源传输到CPU,线路损耗将是灾难性的。因此,必须在CPU边上就近进行高效电压转换,这就是VRM存在的根本原因。 2.

Flutter 三方库 eth_sig_util 的鸿蒙化适配指南 - 掌握以太坊加密签名核心技术、助力鸿蒙端 Web3 钱包与去中心化身份验证应用开发

Flutter 三方库 eth_sig_util 的鸿蒙化适配指南 - 掌握以太坊加密签名核心技术、助力鸿蒙端 Web3 钱包与去中心化身份验证应用开发

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 eth_sig_util 的鸿蒙化适配指南 - 掌握以太坊加密签名核心技术、助力鸿蒙端 Web3 钱包与去中心化身份验证应用开发 前言 在 OpenHarmony 鸿蒙应用的 Web3 浪潮中,安全性是应用生死存亡的关键。无论是构建非托管钱包、登录去中心化应用(dApp),还是执行 EIP-712 结构化数据的确认,都离不开严谨的以太坊签名与加密协议。eth_sig_util 作为一个专门针对以太坊签名习惯优化的 Dart 工具库,支持 personal_sign、signTypedData 以及公钥恢复等核心算法。本文将指导你如何在鸿蒙端集成 eth_sig_util,构建一套符合全球标准的加密验证体系。 一、原原理分析 / 概念介绍 1.