アンオフィシャル - Aldebaran Robotics NAO とそのほかロボットについて

NAO とそのほかロボットについての情報を発信。ここの情報はアルデバラン非公式です。内容に誤りがあった場合はごめんなさい。

Aldebaran Robotics 社の NAO、そのほかロボットに関連する情報を発信します。

NAOqi ダイアログ機能

NAOqi 2.1 にダイアログという機能があります。

こう聞こえたら、こう答えて、次にこう質問して、その質問がこうだったら次にこうするみたいな感じで NAO や Pepper の動き方を定義できるというものです。

Aldebaran の CEO ブルーノ・メゾニエのプレゼントを聞いているとダイアログというキーワードが何度か出てくるんですが、多分にこれのことを言っているのかなと。

ざっくりどんな感じで定義するのかというと

まず、相手から言われる言葉をグループ化して定義します。たとえば Yes というグループで「はい」、「いいね」、「そうしよう」。 hello というグループで「こんにちは」、「おはよう」、「どうも」といった具合。定義ファイルにはこんな感じで記述します。

concept:(yes) [はい そうですね 賛成です そうしましょう ぜひ ぜひぜひ]
concept:(no) [いいえ いやです やめときます またこんど いまはいいです]
concept:(how) [げんきですか ちょうしどう げんき]
concept:(hello) [こんにちは おはよう どうも] 

 

そして、それぞれのキーワードを聞いたときに何をするかを定義。たとえば hello で定義されたキーワードを聞いた時、あいさつのジェスチャーをして「こんにちは」と返事をし、次に howAreYou の処理に移動するというのはこんな感じで書きます

 

u:(~hello) ^start(animations/Stand/Gestures/Hey_1) こんにちは ^wait(animations/Stand/Gestures/Hey_1) ^goto(howAreYou)    

ここで howAreYou の処理はこんな感じで記述。ここでは、質問を尋ねるジェスチャーをして、「調子はどうですか」と質問、その結果を受けて処理を切り替えています。(~happy) (~sad), (~repeat)は (yes),(no), (hello) 同様 (happy), (sad), (repeat) としてあらかじめキーワードを登録しておきます。

proposal: %howAreYou ^startTag(show) 調子はどうですか?
    u1:(~happy) よかったです! ^goto(favoriteColor)
    u1:(~sad) ざんねんです  ^nextProposal
    u1:(~repeat) もう一回いってください ^sameProposal

一連の操作は Choregraphe で行えます。ダイアログ機能は一つのボックスとして処理されるので、他の機能との連携も簡単です。

f:id:takuji_kawata:20141026140042j:plain