非ubuntu平台上的ROS/ROS 2



我想学习ROS,我意识到ROS官方只支持ubuntu。我习惯于使用另一个Linux发行版,即Fedora。

所以我想知道,如果我在软顶帽上安装ROS(社区将其列为实验性的(。它是否能在所有可用资源/软件包/选项的情况下顺利工作?

此外,ROS 2 Foxy Fitzro在windows上可用,使用它可以吗?或者我可能缺乏支持?我在哪里读到其他平台上的ROS没有所有的包和类似的问题

ROS中使用的一些包目前在Fedora RPM存储库中不可用。大多数其他软件包在RPM Fusion中可用。请参阅RPM Fusion命令行设置。

ROS 2 Foxy Fitzro在windows上可用,使用它可以吗?

是的,ROS 2 Foxy Fitzro在windows上可用,但预构建的二进制文件并不包括所有ROS 2包。ROS基本变体中的所有包都包括在内,并且只包括ROS桌面变体中的包的子集。

这个答案只涉及Fedora部分。它适用于Fedora 33。

我不是ROS专家,所以我不能回答这个问题:

它是否能像那样顺利地工作,并使用所有可用资源/包/选项?

但我不想太乐观。如果你只想测试ROS,那可能没问题。但是,如果你正在寻找一个生产开发,你应该更好地使用Ubuntu,而不是浪费时间来调整ROS的Fedora兼容性。

然而,在Fedora上运行ROS是可能的。我能够在talkerlistener模式下运行demo_nodes_py。这是ROS你好世界。

生成源

没有在一个简单的命令中安装ROS的软件包,我也无法运行";胖档案";。我犯了错误,我没有花超过15分钟的时间来解决它们。互联网上的信息很差。

到目前为止,我发现的唯一解决方案是从源头构建ROS。该操作并不复杂,因为它有充分的文件记录:https://index.ros.org/doc/ros2/Installation/Foxy/Fedora-Development-Setup/

请注意,编译大约需要2个小时。

请注意,编译可能需要很多技巧,尤其是当它失败时。

虚拟化

这些解决方案甚至应该与其他Linux发行版配合使用。

使用Docker

您可以下载此图像:https://hub.docker.com/_/ros

如果你已经安装了Docker并且对它很熟悉,这似乎是一个公平的解决方案。它开箱即用,图像网页也有完整的文档。

得益于docker卷,可以在Fedora环境中开发代码和读取日志,并在debian容器中运行ROS应用程序。

此外,您还可以将容器连接到您的系统localhost(在Fedora上(。它允许发送和接收消息。举个例子,我能够在这两个上下文中进行交互:

  1. talker (Docker)&lt->Listener (Fedora from source)
  2. talker (Fedora from source)&lt->Listener (Docker)

在Ubuntu上使用虚拟机

这听起来是充分利用ROS潜力的更安全的方法。但是虚拟机将需要更多的磁盘空间,更多的计算,你应该学习Ubuntu风格来在虚拟机中工作。

您可以将其用于简单级别的操作,而不会出现任何问题,但当涉及到更具体的问题时,您很可能会遇到奇怪的问题。这些问题的解决方案可能非常复杂。因此,以某种方式将其下载到ubuntu会更安全。

最新更新