2017-08-10 55 views
1

执行多个应用程序有没有在同一时间或我的应用程序调用另外一个一个来执行多个应用程序的方式。例如让我说我有一个应用程序,这只是一个对话框。基本语音(http://doc.aldebaran.com/2-1/nao/basic_channel_conversation.html)也安装在我的机器人上。如何在同一时间

  1. 有没有办法我的机器人能够使用在基本的语音定义的词组和短语在我的应用程序同时定义?

  2. 有没有办法我的应用程序来调用这个基本的语音没有在quiting我的应用程序

  3. 是否有一种方式来运行我在并行创建了多个应用程序?

目前,当我的应用程序运行时,Pepper从基本语音中不理解任何内容,但我想使用它,因为我喜欢它。

回答

2

使用行为管理器从您的主应用程序中运行其他应用程序。 http://doc.aldebaran.com/2-5/naoqi/core/albehaviormanager.html

例如,

self.behaviorManager = self.session.service("ALBehaviorManager") 
self.behaviorManager.runBehavior("System/animations/Stand/Reactions/SeeSomething_1") 

因此,当检测到人时,您可能需要调用runBehavior(“usr/run_dialog_dev”)。

1

有没有一种方法可以让我的机器人能够同时使用基本语音中定义的短语和我的应用程序中定义的短语?

如果你想你的句子添加到基本的语音,你可以使用collaborative dialogs,甚至开始与命令^switchFocus(my-app/my-behavior)需求的应用程序。当“基本讲话”开始时,所有定义为“合作对话”的主题(来自所有应用程序)将被加载。小心只有话题开始了,而不是它来自的应用程序!

有没有办法我的应用程序来调用这个基本的讲话没有在quiting我的应用程序

您可以使用ALDialog.runDialogdoc here),但你需要考虑如何去来回您的应用程序的主题之间基本的一般话题。

例如:当辣椒想以不同的产品,会发生什么你问后,“现在是什么时候?”,机器人的答案,现在是题外话,但然后呢?你需要找到一种方法来驱动用户回的话题!

有没有办法可以运行我并行创建的多个应用程序?

runBehavior会做诡计是的,但要小心并发行为不会让机器人同时做两件事(例如动作)。一个更好的架构将具有焦点切换至适当的应用程序来回答一个协作性对话,然后返回到一般基本讲话。