如何同时执行多个应用程序

How to execute multiple applications at the same time

有没有办法同时执行多个应用程序或我的一个应用程序调用另一个应用程序。例如,假设我有一个应用程序,它只是一个对话框。我的机器人上也安装了基本语音 (http://doc.aldebaran.com/2-1/nao/basic_channel_conversation.html)。

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

  2. 我的应用程序有没有办法在不退出我的应用程序的情况下调用这个基本语音

  3. 有没有办法运行并行创建多个应用程序?

目前我的应用是运行ning,Pepper从基本的语音中听不懂任何东西,但我想用它,因为我喜欢它。

使用行为管理器 运行 您主应用程序中的其他应用程序。 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")

所以您可能想在检测到人类时调用 运行Behavior("usr/run_dialog_dev")。

Is there a way my robot to be able to use the defined phrases in the basic speech and the phrases defined in my application simultaneously?

如果您想将句子添加到基本语音中,可以使用 collaborative dialogs,甚至可以使用命令 ^switchFocus(my-app/my-behavior) 按需启动您的应用程序。当 "basic speech" 启动时,将加载定义为 "collaborative dialogs" 的所有主题(来自所有应用程序)。请注意,只启动了主题,而不是它来自的应用程序!

Is there a way my application to call this basic speech without quiting my application

你可以使用ALDialog.runDialog(doc here)但是你需要考虑如何在你的应用主题和基本的通用主题之间来回切换。

示例:当 Pepper 想要展示不同的产品时,您问 "What time is it?" 之后会发生什么,机器人回答并且现在跑题了,但是那又怎样呢?您将需要找到一种方法让用户回到主题!

Is there a way to run multiple application I have created in parallel?

runBehavior 是的,但要注意并发行为不会让机器人同时做两件事(例如动作)。一个更好的架构是有一个协作对话,将焦点切换到正确的应用程序来回答,然后回到一般的基本演讲。