您正在阅读的是旧版本但仍受支持的 ROS 2 文档。 Jazzy.

使用 ros1_桥 在 Ubuntu 22.04 上使用上游 ROS

在 Ubuntu 22.04 Jammy Jellyfish 上发布 ROS 2 Humble(和 Rolling)标志着 ROS 2 首次在一个没有正式发布 ROS 1 的平台上发布。尽管 ROS 1 Noetic 在其生命周期内仍将继续得到支持,但其 长期支助窗口,它将只针对 Ubuntu 20.04。另外,还有 ROS 1 软件包的上游变体 在 Debian 和 Ubuntu 中,ROS 维护者并未将其作为官方发行版进行维护。

本指南概述了当前在 Ubuntu 22.04 Jammy Jellyfish 上将 ROS 2 与这些上游软件包桥接的机制。这为仍然依赖 ROS 1,但希望迁移到更新的 ROS 2 和 Ubuntu 版本的用户提供了一条迁移路径。

通过 Debian 软件包运行 ROS 2

安装 来自 Debian 软件包的 ROS 2 目前无法在 Ubuntu Jammy 上运行 ROS 2。版本的 catkin-pkg-modules 与 ROS 2 软件包库中的软件包冲突。

如果 ROS 2 的 apt 仓库在可用的 apt 仓库 (/etc/apt/sources.list.d),将无法安装 ROS 1 软件包。错误信息如下

$ 适切 安装 ros-core-dev 阅读 包装 列表... 完成建设 依赖性 树... 阅读完毕  信息... 做了一些 套餐 可以   已安装。  可以 吝啬   已要求 一个 不可能 情势  如果   使用  不稳定分布  一些 所需 套餐    一直 创建或 一直 感触 向外  来了来信 接下来 信息 可以 帮助  决心  情况:该 接下来 套餐  未实现 依赖性:
 核心开发 : 视情况而定: 柔荑花序     可安装 E: 无法  正确的 问题   举行 坏了 打包。

要纠正这种情况,请从您的 来源列表.如果您遵循的是 ROS 2 安装指南,只需移除 /etc/apt/sources.list.d/ros2.list

目前,为了支持 ros1_桥请按照以下说明从源代码构建 ROS 2。

来自源代码的 ROS 2

安装 源代码中的 ROS 2 是唯一能在 Ubuntu Jammy 上运行 ROS 2 的配置。

以下是源代码构建说明中的必要说明摘要。最大的不同是,由于软件包之间存在冲突,我们跳过了使用 ROS 2 apt 软件仓库。

安装开发工具和 ROS 工具

因为我们没有使用 ROS 2 的 apt 仓库、 胶管 必须通过 核心.

苏都 适切 更新 &&; 苏都 适切 安装 -y \
  基本建设 \
  cmake \
  笨蛋 \
  python3-flake8 \
  python3-flake8-blind-except \
  python3-flake8-builtins \
  python3-flake8-class-newline \
  python3-flake8-comprehensions \
  python3-flake8-deprecated \
  python3-flake8-docstrings \
  python3-flake8-import-order \
  python3-flake8-quotes \
  python3-pip \
  python3-pytest \
  python3-pytest-cov \
  python3-pytest-repeat \
  python3-pytest-rerunfailures \
  python3-rosdep \
  python3-setuptools \
  wget

# 从 PyPI 安装 colcon,而不是安装 apt 软件包
python3 -m 核心 安装 -U Colcon-common-extensions vcstool

从这里继续 源安装指南 来构建 ROS 2。

从 Ubuntu 软件包中安装 ROS 1

苏都 适切 更新 &&; 苏都 适切 安装 -y 核心开发

建设 ros1_桥

# 为 ros1_bridge 创建工作区
mkdir -p ~/ros1_bridge/src
CD ~/ros1_bridge/src git 复制 https://github.com/ros2/ros1_bridge
CD ~/ros1_bridge

# 获取 ROS 2 工作区的源代码
. ~/ros2_humble/install/local_setup.bash

# 建立
胶管 构建

在建造了所有 ros1_桥其余部分 ros1_bridge 示例 应与您的新安装一起使用