我已将 ROS 订阅者写入其中一个图像主题,并使用以下方法将缓冲区设置为 1:
subscriber =rospy.Subscriber("/camera/rgb/image_mono/compressed",CompressedImage, callback, queue_size=1)
但是我的订户仍然落后。知道是什么原因造成的吗?我是否正确设置了队列大小?
最佳答案
队列用于对传入消息进行排队。这意味着,如果您的回调处理时间比新消息到达的时间长,则仅保留 queue size
,其他节点不会处理其他消息。
我建议在发布之前在发布者节点中打印一条消息,并在回调方法的顶部打印一条消息。然后你可以准确地测量 ros 处理你的消息所需的时间。所有其他计时问题都可能由您的回调方法引起。
关于python - Ros 订阅者不是最新的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26415699/