我正在使用Windows XP機器和Python 2.7上的NAO機器人。Naoqi事件處理10秒延遲
我想檢測語音中的標記。整個事情的工作,但不幸的是,我不得不面對現在10秒的延遲,我的事件沒有被檢測到(回調函數未被調用)。
首先,我的主要功能:
from naoqi import ALProxy, ALBroker
from speechEventModule import SpeechEventModule
myString = "Put that \\mrk=1\\ there."
NAO_IP = "192.168.0.105"
NAO_PORT = 9559
memory = ALProxy("ALMemory", NAO_IP, NAO_PORT)
tts = ALProxy("ALTextToSpeech", NAO_IP, NAO_PORT)
tts.enableNotifications()
myBroker = ALBroker("myBroker",
"0.0.0.0", # listen to anyone
0, # find a free port and use it
NAO_IP, # parent broker IP
NAO_PORT) # parent broker port
global SpeechEventListener
SpeechEventListener = SpeechEventModule("SpeechEventListener", memory)
memory.subscribeToEvent("ALTextToSpeech/CurrentBookMark", "SpeechEventListener", "onBookmarkDetected")
tts.say(initialString)
在這裏,我speechEventModule:
from naoqi import ALModule
from naoqi import ALProxy
NAO_IP = "192.168.0.105"
NAO_PORT = 9559
SpeechEventListener = None
leds = None
memory = None
class SpeechEventModule(ALModule):
def __init__(self, name, ext_memory):
ALModule.__init__(self, name)
global memory
memory = ext_memory
global leds
leds = ALProxy("ALLeds",NAO_IP, NAO_PORT)
def onBookmarkDetected(self, key, value, message):
print "Event detected!"
print "Key: ", key
print "Value: " , value
print "Message: " , message
if(value == 1):
global leds
leds.fadeRGB("FaceLeds", 0x00FF0000, 0.2)
if(value == 2):
global leds
leds.fadeRGB("FaceLeds", 0x000000FF, 0.2)
請,不要任何人有同樣的問題? 有人可以給我一個建議嗎?
在此先感謝!
我可以排除問題,過熱 – Ste
你說,它的工作...你有什麼修改?可能你所編程的模塊需要大量的CPU(在這裏,只有你可以知道原因)。開始思考你在開始失敗時引入的改變。你可以看到是否是使用ssh連接到機器人並執行'top'命令的CPU問題 – Manuel
Hello Manuel,非常感謝您的回覆!是的,它在上週工作,我正在調試,將事件從整個項目中分離出來,以確保解決該問題。這對CPU來說是個好主意,我通過ssh連接到了我的nao,但是沒有導致超過10%cpu的進程 - 所以你的建議不是解決方案:(但是thx。你有更多的建議嗎? Thx提前我的朋友! – Ste