说我要订阅多个ROS主题。通常,我可以将message_filters :: sync_policies与确切时间或近似时间一起使用。但是由于财产
消息仅使用一次。两组不能共享同一条消息。某些邮件可以删除。
这意味着仅当所有主题都链接到集合中时,它才会运行绑定的回调函数。
在某些情况下,一个传入主题(例如,主题A )的比率是其他主题的一半,例如 B和C ,而我没有想要将B或C主题中的任何一个放到A上,是否有现成的方法或算法?
例如,我可以复制或插入A消息。或者,我可以生成一些“伪” A消息(占用很少的资源),因此我可以轻松地输入回调函数。
如果没有这样的软件包,我想我可能会尝试写一个可能对某些特殊情况有所帮助的软件包。如果我自己制作,则必须花很多时间来确保它能正常工作。你觉得呢?
答案 0 :(得分:0)
使用message_filters::Cache可能是您的手动解决方法。
topic A
,但我至少会总是高一点。topic B/C
回调中,您可以使用topic A
从getLatestTime()
缓存中检索最新消息。因此,您的代码中将有两个(缓存的topic A
和同步的topic B/C
)订户。