def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') # Initialize NAOqi services self.sMotion = self.session.service("ALMotion") self.sNavigation = self.session.service("ALNavigation") self.sMemory = self.session.service("ALMemory") self.sBehavior = self.session.service("ALBehaviorManager") self.sPosture = self.session.service("ALRobotPosture") self.sTablet = self.session.service("ALTabletService") caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( self.session, caressestools.Settings.robotIP.encode('utf-8')) self.asr = asr
def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.object_id = self.apar[0] self.location_id = self.apar[1] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.object_params = self.loadParameters("objects.json") self.location_params = self.loadParameters("locations.json") caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( self.session, caressestools.Settings.robotIP.encode('utf-8')) self.asr = asr
def __init__(self, apar, cpar, session): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.date_time = self.apar[0] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') # Initialize NAOqi services # Set the cultural parameters caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(session, self.volume) caressestools.setVoiceSpeed(session, self.speed) caressestools.setVoicePitch(session, self.pitch) # Set up speech.py app to get information self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction(session, caressestools.Settings.robotIP.encode('utf-8')) self.td = TimeDateParser(self.language)
def __init__(self, apar, cpar, session, asr): Privacy.__init__(self, apar, cpar, session, asr) self.animationTag = self.HIDE_FLOOR_TURN_TAG self.angle = self.ANGLE_LOOK_DOWN # Parse the action parameters self.apar = self.apar.split(' ') # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') caressestools.Language.setLanguage(self.language) self.setLang(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch)
def __init__(self, apar, cpar, session, output_handler, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.killcahrim = self.apar[0] == "True" # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.output_handler = output_handler self.asr = asr caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( self.session, caressestools.Settings.robotIP.encode('utf-8'))
def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.source_id = self.apar[0] self.topic_id = self.apar[1] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.suggestions = self.cpar[5].split(self.options_delimiter) self.source_params = self.loadParameters("news_sources.json") suggested_source_IDs = [ option.replace('"', '') for option in self.suggestions ] self.source_IDs = self.mergeAndSortIDs(self.source_params, suggested_source_IDs) self.source_options = self.getAllParametersAttributes( self.source_params, self.source_IDs, "full") self.topic_params = self.loadParameters("news_topics.json") self.topic_IDs = self.mergeAndSortIDs(self.topic_params, []) self.topic_options = self.getAllParametersAttributes( self.topic_params, self.topic_IDs, "full") # Initialize NAOqi services self.sMemory = self.session.service("ALMemory") self.sTablet = self.session.service("ALTabletService") self.sTts = self.session.service("ALTextToSpeech") self.sSpeechReco = self.session.service("ALSpeechRecognition") caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( self.session, caressestools.Settings.robotIP.encode('utf-8')) self.speech_source = self.__class__.__name__ + "-Source" self.speech_topic = self.__class__.__name__ + "-Topic" self.headlines_per_time = 4 self.paragraphs_per_time = 5 self.is_touched = False self.asr = asr
def __init__(self, apar, cpar, session, output_handler, input_queue, provided_event): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.item_id = self.apar[0] self.room = self.apar[1] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.suggestions = self.cpar[5].split(self.options_delimiter) self.items_params = self.loadParameters("ihouse_items.json") suggested_items_IDs = [ option.replace('"', '') for option in self.suggestions ] self.items_IDs = self.mergeAndSortIDs(self.items_params, suggested_items_IDs) self.items_options = self.getAllParametersAttributes( self.items_params, self.items_IDs, "as-sensor") # Output handler for sending messages self.output_handler = output_handler # Input queue for retrieving information self.input_queue = input_queue self.provided_event = provided_event # Initialize NAOqi services self.sTablet = self.session.service("ALTabletService") self.sMemory = self.session.service("ALMemory") # Set the cultural parameters caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(session, self.volume) caressestools.setVoiceSpeed(session, self.speed) caressestools.setVoicePitch(session, self.pitch) # Set up speech.py app to get information self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( session, caressestools.Settings.robotIP.encode('utf-8')) # self.topic_item = self.__class__.__name__ self.topic_item = "ReadiHouse" self.topic_room = "IoT-iHouse-Room"
def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.video_id = self.apar[0] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.suggestions = self.cpar[5].split(self.options_delimiter) # Initialize NAOqi services self.memory_service = session.service("ALMemory") self.tablet_service = session.service("ALTabletService") self.sAudio = self.session.service("ALAudioDevice") self.yt = YoutubeHelper() self.db = DatabaseHelper() # Flag to keep action running self.is_running = True # Flag to keep track the ending of the music video self.is_ended = False self.is_site_loaded = False # Set the cultural parameters caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(session, self.volume) caressestools.setVoiceSpeed(session, self.speed) caressestools.setVoicePitch(session, self.pitch) caressestools.setTabletVolume(session, 15) # Set up speech.py app to get information self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( session, caressestools.Settings.robotIP.encode('utf-8')) self.subaction = None self.params = None self.search_keyword = "" self.max_results = 8 self.again = True self.asr = asr
def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.meal_id = self.apar[0] self.day_moment = self.apar[1] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.meals_params = self.loadParameters("meals.json") meal_conf = os.path.join(os.path.dirname(os.path.realpath(__file__)), "aux_files", "meals-conf.json") with open(meal_conf) as f: self.meals = json.load(f) self.meals_IDs = [ m.encode('utf-8') for m in self.meals.keys() if not self.meals[m.encode('utf-8')] == [] ] self.meals_options = self.getAllParametersAttributes( self.meals_params, self.meals_IDs, "full") # Initialize NAOqi services # Set the cultural parameters caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(session, self.volume) caressestools.setVoiceSpeed(session, self.speed) caressestools.setVoicePitch(session, self.pitch) # Set up speech.py app to get information self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( session, caressestools.Settings.robotIP.encode('utf-8')) self.asr = asr
def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.location_id = self.apar[0] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.suggestions = self.cpar[5].split(self.options_delimiter) self.locations_params = self.loadParameters("weather_locations.json") suggested_locations_IDs = [option.replace('"', '') for option in self.suggestions] self.locations_IDs = self.mergeAndSortIDs(self.locations_params, suggested_locations_IDs) self.locations_options = self.getAllParametersAttributes(self.locations_params, self.locations_IDs, "full") # Initialize NAOqi services self.sTablet = self.session.service("ALTabletService") self.sMemory = self.session.service("ALMemory") self.sSpeechReco = self.session.service("ALSpeechRecognition") # Set the cultural parameters caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(session, self.volume) caressestools.setVoiceSpeed(session, self.speed) caressestools.setVoicePitch(session, self.pitch) # Set up speech.py app to get information self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction(session, caressestools.Settings.robotIP.encode('utf-8')) self.go_on = False self.isPageFinished = False self.user_input = None self.asr = asr
def __init__(self, apar, cpar, session, output_handler): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') # Initialize NAOqi services self.sMotion = self.session.service("ALMotion") self.sMemory = self.session.service("ALMemory") self.sSoundDet = self.session.service("ALSoundDetection") self.sRecharge = self.session.service("ALRecharge") self.sSpeechReco = self.session.service("ALSpeechRecognition") self.sPosture = self.session.service("ALRobotPosture") self.sBattery = self.session.service("ALBattery") caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( self.session, caressestools.Settings.robotIP.encode('utf-8')) self.sSoundDet.setParameter("Sensitivity", 0.7) self.sound_detected = False self.word_detected = False self.is_touched = False self.notify_user = False self.output_handler = output_handler
def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') # Initialize NAOqi services self.sTablet = self.session.service("ALTabletService") self.sMemory = self.session.service("ALMemory") self.sSpeechReco = self.session.service("ALSpeechRecognition") self.sBehavior = self.session.service("ALBehaviorManager") # Set the cultural parameters caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(session, self.volume) caressestools.setVoiceSpeed(session, self.speed) caressestools.setVoicePitch(session, self.pitch) # Set up speech.py app to get information self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction(session, caressestools.Settings.robotIP.encode('utf-8')) self.extension = "jpg" self.path_take = "/data/home/nao/.local/share/PackageManager/apps/%s/html/images/" self.path_show = "http://%s/apps/%s/images/%s" self.must_stop = False self.pic_list_received = False self.pics = [] self.is_touched = False self.asr = asr
def __init__(self, apar, cpar, session): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.map = self.apar[0] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') # Initialize NAOqi services self.sMotion = self.session.service("ALMotion") self.sNavigation = self.session.service("ALNavigation") self.sMemory = self.session.service("ALMemory") self.sBehavior = self.session.service("ALBehaviorManager") self.sPosture = self.session.service("ALRobotPosture") self.sTablet = self.session.service("ALTabletService") graph_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), "aux_files", "go_to", self.map) self.file = GraphFile() self.file.loadFile(graph_file, draw = False) caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction(self.session, caressestools.Settings.robotIP.encode('utf-8'))
def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.command = self.apar[0] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') # Initialize NAOqi services self.navigation_service = self.session.service("ALNavigation") self.sMotion = self.session.service("ALMotion") # Set the cultural parameters caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) # Set up speech.py app to get information self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( self.session, caressestools.Settings.robotIP.encode('utf-8')) self.distance_move_closer = 0.3 self.distance_move_farther = 0.1 self.asr = asr
def __init__(self, apar, cpar, session): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.object_id = self.apar[0] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.object_params = self.loadParameters("objects.json") # Initialize NAOqi services self.sMotion = self.session.service("ALMotion") self.sMemory = self.session.service("ALMemory") self.sPosture = self.session.service("ALRobotPosture") caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( self.session, caressestools.Settings.robotIP.encode('utf-8')) self.is_touched = False
def run(self): caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sMotion.setOrthogonalSecurityDistance(0.02) self.sMotion.setTangentialSecurityDistance(0.02) options = self.sp.script[self.__class__.__name__]["parameters"][ self.language] if not self.isAvailable(self.command): self.command = self.sp.dialog(self.__class__.__name__, options=options, checkValidity=True, askForConfirmation=False, removeDiscardedOption=False, noisy=self.asr) while not self.command == options[2] and not self.is_stopped: if self.command == options[0]: self.sMotion.moveTo(self.distance_move_closer, 0.0, 0.0, 10) elif self.command == options[1]: self.sMotion.moveTo(-self.distance_move_farther, 0.0, 0.0) self.command = self.sp.dialog(self.__class__.__name__, options=options, checkValidity=True, askForConfirmation=False, removeDiscardedOption=False, noisy=self.asr) self.sMotion.setOrthogonalSecurityDistance(0.4) self.sMotion.setTangentialSecurityDistance(0.10)
def __init__(self, apar, cpar, session, output_handler, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.graph = self.apar[0] self.goal_id = self.apar[1] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.suggestions = self.cpar[5].split(self.options_delimiter) self.location_params = self.loadParameters("locations.json") suggested_location_IDs = [ option.replace('"', '') for option in self.suggestions ] self.location_IDs = self.mergeAndSortIDs(self.location_params, suggested_location_IDs) self.location_options = self.getAllParametersAttributes( self.location_params, self.location_IDs, "full") # Initialize NAOqi services self.sMemory = session.service("ALMemory") self.sMotion = session.service("ALMotion") self.sNavigation = session.service("ALNavigation") self.sLocalization = session.service("ALLocalization") self.sPosture = session.service("ALRobotPosture") self.sRecharge = session.service("ALRecharge") self.running = True self.r0_wf = None self.r0_mf = None self.enough_attempts = 4 self.closest_reached_threshold = 0.4 self.node_reached_threshold = 0.4 self.goal_reached_threshold = 0.2 self.graph_file = os.path.join( os.path.dirname(os.path.realpath(__file__)), "aux_files", "go_to", self.graph) self.loadGraph(self.graph_file) caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( self.session, caressestools.Settings.robotIP.encode('utf-8')) self.sMotion.setOrthogonalSecurityDistance(0.02) self.sMotion.setTangentialSecurityDistance(0.02) self.output_handler = output_handler self.asr = asr
def __init__(self, apar, cpar, session): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.reminder_id = self.apar[0] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.reminder_params = self.loadParameters("reminders.json") caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(self.session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(self.session, self.volume) caressestools.setVoiceSpeed(self.session, self.speed) caressestools.setVoicePitch(self.session, self.pitch) self.sp = speech.Speech("speech_conf.json", self.language, loadconf=False) self.sp.enablePepperInteraction( self.session, caressestools.Settings.robotIP.encode('utf-8'), initGoogle=False) ## ------------------------------------------------ ## If Remind action is executed while the ChoiceManager in another action is running, the action running the ## ChoiceManager crashes if the function json.load()/json.loads() is called on a very long file/string. Therefore, ## here we need to call json.loads() only on the relevant (shorter) part of speech_conf.json. conf_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'caressestools', "speech_conf.json") with open(conf_file, 'r') as f: conf = f.readlines() conf_string = "" for line in conf: conf_string = conf_string + line top = re.search( r'\"' + speech.SUPPORTED_LANGUAGES + '\": \[\n(( {4,}.*\n)*) {2}\](,\n {2}\"[A-Z]+-*[A-Z]+\": \{\n(( {4,}.*\n)*) {2}\})+', conf_string) rem = re.search( r'\"' + self.__class__.__name__ + '\": \{\n(( {4,}.*\n)*) {2}\}', conf_string) if top is not None and rem is not None: conf = json.loads("{%s,%s}" % (top.group(), rem.group())) self.sp.loadScriptFromDict(conf) self.sp.setLanguage(self.language.lower()) self.sp.loadKeywords() ## ------------------------------------------------ self.gen_rem_filename = os.path.join( os.path.dirname(os.path.realpath(__file__)), 'parameters', 'reminder_generic.json')
def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.message_id = self.apar[0] self.recipient_id = self.apar[1] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.suggestions = self.cpar[5].split(self.options_delimiter) self.recipient_params = self.loadParameters("contacts.json") suggested_recipients_IDs = [ option.replace('"', '') for option in self.suggestions ] self.recipient_IDs = self.mergeAndSortIDs(self.recipient_params, suggested_recipients_IDs) self.recipient_options = [] ## Get only the recipients whose Line ID is present for id in self.recipient_IDs: if not self.recipient_params["IDs"][id]["line"].encode( 'utf-8') == "": self.recipient_options.append( self.recipient_params["IDs"][id]["full"].encode('utf-8')) self.msg_params = self.loadParameters("messages.json") self.msg_IDs = self.msg_params["IDs"].keys() self.msg_options_caregiver = [] self.msg_options_other = [] for id in self.msg_IDs: if self.msg_params["IDs"][id]["compulsory-recipient"].encode( 'utf-8') == "caregiver": self.msg_options_caregiver.append( self.msg_params["IDs"][id]["full"].encode('utf-8')) else: self.msg_options_other.append( self.msg_params["IDs"][id]["full"].encode('utf-8')) # Initialize NAOqi services self.sASR = self.session.service("ASR2") # Set the cultural parameters caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(session, self.volume) caressestools.setVoiceSpeed(session, self.speed) caressestools.setVoicePitch(session, self.pitch) # Set up speech.py app to get information self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction( session, caressestools.Settings.robotIP.encode('utf-8')) self.asr = asr
def __init__(self, apar, cpar, session, asr): Action.__init__(self, apar, cpar, session) # Parse the action parameters self.apar = self.apar.split(' ') self.recipient_id = self.apar[0] # Parse the cultural parameters self.cpar = self.cpar.split(' ') self.volume = float(self.cpar[0]) self.speed = float(self.cpar[1]) self.pitch = float(self.cpar[2]) self.language = self.cpar[3].lower().replace('"', '') self.username = self.cpar[4].replace('"', '') self.suggestions = self.cpar[5].split(self.options_delimiter) self.recipient_params = self.loadParameters("contacts.json") suggested_recipients_IDs = [option.replace('"', '') for option in self.suggestions] self.recipient_IDs = self.mergeAndSortIDs(self.recipient_params, suggested_recipients_IDs) self.recipient_options = [] ## Get only the recipients whose email or Telegram address is present for id in self.recipient_IDs: if not (self.recipient_params["IDs"][id]["email"].encode('utf-8') == "" and self.recipient_params["IDs"][id]["telegram"].encode('utf-8') == ""): self.recipient_options.append(self.recipient_params["IDs"][id]["full"].encode('utf-8')) # Initialize NAOqi services self.sPosture = self.session.service("ALRobotPosture") self.sAwareness = self.session.service("ALBasicAwareness") self.sPhoto = self.session.service("ALPhotoCapture") self.sTablet = self.session.service("ALTabletService") self.sBehavior = self.session.service("ALBehaviorManager") self.sMemory = self.session.service("ALMemory") self.sASR = self.session.service("ASR2") # Set the cultural parameters caressestools.Language.setLanguage(self.language) caressestools.setRobotLanguage(session, caressestools.Language.lang_naoqi) caressestools.setVoiceVolume(session, self.volume) caressestools.setVoiceSpeed(session, self.speed) caressestools.setVoicePitch(session, self.pitch) # Set up speech.py app to get information self.sp = speech.Speech("speech_conf.json", self.language) self.sp.enablePepperInteraction(session, caressestools.Settings.robotIP.encode('utf-8')) self.extension = "jpg" self.path_take = "/data/home/nao/.local/share/PackageManager/apps/%s/html/images/" self.path_show = "http://%s/apps/%s/images/%s" self.behaviors = { "telegram": "pictures/send-by-telegram", "email": "pictures/send-by-email", "shutter": "pictures/play-shutter-sound", "delete": "pictures/delete-picture" } directory = os.path.dirname(__file__) file_path = os.path.join(directory, "aux_files", "email-conf.json") with open(file_path) as f: email_conf = json.load(f) self.address = email_conf["address"].encode('utf-8') self.password = email_conf["password"].encode('utf-8') self.smtp = email_conf["smtp"].encode('utf-8') self.asr = asr