わっしーに座る立つを教える。
見ればわかるように、わっしーは床が滑ることを前提に動作する。私たちの研究室とそのフロアは全て絨毯なので、やむをえず、テーブルを分解して天板を床においてそのうえで動作させた。前後左右への動きも教えているのだが、部屋が狭いために、すぐに諦めてしまう。場所を違えばちゃんと反応するはずなので、当面保留。対話の柔軟性を実現することに集中したい。
作者別: washida
QiChatコンパイルエラーの原因
エラーの原因が少し分かってきた。QiChatファイルは、実行時にコンパイル(翻訳)されるが、それは、NAO本体の/home/nao/.local/share/dialogフォルダの、
BNFhomenaolocalsharePackageManagerappslastUploadedChoregrapheBehaviorbehavior_1Japanese.bnf
BNFhomenaolocalsharePackageManagerappslastUploadedChoregrapheBehaviorbehavior_1Japanese.lcf
の二つの長たらしいファイルに記録される。コンパイルしているうちに、これが消えたり、壊れたり、違うものになったりするためのようだ。さてどうするかはまだわからない・・・・。
ALDialogボックスのエラー
変なエラーが唐突に出るようになった。たとえば、Dialogボックスで、
--------------------
topic: ~test01()
language: jpj
concept:(hello) こんにちわ
u:(~hello) ~hello
--------------------
こんな会話を指せようとしたとする。日本語環境であること示すために、setlanguageで日本語を指定して、dialog boxの言語でも日本語を設定し、もちろん、ロボットの基本言語も日本語だ。
しかし、実行させようとすると、
------------------------
[ERROR] behavior.box :__onLoad__:0 _Behavior__lastUploadedChoregrapheBehaviorbehavior_11108346568__root__testDialog_1: Error in call of ALDialog::compileAll: CompileAll::ALDialog
ALSpeechRecognition::compile
AsrHybridNuance::xCompile
NuanceVoconEngine::compile()
NuanceGrammarCompiler::compile()
Failed to compile the following file "/home/nao/.local/share/dialog/BNFhomenaolocalsharePackageManagerappslastUploadedChoregrapheBehaviorbehavior_1Japanese.bnf". Incorrect character in the following line : "". Check the documentation for more details about unauthorized characters in dialog
[ERROR] behavior.box :xApplySpecialIONatureAction:0 _Behavior__lastUploadedChoregrapheBehaviorbehavior_11108346568__root__testDialog_1: Error in call of ALDialog::activateTopic: loadTopic::ALDialog
ALSpeechRecognition::compile
AsrHybridNuance::xCompile
NuanceVoconEngine::compile()
NuanceGrammarCompiler::compile()
Failed to compile the following file "/home/nao/.local/share/dialog/BNFhomenaolocalsharePackageManagerappslastUploadedChoregrapheBehaviorbehavior_1Japanese.bnf". Incorrect character in the following line : "". Check the documentation for more details about unauthorized characters in dialog
--------------------------
という感じだ。さっぱりわからない。コレグラフを再起動してもだめだ。いったん変更して、再ロードするとこうなるようだ。わっしーを再起動しないと正常化しない。
一昨日のバージョンに戻したら、上の症状は起きなくなった。家でロボットなしでやった操作の何かがまずかったのだろう。ひとつひとつ確認していかなければならない。
Choregraphe BoxのPythonスクリプト
BoxのPythonスクリプトの使い方についての、簡単な解説ページを加えた。
ボックススクリプト解説
QiChatのポイント解説ページを作成
時間があったので、QiChatのポイント解説ページを作成作成した。
ヒューマノイドロボットによるコミュニケーションがテーマであるから、基本的にQiChatでできることは最大限それでやって、できないところを、Java,C++,Pythonでやるということにしたい。
わっしーに、地球温暖化問題を語らせてみた
言葉がどれだけ認識できて、どれだけしゃべるかを試みた。予想以上に、日本語の認識力があるので、驚いた。「ロボットによる環境教育」は、夢ではないと思うようになった。
上記の会話を実現するために使用したqichatスクリプトは以下の通り。
(温暖化関係文書はWikipediaよりとってきたものです)
--------------------------------------
topic: ~Greeting()
language: jpj
concept:(hello)[こんにちわ はじめまして お会いできてうれしいです おはようございます]
concept:(askname)[お名前は]
concept:(likes)[チョコレート アイスクリーム バナナ]
concept:(askglobalwarming) 地球温暖化[とはなんですか について教えてください ってなんですか]
concept:(whyglobalwarming) 地球温暖化[の原因はなんですか の原因について教えてください はどうして生じるのですか]
concept:(howmuchglobaltemparature) 地球温暖化[のスピードは どれくらいの早さで]
u:(~hello) ~hello
u:(~askname) 僕の名前は、わっしーです
u:(_~likes は、好きですか) $1 は大好きです。
#u:(_* は、好きですか) $1 はそれほど好きではありません。
u:(~askglobalwarming) 地球温暖化とは、地球表面の大気や海洋の平均温度が長期的に上昇することです。
u:(~whyglobalwarming) 地球温暖化は、自然由来の要因と、人為的な要因に分けられます。20世紀後半の温暖化に関しては、人間の産業活動等に伴って排出された二酸化炭素など、人為的な温室効果ガスが主因と見られています。IPCCによれば、人為的な温室効果ガスが温暖化の原因である確率は9割を超えると評価されています。
u:(~howmuchglobaltemparature) 地球の平均気温は1906年から2005年の100年間で、0.74度上昇しており、長期的に上昇傾向にある事は「疑う余地が無い」と評価されています。上昇のペースは20世紀後半以降、加速する傾向が観測されています。
-----------------------------
初期設定など
(1)コレグラフのシリアル番号を入力。最新版から、シリアル番号がロボットについてこなくなったとのこと。別途請求しなければならないようだった。
(2)ネットワークの調整をする。直接イーサーネットでつないでいたが、これでは研究科のネットワークに直接つながり応用が利かない。無線LANルーターを購入し、ローカルなネットワークをとおすようにする。わっしーから、インターネットには、直接つながり、インターネットからわっしーにはつなげない。自分のデスクトップからつなげなくなるのは問題なので、パソコンの有線では研究科のネットワークに直結し、パソコンの無線LANをわっしーがいるローカルネットワークにつないでロボットに直接つなげるようにする。こうすると、別な場所にロボットを移動させた場合でも、無線LANさえ持っていけば、インターネットを経由しなくてもノートパソコンとロボットを無線でつなげることができる。少し面倒な作業をした。いや、たいしたことはない。
(3)わっしー(nao)に英語とともに、日本語をインストール。アルデバランのサイトにアクセスして、自分のロボットの第二言語を日本語にする。わっしーのウェッブサイトに入って、言語の更新をする。言語が、英語と日本語に変わった。無事日本語をしゃべれるようになる。
(4)まず、挨拶くらいはできないと行けないと思い、qichatを使って「こんにちわ」と名前を言わせるスクリプトを作成する。
(5)日本語の認識力と語る力を試すために、地球温暖化問題を例に質疑応答のスクリプトを作成してみる。日本語の認識力はとても高くておどろいた。
ロボットの到着
知識応答シミュレーターの原型
ロボットに、知識に基づく会話をさせるために、シミュレーターの原型を作成した。対話技術のサブメニューのページからダウンロードできる。
「朝日新聞」の記事
今日の朝日新聞に「ロボット参入 孫氏の兵法 ソフトバンク準備に4年」との記事が出ていました。ソフトバンクがロボット参入する契機、NAOを開発したフランスのアルデバラン社の購入の狙い、基幹OS開発への意欲など面白く書かれていました。このOSを担うアスラテック社の発表は直接聞きにいきました。記事はぜひお読みください。