Search code examples
pythonnao-robotchoregraphe

Engagement Zones Nao


I'm programming NAO robot for human-robot interaction and I need to change the first and second limit distance in People Perception. THe thing is, that I have no idea, how to use it. I tried to use events from the AlMemory (...DistanceUpdated) and entered the values, but this didn't help. I also tried to write a python script, but there is an error, too. Proxy can't be found

#include <alproxies/alengagementzonesproxy.h> class MyClass(GeneratedClass):
def __init__(self):
    GeneratedClass.__init__(self)

def onLoad(self):
    #put initialization code here
    self.tts = ALProxy("ALEngagementZonesProxy")
    pass

def onUnload(self):
    #put clean-up code here
    pass

def onInput_onStart(self):
    #self.onStopped() #activate the output of the box
    self.tss.setFirstLimitDistance(0,76)
    self.tss.setSecondLimitDistance(1,2)
    pass

def onInput_onStop(self):
    self.onUnload() #it is recommended to reuse the clean-up as the box is stopped
    self.onStopped() #activate the output of the box

I know, that the question may be stupid, but I do need an advice. Thanks in advance


Solution

  • One problem with your code is that you create a variable called self.tts, and then use self.tss.

    (note that tts is usually an abbreviation for Text To Speech, when we create a proxy on ALTextToSpeech)

    Another problem is that you should try to get a proxy on "ALEngagementZones", not "ALEngagementZonesProxy" - drop the "Proxy", even if it's sometimes called that way in the documentation.