Windows-XP 시스템과 Python 2.7에서 NAO 로봇을 사용하고 있습니다.Naoqi eventhandling 10 secounds delay
음성으로 마커를 감지하고 싶습니다. 모든 일을했지만 불행히도 지금은 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
안녕하세요 마누엘, 답장을 보내 주셔서 감사합니다. 네, 지난주에 작업했는데, 디버깅 중이며 전체 프로젝트에서 이벤트 처리를 분리하여 문제를 해결했습니다. CPU를 가지고 좋은 아이디어 였고, ssh를 통해 내 아내에게 연결되었지만, CPU의 10 % 이상을 일으키는 프로세스가 없었습니다. 그래서 당신의 제안은 해결책이 아니 었습니다. (그러나 thx. 더 많은 제안이 있습니까? Thx가 사전에 내 친구 야 – Ste