2016-08-30 4 views
0

NAOが語彙の単語を理解し、そのメモリから読み込んだときに同じものを返そうとしています。以下はコードです。しかし、何らかの形でメモリオブジェクトからのgetdata()は空を返します。NAOロボットが認識されない単語を返さない - getdataが空です

ご協力いただきまして誠にありがとうございます。

from naoqi import ALProxy 

import time 
data=[] 

asr = ALProxy("ALSpeechRecognition", ip, 9559) 

asr.pause(True) 
asr.setLanguage("English") 


vocabulary = ["yes", "no", "please","water usage","Thanks"] 


asr.setVocabulary(vocabulary, False) 
asr.subscribe(ip) 
memProxy = ALProxy("ALMemory", ip, 9559) 
memProxy.subscribeToEvent('WordRecognized',ip,'wordRecognized') 

time.sleep(10) 

asr.unsubscribe(ip) 
data=memProxy.getData("WordRecognized") 
print("data: %s" % data) 

答えて

0

asr.pause(True)でasrを停止したためです。 あなたのtime.sleepの直前にasr.pause(False)と書かなければなりません。

from naoqi import ALProxy 

import time 

data=[] 
ip = "your_robot_ip.local" 
asr = ALProxy("ALSpeechRecognition", ip, 9559) 

asr.pause(True) 
asr.setLanguage("English") 


vocabulary = ["yes", "no", "please","water usage","Thanks"] 


asr.setVocabulary(vocabulary, False) 
asr.subscribe(ip) 
memProxy = ALProxy("ALMemory", ip, 9559) 
memProxy.subscribeToEvent('WordRecognized',ip,'wordRecognized') 

asr.pause(False) 

time.sleep(10) 

asr.unsubscribe(ip) 
data=memProxy.getData("WordRecognized") 
print("data: %s" % data) 

また、標準的なボックスを声門に使用することもできます。

関連する問題