我正在与Choregraphe编写Pepper应用程序进行对话。此对话具有一些不同的排序状态:
答案 0 :(得分:2)
在您的位置,我会将其编程为有限状态机:您可以通过简单的方式决定检测以及从一种状态切换到另一种状态的方式。更改状态时,将停止对一个状态的每个处理。
您可以在此处下载一个简单的状态机:http://protolab.aldebaran.com/public/the_3_templates.zip
答案 1 :(得分:1)
你不能在那种格式上禁用它们,但是如果你使用"订阅事件"框中,有开始/停止输入,您可以使用它来启用/禁用该框,即订阅/取消订阅事件。
答案 2 :(得分:0)
最后,我访问了此part of documentation并查看了参与模式。
为了允许更广泛的行为,ALBasicAwareness提供了3种参与模式,用于指定机器人对受雇者的“聚焦”程度。
“Unengaged” :(默认模式)当机器人与用户交互时,它可能被任何刺激分散注意力,并与其他人交往。
“FullyEngaged”:一旦机器人与某人接触,它就会停止听刺激并与同一个人保持联系。如果它失去了被约会的人,它将再次听取刺激,并可能与另一个人交往。
“SemiEngaged”:当机器人与一个人交往时,它会一直聆听刺激,如果它受到刺激,它会朝着它的方向看,但它会一直回归对于与之交往的人。如果它失去了这个人,它会再次听到刺激,并可能与另一个人交往。
我使用了FullyEngaged
,机器人只专注于第一个进入机器人 Zone 1 的人。
这样做是这样的:
basic_awareness = ALProxy("ALBasicAwareness", ip_robot, port_robot)
basic_awareness.setEngagementMode("FullyEngaged")
basic_awareness.startAwareness()