3、ROS Noetic 安装:版本选择、软件源配置、完整安装步骤、环境变量设置

好,咱们开始动手装 ROS。这一章我带你走一遍完整的安装流程。别担心,每一步我都会拆开讲清楚。

ROS 版本很多,为什么我推荐 Noetic?说白了,它是最后一个完全支持 Python 2 的长期支持版,但同时也完美兼容 Python 3。我在 2020 年刚接触它时,就被它的稳定性折服。后来好几个项目都跑在 Noetic 上,没出过幺蛾子。

ROS 版本选择:为什么是 Noetic?

ROS 的版本跟 Ubuntu 版本是绑定的。你想想看,选错了版本,后面编译报错能让你怀疑人生。我见过太多新手在版本上栽跟头。

ROS 版本 对应 Ubuntu 支持状态 推荐场景
ROS Noetic Ninjemys Ubuntu 20.04 (Focal) 官方支持至 2025 年 新项目首选,生态最成熟
ROS Melodic Morenia Ubuntu 18.04 (Bionic) 已停止更新 旧项目维护
ROS 2 Foxy Fitzroy Ubuntu 20.04 活跃开发中 工业级、实时性要求高

我个人习惯:做教学或原型验证,首选 Noetic。它的包最全,社区最活跃。你遇到问题,网上随便一搜就有答案。

核心结论:如果你用的是 Ubuntu 20.04,直接装 Noetic。别犹豫。

软件源配置:把源头搞对

安装 ROS 的第一步,是让系统知道去哪下载。这一步很多人忽略,结果装到一半报 404 错误。嗯,这里要注意。

打开终端,先更新一下系统源:

sudo apt update
sudo apt upgrade -y

然后添加 ROS 的官方软件源。我建议用中科大的镜像,速度比官方快很多。我曾经在项目现场用官方源,下载速度只有几十 KB,等了一个小时还没装完……后来换成国内镜像,五分钟搞定。

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 install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

小技巧:如果密钥下载失败,可以手动从 ROS 官网下载 .asc 文件,然后用 sudo apt-key add ros.asc 导入。

最后再更新一次:

sudo apt update

看到源列表里有 ros-noetic 相关的包,就说明配置成功了。

完整安装步骤:一步步来

ROS 的安装方式有好几种。我推荐你装完整桌面版,省得后面缺包再补。你想想看,编译到一半报缺少某个依赖,多闹心。

安装命令很简单:

sudo apt install ros-noetic-desktop-full -y

这个命令会安装 ROS 核心、可视化工具(Rviz、Rqt)、仿真器(Gazebo)等。大概需要 1-2 GB 空间,下载时间取决于你的网速。

安装过程中,终端会滚动输出很多信息。别慌,这是正常的。等它回到命令行提示符,就装好了。

注意:安装过程中如果报依赖错误,先执行 sudo apt --fix-broken install 修复,再重新安装。

装完之后,可以验证一下:

dpkg -l | grep ros-noetic

如果看到一堆 ros-noetic-* 的包,说明安装成功。

环境变量设置:让系统认识 ROS

安装完只是第一步。你还得告诉系统,ROS 的命令在哪、怎么找到你的工作空间。这一步不做,你输入 roscore 会提示命令找不到。

我个人习惯把环境变量加到 .bashrc 里,这样每次打开终端自动生效。

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

验证一下:

echo $ROS_PACKAGE_PATH

如果输出包含 /opt/ros/noetic/share,就说明环境变量生效了。

避坑指南:我曾经在服务器上装 ROS,忘了 source 环境变量,结果所有 ROS 命令都报错。排查了半天才发现是这个问题。所以,每次新开终端,记得先 source /opt/ros/noetic/setup.bash。

核心流程一览

我把整个安装流程画成了一张图,方便你对照操作:

ROS Noetic 安装核心流程 1. 版本选择 2. 软件源配置 3. 安装 ROS Noetic 4. 环境变量设置 5. 验证安装 关键检查点 • Ubuntu 20.04 确认 • 网络连接正常 • 磁盘空间 > 2GB 常见问题 • 密钥导入失败 • 依赖冲突 • 环境变量未生效

验证安装:跑个 Hello World

装完不验证,等于白装。我们来启动 ROS 的核心服务——roscore。

roscore

如果看到类似下面的输出,就说明核心启动成功了:

... logging to /home/yourname/.ros/log/...
started roslaunch server http://localhost:11311/
ros_comm version 1.15.14

再开一个新终端,试试 ROS 的经典命令:

rosnode list

输出 /rosout,说明 ROS 节点管理器正常工作。

恭喜!到这里,ROS Noetic 就装好了。你的机械臂仿真环境已经搭好了第一块基石。

避坑总结

最后,我把这些年踩过的坑总结一下:

  • 版本不对:Ubuntu 20.04 装 Noetic,Ubuntu 18.04 装 Melodic。混着装会报依赖错误。
  • 源没配好:用国内镜像,别用官方源。我曾经在客户现场用官方源,下载速度慢到怀疑人生。
  • 环境变量没 source:每次新开终端都要 source。我建议直接写进 .bashrc。
  • 权限问题:ROS 的日志目录在 ~/.ros,如果遇到权限错误,直接删掉这个目录重建。