参与区 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",即使它有时在文档。
我正在为 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",即使它有时在文档。