Autoware 安装与配置完全指南:从零搭建自动驾驶软件栈只需一步脚本
【免费下载链接】autowareAutoware - the world's leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware
Autoware 是业界领先的开源自动驾驶软件项目,基于 ROS 2 构建,覆盖定位、感知、规划、控制全流程。它适合想进入自动驾驶领域的开发者和学生,本指南带你完成 Autoware 安装与配置:脚本化装依赖只需一小时左右,拉取预构建镜像几分钟即可跑通。
📋 一分钟认识它
Autoware 解决的是"让车自己开起来"的软件全栈问题:它不是单个算法,而是把传感器数据处理、目标检测、路径规划、车辆控制串成一套可运行的生产级系统。你平时听到的"自动驾驶框架",大多要自己拼装,而 Autoware 直接给出了完整答案。
项目的主要开发语言是 C++(性能关键路径)和 Python(脚本与工具),构建与运行都架在 ROS 2 上——你可以把 ROS 2 理解成自动驾驶界的消息总线,各模块通过话题、服务互相通信,无需直接调用。
值得强调的是,这个仓库本身是个"元仓库":它不直接存放全部源码,而是用清单文件 repositories/autoware.repos 指向几十个子仓库,再用一条命令把它们统一拉到 src/ 下。这也是新手常困惑的点——为什么 clone 下来的目录看起来"空空的",答案就在 src/README.md 里。
⚠️ 开工前的环境清单
动手前先对照下表确认,任何一行不满足都会在后面卡住你:
| 项目 | 要求 | 如何验证 / 用途 |
|---|---|---|
| 操作系统 | Ubuntu 22.04(对应 ROS 2 Humble)或 24.04(对应 ROS 2 Jazzy) | 运行lsb_release -a查看版本号,其他版本官方未支持,装环境脚本会直接报错 |
| 磁盘空间 | 建议预留 100GB 以上 | 源码子仓库、编译产物与 ML 模型都要落地,df -h查看剩余空间 |
| 内存 | 建议 32GB 以上 | free -h查看,源码全量编译是内存大户,不足时请走预构建镜像路线 |
| GPU(可选) | NVIDIA 卡 + 驱动,或无 GPU 亦可 | nvidia-smi能正常输出版本号即可用 CUDA 路线;没有 GPU 用 CPU 软件渲染也完全能跑 |
| Docker | 安装 Docker 与 Compose v2 | docker version与docker compose version均有正常输出,镜像路线和开发容器都依赖它 |
🛠️ 动手安装
阶段一 · 地基:装好核心框架与依赖
这一步在干什么:把 Autoware 的元仓库 clone 下来,然后用项目自带的 Ansible 剧本一次性装好 ROS 2、构建工具链等全部系统依赖,省去手工敲几十条 apt 命令。
先拿到仓库并装好 Ansible(官方要求通过 pipx 安装 10.x 版本,apt 源里的版本太旧,需先卸载):
git clone https://gitcode.com/GitHub_Trending/au/autoware ~/autoware cd ~/autoware # 卸载可能存在的旧版 ansible,再装新版 sudo apt-get purge -y ansible sudo apt-get -y update && sudo apt-get -y install pipx python3 -m pipx ensurepath pipx install --include-deps --force "ansible==10.*"再安装 Ansible 集合并运行主剧本,把整个开发环境铺平(需输入一次 sudo 密码;22.04 自动匹配 Humble,24.04 自动匹配 Jazzy):
ansible-galaxy collection install -f -r ansible-galaxy-requirements.yaml ansible-playbook autoware.dev_env.install_dev_env --ask-become-pass剧本细节和可用参数以官方文档为准,各角色说明见 ansible/playbooks/install_dev_env.yaml。
阶段二 · 主体:获取项目源码并构建
这一步在干什么:把清单里引用的所有子仓库拉进src/,然后选择"源码编译"或"预构建镜像"其一——初学者推荐先走镜像路线,编译可以后面再学。
cd ~/autoware # 若提示 vcs 不存在:sudo apt install python3-vcs2l vcs import src < repositories/autoware.repos colcon build # 全量源码编译,耗时数小时且吃内存,可择日再跑镜像路线只需一条命令拉取官方预构建的开发镜像(默认 Jazzy,Humble 把标签改成universe-devel-humble即可):
docker pull ghcr.io/autowarefoundation/autoware:universe-devel-jazzy阶段三 · 调通:环境激活与首次启动
这一步在干什么:激活构建好的 ROS 环境,进入开发容器做首次冒烟测试,确认消息中间件和节点发现都工作正常。
容器要显示图形界面(rviz2 会用到),先授权 Docker 连接本机 X 服务器,再用仓库自带的 compose 文件起容器(无 GPU 主机用dev-cpu,NVIDIA 用dev-nvidia,Intel/AMD 用dev-dri,均在 docker/examples/basic/ 下):
xhost +local:docker HOST_UID=$(id -u) HOST_GID=$(id -g) \ docker compose -f docker/examples/basic/dev-cpu.compose.yaml run --rm autoware进入容器后,先加载 Autoware 安装空间再做健康检查(源码编译路线则是source install/setup.bash,具体变量与启动方式以官方文档为准):
source /opt/autoware/setup.bash ros2 doctor✅ 30 秒验证是否装好
你应该看到ros2 doctor输出多节报告:RMW 实现、ROS 版本、中间件、节点与话题信息等逐项列出,且没有 ERROR 字样,类似RMW implementation: rmw_fastrtps_cpp、ROS version: 2.x这样的正常条目。
没看到时先检查两处:一是当前 shell 是否真的 source 过安装空间的setup.bash(容器内是/opt/autoware/setup.bash,源码路线在install/下);二是ros2 doctor若报网络或接口问题,确认容器网络模式与宿主是否互通。
🧯 新手最容易踩的 4 个坑
现象:vcs import提示vcs: command not found→ 原因 → 解决办法环境脚本默认你已装 vcs2l(vcs命令来自它)。先执行sudo apt install python3-vcs2l,再重跑 import 即可。
现象:colcon build中途卡死或报内存不足 → 原因 → 解决办法全量编译几十个包会长时间占满内存和磁盘。降低并行度:colcon build --parallel-workers 2,或先放弃源码编译,直接用预构建镜像把环境跑起来再学构建。
现象:compose 报bind source path does not exist→ 原因 → 解决办法compose 文件会挂载~/autoware_data/maps和~/autoware_data/ml_models,但它不会替你创建这两个目录。手动mkdir -p建好,或运行demo_artifacts角色自动放置示例地图与模型后再起容器。
现象:容器里 rviz2 黑屏、GUI 弹不出来 → 原因 → 解决办法没执行xhost +local:docker,X 服务器拒绝 Docker 连接。执行后重启容器;若仍黑屏,检查DISPLAY变量是否为空。
🚀 下一步
- 官方文档站:安装、演示、开发规范的完整说明以官方文档为准,仓库 README 中"Get Started"一节有入口
- 元仓库机制与子仓库版本管理:src/README.md、repositories/ 目录
- 跑一个仿真 demo:docker/examples/demos/planning-simulator/ 下就是配置好的 planning simulator 启动文件,含无 GPU / Intel / AMD / NVIDIA 四种启动姿势
- 环境剧本全览:ansible/playbooks/ 里的
install_dev_env.yaml是装依赖的主入口,install_image_deps.yaml面向镜像构建 - 镜像构建细节与 CUDA 路线:docker/README.md
【免费下载链接】autowareAutoware - the world's leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考