参与区 Nao

Engagement Zones Nao

我正在为 NAO 机器人编写人机交互程序,我需要更改 People Perception 中的第一和第二限制距离。问题是,我不知道如何使用它。 我尝试使用来自 AlMemory (...DistanceUpdated) 的事件并输入值,但这没有帮助。 我也试着写了一个 python 脚本,但也有错误。找不到代理

#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

我知道,这个问题可能很愚蠢,但我确实需要建议。提前致谢

您的代码存在一个问题,即您创建了一个名为 self.tts 的变量,然后使用 self.tss.

(注意tts通常是Text To Speech的缩写,当我们在ALTextToSpeech上创建代理时)

另一个问题是您应该尝试在“ALEngagementZones”而不是“ALEngagementZonesProxy”上获取代理 - 删除 "Proxy",即使它有时在文档。