2010年09月05日

ETロボコン2010参戦記(合同練習会、試走会その2、そして本番)

ちょっと記事を書かない間に本番まで終わってしまいました。
その間に何をしたかをざっと書いていきます。

前回の公式試走会後、@IT MONOISTの記事などを参考にPID制御を組み込みました。
ほかにもオリジナルのPID制御を開発し、ソースを公開している方もいらっしゃると言う噂ですが(たぶんこれ)、オーソドックスそうなやつを組み込みました。


合同練習会
その後、同じ佐賀県で登録しているチームの合同練習会に呼んでいただき、PID制御を組み込んだソフトを試してみたりしました。
(ちなみにそのチームは九州地区総合優勝のSAGA組込ソフト研究会さんです。おめでとうございます!)
この時、PCは持って行ったけど電源ケーブルを忘れ、さらにUSBケーブルも忘れたていたため、NXTに入れているソフトを走らせるのと、そのログをBluetoothで取得するしかできなかったのが残念でしたが、調整していたPID制御のパラメータでコース全体を一周はできたので、とりあえず安心でした。


試走会その2
実は試走会1の後(7月末〜8月中旬)ってほとんど作業しなかったんですよ。
しなかったというかできなかったというか微妙なところですが、会社の夏休みにモデル書いたりいろいろするぞ〜!という野望はあったのですが、実家に帰ったり子供の相手をしたり日常の生活に追われて夏休み明けもブランクから復帰できず、「あれ、次の試走会目前じゃん、どうする?」状態。
とりあえずやっつけで難所攻略ロジックを組み、テスト環境がないのでぶっつけで試せば何か分かるだろうと思って走らせてみたらやっぱり難所はクリアできず、しかも階段横のインコースのヘアピンでコースアウトするという事実が発覚(練習会では走れたのに!)。
急遽PID制御のパラメータを調整するも、根本的に合ってないらしく修正ができず、しかたなくスピードを落とせば走れることが分かりました。
結局この現象は解消できず、というか試走できる環境がないのでパラメータを調整しても確認できないため、コース前半は全速力で走り、後半は若干スピードを落として走らざるを得ませんでした。
あと、シーソーや階段は段差に垂直に入らず斜めに入るので登れない、登れてもあさっての方向を向いて転落する、という状況だったので、課題をつかんで(つもりになって)それを解消しようと試行錯誤してました。

シーソー、階段攻略法として、以下のような方針を立て、テスト環境(雑誌を重ねて簡易階段を作った)で確認をしました。
・ゆっくり近づけば段差に対して垂直に行けるのではないか、それならばマーカーを検出したらスピードを落とそう
→スピードを落としてもダメ、登れないし登ろうとじたばたして結局斜めになってしまう
・ならスピードを落とさずに行けばいいんじゃね?
→あっさり登れた!
というところまで確認して九州地区大会に臨みました。
あ、モデルは(モデルも?)検討時間が十分に取れず、こっちもやっつけで作って提出しました。内容は推して知るべし。


九州地区大会
上に書いたように、不安は残るものの当日の試走で確認するつもりで本番に臨みました。

で、本コースを走らせてみたら、
シーソーや階段に登った後、勢いが付きすぎて転倒する
・じゃあ登った後停止しよう、ジャイロセンサの変動を検知して数秒間停止だ
→停止後、フルスピードで走ろうとしてシーソーの下りの勢いを殺せず転倒
・じゃあ停止後再スタートのスピードはゆっくり、そしてフルスピードだ
→降りた後にラインを見失い迷走することがある

ということで、インコースは問題ないものの、アウトコースは難所に挑戦したらかなりの確率で失敗するという状況でした。
ここで
・アウトコースの難所に果敢に挑戦する(そして多分リタイヤする)
・無難にライントレースだけする
という選択を迫られます。

最初は「ダメもとで難所に挑戦したらいいじゃん!」と思ってたのですが、各チームが次々とリタイヤする状況を見ていると(うちのチームは走行順が23組中22組目だったので)「ここで少しでもいいタイムだったらまあまあの順位になるのでは?」というスケベ心が頭をもたげます。
冷静に考えればチャンピオンシップに行けないのはほぼ決まりなので順位なんて関係ないはずなのにね。
ということで、アウトコースでは走行エッジが右側だったのを左側に切り替えて、インコースもアウトコースも難所に挑戦せず、無難にライントレースをするだけという方針になりました。

そして、自分たちの出走順を迎えます。一走目はアウトコース。
オペレーターは私。
(なぜなら、みんな実装も試走もさせたことがなく、実際に設計実装テストを私一人でやってたからです。試走会とかには来て課題の解決アイデアをくれたんだけどね)
いつも通り起動してプログラムを実行してキャリブレーションしてあとはタッチセンサーを押して走らせるだけ。

3、2、1、スタート!

あれ、いきなり迷走??

コースアウト?

もうダメだ、リタイヤ…

呆然としてNXTを回収してみんなのところに戻り、土下座して謝りました。
この時は何が悪かったのか分かりませんでした。
スタートさせるときに前傾させすぎててスタート即転倒とか、ラインに対して垂直に立ってなくて迷走とかはありましたが、少なくともそんな状態ではなく、走り出してラインを見失うという今までとは異なるコースアウトの仕方だったからです。

で、戻ってからのメンバーの一言。
「最初にラインに乗せるときのエッジ、左になってました?」

………それだ!

プログラムを修正してからサンプルコースで試走はしていたのですが、本番ではあまりにもいつも通りの操作をしたため、さっき入れた修正のことを忘れていつも通りの手順で走行スタートしてしまったのでした。
そのせいで、NXTはラインを見失って迷走してしまったのです。
これなら、シーソーに挑戦して転倒した方がましでした。今さらどうしようもありませんが。

2走目のインコースは右エッジだったし、絶対オペミスしないという覚悟で臨んだのでなんとか完走しました。1分10秒ぐらいだったかな?

こうしてETロボコン1年目の挑戦は終わりました。
ちなみに、同じ組で出走したライバルチームは高専生で、ピットとか走行前の待ち時間とかにめちゃくちゃ不安そうな顔をしていたのに、インコースではエニグマクリア、ガレージインクリア(多分インコースのガレージインクリアは初めて)、アウトコースは難所には挑戦しなかったものの、ショートカットと高速走行で40秒ぐらいでゴールしてました。
悩むレベルが違うじゃん!


感想
まあメンバーが8名もいたのにみんな仕事の片手間で実働は一人だったとか、初めてで右も左も分からない状態で始めたとか、言い訳はいくらでも思いつきますが、いい大人がそんなことを言っててはダメですね。
来年も参加できたら、もうちょっとテスト時間を取って検討と調整に時間をかけた上で試走会に臨めるようにしたいと思います。
posted by 岩永 at 23:55| Comment(0) | TrackBack(0) | ソフトウェア | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/161671197
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。