def __init__(self, memory_service, memory_key, latch=False, prefix='/qi/'):
self.memory_service = memory_service
try:
self._pub = rospy.Publisher(prefix + memory_key,
String, latch=latch,
queue_size=1)
self._sub = self.memory_service.subscriber(memory_key)
self._sub.signal.connect(self._on_event)
if latch:
hist = self.memory_service.getEventHistory(memory_key)
if len(hist) > 0:
try:
self._on_event(hist[-1][0])
except Exception:
pass
rospy.loginfo('subscribed to %s on Qi' % memory_key)
except Exception as e:
rospy.logwarn("Cannot set up for %s: %s" % (memory_key, str(e)))
评论列表
文章目录