1718 字
9 分钟
记录一次 ROS 2 部署

近期打比赛需要使用 ROS2,为了防止后续使用的时候再查一遍,于是打算记录一下。

WARNING

ROS版本和Ubuntu版本是一一对应的。ROS 2 Jazzy Jalisco 只能在 Ubuntu 24.04 上使用,ROS 2 Humble Hawksbill 只能在 Ubuntu 22.04 上使用。请在安装Ubuntu前先选择合适的ROS版本,再安装对应的Ubuntu版本。

本教程以Ubuntu 24.04为例,安装ROS 2 Jazzy Jalisco。

安装虚拟机和Ubuntu#

TIP

由于我是在 Windows 上部署 ROS 2,所以需要先安装虚拟机。如果是直接在 Linux 上部署的话可以跳过这一部分。

这里我使用的虚拟机是 VMware,你也可以使用其他的虚拟机软件。

下载和安装VMware#

VMware 作为老牌的虚拟机软件,前几年被收购后宣布彻底免费,这就不得不使用一手。但是免费的东西就是贵,需要注册账号就算算了,下载连接让我找了好久。官方藏得是真的深。

官网:VMware by Broadcom - Cloud Computing for the Enterprise

下载链接:ProductFiles - Support Portal - Broadcom support portal

点击下载链接,注册账号,然后回到这个链接,点击 Terms and Conditions 阅读协议,然后勾选同意协议,最后点击这个小云朵就可以开始下载了。

下载完成后进行安装,直接不停地下一步即可。

安装Ubuntu#

Ubuntu官网:Download Ubuntu Desktop | Ubuntu

进入官网下载24.04版本镜像。

打开 VMware,点击 创建新的虚拟机,选择 自定义(高级),点击下一步。剩下的创建过程中,只有以下2个部分需要注意,其他部分按照默认或者按照自己需求配置即可。

安装来源 中,选择 稍后安装操作系统

客户机操作系统 中,选择 Linux 操作系统,版本选择 Ubuntu 64位

创建完成虚拟机后,先别急着启动,我们还需要检查网络配置和选择系统镜像。

设置 - 网络和Internet - 高级网络设置 下,看到2个VMware的选项,则网络配置正常,否则需要检查虚拟机的安装。

接着回到 VMware,双击 CD/DVD(SATA),在 连接中选择 使用ISO映像文件,随后选择刚才下载的 Ubuntu 镜像文件。

配置完成后,点击 开启此虚拟机,根据引导进行安装,然后就可以开始愉快使用了。

但这时如果在安装完成后立即重启,大概率会出现:Please remove the installation medium then press ENTER,这是说我们的安装盘没有拔出。我们只需要先关机,回到 VMware,双击 CD/DVD(SATA),在 连接中选择 使用物理驱动器 即可。

在Ubuntu上安装 ROS 2#

ROS官网:ROS: Home

TIP

官方也提供了安装文档:安装 — ROS 2 文档:爵士风格文档,因此这一部分基本上会根据官方文档走,顶多就是翻译了一下,你也可以直接阅读官方文档来安装。

更换下载源(可选)#

由于Ubuntu默认的下载源是在国外的,就会经常导致下载失败。因此需要把下载源换到国内,就会好很多。

打开 Software & Updates 或者 软件更新器,修改 Download from选项,切换到中国的服务器即可。

系统设置#

确保你使用的区域设置支持UTF-8编码。若你处于精简运行环境中(如 Docker 容器),当前区域设置可能是 POSIX 这类精简版本。我们的测试基于以下配置,不过你使用其他支持 UTF-8 的区域设置也可正常运行。

Terminal window
locale # 检查 UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # 验证设置

接着将 ROS 2 的 APT 软件源添加到系统中。

首先确保 Ubuntu 的Universe 社区软件源已启用:

Terminal window
sudo apt install software-properties-common
sudo add-apt-repository universe

ros-apt-source软件包可为各类 ROS 软件源提供密钥和 APT 源配置信息。

安装ros2-apt-source软件包后,系统会自动配置 ROS 2 相关软件源;当该软件包在 ROS 软件源中发布新版本时,软件源的配置信息也会自动更新。

Terminal window
sudo apt update && sudo apt install curl -y
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F\" '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
sudo dpkg -i /tmp/ros2-apt-source.deb

最后安装开发工具。这是一个可选项。如果你需要编译 ROS 功能包或进行相关开发工作,可以选择安装以下开发工具集:

Terminal window
sudo apt update && sudo apt install ros-dev-tools

安装 ROS 2#

配置好软件源后,先更新 APT 软件源缓存:

Terminal window
sudo apt update

ROS 2 软件包基于频繁更新的 Ubuntu 系统构建。建议在安装新软件包前,先将系统更新至最新状态:

Terminal window
sudo apt upgrade

接下来有两种安装方式:桌面版安装和基础版安装,二选其一即可。

桌面版安装(推荐)#

其中包含 ROS 核心组件、RViz 可视化工具、演示程序及教程,功能最完整:

Terminal window
sudo apt install ros-jazzy-desktop

基础版安装#

属于是精简版,仅包含通信库、消息包和命令行工具,无任何图形界面工具,适合服务器 / 嵌入式场景:

Terminal window
sudo apt install ros-jazzy-ros-base

配置环境#

通过加载(source)以下文件完成 ROS 2 环境配置:

Terminal window
source /opt/ros/jazzy/setup.bash
NOTE

如果你未使用 bash Shell,请将命令中的 bash 替换为你当前的 Shell 类型。可选的环境配置文件对应:

  • setup.bash:适配 bash Shell
  • setup.sh:通用 Shell 适配
  • setup.zsh:适配 zsh Shell

验证安装#

官方还给出了一个例子。

在一个终端中,获取设置文件的源代码,然后运行一个 C++ :

Terminal window
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_cpp talker

在另一个终端中获取设置文件,然后运行一个 Python :

Terminal window
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener

如果你看到发送的消息被接收,那说明安装成功了。

安装可视化工具RQt#

官方对它的介绍如下:

RQt 是一个图形用户界面框架,以插件的形式实现了各种工具和接口。用户可以在 RQt 内以可停靠窗口的形式运行所有现有的 GUI 工具。这些工具仍可以传统独立方式运行,但 RQt 使管理单屏布局中所有不同窗口变得更方便。

RQt 提供了一种更友好的方式来操作 ROS 2 元素。有了它,你就可以非常轻松的查看节点关系、请求服务等。

使用如下命令安装:

Terminal window
sudo apt update
sudo apt install '~nros-jazzy-rqt*'

运行:

Terminal window
rqt

在 Turtlesim 运行时,可以通过 rqt 调用服务:

  1. 从下拉菜单选择 Plugins → Services → Service Caller
  2. 选择服务 /spawn
  3. 在此处可以直接调整生成位置(x、y 坐标)、实例名称等参数
  4. 点击 Call 按钮
记录一次 ROS 2 部署
https://testblog.jijiz.cn/posts/2026-02-01-记录一次_ros_2_部署/
作者
SakuraVillager
发布于
2026-02-01
许可协议
CC BY-NC-SA 4.0

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助