从零到一:Ubuntu20.04与ROS Noetic的安装历险记
第一次接触ROS(Robot Operating System)时,那种既兴奋又忐忑的心情至今记忆犹新。作为一个机器人技术爱好者,我早就听说过ROS的大名,但当真正要在自己的Ubuntu20.04系统上安装ROS Noetic时,才发现这条路并不像想象中那么平坦。从软件源配置到依赖包安装,从环境变量设置到最后的测试运行,每一步都可能成为"拦路虎"。但正是这些挑战,让最终的成就感更加珍贵。
1. 安装前的准备工作
在开始ROS Noetic的安装之前,有几个关键步骤需要提前完成。这些准备工作看似简单,却直接影响后续安装的顺利进行。
首先,确保你的Ubuntu20.04系统已经更新到最新状态。打开终端(Ctrl+Alt+T),执行以下命令:
sudo apt update && sudo apt upgrade -y接下来,需要配置Ubuntu的软件源设置。这一步经常被新手忽略,但却至关重要:
- 打开"软件和更新"应用
- 在"Ubuntu软件"选项卡中,确保以下四个选项都被勾选:
- main
- universe
- restricted
- multiverse
注意:如果这些选项未被全部勾选,可能会导致后续ROS依赖包安装失败。
对于国内用户,建议将软件源切换为国内镜像以加速下载。清华大学和中科大都提供了优质的ROS镜像源。我个人推荐使用中科大的镜像,速度稳定且更新及时。
2. ROS Noetic的安装过程
2.1 添加ROS软件源
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.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'2.2 添加密钥
为确保软件包的安全性,需要添加ROS的GPG密钥:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654成功执行后,终端会显示"OK"确认信息。
2.3 安装ROS Noetic桌面完整版
更新软件包索引并安装ROS Noetic桌面完整版:
sudo apt update sudo apt install ros-noetic-desktop-full这个安装过程可能会持续较长时间(视网络情况而定),因为需要下载约2GB的数据。在安装过程中,可能会遇到以下几种常见问题及解决方案:
| 问题现象 | 解决方案 |
|---|---|
| 下载速度慢或中断 | 更换国内镜像源后重试 |
| Hash校验和不符 | 重新执行安装命令 |
| 依赖关系不满足 | 执行sudo apt --fix-broken install修复 |
3. 初始化rosdep与环境配置
3.1 初始化rosdep
rosdep是ROS中用于安装系统依赖的工具,初始化过程可能会遇到几个典型问题:
sudo rosdep init rosdep update常见错误及解决方法:
找不到rosdep命令:
sudo apt install python3-rosdep2无法下载默认源列表:
sudo gedit /etc/hosts在文件末尾添加:
199.232.28.133 raw.githubusercontent.com源列表文件已存在:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
3.2 环境变量配置
为了让系统识别ROS命令,需要将ROS环境变量添加到bashrc文件中:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc此外,建议安装一些常用的构建工具:
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential4. 测试ROS安装
4.1 启动ROS核心服务
在终端中输入以下命令启动roscore:
roscore如果遇到"找不到命令"的错误,可能需要安装roslaunch:
sudo apt install ros-noetic-roslaunch4.2 运行小海龟仿真器
ROS的经典测试案例是小海龟仿真器,它直观地展示了ROS的基本功能:
- 在一个终端中启动roscore(如果尚未运行)
- 在第二个终端中启动海龟仿真器:
rosrun turtlesim turtlesim_node - 在第三个终端中启动键盘控制:
rosrun turtlesim turtle_teleop_key
提示:键盘控制需要在teleop终端处于活动状态时(即鼠标点击该终端窗口),才能通过方向键控制海龟移动。
第一次看到那只可爱的海龟在屏幕上移动时,那种喜悦难以言表。它不仅意味着ROS安装成功,更标志着你已经迈入了机器人开发的大门。当海龟在屏幕上留下彩色的轨迹时,你会发现之前所有的安装挫折都变得值得了。