【发布时间】:2020-07-28 18:28:37
【问题描述】:
设置:在 C++ 上运行的机器人和 Python 中的 RL 训练算法。机器人循环以 1kHz 运行(可以更高)。
目标:将机器人状态信息在线发送到 RL 训练,并将控制输入发送回机器人。
是否有实现 C++ 和 Python 进程之间来回通信的最佳方式(无需使用Robot-Operating-System)?
谢谢
【问题讨论】:
-
ros是谁,为什么不能参与?沟通的方式有很多种。如果一个程序运行另一个程序,通过 stdin/stdout 泵送东西可能就足够了(记得刷新缓冲区)。 Zeromq 是一个很棒的工具包。其中一个带有 REST 接口的迷你 Web 服务器非常棒。
-
什么是“ros”?一个进程是由另一个进程启动的,还是独立启动的?它们是否在同一台机器上运行?
-
1kHz 在现代硬件上算不了什么...我正在尝试考虑一种无法处理 1kHz 的 IPC 机制。我赞同调查 zeromq 的建议;它有一个简单的 API,有数十种编程环境的实现,并且应该非常快。
-
进程间通信可能是您正在寻找的术语
-
我指的是ros.org。这两个进程都是独立运行的。他们在同一台机器上。谢谢你。将调查 Zeromq。