Autoware 快速入门:Docker 跑通 ROS 2 开源自动驾驶栈
【免费下载链接】autowareAutoware - the world's leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware
车上已经装好了激光雷达、摄像头和 GNSS(全球导航卫星系统)模块,传感器也在往回吐数据——可它们离"自己开起来"之间,还缺一段把原始信号变成方向盘和油门指令的软件。Autoware 就是补上这一段的东西:一个基于 ROS 2 的开源自动驾驶软件栈,覆盖感知、规划到控制的完整链路。对新手来说,最关心的无非两件事:怎么快速部署起来,以及跑起来之后里面到底有什么。下面按这两条线走一遍。
架构全景:一张地图看懂 Autoware 组成
先看地图再进街区:整个 Autoware 由三层仓库构成,本仓库的 repositories/autoware.repos 就是一份把所有上游仓库、版本号和路径钉死在一起的清单,照着它构建出来的工作空间是可复现的。autoware元仓库本身不含算法代码,它负责声明"要拉哪些仓库、锁哪个版本"。autoware.core放经过打磨的稳定 ROS 2 功能包,消息定义、工具库和规划模拟器都在这里;autoware.universe则是实验性和前沿功能的试验田,新特性先进这里,成熟后再下沉到 core。记住这条"元仓库管清单、core 管稳定、universe 管尝鲜"的分工,后面谈模块和部署时就有坐标了。
Autoware 部署:裸机与 Docker 两条路 🐳
裸机初始化。先在 Ubuntu 上克隆仓库并跑一遍环境脚本:
git clone https://gitcode.com/GitHub_Trending/au/autoware.git cd autoware ./setup-dev-env.sh这一条脚本会自动装好 ROS 2、Docker 和 CUDA 等依赖,装完直接得到可用的开发机。
Docker 容器化部署(推荐路径)。对多数人而言容器是最省心的方式,依赖问题全部被打包隔离。镜像构建配置在 docker/ 目录下,base → core → universe逐层叠加,支持带 CUDA 与不带 CUDA 两种运行时镜像:
docker buildx bake -f docker/docker-bake.hcl universe docker run --rm -it --gpus all autoware:universe-jazzy加载示例地图并启动规划器。环境就绪后,下载规划场景的示例地图,一行 launch 命令即可在 RViz 里看到规划结果:
wget https://autoware-assets.s3.us-east-2.amazonaws.com/sample-map-planning.zip ros2 launch autoware_launch planning_simulator.launch.xml map_path:=/home/aw/autoware_data/maps/sample-map-planning规划模拟器自带模拟感知(perception is dummy),不接真实传感器也能把整条链路跑通,非常适合第一次验证环境。
模块数据流:从传感器输入到车辆控制
顺着"一辆车从启动到驶出"的链路看:原始传感器数据先经时间同步进入系统;定位与建图环节把 GNSS、IMU 与激光雷达融合到 HD map(高精地图)上,算出车在路上的精确位姿;目标检测与预测用多传感器融合识别前方车辆、行人并预判其走向;全局路径规划在地图上选定路线,行为决策负责让行、变道这类规则判断;轨迹规划把决策落成一条平滑的速度-位置曲线;车辆控制节点最终把它翻译成油门、刹车与转向指令。最后,记录与监控节点全程留存 bag 数据(ROS 的数据包格式)并盯住各节点健康状态,出问题时可回放进 bag 复现现场。
Ansible 自动化角色
环境搭建不必手工敲命令:ansible/ 提供了一组角色(role),按组合执行就能自动装好对应组件。典型角色有 ros2(装 ROS 2 发行版)、cuda(NVIDIA CUDA 工具链)、docker_engine(Docker 引擎),此外还有 TensorRT(NVIDIA 的推理加速引擎)等 GPU 相关角色。Docker 镜像和 docker/examples/demos/ 里的各类演示配置,底层就是靠这些角色铺底的。
社区与参与
贡献流程是 Fork 仓库、拉功能分支、提交 PR、通过代码审查后合入,细则见 CONTRIBUTING.md。遇到问题先提 Issue,部署和开发类问题也欢迎在 Discord 实时频道交流;GitHub Discussions 适合技术问答,Working Groups 页面则列出了各方向的在建工作,方便找到对口的人和事。
从原型验证到车队生产部署,Autoware 的 Docker 镜像、Ansible 角色和示例地图都已就绪,离跑起来通常只差上面那几条命令。下一步建议直接翻官方文档的 Demos 章节,或上 Discord 社区问一句。
【免费下载链接】autowareAutoware - the world's leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考