公司动态
Autoware 多传感器链路的最小可行配置:从 Docker 镜像到 sensor_model 启动
Autoware 多传感器链路的最小可行配置从 Docker 镜像到 sensor_model 启动【免费下载链接】autowareAutoware - the worlds leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware讲清 Autoware 多传感器链路的最小可行配置容器怎么起、传感器源怎么接、数据怎么验证。适合已用过 ROS 2、准备接真实传感器或先跑模拟的工程师照做约 1 小时出第一路数据。场景与边界覆盖的内容运行时环境GHCR 预构建 Docker 镜像或宿主机 ansible 开发环境两条路线传感器接入从模拟传感器源AWSIM awsim_sensor_kit切到真实硬件都走sensor_model这一个 launch 参数数据链路验证ros2 doctor、ros2 topic hz、ros2 bag record落盘不覆盖的传感器硬件选型本身跟着 universe 仓库已支持的 driver 走、建图与定位、控制/规划调参、生产部署流程。前置假设宿主机 Ubuntu 22.04 或 24.04playbook 会硬性检查版本GPU 场景需 NVIDIA 驱动 Container Toolkit~/autoware_data下的maps和ml_models目录已存在Compose 不会替你创建。选型与准备做减法够用即可组件选择理由宿主机Ubuntu 24.04对应 ROS 2 Jazzyansible 只支持 22.04/24.0424.04 是当前默认运行方式GHCR 官方镜像免编译runtime 镜像分层可只拉最小集起步传感器源AWSIM 模拟器 awsim_sensor_kit不买硬件就能验证传感器→感知全链路真实传感器以 universe 仓库已支持的 driver 为准driver 包在源码里选型跟着 driver 支持走GPUNVIDIA Container Toolkit感知 pipeline 依赖 CUDA没有就降级dev-cpu软件渲染核心操作流先跑通最小闭环再上真实传感器第一步把运行时跑通确认环境可信目的先排除环境问题后面传感器没数据时不用怀疑基础层。git clone https://gitcode.com/GitHub_Trending/au/autoware cd autoware vcs import src repositories/autoware.repos # 拉 core universe 源码 docker run --rm -it --net host \ ghcr.io/autowarefoundation/autoware:universe-cuda-jazzy \ bash -c source /opt/autoware/setup.bash ros2 doctor exec bash跑通标准ros2 doctor输出无 error 行RMW 和 DDS 检查项正常。要在宿主机直接编译不进容器的话另跑ansible-playbook ansible/playbooks/install_dev_env.yaml装开发环境。这一步解决的是环境能不能信的问题。第二步接模拟传感器源拉通数据采集链路目的用 AWSIM 当传感器先让数据流起来。前提~/autoware_data/maps/Shinjuku-Map/map和ml_models已就位。xhost local:docker cd docker/examples/demos/awsim HOST_UID$(id -u) HOST_GID$(id -g) docker compose run --rm awsimlaunch 的关键参数完整服务定义见docker/examples/demos/awsim/docker-compose.yamlros2 launch autoware_launch e2e_simulator.launch.xml \ vehicle_model:sample_vehicle \ sensor_model:awsim_sensor_kit \ map_path:/home/aw/autoware_data/maps/Shinjuku-Map/map验证方式另开终端ros2 topic hz看对应传感器 topic 有稳定频率输出或ros2 bag record -d 30落盘后打开 bag 确认有数据。sensor_model就是传感器套件的切换开关模拟和真实硬件都从这一个参数切。第三步换真实传感器与时间同步配置目的把模拟源换成物理传感器验证多路时间戳对齐。真实硬件的 driver 在 universe 源码src/里启动参数照旧走sensor_model容器需加--privileged让容器拿到宿主机设备访问传感器、CAN 总线多传感器时间同步靠 ROS 2 统一系统时钟各 driver 的 time sync 参数在 launch 文件里调ros2 topic hz 传感器topic # 各路频率稳定即正常 ros2 bag record -d 30 # 落盘后对比各路时间戳差值说白了这一步就是在做对齐时间差值稳定在 driver 标称延迟量级内就算通过。容易卡住的几个点Compose 启动即停报bind source path does not exist原因宿主机缺~/autoware_data/maps或ml_modelsCompose 默认不创建。 验证ls ~/autoware_data修复mkdir -p ~/autoware_data/{maps,ml_models}后重跑。rviz2 卡顿、点云掉帧原因容器内落到 llvmpipe 软件渲染。 验证glxinfo -B | grep -E OpenGL (vendor|renderer)看到llvmpipe就是它。 修复换带 GPU 透传的 composedev-nvidia或dev-dri。多容器/多机节点互相发现不到原因默认 CycloneDDS 配置只监听 lo 接口。 验证容器内ros2 node list看不到对端节点。 修复--net host起容器或挂载自定义cyclonedds.xml。Jetson/Thor 上 CUDA 报 Insufficient driver原因Tegra 不走--gpus all这条路径。 验证容器内nvidia-smi无输出。 修复改--runtime nvidia并传NVIDIA_VISIBLE_DEVICESall、NVIDIA_DRIVER_CAPABILITIESall两个环境变量。往哪走要换传感器套件或改地图路径只动 awsim compose 里的command段即可不用重建镜像。镜像分层和 GPU 透传的取舍看docker/README.md真实传感器 driver 和 launch 定义在repositories/autoware.repos拉下来的 universe 源码里。【免费下载链接】autowareAutoware - the worlds leading open-source software project for autonomous driving项目地址: https://gitcode.com/GitHub_Trending/au/autoware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考