2017-08-10 54 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會做詭計是的,但要小心併發行爲不會讓機器人同時做兩件事(例如動作)。一個更好的架構將具有焦點切換至適當的應用程序來回答一個協作性對話,然後返回到一般基本講話。