コマンドシステム使用法

iBotNaoの基本的なコンセプトは、会話を軸としてロボットを制御することである。iBotNaoの中には、これ以外にも、状態確認や変更などのシステムも多々含まれているが、基本は対話を軸とするということである。

会話を軸とするということは、会話を制御するdialogモジュールのtopicファイルを基本とすると言い換えても良い。topicファイルの制御コードはqichatというものがあるが、それに加えてiBotのこアンドシステムが使用できる。

iBotNaoのコマンドシステムは、3つのカテゴリーに分けられる。
(1)topicファイルの中に直接埋め込んで、即実行するコマンド群。
(2)一連のコマンドをファイルの中に記載し、topicファイル中からそれを呼び出しロードし、実行するコマンド群。
(3)ロボットと対話しながら、ロボットの一連のコマンドを作成し実行し、保存することを可能にするコマンド群。

それぞれ解説しよう。
(1)単独コマンド
単独コマンドは、トピックファイルの中に埋め込まれ、そこに到達すると、即実行されるコマンドである。コマンドは、
$wscom_(コマンド名)_(番号)=(引数)
の形で与えられる。コマンド名は、コマンドの識別子である。番号は、そのコマンドの順位であり、基本的に1である。同時に、別の値を引数で与えたい場合は、2ないしは3という番号がつけられる。引数は、そのコマンドを実行する際必要な引数である。引数がないコマンドの場合は、1とか、何らかの値を与えなければならない。naoqiの変数イベントで、値を拾うので何かを与えなければならないのである。

変数のコマンドと解説を以下に与える。

startrec:引数で指定されているファイルに、録音します
stoprec:進行中の録音を停止します
aiproc:指定録音データを人工知能処理します:作成していない
recogthre:ASRの認識閾値の設定。コマンドモードでのASRの認識閾値の設定機能は、まだ、組み込んでいません。
sitdown:ロボットを座らせます。restとはちがって、尻をつきます
standup:wakeupとかぶっているかもしれない。直接動作:ロボットを立たせます
crouch:正常な動作を確認していない、使えない。直接動作:ロボットをしゃがませます
lyingback:直接動作:ロボットを寝かせます
move:直接ロボットを動かす。トピックファイルに、"wscom_wsmove_1=0.8,-0.7,50"などの形で与える。x,yはメートル単位,yは左向きが正、zは左回転度数、右回転はマイナス
sleep:指定秒の間、コマンド実行を停止します。
rest:robotを休ませます
volume:音量をセットします
soundplay:指定されたサウンドファイルを再生する
soundpause:サウンドファイルを一時停止する。演奏中のサウンドファイルを一時停止します。基本止める。ただ、とめない”0”がセットされた時だけ、サウンドを再開
diagnosis:診断通知をセットします
警告音を消すために入れたが、役に立たない
bip:会話認識音の状態を設定する、ONと「おん」以外は、すべてオフにする
setaware:基礎検知(ALBasicAwarenessー>Tracking Modes)の状態を設定する。おん、または、おふ
getaware:基礎検知の状態を通知させる。おん、または、おふ
setlife:自動生命の状態を設定する。たんどく、そうご、むこう、ほご
getlife:自動生命の状態を通知させる、単独、相互、無効、保護
getcolli:外部衝突防止機能を通知させる。おん、または、おふ
setcolli:外部衝突防止機能をセットする。おん、または、おふ
loc:現在位置を喋らせる