![]() |
[2011 年 12 月号] |
[技術講座]
2011 年 11 月 16 日 ( 水 ) と 17 日 ( 木 ) の 2 日間、パシフィコ横浜にて、「 ET ロボコン 2011 チャンピオンシップ大会 」 が開かれました。地区大会を勝ち抜いた強豪 52 チームにより、熱戦が繰り広げられました。
本記事では、大会の様子や結果をレポートします。尚、ET ロボコンに参加する方を想定した内容となっていますので、ET ロボコンをご存じない方は、はじめにET ロボコン概要をご覧ください。
5.1. 地区の垣根を越えた交流 「 東京・南関東 合同合宿 」
5.2. 高校生チーム快挙、北関東地区大会 総合・モデル部門で優勝
「 ソフトウェアの優劣を競う 」 というコンセプトを掲げ、2002 年に始まった大会も、今年で 10 周年を迎えました。当初 20 程だった参加チーム数も、ここ数年は 300 チームを超え ( 今年 338 チーム )、全国 7 か所で地区大会が開かれるまでに拡大しました。今や組み込み業界を代表するコンテストと言っても過言ではありません。
今年は震災の影響もあり、一時は開催見送りも考えたそうですが、被災した東北地区の実行委員から 「 こんな時だからこそやって欲しい 」 との声を受け、開催を決めたそうです。そんな熱意に対し、参加者も過去最高のパフォーマンスで応えていました。
![]() |
![]() |
![]() |
今年は 2 ステージ制となり、スタートからゴールまでの走行タイムを計る 「 ベーシックステージ 」 と、難所をクリアすることでボーナスタイムを獲得する 「 ボーナスステージ 」 に分かれました。インコースとアウトコースをそれぞれ 1 回ずつ走り、リザルトタイム ( 走行タイム - ボーナスタイム ) の合計で競技部門の順位が決まります。ボーナスタイムが走行タイムを上回ると、リザルトタイムはマイナス秒に至ります。
以下では、競技の注目トピックをいくつか紹介します。また、@IT MONOist 記事にも競技当日の様子が詳しく紹介されています。
![]() |
![]() |
ベーシックステージ |
ボーナスステージ |
|
今年の走行体は、新たに追加された 「 尻尾 」 を使い、支えながら走る ( 以下、「 尻尾走行 」 ) ことで、走行スピードが飛躍的に向上しました。ベーシックステージにおいて、2 輪倒立走行が約 30 秒で走る中、尻尾走行は約 20 秒 と、1.5 倍の速さを誇っていました。また今年は、全体の完走率 ( ベーシックステージの完走率 ) も非常に高く、96% ( 筆者調べ ) を超えていました。
尻尾走行と 2 輪倒立走行の並走レースを紹介します。尻尾走行の速さを感じられるのではないでしょうか。
インコース、アウトコースを合わせた全 104 走行 ( 52 チーム × 2 走行 ) のうち、全難所をクリアした*1走行は 22 に上り、全難所クリア率は 20% を超えました。リザルトタイム ( 走行タイム - ボーナスタイム ) にいたっては、マイナス秒のチームが 30% ( 17 チーム ) に達しました。
全難所をクリアした走行を紹介します。インコース難所の注目は 「 シーソー通過・ダブル 」 クリア、アウトコース難所の注目は 「 ET 相撲・押し出し 」 クリアに集まっていました。
インコース全難所クリア ( UNCTインスツルメンツ/宇部工業高等専門学校田辺研究室 ) |
アウトコース全難所クリア ( AEK RUNNER11/アンリツエンジニアリング(株) ) |
*1「 ET 相撲 」 は、 「 押し出し 」 「 押し倒し 」 どちらでもクリアとする。「 シーソー通過 」 は、 「 シングル 」 「 ダブル」どちらでもクリアとする。
ワークショップでは、大会を通して審査委員が気づいた点や気になった点について、発表形式でフィードバックが行われました。審査委員は、「 これまでの大会で最もレベルが高く、モデル部門の上位は団子になっていた。 」 ( 渡辺氏*2 ) と述べるなど、ハイレベルな接戦であったことを評価する声が多く聞かれました。
「 モデル面 」 と 「 性能面 」 に分け、いくつかトピックを紹介します。課題を中心に取り上げた内容となっていますが、来年への期待として受け取っていただければ幸いです。
*2発表者 : 渡辺博之氏 ( 審査委員長 )、久保秋真氏 ( 審査委員 )、鄭顕志氏 ( 審査委員 )、中嶋栄次氏 ( 審査委員 )、河野文昭氏 ( 性能審査団 )、丸雅光氏 ( 性能審査団 )
昨年のチャンピオンシップ大会で、ここ数年停滞していると指摘のあったアーキテクチャ*4ですが、「 今年は進化が見られた 」 ( 渡辺氏*2 ) と振り返りました。昨年までは、難所毎に走行クラスを分割したパターン ( 便宜上、「 難所依存パターン 」 と呼ぶ ) が多く見られましたが、今年は難所に依存しない汎用的なレベルまで走行クラスを分割したパターン ( 便宜上、「 汎用パターン 」 と呼ぶ ) が一気に増加しました*3。全モデルの約 30% を占めたそうです ( 渡辺氏*2調べ )。増加の理由を 「 動的な変更を求められ、( 汎用化、部品化を進めなければ ) 振る舞いが肥大化してしまう難所 ( ET 相撲 ) の登場がきっかけとなったのではないか。」 と予想していました。
*3渡辺氏の分類したアーキテクチャパターンは 4 つだが、本記事では、説明簡略化のため 2 パターンに絞り紹介する。
![]() |
![]() |
難所依存パターン例 |
汎用パターン例 |
ただ興味深いことに、モデル、競技の両部門とも、汎用パターンよりも難所依存パターンを採用したチームの結果の方が良かったそうです ( 渡辺氏*2調べ )。普通は、汎用性が高く、効率性や保守性の面で優れる汎用パターンの結果が良くなるはずです。
難所依存パターンの方がモデル部門で評価された理由を、「 汎用パターンは汎用性が高いため、部品化したクラス図だけを見せられても難所攻略できるかどうか分からない。例えば、オブジェクト図などを用い、こういう部品をこういう順番で組み合わせて実現するといったことを示さないと理解できないが、ほとんどのチームにはそれがなかった。その点で減点され、相対的に難所依存パターンの結果が上回った。」 ( 渡辺氏*2 ) と語りました。また、難所依存パターンの方が競技部門で好成績を収めた理由を、「 汎用パターンは細かい部品が増えるため、開発上の工夫 ( 例えば、DSL*5 を取り入れるなど ) をしないと逆に扱いづらい側面があったのではないか。」 と予想していました。
汎用性や再利用性を高めながらも、人にとって分かりやすく、扱いやすいモデルであることが重要です。
*4基本設計や設計思想、およびそれに基づき構築された構造。
*5ドメイン固有言語、または、ドメイン特化言語。ある特定の作業遂行や問題解決に特化したコンピュータ言語。限定されたスコープにおける、生産性や品質の向上などを目的とする。
アーキテクチャ*4に進化が見られた一方で、妥当性を検証できない ( そのモデルでちゃんと動くことを確認できない ) モデルはまだまだ多いようです。「 こうやったらできそう 」 というアイデアレベルで止まっており、検証できるレベルに至っていないとのことでした。例えば、書いている走行戦略を実現できるか検証するために、モデルを細かく見ようとすると、必要な属性が記述されておらず検証できないといったケースが多々あったそうです。
筆者が思うに、走行クラスは 「 何となく 」 汎用化してみたものの、そのアーキテクチャ*4を検証し、使いこなすまでには至っていないチームが多かったのかもしれません。
モデル部門は、モデルシートと呼ばれる A3 用紙 5 枚に記述した内容により評価されます。ここ数年、モデルシートの記載が過密で可読性が悪化している点が指摘されていますが、今年はさらに深刻化したようです。理由として、「 要求モデルや並行性設計など、書かせる課題が増えたこともあるが、過度な補足のために可読性が悪化している面がある。」 ( 渡辺氏*2 ) と語りました。例えば、「 本来モデルで書くべき内容を補足で書いている。」 「 モデルで書いている内容と同じことを補足で書いている。」 シートが多かったそうです。「 来年は、補足の入れ方を検討したい。」 ( 渡辺氏*2 ) と、実行委員側でも対策を考えるようです。
そんな中、記載は過密ながらも、うまくナビゲーションを行い可読性を上げたチームがありました。例えば 「 R-GRAY NEXT/(株)ソフトウェアコントロール 西日本事業部 」 は、関連する事柄に同じ 「 アイコン 」 を付け、トレーサビリティを向上させていました。昨年まで多く見られたトレーサビリティの取り方は、「 色分け 」 や 「 参照 」 でしたが、「 色分け 」 は 1 つの事柄に対して 1 色しか割り当てることができない、「 参照 」 は単方向の紐付けしか行えないなど制約がありました。その点、アイコンは 1 つの事柄に対し複数付加することができ、かつ、双方向の紐付けが可能なため、トレーサビリティが飛躍的に向上します。来年以降の定石となりそうです。
モデル審査基準に 「 要求モデル 」 が加わったことで、今年はほとんどのチームが要求分析に取り組んでいたそうです。しかし、「 要求分析のプロセス ( 獲得→記述→分析→管理 ) のうち、獲得し ( 要求を洗い出し )、記述する ( 要求モデルを書く ) ところまでは出来ているものの、「 分析 ( 狭義 ) 」 が足りていないようだ。」 ( 鄭氏*2 ) と指摘がありました。具体的には、「 出てきた経緯の分からない要求 」 「 重複した要求 」 「 抜けている要求 」 「 検証できない要求 」 などが多く見られたことに触れ、その理由として、「 分析 ( 狭義 ) 」 で行うべき下記作業が不足しているのではないかと語りました。
少し話は変わりますが、筆者はある参加者から 「 要求モデルを書いてみたものの、要求モデルを書くメリットを感じられなかった。」 という話を聞きました。そう感じた方は、まずは 「 分析 ( 狭義 ) 」 を行うことでメリットを感じられるかもしれません。つまり、モデルとして可視化することで、確認や検討、他メンバとの共有が容易になり、「 分析 ( 狭義 ) 」 しやすいことを体感できるのではないでしょうか。
今年のエポックメイキングな要素技術である 「 尻尾走行 」 について、仕組みや工夫を紹介します。
尻尾走行は、「 尻尾 」 と呼ばれる 「 くの字 」 の部品を接地させ、走行体を支えながら走ります。走行体を支えることで、2 輪倒立走行時に温存していた 「 バランスを崩した際に立て直すためのモーター回転力 」 を走行スピードへ転化することができます。その効果は、上で紹介した通りです。
走行体を傾けることになるため、次の点に考慮する必要があります。
![]() |
![]() |
走行体の傾き |
光センサと路面との距離や角度 |
走行体は左右 2 つの車輪で走る機構上、旋回するためには左右のモーター回転力に差を設ける必要があります。その際、外輪モーターに最大回転力を設定し、内輪モーターに最大回転力から旋回に必要な回転力を差し引いた値を設定する工夫が見られました。これにより、モーター回転力を最大限に引き出しつつ、旋回性能を上げることができます。
総合、モデル、競技部門の上位 3 チームの表彰に加え、3 つの特別賞が贈られました。また、総合部門優勝の副賞として、「 マイナビニュースの優勝インタビューに載る権利 」 が贈られました。サイトに掲載された際はチェックしてみてはいかがでしょうか。
総合部門 | ||
---|---|---|
総合優勝 | HELIOS/(株)アドヴィックス | |
総合準優勝 | おやじプログラマーず/(株)エィ・ダブリュ・ソフトウェア | |
総合3位 | Champagne Fight/リコーITソリューションズ(株) ES事業部 第1開発センター ES第1開発部 | |
モデル部門 | ||
Excellent Model | HELIOS/(株)アドヴィックス | |
Gold Model | おやじプログラマーず/(株)エィ・ダブリュ・ソフトウェア | |
Silver Model | R-GRAY NEXT/(株)ソフトウェアコントロール 西日本事業部 | |
競技部門 | ||
1位 | Champagne Fight/リコーITソリューションズ(株) ES事業部 第1開発センター ES第1開発部 | |
2位 | HELIOS/(株)アドヴィックス | |
3位 | Impressions/パルステック工業(株) | |
特別賞 | ||
TOPPERS賞 | 雷鳥33号金沢行き/NECソフトウェア北陸 | |
IPA賞 | BERMUDA/(株)富士通コンピュータテクノロジーズ | |
情報処理学会 若手奨励賞 | はばたき隊/九州大学院システム情報科学府 情報学専攻 |
チャンピオンシップ大会の話題から少し逸れますが、番外編として、筆者の気になったトピックを紹介します。
ET ロボコン初の試みとして、東京・南関東地区の合同合宿を行いました ( 企画運営 : 江口さん、大西さん 他 )。湯河原の研修施設に 10 チーム延べ 40 名が集まり、1 泊 2 日の間、昼は試走や模擬競技会、夜は懇親会と充実した時間を過ごしました。
合同合宿を行ってみて、筆者は次のメリットを感じました。来年以降も続けていければと考えています。
![]() |
![]() |
![]() |
試走 |
浴衣で試走 |
モデルシートを肴に懇親 |
ET ロボコンは、学生と社会人が同じルールで競い合う珍しいコンテストです。とは言え例年、経験やスキルの面で勝る社会人チームの結果が上回る傾向にあります。そんな中、高校生チーム 「 科学の妖精/聖望学園高等学校科学部 」 が北関東地区大会の総合部門、モデル部門で優勝を果たしました。驚くべきは、普通科のため、授業でモデリングはおろか、プログラミングを教わる機会もない中の活動だったそうです。「 過去の優秀モデルを参考に手探りでモデルシートを完成させた。」 と苦労を語っていました。今後もさらなる成長を遂げ、大学生や社会人を脅かす存在になることを期待しています。
筆者の主催する東京連合 ( ET ロボコン東京地区コミュニティ活動 ) について振り返ります。「 知恵と刺激を与え合う 」 をコンセプトに、「 チャンピオンシップ大会で上位入賞を目指す 」 ことを目標に、約半年間に渡り活動してきました。目標としていた 「 チャンピオンシップ大会入賞 」 は残念ながら叶いませんでしたが、昨年を上回る、11 チーム延べ 56 人に参加してもらえたことはうれしい限りです。最近では、ET ロボコンを 「 競う場 」 としてだけではなく、他チームと 「 交わる場 」 としても捉えているチームが増えたように感じます。ET ロボコン全体が一つのコミュニティとして機能し始めているようで、東京連合が少しでもその一端を担えたのなら幸いです。
今後も、どういった形になるかは分かりませんが、ET ロボコン参加者が 「 知恵と刺激を与え合う 」 機会を作っていければと考えています。合わせて、同様の活動が他地区でも広がっていくことを期待しています。
本記事シリーズも今回が最終回となります。ET ロボコン参加者へ向けて、ET ロボコンの面白さや奥深さを、一歩踏み込んだ視点で伝えられればと執筆してきました。最近では 「 記事の内容を参考にしている。」 と声をかけてくれる参加者も増え、多少は貢献できたのではないかと手前味噌ですが満足しています。執筆にご協力いただいた方々に感謝いたします。ET ロボコンの今後のレベルアップに繋がれば幸いです。
© 2011 OGIS-RI Co., Ltd. |
|