news 2026/9/14 22:32:03

裸机到能跑:Autoware 用 Docker 3 步跑通规划仿真的完整部署指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
裸机到能跑:Autoware 用 Docker 3 步跑通规划仿真的完整部署指南

裸机到能跑:Autoware 用 Docker 3 步跑通规划仿真的完整部署指南

【免费下载链接】autowareAutoware - the world's leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware

如果你手上有一台刚装好 NVIDIA 驱动、却不知从哪下手的机器,Autoware 往往是最快的验证路径。这个基于 ROS 2 的开源自动驾驶软件栈把定位、感知、规划、控制拆成了可插拔模块,而你不必自己从源码硬啃——用 Docker 就能先跑起来看效果。

这份仓库替你做的事

先厘清一件事:你现在 clone 的这个目录,本质上是个元仓库。真正写算法的 ROS 包分散在autoware_core(稳定核心)和autoware_universe(实验性、前沿功能)两个仓库里,它们并不直接躺在这个目录下。

这个仓库给你的是三样"省事"的东西:一份列出所有子仓库地址和版本的清单文件(.repos)、一套预构建的 Docker 镜像定义,以及用 Ansible 写的自动化环境脚本。换句话说,它管"环境和编排",算法本体靠清单去拉。

⚡ 两条命令把全部源码导入 src/

先拿仓库。克隆地址固定为:

git clone https://gitcode.com/GitHub_Trending/au/autoware cd autoware

然后一条vcs import把清单里列出的所有仓库拉到src/下:

vcs import src < repositories/autoware.repos

跑完你打开src/会看到core/universe/launcher/等子目录,每个都锁定了具体版本。清单见 repositories/autoware.repos,想换版本改这里就行,不用手动去逐个 clone。

挑一个现成镜像:GPU 版与无卡版怎么选

大多数人没必要自己编译整条链路。官方提供按"阶段 + ROS 发行版"命名的镜像,命名规则是<stage>-<ros_distro>。选哪个,取决于有没有 N 卡:

  • 有 NVIDIA 独立驱动 → 拉universe-cuda-jazzy
  • 没有 GPU、或跑纯规划逻辑 → 拉universe-jazzy

拉下来直接用,容器内已有构建好的/opt/autoware

docker pull ghcr.io/autowarefoundation/autoware:universe-cuda-jazzy docker run --rm -it \ --net host --gpus all \ -v $HOME/autoware_data/maps:/home/aw/autoware_data/maps \ -v $HOME/autoware_data/ml_models:/home/aw/autoware_data/ml_models \ ghcr.io/autowarefoundation/autoware:universe-cuda-jazzy \ bash -c "source /opt/autoware/setup.bash && exec bash"

进 shell 后先做冒烟测试:ros2 doctor,能正常返回 RMW 与节点发现信息,就说明环境通了。镜像命名与可用标签的完整说明在 docker/README.md。

🚗 跑第一个可见场景:planning-simulator 规划仿真

光有环境还不够,得让它"动"起来。最直观的入门场景是规划仿真器:感知用假数据喂,车辆、传感器、地图都是样例,但它真的会跑一遍从感知到轨迹生成的完整链路,并在 rviz2 里画出来。这个演示不依赖 GPU,任何主机都能跑:

cd docker/examples/demos/planning-simulator HOST_UID=$(id -u) HOST_GID=$(id -g) docker compose run --rm planning-simulator

它会用sample-map-planning这张样例地图启动。前提是地图已解压到~/autoware_data/maps/sample-map-planning;样例地图的获取方式写在 planning-simulator 的 README 里,跟着做即可。跑完它会自动落回一个交互式 shell,方便你回头查状态。

换成你的硬件:GPU、地图、传感器只改这几处

跑通演示后,接自己的硬件基本是"换参数",不用重写。

渲染加速docker/examples/basic/下有三个 compose 变体——dev-nvidia(独显走runtime: nvidia)、dev-dri(Intel/AMD 或 Nouveau 走/dev/dri直通)、dev-cpu(无卡走软件渲染)。换机器时换这个文件就行。

数据落地:地图统一放~/autoware_data/maps,机器学习模型放~/autoware_data/ml_models,容器通过挂载映射到/home/aw/autoware_data下。想换地图或车辆,改 planning-simulator 的 compose 里command:块的map_pathvehicle_modelsensor_model三个参数即可。

通信范围:镜像默认的 CycloneDDS 配置(docker/files/cyclonedds.xml)只绑回环接口,容器之间能发现彼此;要和局域网里其他主机互通,给服务加network_mode: host

