文章目錄
- 一、Autoware.Universe 安裝簡介
- 1、Autoware Universe Docker 安裝方式
- 2、Autoware Universe 源碼 安裝方式
- 3、Docker 與 源碼 安裝方式對比
- 二、Autoware.Universe 仿真 / 評估 教程
- 1、仿真概述
- 2、數字孿生仿真 - CARLA 仿真
一、Autoware.Universe 安裝簡介
Autoware 安裝文檔 : https://autowarefoundation.github.io/autoware-documentation/main/installation/
Autoware 只支持 amd64 和 arm64 兩種架構
Autoware 最低硬件要求 : 8 核 CPU , 16 GB 內存 , NVIDIA GPU 顯卡 4G 顯存 , 這是 Docker 安裝要求 ; 如果需要 編譯源碼 , 則將上述硬件要求加倍
安裝方式有兩種 : Docker 安裝 和 源代碼安裝 ,
- Docker 安裝 : 如果只是簡單運行 默認配置 , 跑一下仿真器 , 不需要工程落地
- 源代碼安裝 : 如果需要 定製硬件 , 實際工程落地
文檔中提供瞭如下安裝方式 : 涉及到 Autoware Core 和 Autoware Universe 的安裝方式 ;
- Autoware Core Docker : Autoware Core Docker installation , 這是 Autoware Core 的 Docker 安裝方式 , 該文檔僅做參考 , 我們主要使用 Autoware.Universe ;
- Autoware Core source : Autoware Core source installation , 這是 Autoware Core 的 源碼安裝方式 , 該文檔僅做參考 , 我們主要使用 Autoware.Universe ;
- Autoware Core Debian Package : Autoware Core Debian Package installation guide , 這是 Autoware Core 的 Debian Package 安裝方式 , 該文檔僅做參考 , 我們主要使用 Autoware.Universe ;
- Autoware Universe Docker ( 重點 ) : Autoware Universe Docker installation , 這是 Autoware Universe 的 Docker 安裝方式 ;
- Autoware Universe source ( 重點 ) : Autoware Universe source installation , 這是 Autoware Universe 的 源碼 安裝方式 ;
1、Autoware Universe Docker 安裝方式
安裝文檔 : https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation/ ;
需要提前安裝 如下 工具 或 組件 :
- Docker : 提供 Autoware 運行的 隔離容器環境
- NVIDIA Container Toolkit : 可選安裝 , 讓 Docker 容器能夠 調用主機的 NVIDIA GPU , 支持 GPU 加速計算
- NVIDIA CUDA 12 compatible GPU Driver : 可選安裝 , 為 GPU 提供底層驅動支持
如果 沒有 NVIDIA 顯卡 , 可以 只安裝 Docker , 但是 Autoware 運行性能極差
如果 NVIDIA 顯卡 驅動版本太低 , 不支持 CUDA 12
2、Autoware Universe 源碼 安裝方式
安裝文檔 : https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/
Autoware Universe 源碼 安裝方式 需要 前置 條件 : Ubuntu 22.04、ROS 2 Humble、Git , 這三個 要素 都是強制必須得 , 否則無法進行安裝 ;
- Ubuntu 22.04 系統 : 僅支持 Ubuntu 22.04 LTS , 提供 Autoware Universe 運行的底層操作系統環境 , 確保依賴兼容性 ;
- 不兼容其它 Ubuntu 版本 : Autoware Universe 基於 ROS 2 Humble , ROS 2 Humble 是專門為 Ubuntu 22.04 定製的 LTS 版本
- 系統架構限制 : Autoware Universe 官方 僅支持 x86_64 架構 , 如果要在 ARM 架構中編譯 Autoware 源碼 , 需要自行修改編譯配置 , 部分依賴庫沒有 ARM 架構版本 , ARM 架構編譯難度極大 ;
- 確保系統最新 : 確保該版本的 所有補丁 都是最新的 ,
sudo apt update && sudo apt upgrade;
- ROS 2 Humble : 提供 Autoware 核心的機器人操作系統框架 , 包括 通信機制、工具鏈、消息格式 ;
- 核心定位 : Autoware Universe 是基於 ROS 2 開發的高階自動駕駛框架 , ROS 2 Humble 是其依賴的底層核心 , 所有模塊(感知、定位、規劃)均通過 ROS 2 的話題 / 服務 / 動作通信 ;
- 推薦安裝版本 : 安裝 ros-humble-desktop 版本 ,
sudo apt install ros-humble-desktop, 包含 RViz(可視化工具)、Colcon(編譯工具)、ROS 2 核心庫 , 滿足開發與調試需求 ; Autoware Universe 只兼容 ROS 2 Humble Hawksbill 版本 , 不兼容 ROS 2 Iron/Jazzy 或 ROS 1 Noetic 版本 ; - 前置組件 : 需要配置 ROS 2 國內鏡像源 , 必須安裝 ROS 2 編譯工具 colcon-build 工具 , 設置環境變量
source /opt/ros/humble/setup.bash確保命令行可執行 ROS 2 命令 ;
- Git : 用於拉取 Autoware 源碼及子模塊 , 管理版本迭代與分支切換 , 這個就不再介紹了 ;
- Git 代理 : 拉取 Autoware 源碼及子模塊時需穩定的網絡 , GitHub 國內訪問可能較慢 , 可配置 Git 代理或使用國內鏡像倉庫 , 否則可能導致子模塊拉取失敗 ;
3、Docker 與 源碼 安裝方式對比
|
對比維度
|
Docker 安裝
|
源代碼安裝
|
|
本質 |
基於 預編譯鏡像 , 包含完整運行環境( 依賴、二進制編譯產物 ),開箱即用
|
從原始代碼構建 , 可 自定義依賴、功能模塊、驅動邏輯
|
|
操作難度 |
極低 , 僅需安裝 Docker 後 , 通過命令拉取鏡像、啓動容器 , 無需手動配置依賴
|
較高,需手動匹配系統版本、解決依賴衝突、配置編譯參數 , 對開發環境有一定要求
|
|
靈活性 |
極低 , 無法修改 Autoware 核心代碼 , 無法新增自定義驅動/模塊 , 僅能使用鏡像預集成功能
|
極高 , 可修改 核心源碼、裁剪冗餘功能、集成自定義硬件驅動/算法模塊
|
|
硬件適配 |
僅支持鏡像中 預集成的官方兼容硬件(如 Velodyne 激光雷達、NovAtel RTK 等),無法適配非官方支持的硬件
|
支持 任意硬件適配 , 可自行開發/集成自定義驅動(如小眾激光雷達、定製攝像頭) , 靈活適配特殊硬件接口
|
|
編譯需求 |
無需編譯,鏡像已 包含編譯完成的二進制文件 , 啓動即可運行
|
必須編譯 , 需通過 Colcon(ROS 2)/Catkin(ROS 1)工具編譯源碼 , 支持增量編譯指定模塊
|
|
調試便利性 |
較差 , 無法直接斷點調試 Autoware 源碼
|
極佳 , 可 結合 IDE(如 CLion、VS Code)斷點調試源碼、驅動模塊 , 快速定位底層問題
|
|
版本迭代 |
需下載完整新鏡像更新 , 無法增量更新 , 版本切換依賴鏡像替換
|
可通過 Git 拉取最新代碼/切換分支 , 增量編譯更新 , 版本迭代更靈活、高效
|
|
系統依賴 |
僅需安裝 Docker 引擎
|
需 嚴格匹配 Autoware 版本要求的系統(如 Ubuntu 20.04/22.04)、ROS 版本(Noetic/Humble),依賴關係強綁定
|
二、Autoware.Universe 仿真 / 評估 教程
1、仿真概述
Autoware.Universe 仿真 / 評估 教程文檔 : https://autowarefoundation.github.io/autoware-documentation/main/tutorials/
Tutorials 文檔 中 , 介紹了 仿真 / 評估 教程 , 其中涉及到 兩種仿真方法 臨時仿真(Ad hoc simulation) 、場景仿真(Scenario simulation) , 三種仿真類型 規劃仿真(Planning simulation) 、數據包回放仿真(Rosbag replay simulation) 、數字孿生仿真(Digital twin simulation) ;
仿真方法 :
- 臨時仿真(Ad hoc simulation) : 在 本地機器上運行 基礎仿真 ;
- 場景仿真(Scenario simulation) : 通過 場景運行器 , 基於預定義場景運行更復雜的仿真
仿真類型 :
- 規劃仿真(Planning simulation) : 使用 簡單的虛擬數據(dummy data) 測試 規劃(Planning)和 控制(Control)組件
- 數據包回放仿真(Rosbag replay simulation) : 使用 預先錄製的 rosbag 數據 , 測試 定位(Localization)和 感知(Perception) 組件功能 ;
- 數字孿生仿真(Digital twin simulation) : 這是仿真的重點 , 生成 真實數據 並 模擬 幾乎整個系統的仿真類型 , 生成的數據 是 與 真實物理世界 1:1 對應的高保真虛擬世界 , 通常也稱為 端到端仿真(end-to-end simulation)
Autoware.Universe 仿真 可參考 下圖 :
2、數字孿生仿真 - CARLA 仿真
CARLA 仿真 文檔 : https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ad-hoc-simulation/digital-twin-simulation/carla-tutorial/
該文檔中給出了 4 個 通過 CARLA 運行 Autoware 仿真 的 項目 :
- autoware_carla_interface ( 推薦使用 ) : Autoware ROS 功能包 , 用於實現 Autoware 與 CARLA 模擬器之間的通信,支持自動駕駛仿真 , 已集成至 autoware_universe 中 ;
- GitHub 地址 : https://github.com/autowarefoundation/autoware_universe/tree/main/simulator/autoware_carla_interface
- carla_autoware_bridge : carla_ros_bridge 的擴展功能包,用於將 CARLA 模擬器與 Autoware Universe 軟件對接 ;
- GitHub 地址 : https://github.com/Robotics010/carla_autoware_bridge ;
- 使用教程 : https://github.com/Robotics010/carla_autoware_bridge/blob/master/getting-started.md
- open_planner : 一款集成式開源規劃器及相關工具,適用於自動駕駛車輛和移動機器人的自主導航 ;
- GitHub 地址 : https://github.com/ZATiTech/open_planner/tree/humble
- 使用教程 : https://github.com/ZATiTech/open_planner/blob/humble/op_carla_bridge/README.md
- zenoh_carla_bridge : 用於在 Carla 中控制多輛車,通過 Zenoh 實現 Autoware 與 Carla 的橋接,能夠區分不同車輛的消息 ;
- GitHub 地址 : https://github.com/evshary/zenoh_carla_bridge