初めてのETロボコン (2) ―― 「よたよた走り」で試走会Iに挑む
前回の最後に,「私たちのチームはまだ,よたよた走り出したばかりです」とありました.この「よたよた走り出した」という表現は,チームだけでなくモデルにもソースにも言えることでした.今回は,「よたよた走り」についてのソフトウェア的な話から始めます.
●「よたよた走り」とは
ここでいうよたよた走りとは,ライン・トレース・カーで一般的なエッジ走行のアルゴリズム注1を使って走ることを指します.私たちは,競技規約で定められたロボットを組み立て,以下の三つの機能を実装し,よたよた走りを実現しました.
- 光センサを制御し,黒色と白色を識別する
- 駆動モータを制御し,前進する
- 操舵モータを制御し,進行方向を変化させる
注1:例えば,白色の平面上に黒色の線が引かれていたとき,線の右側もしくは左側を選び,黒と白の境界に沿って走行する方法.
[図1] よたよた走りのクラス図
ライン・トレース・カー開発におけるエッジ走行の実装は,プログラミング言語の習得における"hello world"のようなものです.規定された仕様のロボットを組み立て,提供されたメカニカル・ライブラリ(モータやセンサを制御するライブラリ)を使用して,エッジ走行を実現したところで,やっとETロボコンに参加するインフラが整いました.:-D
●試走会Iで何する?
さて,第1回目の試走会(試走会I)の日が近づいてきましたが,決めないといけないことがあります.それは「何を試すのか?」です.
試走会Iでは実物大&実素材(布)のコースを使用できるという意義があります(それまで私たちは,黒線をコピー用紙に印刷した長円形のコースだけでテストしていた).作成した走行モデルの妥当性を試す絶好の場でもありましたが,走行モデルのほうは実装してみた結果をフィードバックしている途中の段階だったので,今回は見送ることにしました.そうしたああだこうだを経て,
1)物理実験の場としての,基本的なデータの取得
2)灰色検知アルゴリズムの実験
の二つを狙いとして参加することにしました.
1)の目的は,最終的な走行戦略を決定するためのデータを取得することです.ETロボコン2008のコースは,「ショートカット」や「ツインループ」といった難所を通らなくても,内周は右側のエッジ走行で,外周は左側のエッジ走行で,それぞれ走破が可能です.単純に周回したときのタイムを計測することで,難所の攻略や「ゴール後停止」などを実現した場合にどれだけの走破タイムになるのかを見積もることができます.こうした基本的なデータを取得し,また,既に実施された東海地区大会の優勝タイム(AdoniSチームの20秒8!)などを考慮して,最終的な走行戦略を決めることにしました.