【Ubuntu18.04】Autoware.ai 从源码到Docker:避坑指南与环境搭建全解析

张开发
2026/4/11 23:07:24 15 分钟阅读

分享文章

【Ubuntu18.04】Autoware.ai 从源码到Docker:避坑指南与环境搭建全解析
1. 环境准备Ubuntu 18.04基础配置在开始Autoware.ai的安装之前我们需要确保Ubuntu 18.04系统已经做好了充分准备。这个版本之所以被推荐是因为它与ROS Melodic和Autoware.ai的兼容性最好。我曾在多个项目中尝试过不同版本的Ubuntu最终发现18.04是最稳定的选择。首先更新系统软件包是个好习惯sudo apt update sudo apt upgrade -y对于国内用户更换软件源可以显著提高下载速度。我推荐使用清华或阿里云的镜像源。具体操作是修改/etc/apt/sources.list文件将默认的archive.ubuntu.com替换为mirrors.tuna.tsinghua.edu.cn或mirrors.aliyun.com。硬件方面Autoware.ai对配置有一定要求CPU至少Intel i5推荐i7或更高内存16GB起步32GB更佳存储空间至少30GB可用空间SSD最佳显卡NVIDIA独立显卡GTX 980M或更新型号提示如果使用虚拟机安装务必启用GPU直通功能否则无法利用CUDA加速。2. ROS Melodic安装与配置Autoware.ai基于ROS开发因此必须先安装ROS Melodic。这是我踩过最多坑的环节特别是网络问题导致的依赖安装失败。完整的安装步骤如下sudo sh -c echo deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main /etc/apt/sources.list.d/ros-latest.list sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install ros-melodic-desktop-full -y安装完成后必须初始化rosdep。这里有个小技巧可以避免常见的超时问题sudo pip install rosdepc sudo rosdepc init rosdepc update最后将ROS环境变量添加到bashrc中echo source /opt/ros/melodic/setup.bash ~/.bashrc source ~/.bashrc3. 从源码编译安装Autoware.ai源码安装虽然复杂但能提供最大的灵活性和调试能力。我建议先创建一个专门的工作目录mkdir -p ~/autoware_ws/src cd ~/autoware_ws3.1 下载源码与依赖处理使用vcs工具下载Autoware.ai的所有仓库wget -O autoware.ai.repos https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/master/autoware.ai.repos?inlinefalse vcs import src autoware.ai.repos处理依赖时这个命令可以解决大部分问题rosdep install -y --from-paths src --ignore-src --rosdistromelodic3.2 Python环境配置Autoware.ai需要Python 2.7环境这在Ubuntu 18.04上需要特别注意sudo apt install python-pip python-catkin-pkg echo alias pythonpython2 ~/.bashrc source ~/.bashrc3.3 编译与常见错误解决开始编译前确保安装了必要的开发工具sudo apt install build-essential cmake正式编译命令建议在screen或tmux会话中运行AUTOWARE_COMPILE_WITH_CUDA1 colcon build --cmake-args -DCMAKE_BUILD_TYPERelease遇到编译错误时可以添加--continue-on-error参数AUTOWARE_COMPILE_WITH_CUDA1 colcon build --cmake-args -DCMAKE_BUILD_TYPERelease --continue-on-error4. Docker方式安装Autoware.ai对于不想折腾系统环境的用户Docker是最佳选择。我在实验室的多台机器上都采用了这种方式部署效率极高。4.1 Docker环境准备首先安装Docker CE和NVIDIA容器工具包sudo apt install docker.io sudo systemctl enable --now docker配置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-docker24.2 运行Autoware容器克隆Autoware的Docker仓库git clone https://gitlab.com/autowarefoundation/autoware.ai/docker.git cd docker/generic启动容器会自动下载约5GB的镜像./run.sh第一次启动可能会提示权限问题解决方法是将用户加入docker组sudo usermod -aG docker $USER newgrp docker5. 运行与测试Autoware无论采用哪种安装方式启动方法都是类似的source install/setup.bash roslaunch runtime_manager runtime_manager.launch5.1 解决常见运行时错误如果遇到RViz相关错误尝试以下修复mkdir ~/.rviz cp rospack find autoware_quickstart_examples/launch/rosbag_demo/default.rviz ~/.rviz/对于TF相关的警告修改vehicle_model.launch文件!-- 将state_publisher改为robot_state_publisher -- node pkgrobot_state_publisher typerobot_state_publisher namerobot_state_publisher5.2 运行DEMO示例Autoware提供了完整的演示数据集下载示例数据包在Runtime Manager中选择Simulation标签加载rosbag文件依次启动各模块Mapping、Localization、Detection等我在第一次运行DEMO时发现点云显示异常原因是Fixed Frame没有正确设置为velodyne。这个小细节浪费了我两小时的调试时间希望读者能引以为戒。

更多文章