ROS接收发布消息相关——queue_size

ROS topic接收与发布

ROS中的一种消息发布的方式是使用话题topic,分别采用Publisher和Subscriber。

由于程序随时在通过Publisher和Subscriber收发消息,回调函数处理需要时间,就可能出现收发速度不一致的现象。ROS可以通过消息队列的方式来解决这个问题。

queue_size队列大小

Publisher设置queue_size:缓存即将发送的消息到队列中,如果待发布队列的消息数超过queue_size,则将队列中最老的消息丢弃(有点先进先出的意思)。

Subscriber设置queue_size:缓存接收到的消息,如果接收到的消息超过queue_size,则将接收到最早的消息丢弃。

一个实时发布和接收消息的例子

将publisher和subsriber的queue_size都设为1,就可以实现实时收发

# publisher
pub = rospy.Publisher('topic_name', String, queue_size=1)
# subscriber
sub = rospy.Subcriber('topic_name',String , callback, quesize=1)
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值