作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题是如何将一个值从一个订阅者的回调函数传递给另一个订阅者。
这有意义吗?
import rospy
from sensor_msgs.msg import LaserScan, Int32
from xxx2.msg import xxyy2
global x
x = None
def callback2(data):
x=data[0]
def callback(data):
if x > data.ranges[0]:
print("nice")
rospy.Subscriber("/scan", LaserScan, callback)
rospy.Subscriber("topic", xxyy2, callback2)
rospy.spin()
最佳答案
您可以“传递”变量 x
到两个回调,因为你可以将它传递给任何其他函数,通过制作 x
以您的方式或通过制作全局化 x
以及允许您访问它们的类的回调函数成员。
默认情况下,回调是按顺序调用的,因此在这种情况下您无需担心竞争条件。
根据您的用例,您可以将回调与 message filters 同步如果需要的话。
关于ros - 如何在rosnode中将值从一个订阅者的回调函数传递给另一个订阅者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58952416/
我是一名优秀的程序员,十分优秀!