当我像下面这样查找转换时,
(trans, rot) = self.listener.lookupTransform(\
self.robot_link, target_link, rospy.Time(0)) 弹出错误:Lookup would require extrapolation into the past.
但是,当我将此行更改为
(trans, rot) = self.listener.lookupTransform(\
self.robot_link, target_link, rospy.Time.now()) 处理请求时出错:Lookup would require extrapolation into the future.
我该如何解决这个问题?
发布于 2019-12-19 16:35:43
您可以等待转换在特定的持续时间内变为可用,如tf and Time ROS tutorial中所述
now = rospy.Time.now()
listener.waitForTransform(self.robot_link, target_link, now, rospy.Duration(4.0))
(trans,rot) = listener.lookupTransform(self.robot_link, target_link, now)这会阻止并等待您指定的持续时间,直到您要查询的转换可用。
您可能希望添加一些对转换在等待持续时间内未发布的情况的处理。
https://stackoverflow.com/questions/59402525
复制相似问题