QiChatを使ってPepperを自由に動かす。【チュートリアル】

More than 3 years have passed since last update.


関連記事

僕の作成した記事ですが、紹介させてもらいます。


QiChatを使ってPepperを自由に動かす。【チュートリアル】<-本記事

http://qiita.com/DeveloperRyo87/items/83a7d0327116214892d4

QiChatを使ってPepperを自由に動かす。【イベント】

http://qiita.com/DeveloperRyo87/items/da5a73f15f0da3aea2a2

QiChatを使ってPepperを自由に動かす。【コラボラティブ】

http://qiita.com/DeveloperRyo87/items/d4b3f9ae411fc685239a

QiChatを使ってPepperを自由に動かす。【まとめ】

http://qiita.com/DeveloperRyo87/items/7a72c039efe2d2954c7b



始めに

Qichatを使えば、Dialogボックスだけである程度の物事を管理できるようになるので、その辺をまとめた記事がなかったので、作成しようと思います。

今回も、先に記事を公開して、暇があるタイミングで更新していくスタンスで行きたいと思います。


確認方法


確認環境

MacBook Pro (Retina, 13-inch, Late 2013)

コレグラフ2.1.3

NAO 2.1.3(basic Channelインストール済み)

うちにはNAOしかいないのでとりあえず、NAOで。

Pepper欲しい。


方針

とりあえず、チュートリアルとして、ルールの使い方や、コンセプトの使い方を簡単に説明して、そのあとは本題のイベントを使った話とか、コラボラティブな話とか書いていきたいです。

この記事はまずはチュートリアルとして、Qichat-cheatsheet-の紹介をします。


チュートリアル

公式ドキュメントのQichat-cheatsheet-のページの日本語訳アレンジです。

僕が普段使うような例にいくつか置き換えております。

また、詳しくはQiita内にも記事を書いてらっしゃる方がいるのでそちらも参考にしてください。


Qichat - cheatsheet

http://doc.aldebaran.com/2-1/naoqi/audio/dialog/aldialog_syntax_cheat_sheet.html?highlight=cheat


ルール
構文

topicの作成
topic: ~name
topic: ~introduction

ロボットからの発話
proposal:
proposal: 一緒におしゃべりしましょう?

人の発話入力
u:(...)
u:(あなたの名前は) わたしはナオです。

認識可能ワードリスト(or)
[ ]で単語を囲む
u:( わたしは、[肉 魚]が好きです) わたしもです。

回答
人の発話入力に続けて、回答を記述
u:(こんにちは) こんにちは

文章の利用
" "で文を囲む
u:([“わたしはそれが好き” “わたしはそれを愛してる”]) わたしも!!

オプションの指定
{}
u:({かなり}いいね) そうだね!

変数の適用
$変数=値
u:(わたしは太郎です) 名前を覚えました。 $name="太郎" #変数名は英語じゃないと反応しない模様

変数の呼び出し
$変数
u:(私の名前は) $name です。#太郎です。

条件
$変数==比較値
u:(私の名前は太郎です) [“\$name==太郎 そうです!” “\$name ではない!”]

入力値を値とする
_xxx
u:(私の名前は _[太郎 花子]) あなたの名前は$1

補助ルール
u1: u2: u3:
u:(質問して) あなたは魚が好きですか? u1:(はい) はい!美味しいです。 u1:(いいえ) 肉のほうが好きです。

イベント
e:イベント
u:([e:faceDetected “こんにちは”]) よう!人間!

コメント
#
#シャープのあとにコメントが書けます。

ワイルドカード
*
u:(わたしは * が好きです) そうですか。#わたしは肉が好きです。

コンセプト
~
u:(~I はあなたが好きだ) わたしも #concept:I [わたし, ぼく]

禁止ワード
!単語
u:(わたしは !みかんが 好きです。) わたしもよ!#わたしは好きです。

最後の回答を繰り返す
e:dialog/Answered
u:(なんて言ったの) e:dialog/Answered

ユーザー入力を繰り返す
$dialog/LastInput
u:(お前が好きだ!) $Dialog/LastInput


感想

まだまだ、ドキュメントを読み足りていないので、細かく目を通したい。

この記事も、まだまだ書き足りていないので、どんどん書き足していこうと思っています。

今後とも宜しくお願いします。

記事を分割しました。

現在はただ分割してあるだけなのでまだ見難いかもしれませんが、おいおい直していきます。


参考URL


Qichat - Syntax

http://doc.aldebaran.com/2-1/naoqi/audio/dialog/dialog-syntax_full.html#dialog-rules

Qichat - Cheatsheet

http://doc.aldebaran.com/2-1/naoqi/audio/dialog/aldialog_syntax_cheat_sheet.html?highlight=cheat