您正在阅读的是旧版本但仍受支持的 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 示例 应与您的新安装一起使用