WSL2+Ubuntu22.04:从零到一,在Windows上构建Autoware.universe开发与仿真环境

张开发
2026/5/3 2:19:42 15 分钟阅读
WSL2+Ubuntu22.04:从零到一,在Windows上构建Autoware.universe开发与仿真环境
1. 环境准备WSL2与Ubuntu 22.04基础配置想在Windows上玩转Autoware.universeWSL2Ubuntu 22.04的组合绝对是你的最佳拍档。我当初第一次尝试时花了两天时间才搞定环境配置现在把踩过的坑都总结成这份保姆级教程。先说硬件要求16GB内存是底线32GB更稳妥显卡建议NVIDIA RTX 3060以上毕竟后面要跑仿真和可视化。安装WSL2其实比想象中简单。以Win11为例只需以管理员身份打开PowerShell输入wsl --install -d Ubuntu-22.04等待自动安装完成后别忘了执行wsl --set-default-version 2确保使用WSL2内核。这里有个隐藏技巧在C:\Users[用户名]下创建.wslconfig文件加入以下配置能显著提升性能[wsl2] memory12GB swap32GB localhostForwardingtrue实测这套配置能让编译效率提升40%特别是处理大型C项目时。安装完成后建议先执行sudo apt update sudo apt upgrade更新系统避免后续出现依赖冲突。2. ROS 2 Humble安装与依赖处理Autoware.universe需要ROS 2 Humble作为基础环境推荐使用国内开发者维护的一键安装脚本wget http://fishros.com/install -O fishros bash fishros选择1.安装ROS后再选humble桌面版。安装过程中可能会遇到locale报错这时需要先运行sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALLen_US.UTF-8 LANGen_US.UTF-8 export LANGen_US.UTF-8依赖项安装是个精细活我整理了一份完整清单sudo apt install -y \ python3-flake8-docstrings \ python3-pip \ python3-pytest-cov \ ros-dev-tools \ geographiclib-tools \ mesa-utils特别提醒geographiclib-tools这个包容易被忽略但它关系到后续地图数据的处理。安装完成后务必初始化rosdepsudo rosdepc init rosdepc update3. 显卡驱动与开发环境配置如果你用的是NVIDIA显卡驱动安装要注意版本匹配。以RTX 4060为例sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt install nvidia-driver-535安装后运行glxinfo -B检查OpenGL渲染器是否识别成功。我遇到过驱动安装后WSL无法调用显卡的情况解决方法是在Windows端更新NVIDIA驱动并确保在WSL内安装cuda-toolkitsudo apt install nvidia-cuda-toolkit源码获取阶段最容易出网络问题。建议先配置git代理git config --global http.proxy http://127.0.0.1:你的端口然后克隆代码仓库git clone https://github.com/autowarefoundation/autoware.git cd autoware git checkout release/2023.10运行开发环境配置脚本时如果遇到egm2008-1下载失败可以手动处理sudo geographiclib-get-geoids egm2008-1 sudo mv ~/geoids/egm2008-1.* /usr/share/GeographicLib/geoids/4. 源码编译与疑难解决编译是整个过程中最吃资源的环节。首先需要扩展交换空间sudo fallocate -l 32G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile我的经验是32GB交换空间12GB内存分配可以确保编译顺利进行。编译命令推荐使用MAKEFLAGS-j$(($(nproc)-1)) colcon build \ --symlink-install \ --cmake-args -DCMAKE_BUILD_TYPERelease \ --executor sequential如果编译中途失败可以针对性重编colcon build --packages-select 包名 --cmake-args -DCMAKE_BUILD_TYPERelease常见错误Killed signal terminated program cc1plus通常是因为内存不足这时可以尝试单线程编译MAKEFLAGS-j1 colcon build --parallel-workers 15. 仿真测试与实战演示编译成功后先下载测试地图mkdir -p ~/autoware_map gdown -O ~/autoware_map/sample-map-planning.zip https://drive.google.com/uc?id1499_nsbUbIeturZaDj7jhUownh5fvXHd unzip -d ~/autoware_map ~/autoware_map/sample-map-planning.zip启动仿真环境的正确姿势是rocker --nvidia --x11 --user \ --volume $HOME/autoware \ --volume $HOME/autoware_map \ -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda source ~/autoware/install/setup.bash ros2 launch autoware_launch planning_simulator.launch.xml \ map_path:$HOME/autoware_map/sample-map-planning \ vehicle_model:sample_vehicle \ sensor_model:sample_sensor_kit在RViz界面中先点击2D Pose Estimate设置初始位置再用2D Goal Pose指定目标点系统就会自动规划路径。记得打开Lanelet2图层查看详细车道信息这对理解自动驾驶决策逻辑很有帮助。

更多文章