def __init__(self, expression_enum, gesture_enum): Entity.__init__(self, Robot.ENTITY_TYPE, Robot.ENTITY_TYPE + str(1), None) self.expression_enum = expression_enum self.gesture_enum = gesture_enum self.gaze_client = actionlib.SimpleActionClient('gaze', TargetAction) self.gaze_found = False self.expression_client = MultiGoalActionClient('expression', ExpressionAction) self.expression_found = False self.tts_client = actionlib.SimpleActionClient('text_to_speech', TextToSpeechAction) self.tts_found = False self.gesture_client = MultiGoalActionClient('gesture', GestureAction) self.gesture_found = False self.tts_duration_srv = rospy.ServiceProxy('tts_subsentence_duration', TextToSpeechSubsentenceDuration) self.tts_duration_found = False self.event = None self.action_handles = [] self.say_to_plan = SayToPlan(self) self.gaze_ah = None self.say_ah = None self.lock = threading.RLock() self.listen_cb = None self.listen_sub = None
def test_wait_for_server(self): started1 = self.client.wait_for_server( timeout=rospy.Duration.from_sec(1.0)) client2 = MultiGoalActionClient("i_dont_exist", TimerAction) started2 = client2.wait_for_server( timeout=rospy.Duration.from_sec(1.0)) self.assertEqual(started1, True) self.assertEqual(started2, False)
def setUp(self): global count rospy.init_node("test", anonymous=True) self.action_server = TimerActionServer( TestMultiGoalActionClient.ACTION_SERVER_NAME + "_" + str(count)) self.action_server.start_server() self.client = MultiGoalActionClient( TestMultiGoalActionClient.ACTION_SERVER_NAME + "_" + str(count), TimerAction) self.client.wait_for_server() count += 1