next up previous contents
: 結果 : バッチ処理の使用方法 : convertToBatch: player:メソッドの内部処理   目次


使用例:ライントレース

バッチ処理のモーフによる実際の使用例として、ライントレースを示す。簡単にライントレースを行うには図8.3のようなスクリプトを用意する。左のセンサが反応していれば左に曲がり、右のセンサが反応していれば右に曲がる。それ以外のときは前進する。モータを動かすにはコマンド送信後に少し待つ必要があるため、WAITコマンドを挿んでいる。ただし、WAITが長すぎるとセンサ入力の間隔が長くなってしまうため、WAITの時間は100ミリ秒とした。

8.3のスクリプトを、バッチ番号5に書き込む。「コンバートする番号の設定:」タイルを使ってselectedBatNumを5に変更した後、「コンバート実行:」タイルの引数に「ライントレース」を選んで「!」ボタンを押す。図8.4のようにWorkspaceに結果が表示されるので、コンバートが成功した事を確認したら、「バッチの書き込み:」タイルの引数にバッチ番号5を設定して書き込みを実行する。

あとは「バッチ実行:」タイルで登録したバッチ処理を実行できるが、もし実行後にシリアルケーブルを外す時間が欲しいなら、(Squeakの)waitタイルの後ろにバッチ実行:タイルを並べたスクリプトを作るか、もしくはWAITコマンドを実行してからループしないバッチの実行によってバッチ5を呼び出すようなスクリプトを、他のバッチ番号に登録すればよい。

図 8.3: ライントレースのスクリプト
\includegraphics[scale=1.0]{images/lineTraceScript.eps}

図 8.4: ライントレースのスクリプトをコンバートしたところ
\includegraphics[scale=0.82]{images/lineTraceConverted.eps}



Deguchi Lab. 平成20年3月5日