ROS2与ROS共存

Posted

技术标签:

【中文标题】ROS2与ROS共存【英文标题】:ROS2 coexistence with ROS 【发布时间】:2020-04-20 23:17:55 【问题描述】:

如果我已经在我的 linux 机器上安装了 ROS,我可以安装 ROS2 并毫无问题地同时使用吗?

我已经安装了 ROS,我正在使用它来学习这个概念,但我最终必须在其中工作的系统是 ROS2。

【问题讨论】:

【参考方案1】:

是的,ROS1 和 ROS2 可以共存。 根据您要使用的 ROS 版本,将适当的 setup.bash 获取到。 对于 ROS1:source /opt/ros/melodic/setup.bash 对于 ROS2:source /opt/ros/dashing/setup.bash

【讨论】:

谢谢。我已将该来源放在.bashrc 文件中。如果我想使用一个(ROS)然后另一个(ROS2)我必须编辑这个文件吗? (意思是我不能同时放两个) 最后获取的文件将是活动的。我建议您为它们创建别名并在需要时使用它们。将它们都添加到 .bashrc 不会是多余的。【参考方案2】:

是的,您可以将 ROS1 与 ROS2 一起使用(如果您愿意,可以同时使用来自同一 ROS 版本的不同发行版),唯一的要求是获取正确的 setup.bash 文件:

source /opt/ros/[distribution]/setup.bash

如果您想在同一个应用程序中使用 ROS1 和 ROS2,请查看名为 ROS1_bridge 的 ROS2 包,它允许您将 ROS1 主题连接到 ROS2 主题(反之亦然)。

【讨论】:

【参考方案3】:

根据Shrijit Singh 的评论,你需要在你的主目录中创建文件 .bash_aliases 然后写:

alias source-ros='source /opt/ros/noetic/setup.bash'
alias source-ros2='source /opt/ros/foxy/setup.bash'

然后你只需要在你的终端输入 source-ros 或 source-tos2 您无需在 .bashrc 中添加任何内容,因为 .bash_alias 会自动从那里加载。

【讨论】:

以上是关于ROS2与ROS共存的主要内容,如果未能解决你的问题,请参考以下文章

ROS2日文新书-2021-07

ROS2日文新书-2021-07

esp32与ros2的开关灯

ROS2&AI电脑摄像头intel-D435,利用ros2发布订阅图像(Python)

ROS2极简总结-新增概念

ROS2学习笔记3--认识ros2节点node