使用触发语句启动 Choregraphe 应用程序和以不同的方式启动有什么区别?
What is the difference between starting Choregraphe application with a trigger sentence and starting in a different way?
我有多种应用程序可以通过以下三种方式之一启动:
1. 从机器人的平板电脑 - 当用户单击我使用 runBehaviour
或 startBehaviour
的图标时
2. 从对话框中触发一个事件或开始一个行为
3.带触发句
当应用程序 运行s 时,我希望机器人保持专注,直到它结束。这就是我停止 ALBasicAwarness
和 ALSpeechRecognition
等模块的原因。然而,如果有人触摸机器人的头部,来自基本频道的 dialog_touch
就会被触发,Pepper 开始倾听并回答问题,即使他还没有离开应用程序。如果应用程序以 (1) 或 (2) 方式启动,但如果以 (3) 方式启动(带有触发语句),机器人会始终保持专注。
我想知道以触发语句开始和其他方式有什么区别,以及如何 运行 应用程序使机器人不会注意力不集中。
我无法详细告诉您系统的工作原理,但我猜对话和触发语句都在后台使用 ALBehaviorManager.startBehavior
。如果您想确保没有任何东西中断您的应用程序,您必须将应用程序的状态(即行为)设置为 'Interactive'。只有一种行为可以 运行 作为交互。
关于状态的详细信息:http://doc.aldebaran.com/2-5/ref/life/state_machine_management.html?#states
而不是 runBehavior
和 startBehavior
您应该利用机器人生命周期(参见 doc)。请改为调用 ALAutonomousLife.switchFocus
,以便机器人 100% 专注于您的应用(所有其他应用都将停止)。
当机器人启动时,"solitary" 内的自主生命 运行 秒(无行为集中)。它注册并监听安装在机器人上的所有应用程序的 launch trigger conditions。当一个行为要开始时(即它的触发条件为真),那么"Autonomous Life"会自动调用switchFocus
。
然后根据behavior type:
- 如果行为是"interactive"那么自主生命也会注销启动触发条件(即一个交互行为不能被另一个行为停止)。
- 如果行为是"solitary",则只有交互行为的触发条件仍然有效(即如果需要启动交互行为,则可以停止单独的行为)。
在您的应用程序结束时,机器人将返回 "solitary" 状态并继续观察触发条件。
如果你的机器人上有 "The Dialog",那么你的互动行为将自动启动(触发条件 "user is in zone 1")并且 运行 你所有的 "collaborative dialogs" .在对话框中,您可以使用 ^switchFocus
要求 autonomousLife 启动应用程序并停止它正在做的任何其他事情。
我有多种应用程序可以通过以下三种方式之一启动:
1. 从机器人的平板电脑 - 当用户单击我使用 runBehaviour
或 startBehaviour
的图标时
2. 从对话框中触发一个事件或开始一个行为
3.带触发句
当应用程序 运行s 时,我希望机器人保持专注,直到它结束。这就是我停止 ALBasicAwarness
和 ALSpeechRecognition
等模块的原因。然而,如果有人触摸机器人的头部,来自基本频道的 dialog_touch
就会被触发,Pepper 开始倾听并回答问题,即使他还没有离开应用程序。如果应用程序以 (1) 或 (2) 方式启动,但如果以 (3) 方式启动(带有触发语句),机器人会始终保持专注。
我想知道以触发语句开始和其他方式有什么区别,以及如何 运行 应用程序使机器人不会注意力不集中。
我无法详细告诉您系统的工作原理,但我猜对话和触发语句都在后台使用 ALBehaviorManager.startBehavior
。如果您想确保没有任何东西中断您的应用程序,您必须将应用程序的状态(即行为)设置为 'Interactive'。只有一种行为可以 运行 作为交互。
关于状态的详细信息:http://doc.aldebaran.com/2-5/ref/life/state_machine_management.html?#states
而不是 runBehavior
和 startBehavior
您应该利用机器人生命周期(参见 doc)。请改为调用 ALAutonomousLife.switchFocus
,以便机器人 100% 专注于您的应用(所有其他应用都将停止)。
当机器人启动时,"solitary" 内的自主生命 运行 秒(无行为集中)。它注册并监听安装在机器人上的所有应用程序的 launch trigger conditions。当一个行为要开始时(即它的触发条件为真),那么"Autonomous Life"会自动调用switchFocus
。
然后根据behavior type:
- 如果行为是"interactive"那么自主生命也会注销启动触发条件(即一个交互行为不能被另一个行为停止)。
- 如果行为是"solitary",则只有交互行为的触发条件仍然有效(即如果需要启动交互行为,则可以停止单独的行为)。
在您的应用程序结束时,机器人将返回 "solitary" 状态并继续观察触发条件。
如果你的机器人上有 "The Dialog",那么你的互动行为将自动启动(触发条件 "user is in zone 1")并且 运行 你所有的 "collaborative dialogs" .在对话框中,您可以使用 ^switchFocus
要求 autonomousLife 启动应用程序并停止它正在做的任何其他事情。