在硬件上 C++ 和 Python 之间通信的最佳方式是什么?

What is the best way to communiate between C++ and Python on Hardware?

设置:在 C++ 上运行的机器人和 python 中的 RL 训练算法。机器人循环以 1kHz 运行(可以更高)。

目标:将机器人状态信息发送到在线 RL 训练并将控制输入发送回机器人。

有没有最好的方法来实现 C++ 和 Python 进程之间的来回通信(无需使用 Robot-Operating-System)?

谢谢

就我个人而言,我会做与@tdelaney 和@cdhowie 已经提到的相同的事情:使用 IPC 套接字通信。但是,我认为使用 zeromq 或外部库来这样做太过分了,因为只使用 Python 标准库应该没问题而且同样容易。根据您的应用程序,使用共享内存可能更有效,但更难设置并且有限制(这两个进程必须 运行 在同一台机器上,等等)。已经有很多关于这个主题的帖子。这个和你想要达到的很接近,答案也很详细。