0

我是 ROS 系统的新手,我正在开发一个订阅两个视频源并用它做一些简历的系统。

但我很困惑,我应该使用具有两个不同订阅者的两个 python 文件(两个节点),还是只使用一个具有两个不同订阅者的类的 python 文件?

完全一样吗?或者哪种方式是定义我的代码的更好方式?

谢谢!!

还有一个小问题……我能知道图像类型数据的来源吗?因为我有两个图像数据要接收,但它们的图像大小完全一样。我需要知道哪个是对其进行不同处理的原因,所以这就是我在工作中使用两个订阅者的原因

如果我只使用一个订阅者订阅两个源图像,我可以区分是哪一个吗?

4

1 回答 1

0

你的第一个问题太含糊,无法回答。实现细节完全取决于您的应用程序和您拥有的约束。作为一般规则,如果您认为它的计算成本很高,您应该使用两个不同的节点。

你的第二个问题有一个更明确的答案。_connection_header您可以通过收到的消息的字段访问调试信息。

>>> print(some_msg._connection_header)
{'callerid': '/talker_38321_1284999593611',
'latching': '0',
'md5sum': '992ce8a1687cec8c8bd883ec73ca41d1',
'message_definition': 'string data\n\n',
'topic': '/chatter',
'type': 'std_msgs/String'}
>>> print(some_msg._connection_header['callderid'])
'/talker_38321_1284999593611'

我应该注意,除了用于调试之外,不建议这样做。

于 2021-10-21T14:52:16.930 回答