예제 #1
0
파일: robot.py 프로젝트: jdddog/hri
    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
예제 #2
0
    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)
예제 #3
0
 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