我尝试将机器人抓取器的位置映射到抓取器所握持的物体所施加的阻力。我预订了一个主题的抓取器位置,又订阅了另一个主题的阻力值,因为我想确保抓取器位置与该位置的确切阻力值相对应。鉴于两者都是浮动消息,如何同步它们?
self.sub1 = rospy.Subscriber("resistance", Float64, self.ard_callback)
self.sub2 = rospy.Subscriber("gripperpos", Float64, self.grip_callback)
您可以TimeSynchronizer
在中使用rospy
。
这是一个订阅多个主题以同时获取数据的示例:
import message_filters
from sensor_msgs.msg import Image, CameraInfo
def callback(image, camera_info):
# Solve all of perception here...
image_sub = message_filters.Subscriber('image', Image)
info_sub = message_filters.Subscriber('camera_info', CameraInfo)
ts = message_filters.TimeSynchronizer([image_sub, info_sub], 10)
ts.registerCallback(callback)
rospy.spin()
如果您的问题没有解决,则ApproximateTimeSynchronizer
不是TimeSynchronizer
:
ts = message_filters.ApproximateTimeSynchronizer([image_sub, info_sub], 1, 1)
阅读更多
问题内容: 我想创建一个从(a)类类型到(b)long(已定义类类型的对象的标识符)到(c)对象本身的映射。 我有以下内容: 是否有可能以某种方式表示第一个必须与第二个具有相同的类型?我期待这样的事情,但这当然是不可能的: 问题答案: 作为替代方案,您可以使用少量的非类型安全代码以强制执行约束的方式封装: 该在不需要编译器不会抱怨,但它会帮助赶上了错误的类型进入缓存早期的对象。
问题内容: 我有4种方法(,,和一类)。方法,并有方法。另外,我有4个线程,,和分别。 如果访问方法(同步方法),线程访问方法(同步方法)是否可以同时进行?如果不是,则t2的状态如何? 问题答案: 如果t1访问m1方法(同步方法),t2线程可以同时访问m2方法(同步方法)吗? 该关键字适用于 目标水平 ,且只有一个线程可持有对象的锁。因此,只要您在谈论同一个对象,那么 否 ,它将等待释放进入时获得
问题内容: 是否可以使用javascript或Submit按钮同时提交两个表单? 表单结构可以如下所示: 并从两个数组中获取数据? 问题答案: 不,这是不可能的。您可以创建第三个隐藏表格,该表格将序列化这两个表格中的字段。 如果可以使用jQuery: 您需要确保str1和str2不为空,并且当然要避免两种形式之间的名称冲突。
问题内容: 我已经编写了一个JavaScript函数,该函数使用XmlHttpRequest异步调用Web服务。我被要求使此功能在呈现页面之前完成其工作。 我以为我可以使AJAX请求同步,但是我不希望这使页面挂起太长-如果没有收到响应,我想在1秒后中止请求。 是否可以中止同步的XmlHttpRequest? 问题答案: 您不能: http://www.hunlock.com/blogs/Snipp
两个线程可以同时使用同一个套接字吗? 例如,首先我打开一个表示Android客户端和windows 7服务器之间连接的套接字。我想使用DataOutpuStream发送一个文件大小的整数,然后在此之后我将使用BufferedOutpuStream发送二进制文件,例如pdf 服务器将获取客户端发送的大小,然后检查收到的文件大小是否正确。它将发送整数、文件大小编号与收到的文件的实际大小进行比较。如果有
问题内容: 假设我有一个类A,而B,C,D是从A派生的。 如果我想知道所引用的对象的类型是什么,可以声明: 这是因为我确定从A派生的类只有B,C和D。 但是,如果我只想检查两个引用是否指向同一种对象,该怎么办? 所以像这样: 但是当然语法是错误的,如何在没有1000 if-else的情况下进行检查? 问题答案: 你的意思是 即使和属于相同的特定类,也应返回true 。 但是,如果与进行比较,则此方