我有一个自定义ros节点,该节点从机器人关节订阅数据。为了访问关节数据,我有一个None变量,在函数回调期间将关节位置分配给该变量。现在的问题是,我只能在订户运行时访问该变量,一旦其停止,该变量将重置为“无”。如果ros节点继续运行,则除非停止此循环,否则我的程序无法跳至下一行。因此,我要么对这个循环感到震惊,要么通过loginfo获得所有这些数据,要么,如果我删除了rospy.spin()行,则在接下来的行中使用该位置存储数据的行中,由于节点停止,它返回None。 。有人可以建议我为此工作吗?
def callback(data):
Position = data.position
我正在订户中使用此回调
调用位置时,我想访问机器人的位置值,因为我已将data.position分配给位置。但是它返回的None
,我相信是因为,因为position是None
类型,所以只要节点旋转或运行,它就只会获取分配给它的data.position值,一旦它停止,它可能重置为None
。但是如果我让它继续使用rospy.spin()
旋转,我的程序将陷入rospy.spin
的无限循环中,因此不会前进到下一步