東京での無念を大阪で晴らす? ――LEGOロボット競技 関西大会,9月17日開催へ
「もうちょっと安定した環境なら,うちだって上位をねらえたのに...」という思いが残ったチームも多かったことだろう.2006年7月に開催された,LEGO MINDSTORMSで作成したロボットによる競技会「ETロボコン2006」では,スポット・ライトを併用した会場の照明(ライン・トレース・ロボットにとって厳しい環境)のもとで,コースを2回とも完走できたのは,108チーム中わずか5チームだった(詳しくはETロボコン2006レポートを参照).
そんな無念の思いを晴らす機会が提供される.2006年9月17日,伊丹市ラスタホール(兵庫県伊丹市)にて「LEGOロボット競技 関西大会(通称:負け犬大会)」が開催されることになった.本大会は,ETロボコン2006に参加したチーム「あまがさきつうしんぶ」が主催する非公式大会である.
ここでは,本大会にかける意気込みを,チーム「あまがさきつうしんぶ」(個人参加)の細谷泰夫氏と,チーム「猪名寺駅前徒歩1分」(三菱電機マイコン機器ソフトウエア)の佐竹康之氏,佐藤 亨氏に聞いた(写真1).
[写真1] チーム「あまがさきつうしんぶ」の細谷泰夫氏(写真左)と,チーム「猪名寺駅前徒歩1分」の佐竹康之氏,佐藤 亨氏(写真右)
チーム「あまがさきつうしんぶ」の紹介:
個人チームとしての参加だが,実はチーム・メンバ全員とも某電機メーカ勤務の社員.10年目の細谷泰夫氏と3年目の水野昇幸氏,若手社員2名で構成される.
ETロボコンには昨年から参加している.
チーム「猪名寺駅前徒歩1分」の紹介:
企業(三菱電機マイコン機器ソフトウエア)チームとしての参加.今年が初参加である.会社の中で有志を募り,チームを結成した.入社11年目の佐竹康之氏と,入社3~4年目のメンバ4名で構成される.
ETロボコンへの参加の目的は,社外と交流し,世の中のレベルを知ることだという.また,猪名寺駅近郊のチーム「あまがさきつうしんぶ」に対する,良い意味でのライバル意識もあったようだ.
――開発した制御プログラムの特徴を教えてください.
佐竹氏:チーム「猪名寺駅前徒歩1分」は,(トレースする)線のとおりに走れば速いだろう,とにかく「なめらかに走ろう」と考えました.センサでいろいろ見るとタイヤが振れるので見すぎないようにしたり,ステアリングも切りっぱなしではなく,何秒間か切ったら元に戻す,という動作を行っています.元に戻すまでの時間を何秒に設定したらよいのかなどは,走らせながら調整しました.
細谷氏:なめらかでしたよ! 以前に合同試走会を行ったのですが,うち(チーム「あまがさきつうしんぶ」)が「ターボつきの軽自動車」だとすれば,こちらは「セルシオ(高級車)」みたいでした.
佐竹氏:試走会などでは「速いね」と言われることも多かったのですが....そこそこ整った環境では走れるけれど,今年のETロボコンのような,過酷な環境に対応できるような作りにはなっていなかったです.
細谷氏:チーム「あまがさきつうしんぶ」は,昨年からテスト駆動開発(TDD:test driven development)で開発しています注1.昨年はC++で開発したのですが,今年はC言語で開発しました.
今年のプログラムはスクラッチ開発(プログラムを一から作成すること)だったのですが,TDDで動かしながら(テストしながら)開発したので,完成したプログラムは1回で意図したとおりに動きました.TDDのおかげで,論理的なまちがいは入り込まなかったということです.
注1;この開発については,2006年9月30日に開催される「XP祭り関西2006」において,「組込みでもTDD!~C言語における LegoMindstorms テスト駆動開発実践~」というタイトルで講演が行われる予定.
――ロボット(走行体)の性能は,いかがでしたか?
細谷氏:チューニングをきちんと行えば,そこそこ速く走れるロボットになりました.チューニングは,速度や明るさのしきい値,首の振り幅,首を振る速度などについて行います.それぞれに対してあらかじめ7~8個ほどのパラメータを用意しておき,本番のコースに合うものを使うようにします.
最適なパラメータは,本番の環境(明るさや光の射しかた)によってかなり異なりますし,電池の電圧によっても変わってきます.ETロボコンでは,当日は調整の時間がそれほど取れないので,短時間で調整できるような作りも,勝つためには必要かもしれません.
佐竹氏:うちも調整の時間が足りなくて,ほとんど「ぶっつけ本番」でした(笑).
――どのように開発を進められたのですか?
佐竹氏:週に1回,定時後に集って作業しました.でも業務との兼ね合いで,集まって開発する時間をなかなか確保できませんでした.しごとを振り切って駆けつけるメンバもいましたが,振り切れずに10~15分だけ顔を出して,また業務に戻るメンバもいました.
佐藤氏:わいわいやりながら開発するのが楽しかったですね.とくに,ほかのメンバとの発想の違いがおもしろかったです.
細谷氏:うちは個人参加ですから,会社の設備はいっさい使わず,有料の会議室を借りて作業していました.やはりしごとが忙しくて,なかなか集まって活動できず,最後のほうは私の自宅に集まって,泊まり込みで開発したりしました.
●「速さ」を極める
――「あまがさきつうしんぶ」は,昨年のETロボコン チャンピオンシップ大会の優勝チーム「ムンムン」とライバル関係にあると聞きましたが?
細谷氏:試走会でどちらが速く走れるか,というおとなげない戦いをしているだけです(笑).
――速く走るためには,どういうくふうをされているのですか? 例えばショートカットの点線や,グレー・ゾーンはどのように認識しているのでしょう?
細谷氏:点線を意識した走行法で連続線も走れるようにしています.(光センサの)首振りを速くすれば(トレースする)線をすばやくとらえることができますが,それでは点線でうまく走れません.首振りを調整し,ゆるやかな角度で方向修正するようにしておけば,かなりの確率で点線も走れるようになります(図1).だからうちのチームは,コースアウトしては復帰する,という動きをしています.
[図1] 点線も走れる連続線走行法
トレースする線に対してステアリング角度をゆるやかに走行するため,急カーブは曲がりきれないことがある.その場合もコースアウトからすばやく復帰するようなプログラムにしてある
細谷氏:グレー・ゾーンは認識していません.グレー・ゾーンの認識は,会場の環境に大きく左右されます.MINDSTORMSの光センサの精度があまり良くないこともあり,環境が変わるとグレー・ゾーンを認識するのは至難の業です.低速走行なら複数回グレーを検出するなどして認識できますが,うちのチームみたいに「トラック2周を30秒台で走る」といったことをめざしているチームだと,無理だと思います.
ただ,今年のように,事前にコースの正確なデータが公開されていれば,例えばタイマを利用して,ある一定の時間内にグレー・ゾーンがあればグレー・ゾーンと認識する,という方法も可能でしょう.実は昨年,この方法でグレー・ゾーンを認識しようと考えていたのですが,コースのデータが公開されていなかったので,事前にタイマの秒数を割り出すことができず,本番直前の短い間では調整しきれなかったので,実際には使いませんでした.
●過酷さは「ル・マン」並み?!
――昨年(ETロボコン2005)は自然光がさんさんと降り注ぐ環境,今年(ETロボコン2006)は薄暗くスポット・ライトで照らした環境,と,毎年過酷なレースになっていますね.
細谷氏:昨年は試走のときがとくにひどくて,リタイヤするチームが続出していました.午後の本番には光が落ち着いてきて,少しはましでしたが....コースの発泡スチロールの継ぎ目がガタガタしていて,こけたチームもけっこうありました.
――それでは,今年のコース(布に印刷されていた)で状況が改善したのですね?
佐竹氏:いや,今年の布の継ぎ目も,なかなか凶悪でしたよね(笑).
細谷氏:ふつうに走ったときはなんなく通過できても,ひょんなことから光センサが浮き上がったりすると,コースを見失ってしまうんです.
本番では何が起こるかわかりませんから....試走では問題なかったのに,本番になるとうまくいかなかったり,突然壊れたりといったトラブルが起こるんです.昨年も,本番でロボットのOSが吹っ飛んで,スタートさえできなかったチームがありました.
――今度の関西大会は,そういう,「こんなはずじゃなかった」という無念を晴らすための「裏大会」なのですね(笑)注2.
注2;関西大会のホームページには,会場の明るさなどについての細かい情報が掲載されている.
●関西大会への意気込み
――LEGOロボット競技 関西大会では,走行プログラムと使用方法だけを送ってもらい,標準的な走行体にダウンロードして走行させる「ゴースト参加」というのもあるそうですね.走行体の規格が同一だからこそ可能な,ユニークな試みだと思いました.
細谷氏:走行体は基本的には同じですが,でき上がるものは組み上げた人によって微妙に違います.私のチームでも,車検注3に通る(走行性能に影響を及ぼさない)範囲でブロックを増やして剛性を強化したりしていました.また,ロボット好きのメンバ(水野氏)は,車輪に荷重をかけ続けるとゆがむというので,走行体を休ませるときはわざわざ車輪を上にして置いたりしていました.
注3;ETロボコンでは,電池の搭載や機構の正常性をチェックする「車検」がレース本番直前に行われる.
佐竹氏:モータ・ブロックや光センサ・ブロックの性能にもばらつきがあります.
――今度の大会の目標は?
細谷氏:とにかく「チャンピオンシップ出場チーム注4に勝ちたい!」です.
注4;ETロボコン2006で優秀な成績を修めたチームが,秋に開催されるチャンピオンシップ大会に出場する権利を得る.なお,このインタビューが実施された後に,両チームとも自己推薦枠(3チーム分)に選出され,チャンピオンシップ大会に出場することが決定した.詳しくはETロボコンの公式ホームページを参照のこと.
佐竹氏:うちは,「なめらかに走ってタイムを速く」です.
細谷氏:まあ実際には,勝負は運によるところも大きいですから,勝敗にこだわるよりも,参加することを通じて新しいことを身につけたいと思っています.技術者として,「技術力を向上したい」という思いはつねにあります.
今年は,貧弱な環境でも動く「自律オブジェクト指向」を取り入れて,TDDで開発してみました.その結果,チームの若手の技術者もTDDで開発できるようになりました.
佐藤氏:ETロボコンは規模が手ごろなので,しごとでやっていない技術を試したり,実践してみる場としても使えます.
細谷氏:会社の業務でまだ取り組んでいない技術を身につけておくといいですね.新しくプロジェクトが始まったときなどに,やりたいしごとに対して手を挙げやすくなると思います.
佐竹氏:うちのチームも理論の裏付けをとりながら勉強したかったのですが,時間の余裕がなくて,そこまではできませんでした.ただ,外部の人と交流できたし,若手のメンバにも「楽しいものだ」と思ってもらえました.また次に,外部から話があれば,彼らは積極的に参加していくと思います.