如何解决非Ubuntu平台上的ROS / ROS 2
我当时想学习ROS,但我意识到ROS官方仅支持ubuntu。我习惯使用另一个Linux发行版,即Fedora。
所以我想知道,如果我在fedora上安装ROS(社区将其列为实验性的)。它将与所有可用的资源/程序包/选项一样流畅吗?
此外,ROS 2 Foxy Fitzro可以在Windows上使用,可以使用吗?还是我可能缺乏支持? 我在某处看到ROS在其他平台上没有所有软件包和类似问题
解决方法
ROS中使用的某些软件包目前在Fedora RPM存储库中不可用。 RPM Fusion中提供了其他大多数软件包。请参阅RPM Fusion Command Line Setup。
ROS 2 Foxy Fitzro在Windows上可用,可以使用吗?
是的,Windows上提供了ROS 2 Foxy Fitzro,但是预构建的二进制文件并不包含所有ROS 2软件包。包括ROS基本版本中的所有软件包,仅包含ROS桌面版本中的一部分软件包。
,此答案仅涉及Fedora部分。它可以在Fedora 33上使用。
我不是ROS专家,所以我不能回答这个问题:
是否可以流畅并且在所有可用资源/程序包/选项下正常工作?
但是我不想太乐观。如果您只想测试ROS,那就可以了。但是,如果您要进行生产开发,则最好使用Ubuntu,而不要浪费时间来调整ROS以实现Fedora兼容性。
但是,可以在Fedora上运行ROS。我能够在demo_nodes_py
和talker
模式下运行listener
。这是ROS的问候世界。
构建源代码
没有可用一个简单的命令来安装ROS的软件包,我也无法运行CentOS的“胖存档”。我遇到了错误,我花了不到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上)。它允许发送和接收消息。例如,我能够在这两种情况下进行交互:
-
talker (Docker)
Listener (Fedora from source)
-
talker (Fedora from source)
Listener (Docker)
。
在Ubuntu上使用虚拟机
这听起来是更安全地利用ROS的潜力的方法。但是虚拟机将需要更多的磁盘空间,更多的计算,并且您应该学习Ubuntu风格才能在虚拟机中工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。