繁体   English   中英

Python2.7 和 Python3 模块之间的 ROS 消息

[英]ROS messages between Python2.7 and Python3 modules

我目前正在研究一个强化学习模块,需要在 Python 2.7 中从 ROS 接收和发送状态、动作和奖励信息。 由于系统的其余部分,这是一个硬约束。

我想将OpenAI 健身房环境和基线用于我的强化学习代理,但这些都随 Python 3.5+ 一起提供。

我作为一个新奇的机器人研究员的问题是,是否可以从 Py2.7 到 Py3.5+ 接收 ROS 消息并将它们发送回 Py2.7? 我得到了为此目的使用UDPROS的建议,但我缺乏这方面的经验。 这是正确的方法,还有更好的方法吗?

对于依赖 Python2.7 中遗留代码的大型系统来说,这不是一个常见问题吗?

几天来,我一直被完全相同的问题弄糊涂了。 我不确定您使用的是哪个 ROS 发行版,但我认为它是 Kinetic,因为您提到它仅支持 python2。

我已经通过创建 python3 的虚拟环境解决了我的笔记本电脑(ubuntu 16.0.4,ROS Kinetic)上的问题,并在该虚拟环境中运行 ros 和基线。 看起来当环境中没有 python2 时,ROS Kinetic 仍然可以很好地处理那些基本功能(例如发布和订阅主题......)。

此外,我已经在我的 PC(ubuntu 18,ROS Melodic)上解决了这个问题。 Melodic 支持 python3,因此您可以通过这种方式在 python3 上运行基线和 ROS。

希望这会帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM