我正在用 Choregraphe 编写一个 Pepper 应用程序来进行对话。此对话有一些不同的排序状态:
- 你好(谈话开始)
- 询问信息
- 指定信息
- 再见(谈话结束)
要开始对话,人们必须靠近机器人,而机器人必须检测到人脸。
问题是,如果我在对话中并且机器人检测到另一张脸,它会从一开始就开始对话。所以我需要在机器人处于对话状态时暂时禁用该事件。有没有办法做到这一点?
这些是 Choregraphe 的事件输出:
我正在用 Choregraphe 编写一个 Pepper 应用程序来进行对话。此对话有一些不同的排序状态:
要开始对话,人们必须靠近机器人,而机器人必须检测到人脸。
问题是,如果我在对话中并且机器人检测到另一张脸,它会从一开始就开始对话。所以我需要在机器人处于对话状态时暂时禁用该事件。有没有办法做到这一点?
这些是 Choregraphe 的事件输出:
在你的地方,我会将它编程为一个有限状态机:你决定你的检测以及从一种状态切换到另一种状态的方式,以一种简单的方式。当您更改状态时,每个状态的处理都会停止。
你可以在这里下载一个简单的状态机:http: //protolab.aldebaran.com/public/the_3_templates.zip
您不能以该格式禁用它们,但如果您使用“订阅事件”框,则可以使用启动/停止输入来启用/禁用该框,即订阅/取消订阅事件。