保姆级教程:在WSL2里用Docker搞定Apollo 9.0开发环境,顺便连上Carla 9.14

张开发
2026/4/11 4:33:31 15 分钟阅读

分享文章

保姆级教程:在WSL2里用Docker搞定Apollo 9.0开发环境,顺便连上Carla 9.14
保姆级教程WSL2Docker构建Apollo 9.0与Carla 9.14联调环境全指南当自动驾驶开发者第一次尝试在Windows环境下搭建Apollo仿真平台时往往会被复杂的工具链和跨系统兼容性问题劝退。本教程将彻底解决这个痛点——通过WSL2的Linux环境配合Docker容器化部署实现从零开始构建完整的Apollo 9.0开发环境并成功连接Carla 9.14仿真器。不同于碎片化的网络教程本文将系统性地解决以下核心问题环境隔离利用Docker容器保持开发环境纯净GPU加速配置NVIDIA-Docker实现硬件加速跨系统通信打通WSL2与Windows主机的网络壁垒版本兼容处理Python 3.6/3.7的版本冲突可视化调试优化Dreamview在WSL2下的访问体验1. 基础环境搭建WSL2与Ubuntu 20.041.1 Windows系统准备在管理员权限的PowerShell中执行以下命令启用WSL2功能# 启用WSL功能 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 启用虚拟机平台 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启后设置WSL2为默认版本wsl --set-default-version 21.2 Ubuntu 20.04安装从Microsoft Store安装Ubuntu 20.04 LTS后建议进行以下优化配置# 更新软件源 sudo apt update sudo apt upgrade -y # 安装基础工具链 sudo apt install -y build-essential curl git python3-pip注意建议将WSL2实例存储在SSD硬盘分区可显著提升I/O性能。通过wsl --export和wsl --import命令可迁移已有实例。2. Docker与GPU支持配置2.1 Docker引擎安装推荐使用鱼香ROS的一键安装脚本curl -sSL https://fishros.com/install | bash安装完成后需要配置用户组sudo usermod -aG docker $USER newgrp docker2.2 NVIDIA-Docker配置确保Windows主机已安装最新NVIDIA驱动后执行# 添加NVIDIA容器工具包仓库 distribution$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list # 安装工具包 sudo apt update sudo apt install -y nvidia-docker2 sudo systemctl restart docker验证GPU支持docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi3. Apollo 9.0容器化部署3.1 源码获取与容器启动建议将代码克隆到Windows可见目录如/mnt/dgit clone https://github.com/ApolloAuto/apollo /mnt/d/apollo cd /mnt/d/apollo启动开发容器bash docker/scripts/dev_start.sh3.2 编译优化技巧进入容器后的编译命令./apollo.sh build_opt_gpu为加速编译过程可尝试以下方法优化方法具体操作效果预估并行编译./apollo.sh build_opt_gpu --jobs$(nproc)缩短30%-50%时间缓存依赖预先下载第三方库到/apollo/.cache减少网络延迟内存交换增加swap空间至8GB以上避免OOM中断4. Carla 9.14联调实战4.1 Windows端安装从Carla官方仓库下载9.14版本Windows包解压后运行.\CarlaUE4.exe -quality-levelLow4.2 桥接服务配置创建Python 3.7虚拟环境sudo apt install python3.7 python3.7-venv python3.7 -m venv ~/carla_bridge source ~/carla_bridge/bin/activate安装Carla Python APIpip install carla0.9.14配置carla_apollo_bridge时需注意# config/settings.yaml关键配置 carla: host: Windows主机IP port: 2000 apollo: dreamview_url: http://WSL2_IP:88885. 网络与可视化调试5.1 Dreamview访问配置修改scripts/bootstrap.sh中的IP设置# 将localhost替换为WSL2 IP DREAMVIEW_URLhttp://$(hostname -I | awk {print $1}):8888启动增强版Dreamview./scripts/bootstrap.sh start_plus5.2 常见问题解决方案问题1Cyber模块无法自动启动# 手动启动所需模块 cyber_launch start modules/planning/launch/planning.launch问题2可视化工具无法使用可通过X11转发解决# Windows安装VcXsrv后 export DISPLAY$(awk /nameserver / {print $2:0} /etc/resolv.conf)经过完整配置后开发者可以在WSL2中获得接近原生Linux的开发体验同时利用Windows端的Carla进行可视化仿真。实际测试中这套环境在RTX 3060显卡上可实现20-30FPS的实时仿真帧率满足大部分算法调试需求。

更多文章