def cb_reset(self, msg): self.kf.__init__() self.state_lock.acquire() pantiltReset(self.ptu_pub) result = ptu_control.msg.PtuResetResult() self.pan = 0 self.tilt = 0 self.state_lock.release() self.as_reset.set_succeeded(result)
def __init__(self, reset=True): self.PAN_RANGE = rospy.get_param('pan_range', 70) self.TILT_RANGE = rospy.get_param('tilt_range', 30) self.PARENT_FRAME = rospy.get_param('parent_frame', 'odom') self.PTU_FRAME = rospy.get_param('parent_frame', 'ptu') # setup the subscribers and publishers self.joint_pub = rospy.Publisher('state', JointState) self.ptu_pub = rospy.Publisher('/pantilt', PanTilt) self.as_goto = actionlib.SimpleActionServer('SetPTUState', \ ptu_control.msg.PtuGotoAction, execute_cb=self.cb_goto) self.as_reset = actionlib.SimpleActionServer('ResetPtu', \ ptu_control.msg.PtuResetAction, execute_cb=self.cb_reset) rospy.Subscriber('ground_truth_pantilt', PanTilt, self.ground_truth_cb) self.br = tf.TransformBroadcaster() threading.Thread(target=self.send_transform).start() if reset: rospy.sleep(1.0) pantiltReset(self.ptu_pub)