如何使用对话框启动 NAO 的行为?

问题描述

我找到了一种通过在 choregraphe 中创建对话框来启动行为的方法,但它不起作用。

对话框的脚本如下:

u(keyword / key sentence): robot_response (optional) 
^start(applicationID/behavIoUr_1) 
^wait(applicationID/behavIoUr_1)

机器人(NAO,版本 2.8.6.23)捕捉到我的关键字,说出预期的响应,但行为没有开始:机器人进入待机状态,我经常要重新启动它.无论如何,应用程序似乎正在运行(通过查看活动内容)。我尝试手动运行该行为并且效果很好,所以我不明白我做错了什么......

PS:当然,应用程序和对话框都安装在机器人应用程序上。

解决方法

您的其他行为是否使用对话?可能发生的情况是 applicationID/behaviour_1 尝试开始聆听/激活对话,但立即失败,因为已经有对话(您向我们展示的那个)正在运行。

^start 用于简单的行为,如动画,如果你想用它自己的逻辑等实际启动另一个活动,你应该使用 ^switchFocus 而不是 ^start - 这将停止你的具有此对话的当前行为(因此,无需 ^wait),然后开始新的行为。这只有在自主生活处于活动状态时才有效 - 自主生活的工作是协调活动,以便在给定时间只有一个活动处于活动状态,以防止由一种行为中的一些后台代码引起的错误导致另一种行为出现问题。

(“活动”基本上是旨在成为“顶级”的行为,例如应用程序或游戏,而不是像可以在后台运行的动画之类的小东西)