首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rospy订阅者必须在函数中吗?

rospy订阅者必须在函数中吗?
EN

Stack Overflow用户
提问于 2015-10-16 19:24:47
回答 1查看 267关注 0票数 1

我见过的大多数程序和示例都是在函数中初始化rospy订阅者,例如

代码语言:javascript
复制
def listener():
    rospy.Subscriber('/heylookitsanoutput',Image,imagecallback)
    rospy.spin()

但是有必要将其保持在一个函数中吗?它可以像MQTT一样工作吗?在MQTT中,您在函数的开头抛出订阅者,并在看到某些内容发布到订阅的主题时执行回调。

我可以理解这样做的必要性,因为您可能需要rospy.spin()来等待您正在寻找的输入,但是如果回调可以作为一个可中断的事件触发,那么对于我的场景(随着新图像的到来更新图像窗口)可能会更好。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-02-16 20:52:44

您也可以在函数外部启动rospy订阅者,即在if __name__ == "__main__":块中。他的行为是完全相同的,在看到某些内容发布到订阅的主题时执行回调。

我认为将这些命令嵌入到函数中的要点是可以轻松地将它们导入到其他模块中,并获得更好的代码组织。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33169299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档