裸机装开发环境:如果不想走 Docker、要在一台 Ubuntu 22.04/24.04 上直接建源码级环境,用 Ansible 的 playbook 一键装 ROS 2 加依赖,系统会自动按版本映射到 humble 或 jazzy。入口 playbook 是 ansible/playbooks/install_dev_env.yaml,用法说明见 ansible/README.md。

卡住了怎么办:五个高频坑与求助入口

  • 文件属主混乱:跑容器前把HOST_UID/HOST_GID传进去,入口脚本会据此把容器内aw用户对齐宿主机 UID,否则挂载卷里的文件会被写成别的用户。
  • GPU 不生效--gpus all需要宿主机装好 NVIDIA 专有驱动加nvidia-container-toolkit;在 Tegra/Thor 这类 Arm 平台上则改用--runtime nvidiaNVIDIA_VISIBLE_DEVICES,而不是--gpus
  • rviz 里没硬件加速:软件渲染处理稠密点云会很卡,进容器跑glxinfo -B | grep -E "OpenGL (vendor|renderer)",确认看到的是 GPU 而不是llvmpipe
  • 两次构建结果不一致:默认构建跟的是浮动标签,跨天可能不同。需要可复现时给 bake 加USE_LOCKFILE=true,镜像会被钉到锁文件里的版本。
  • 不知道是不是 bug:提问前先翻 CONTRIBUTING.md 的贡献规范;社区有 Discord、官方 Discussions 的 Q&A 区,以及按方向划分的工作组,技术困惑一般在那儿能问到同类问题。

下一步,先把planning-simulator跑通、把map_path指向你自己的真实地图,再回头替换其中感知那一层——这是从"能看"迈向"能用"最短的一步。

【免费下载链接】autowareAutoware - the world's leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 22:31:25

Redis分页查询优化:从原理到实践

1. Redis分页查询的核心价值与应用场景在互联网应用中&#xff0c;分页查询是最基础也是最关键的功能之一。传统数据库分页&#xff08;如MySQL的LIMIT OFFSET&#xff09;在面对海量数据时存在明显的性能瓶颈&#xff1a;当翻到第1000页时&#xff0c;数据库需要先扫描并丢弃前…

作者头像 李华
网站建设 2026/9/14 22:29:48

OpenCode vs Claude Cli:AI编程助手深度对比与实战指南

1. 为什么OpenCode能成为AI助手的终极答案&#xff1f;最近在开发者圈子里&#xff0c;OpenCode的热度直线上升&#xff0c;不少同行都在讨论它如何"秒杀"Claude Cli。作为一个深度使用过两款工具的技术博主&#xff0c;我想分享一下我的实际体验和对比分析。OpenCod…

作者头像 李华
网站建设 2026/9/14 22:29:22

生物样本存储中心一站式整体解决方案:从系统设计到落地避坑

写样本库方案这类东西&#xff0c;最容易踩的坑就是"重硬件轻系统"。很多课题组一开始规划的挺像那么回事&#xff0c;等真正建起来才发现&#xff1a;冰箱买回来了&#xff0c;样本也冻上了&#xff0c;可半年之后想找一管某年某月采的血&#xff0c;得翻三个Excel、…

作者头像 李华
网站建设 2026/9/14 22:25:15

termcc实战:Mac上通过SSH远程开发Linux C++工程的完整方案

1. termcc是什么&#xff1a;别把它简单理解成一个“Mac上更好看的终端” 1.1 它要解决的问题不是“敲命令”&#xff0c;而是“把IDE搬过去” 先从一个非常常见的场景说起。很多在Mac上做C/C开发的同学&#xff0c;实际编译和运行环境都在一台Linux服务器上&#xff1a;公司分…

作者头像 李华
网站建设 2026/9/14 22:23:56

kubesphere 项目中的 Go 通配符匹配库 gobwas/glob 深入解析

kubesphere 项目中的 Go 通配符匹配库 gobwas/glob 深入解析 【免费下载链接】kubesphere The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ &#x1f5a5; ☁️ 项目地址: https://gitcode.com/GitHub_Trending/ku/kubesph…

作者头像 李华
网站建设 2026/9/14 22:23:24

AI编程工具横评:需求理解、改Bug与项目接手能力实测

最近所有聊天群里都在问同一个问题&#xff1a;哪款 AI 编程工具最强&#xff1f;回答的人不少&#xff0c;但比来比去&#xff0c;口径基本都是“谁的代码补全更像人”“谁生成得快”“谁能一把梭出整个 CRUD”。我觉得这个比法有点偏。干过几年业务开发的人都清楚&#xff0c…

作者头像 李华