【发布时间】:2021-12-30 07:44:27
【问题描述】:
我正在一个系统中开发 ros 节点,该系统运行的其他节点对我来说是不透明的(由另一方开发并且基本上锁定了任何更改)。其中一个节点在系统启动序列的早期发布关于 ROS 主题的单个消息。不能保证我的节点会及时看到这条消息被发布,实际上我的节点更有可能还没有启动。此消息包含我的节点正确配置自身所需的一些信息以及其他一些信息。
那么我的节点有什么方法可以在消息发布后检索它?
【问题讨论】:
我正在一个系统中开发 ros 节点,该系统运行的其他节点对我来说是不透明的(由另一方开发并且基本上锁定了任何更改)。其中一个节点在系统启动序列的早期发布关于 ROS 主题的单个消息。不能保证我的节点会及时看到这条消息被发布,实际上我的节点更有可能还没有启动。此消息包含我的节点正确配置自身所需的一些信息以及其他一些信息。
那么我的节点有什么方法可以在消息发布后检索它?
【问题讨论】:
没有一种方法可以查看跨主题的消息历史记录。但是,您可以让发布者锁定。这意味着当它发布一条消息时,订阅者将继续看到它,直到有新消息取代它。它可以通过rospy.Publisher的可选参数使用
pub = rospy.Publisher('topic_name', topic_type, queue_size=10, latch=True)
【讨论】: