2015-10-16 47 views
1

大部分节目和例子我见过发起rospy用户的功能,如一个rospy用户必须在一个函数?

def listener(): 
    rospy.Subscriber('/heylookitsanoutput',Image,imagecallback) 
    rospy.spin() 

,但是否有必要保持一个函数内?它可以像MQTT一样工作吗?你可以在一个函数的开始处抛出订阅者,并且在看到某个帖子发布到订阅的主题后执行回调?

我可以理解需要这样做,因为您可能需要rospy.spin()等待您正在查找的输入,但是如果回调可以作为可中断事件触发,那可能对我更好场景(将图像窗口更新为新图像)。

谢谢!

回答

1

可以在if __name__ == "__main__":块也发起rospy订户的功能外, 即。 他的行为将完全相同,在看到某个帖子发布到订阅主题后执行回调。

我想在函数内部嵌入这些命令的主要观点是可能性,将它们导入其他模块轻松,以获得更好的代码的组织。

相关问题