# asr_subscriber = RosSubscriber('asr',debug=True) debug = DebugModule() # hook modules up to each other mic.subscribe(asr) mic.subscribe(mic_publisher) asr.subscribe(iasr) iasr.subscribe(asr_publisher) iasr.subscribe(debug) # initialize modules mic.run() mic_publisher.run() asr.run() asr_publisher.run() # asr_subscriber.run() iasr.run() debug.run() input() # keep things running # rosnode.stop() mic.stop() mic_publisher.stop() asr.stop() asr_publisher.stop() # asr_subscriber.stop() iasr.stop() debug.stop()
def init_all(robot : cozmo.robot.Robot): domain_dir = '/home/casey/git/retico/data/cozmo/dm/dialogue.xml' aod_endpoint = "" aod_key = "" wac_dir = '/home/casey/git/retico/data/wac/subset' mask_rcnn_labels = '/home/casey/git/retico/data/maskrcnn/label_map.pbtxt' mask_rcnn_model = '/home/casey/git/retico/data/maskrcnn/frozen_inference_graph.pb' opendial_variables = ['face_count', # CozmoStateModule 'num_objs', # ObjectDetector 'near_object', # CozmoRefer 'exploring', # CozmoRefer 'aligned', # CozmoRefer 'word_to_find', # WordsAsClassifiersModule 'best_object', # WordsAsClassifiersModule 'obj_confidence'] # WordsAsClassifiersModule # # INSTANTIATE MODULES # # mic = RespeakerMicrophoneModule('192.168.0.102:8000') # asr = GoogleASRModule(rate=16000) mic = MicrophoneModule(1000) asr = GoogleASRModule() iasr = IncrementalizeASRModule() dm = OpenDialModule(domain_dir=domain_dir, variables=opendial_variables) cozmo_refer = CozmoReferModule(robot) cozmo_camera = CozmoCameraModule(robot) # cozmo_camera = WebcamModule() # cozmo_state = CozmoStateModule(robot) # object_detector = AzureObjectDetectionModule(aod_key, aod_endpoint) object_detector = MaskrRCNNObjectDetection(mask_rcnn_labels, mask_rcnn_model) feature_extractor = KerasObjectFeatureExtractorModule() wac = WordsAsClassifiersModule(wac_dir=wac_dir) debug = DebugModule() # psi related modules # WriterSingleton should use the *source* ip address (i.e., this machine's) # WriterSingleton(ip='192.168.0.101', port='12346') # create the zeromq writer # psi = ZeroMQWriter(topic='retico') # mic as input mic.subscribe(asr) asr.subscribe(iasr) iasr.subscribe(wac) wac.subscribe(dm) dm.subscribe(cozmo_refer) # robot state as input # cozmo_state.subscribe(dm) wac.subscribe(cozmo_refer) object_detector.subscribe(dm) object_detector.subscribe(cozmo_refer) cozmo_refer.subscribe(dm) # robot camera as input cozmo_camera.subscribe(object_detector) object_detector.subscribe(feature_extractor) feature_extractor.subscribe(wac) # feature_extractor.subscribe(debug) # iasr.subscribe(psi) # wac.subscribe(psi) # dm.subscribe(psi) # feature_extractor.subscribe(psi) # object_detector.subscribe(psi) # # INITIALIZE MODULES # mic.run() asr.run() iasr.run() dm.run() cozmo_refer.run() # IF I MAKE THIS RUN EVERYTHING SLOWS DOWN # cozmo_state.run() cozmo_camera.run() object_detector.run() feature_extractor.run() wac.run() debug.run() # psi.run() input() # keep everything running mic.stop() asr.stop() iasr.stop() cozmo_refer.stop() # cozmo_state.stop() dm.stop() cozmo_camera.stop() object_detector.stop() feature_extractor.stop() wac.stop() debug.stop()