ETロボコン開発:日々の記録(7月)
ETロボコンの開発にあたり,開発記録を残すことは重要であると感じました。 7月1日
最終調整。まずはやるべきことをまとめる。
このシートの内容に,本番の走行記録を書き込めるようにします。 走行で使用したパラメータや,各地点における状態遷移の様子などを記録可能です。 1走行での情報をまとめ易く,調整時のフィードバックが大きいと考えられます。 んで,問題は2つめ(プログラム動作)。欲張って機能を追加したせいで, プログラム容量をオーバーしている可能性が有るかもしれません。 なんか,追加した論理判定が明らかにおかしい現象が発生していました。 ひとまず直りましたが,他に影響があるかもしれない・・・ ひとまず調べた内容。 ************************************************************ CPUは,H8/3292という日立製の8bit CPU(アドレス空間は16bit)で 16MHzで動作する。 そして,ROMが16k,RAMが32k載っている。 ROMにはファームウェアをRCXにロードするプログラムが格納されており, RAMにファームウェアとユーザプログラムを書き込むことになる。 ************************************************************ とのこと。 僕らの「○.lx」ファイルが12kByteなので,BrickOSの容量 (というか書き込み時間で想定した大きさ)を考えると,なんかあるかも。 と,いうことで,少し前のプログラム(機能縮小版)も引っ張り出して, 性能試験を簡単にやってみることに。 内容は以下の2つ。 ・追従性試験 ・走行試験 前者は,黒線をステアリングが追従する反応を(見た目で)確認。 後者は,MINDSTORMの添付コースをMAX速度で走らせての確認。 結局判断は,「見た目」と「勘」なのだが,同じアルゴリズムで 動作が違う場合,「何かがある」ということで,「危険」がわかるのである。 まずは,追従性試験。といっても,黒線への左右へずらしたときの反応をみるのみ。
問題ないかな?次に走行試験。
あまり変わらないと言うか,最高速でこのコースは無理のようでした。 速度を変えて調べたりもしましたが,・・・性能的に問題は無い (普通に走れるプログラムと同じ性能はある)ようなので, 本番もこれで行ってみますか。 7月2日
やってきました本番会場。最速しか考えていないチーム参上です。
ある程度は予想していましたが,会場に入ってからはトラブル続き。 ・PCの電源が入らない(電池切れ&電源供給無しだった…) ・PATH FINDERにプログラムを書き込めない(会場で初めての現象) など,試走の前に問題だらけ。が,何とか復旧して試走へ。 さらに試走もここ2週間で沢山仕込みを入れていたので, スタートで失敗すると,全体で失敗したりする状態。データが取れないー。 さらに,オフィシャル電池のパワーが想像以上に強すぎて,じゃじゃ馬状態。 完走なんて出来なさそうな状態です。 PATH FINDERに再書き込みして調整する時間も無いので, 想定していた事などとてもできないまま3分終了。 「こりゃまずい!つーか完走できない!」と言う状況だったため, 用意していた仕込みは大幅にあきらめることに。 さらに機能を削って安全&最速(意味的にはこんな感じ)のプログラムで, きっちり完走を目的として試走2回目へ。 …あれ?ショートカット,通過できないんですけど…
電池パワーやら光の調整やら全ての悪要素が絡み合って, 結局一度も完走できないまま試走が終了。 そして昼頃にはなんか試走で計測した時より明るくなっている気が…
とんでもない状態で本番を迎えることとなりました。 想定していた最悪ケースすら超えています。 とりあえず,控え室でショートカットのプログラム調整。
いけるかな?程度の調整しか出来ませんが,仕方がありません。 本番の怖さを走行の前に全力を持って感じつついざ会場へ。 すでに43秒の好タイム(FF宮ノ台さん)が出ていました。さらにあせりが加速する。 ~1走目: さて,1走目。勝負をかけるべきアウトコースです。 試走で完走できなかったので,自身ははっきり言ってありませんが, 走行前に意気込みは述べなくてはなりません。 チーム「あまがさきつうしんぶ」の信念とは! 「初出場ですが,完走を目標,では無く,最速を目指します。 最速かリタイアか! モータの設定は最速のみ。復帰処理はありません。」 自信が無いのに言うことだけはでかいです。 結果は…意気込みがLEGOにまで伝わってしまったらしく, スタート時にウィリー。さらにウィリー中の誤認識によりリタイア。 「最速」には達することが出来ませんでした。うーむ無念。 さらに1走目での結果を見ると,完走が7チームのみ。 試走会で30秒台を出していたチームは全てリタイア,と本番の魔物の怖さを 感じることに… 控え室に戻っても元気なし。さて,2走目どうしましょう?という検討会議。 検討内容は,「オフロード通過を止める」(全員の意見一致) 「さらに安全を目指すか,インでの最速を目指すか(50秒は切れるため)」 (我がチームは安全モードもモータ最速なのでした) 結果は,「速度はあきらめて,安全に帰ってきましょう」という意見に。
1分を切る程度を目標に,駆動モータ速度MAXの誓いを泣く泣くあきらめ, 90%速度で攻めることになりました。 ~2走目: さて,安全走行だしと力を抜いて向かうべき2走目ですが, 本日一度も完走してないので,あせりはあります。 会場で他チームの走行を見ていると,スターターの影で 誤認識(しかもゴール前)でリタイアすることがあるように感じました。 「スタートしたらしゃがもう」ということを心がけ,スタート! …結果は53秒。思ったよりもずっと良い結果でした。 まずは完走できたことにホッとしています。 「終わった…」と思ってくつろいでいると, 会場が沸き,覗いてみると35秒台のチームが!(加賀百万石さん) おみごと!というべき内容です。 結果を出したチームがいると, 調整時間が…などとの言い訳は出来ません。完敗です。 とりあえず最終結果は6位でした。
参加チームによって走法が異なる様子など面白かったです。 復帰のアルゴリズムを始め,レーンをチェンジしまくって走行とか, ドルフィンジャンプ走法とか,非常に参考になるし刺激にもなります。 参加チームの皆様お疲れ様でした。 優勝した加賀百万石さんおめでとうございます。北陸強し!ですね。 最後に記念撮影。
楽しく学べる,というのは素晴らしいものと思いました。 今後もこの大会への参加を含め,活動は続けていきたいですね。 …ETロボコン参加記録 開発言語:C++ 開発期間:3ヶ月(実質2ヶ月:土日のみ) 獲得技術:UML,C++,テスト駆動,XP,アジャイル経験 結果・・・6位(チャンピオンシップ出場権GET!) 本番後の様子 前の月(6月後半)へ 戻る |