Ubuntu 18.04 安装 ROS Melodic 保姆级避坑指南(附清华/中科大源及rosdep update终极解决方案)

发布时间:2026/6/7 16:03:55

Ubuntu 18.04 安装 ROS Melodic 保姆级避坑指南(附清华/中科大源及rosdep update终极解决方案) Ubuntu 18.04 安装 ROS Melodic 全流程优化指南在机器人开发领域ROSRobot Operating System已成为事实上的标准框架。对于刚接触ROS的开发者来说安装过程往往充满挑战特别是在国内网络环境下。本文将提供一份详尽的安装指南不仅包含基础步骤还会深入解决常见问题特别是rosdep update失败这一痛点。1. 环境准备与基础配置在开始安装ROS之前确保你的Ubuntu 18.04系统已经更新到最新状态。打开终端CtrlAltT并执行以下命令sudo apt update sudo apt upgrade -y接下来我们需要配置Ubuntu的软件源设置打开软件和更新应用在Ubuntu软件选项卡中确保所有仓库都已勾选在更新选项卡中选择重要安全更新和推荐更新关键提示对于国内用户强烈建议使用国内镜像源来加速后续的下载过程。你可以通过以下命令快速切换sudo sed -i s/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list2. ROS Melodic 安装源配置ROS官方提供了多种安装源但直接使用国外源在国内网络环境下往往速度缓慢甚至失败。以下是三种主流配置方案源类型命令特点官方源sudo sh -c echo deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main /etc/apt/sources.list.d/ros-latest.list官方维护但国内访问慢清华源sudo sh -c . /etc/lsb-release echo deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/lsb_release -csmain /etc/apt/sources.list.d/ros-latest.list国内镜像速度快中科大源sudo sh -c . /etc/lsb-release echo deb http://mirrors.ustc.edu.cn/ros/ubuntu/lsb_release -csmain /etc/apt/sources.list.d/ros-latest.list国内镜像稳定性好建议根据实际地理位置选择最近的镜像源通常清华源对北方用户更友好中科大源对南方用户响应更快。添加源后需要导入ROS的GPG密钥sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C6543. 核心安装与验证更新软件包索引并安装ROS Melodic桌面完整版sudo apt update sudo apt install ros-melodic-desktop-full安装过程可能需要较长时间取决于网络状况。如果中途失败可以尝试多次运行上述命令。安装完成后配置环境变量以便在任何终端中使用ROSecho source /opt/ros/melodic/setup.bash ~/.bashrc source ~/.bashrc验证安装是否成功roscore如果看到类似以下的输出说明核心组件安装正确... logging to /home/user/.ros/log/xxxxx/roslaunch-hostname-xxxx.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is 1GB. started roslaunch server http://hostname:xxxx/ ros_comm version 1.14.34. 构建依赖与rosdep配置安装构建ROS包所需的工具和依赖sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential初始化rosdep是安装过程中最容易出错的环节。标准流程如下sudo rosdep init rosdep update然而在国内网络环境下rosdep update几乎总会因连接GitHub失败而报错。以下是经过验证的解决方案修改20-default.list文件sudo sed -i s/raw.githubusercontent.com\/ros\/rosdistro\/master/gitee.com\/rosdistro\/rosdistro\/raw\/master/g /etc/ros/rosdep/sources.list.d/20-default.list修改Python包中的相关URLsudo find /usr/lib/python2.7/dist-packages/rosdep2/ -type f -exec sed -i s/raw.githubusercontent.com\/ros\/rosdistro\/master/gitee.com\/rosdistro\/rosdistro\/raw\/master/g {} 重新尝试更新rosdep update注意如果仍然失败可以尝试更换不同的Gitee镜像源如将gitee.com/rosdistro替换为其他用户维护的镜像。5. 测试与验证安装完成所有安装步骤后通过经典的小乌龟示例验证ROS是否正常工作在第一个终端启动ROS核心服务roscore在第二个终端启动乌龟模拟器rosrun turtlesim turtlesim_node在第三个终端启动键盘控制节点rosrun turtlesim turtle_teleop_key此时你应该能看到图形界面中出现一只乌龟并且可以通过第三个终端的键盘方向键控制它的移动。6. 常见问题深度解析6.1 rosdep update持续失败即使按照上述方法修改了源地址有时仍会遇到问题。这种情况下可以尝试以下进阶解决方案手动下载所需的yaml文件mkdir -p ~/rosdep_files cd ~/rosdep_files wget https://gitee.com/rosdistro/rosdistro/raw/master/rosdep/base.yaml wget https://gitee.com/rosdistro/rosdistro/raw/master/rosdep/python.yaml wget https://gitee.com/rosdistro/rosdistro/raw/master/rosdep/osx-homebrew.yaml wget https://gitee.com/rosdistro/rosdistro/raw/master/rosdep/ruby.yaml修改rosdep的源配置指向本地文件sudo sed -i s|https://gitee.com/rosdistro/rosdistro/raw/master/rosdep/|file:///home/your_username/rosdep_files/|g /etc/ros/rosdep/sources.list.d/20-default.list6.2 环境变量配置问题有时即使添加了source /opt/ros/melodic/setup.bash到.bashrc新打开的终端仍然无法识别ROS命令。这可能是因为.bashrc文件没有被正确加载有其他配置覆盖了ROS环境变量解决方案echo source /opt/ros/melodic/setup.bash ~/.profile source ~/.profile6.3 图形界面相关问题如果在运行turtlesim_node时遇到图形界面问题可以尝试安装必要的图形驱动sudo ubuntu-drivers autoinstall或者使用远程桌面连接时确保正确设置了DISPLAY环境变量export DISPLAY:07. 性能优化与实用技巧7.1 加速apt下载在安装大量ROS包时可以通过以下方法提升下载速度sudo apt install apt-fast安装后用apt-fast替代apt命令它会使用多线程下载和镜像优化。7.2 选择性安装如果不需要完整的桌面环境可以考虑更轻量级的安装选项ros-melodic-desktop包含GUI工具但不包含2D/3D模拟器ros-melodic-ros-base仅包含核心通信库和工具7.3 工作区配置为ROS开发创建一个独立的工作区是良好的实践mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make echo source ~/catkin_ws/devel/setup.bash ~/.bashrc7.4 网络代理配置如果所在网络环境有特殊要求可以配置apt使用代理echo Acquire::http::Proxy http://your_proxy:port; | sudo tee /etc/apt/apt.conf.d/proxy.conf8. 长期维护与更新保持ROS环境的健康状态需要定期维护更新软件包sudo apt update sudo apt upgrade rosdep update清理无用包sudo apt autoremove检查系统依赖rosdep check --from-paths src --ignore-src -r -y对于开发团队建议将修改后的配置文件如20-default.list纳入版本控制方便新成员快速配置环境。

相关新闻