
Autoware 自动驾驶栈 10 分钟跑通从仿真驾驶到换硬件【免费下载链接】autowareAutoware - the worlds leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware想在自有硬件上跑通一套自动驾驶算法通常要先把 ROS、CUDA 等一堆依赖装齐。Autoware 把这些依赖连同定位、感知、规划、控制的全链路封装在一个开源软件栈里基于 ROS 2机器人通信与任务管理的中间件构建。本文只解决一件事先让仿真车开起来再讲各层在做什么。 如何用 10 分钟跑通 Autoware 仿真车辆最短路径是用预构建镜像加仓库自带的示例仿真不用本地编译。流程很短一共三条命令。第一步拿到仓库git clone https://gitcode.com/GitHub_Trending/au/autoware这是个元仓库真正的源码由 repositories/ 下的.repos文件描述用 vcs 拉取。只看效果的话这一步可以跳过源码导入。第二步允许容器在宿主机上弹出图形窗口xhost local:docker第三步启动规划仿真示例cd docker/examples/demos/planning-simulator HOST_UID$(id -u) HOST_GID$(id -g) docker compose up这份 compose 直接拉取预构建镜像ghcr.io/autowarefoundation/autoware:universe-jazzy启动时自动运行planning_simulator.launch.xml。跑起来后打开 RViz你会看到一条街道地图和停在起点的自车。在 RViz 里设定初始位姿、点选目的地规划器算出路线按下 Engage仿真车就开始自己行驶。从感知到控制这条链路已经完整走过一遍。如果宿主机还没有示例地图先运行 ansible/roles/demo_artifacts/ 角色下载样例数据它会落在~/autoware_data下。compose 把这个目录挂进容器容器内路径是/home/aw/autoware_data/maps启动参数里的map_path指向的就是它。读懂容器里的镜像层级与地图挂载你会先碰到镜像 tag先把 docker/ 的镜像族理清。命名规则是阶段 ROS 2 发行版比如universe-jazzy、universe-cuda-humble镜像装了什么适合core-devel-*core 稳定包的构建环境改 core 代码universe-devel-*全量构建环境含实验性功能改 universe 代码universe-*纯运行时无编译链只跑不改universe-cuda-*运行时 GPU 计算库需要 GPU 加速的感知任务源码分两棵树core 是稳定包universe 放实验性功能。改哪个包的代码先确认它属于哪棵树再选对应的 devel 镜像编译。要动代码时先拉源码再构建镜像vcs import src repositories/autoware.repos docker buildx bake -f docker/docker-bake.hcl universe构建目标定义在docker/docker-bake.hcl入口脚本docker/docker-entrypoint.sh负责三件事把容器内用户对齐到宿主机 UID为 DDSROS 节点间的消息通信层打开组播然后 source ROS 环境。如何更换硬件、传感器并批量装机没有 GPU或新机器上线。换 tag 就行。无 GPU 用universe-jazzy有 GPU 用universe-cuda-jazzy旧发行版把jazzy换成humble。docker/examples/basic/ 里还备了 dev-cpu、dev-dri、dev-nvidia 三个最小开发 shell按硬件挑一个即可。换传感器或换车。仿真里的车也是参数。规划示例用的是vehicle_model:sample_vehicle、sensor_model:sample_sensor_kit在 docker/examples/demos/carla/ 示例中同一辆车换成了 CARLA 的传感器套件启动文件也换为e2e_simulator.launch.xml。改 compose 里 command 块的参数即可不用动代码。批量装机与可复现构建。ansible/ 是一套部署角色ros2、cuda、tensorrt、nvidia_container_toolkit、docker_engine每个角色只干一件事。构建镜像时加环境变量USE_LOCKFILEtrue依赖版本会被冻结到 ansible/vars/ 下的锁文件。锁定之后结果可复现不同天构建同一目标不会再漂移。遇到问题去哪里问Autoware 的价值在于把整辆车的算法变成可拉取、可启动、可修改的一套栈。技术问答走项目的 Discord 社区和 GitHub Discussions 的 QA 分区想参与开发先看仓库里 CONTRIBUTING.md 的入口说明。【免费下载链接】autowareAutoware - the worlds leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考