cangosina

情報系大学院生のブログ的な何かです

K-LabがモデルランクをCからBに上げることができた理由【作成モデル公開】【ETロボコン2019】

f:id:korosuke613:20191212232809p:plain

ETロボコン2019のデベロッパー部門アドバンストクラスで、僕たちチームK-LabはじめてモデルランクBを得ることができました

(いままでのモデルランクはC-かCでした)

僕たちがどういうことを意識してモデル作成に挑んだかということと、CS大会*1出場の際にどういう変更を加えたかということを、後輩のために記したいと思います。

ETロボコン&EV3 Advent Calendar 2019 13日目の記事です


目次


公開するモデル

説明のために、K-Labが作成したモデルを公開します。

僕たちは宮崎大学 情報システム工学科 片山徹朗研究室の学生で構成するチームです。

毎年ETロボコンに出場しており、筆者である僕(平木場)は3回目の出場となります。

地区大会モデル

モデルランク: C

高解像度で見たい場合はこちら

CS大会モデル

モデルランク: B

高解像度で見たい場合はこちら

K-Labがモデル作成で取り組んだこと

モデルを作成する際に、僕たちはそれまでの経験から以下のことが大事だと考え、取り組みました。

審査規約の熟読

僕たちは、モデルを作成するに当たって、まずは審査規約をひたすら読み込みました。

各カテゴリの審査内容について、審査規約には、

モデルは以下の内容に則って審査を行います。

と書かれています。

審査規約には、各モデル*2で記述するべき内容、審査の対象範囲、審査基準などが事細かに載っています。

審査の対象範囲

特に、「審査の対象範囲」には、各モデルが、競技におけるどの部分を審査の対象とするかが載っています。

例えば、今年度の審査規約では、制御モデルにおいてガレージに関する内容を書いても、それはプラス評価になることはありません*3

せっかくガレージ駐車の制御をわかりやすく書いても、全く良いことはないということです。

書いた後に審査対象外だということを知っても遅いので、審査の対象範囲についてはしっかりと把握しておく必要があります

モデル審査補足資料

また、今年度は「モデル審査補足資料」という、審査規約の補足資料が公開されていました。審査規約だけではわかりにくい点などを補足する資料だったのですが、審査規約だけでは読み取れない部分、審査員が伝えたい大事なことがこちらの資料に載っていました

妥当性、制御戦略と言った一見難しい用語の詳しい説明や、各モデルの審査項目についての推奨・非推奨する事柄などが載っていました。モデル審査補足資料という名前ではありますが、審査員が求めていることがたくさん載っていたため、僕たちは、実質審査規約だと考えて読んでいました

つまり審査規約大事

審査規約を充分にわかっていないと、いくらトレーサビリティが取れていても、わかりやすい内容でも高ランクを狙うことはできません。

上位チームには当たり前かも知れませんが、モデルで良い点数が取れないチームは、まず審査規約を読み込み、求められていることを理解することが大事だと考えます。*4

前年度の審査規約との比較

審査規約は毎年同じ内容だということはありません。前年度と大きく変わっている部分もあれば、ビミョーに変わっている部分もあります。

特に、僕たちは毎年ETロボコンに出場しており、前年度の審査規約の記憶が残ってしまっているため、思い込みで今年度の審査規約で求められていないことを書いてしまう可能性がありました。

そのため、前年度の審査規約と今年度の審査規約を並べて、とにかく何が変わったかをリストアップしました。(LコースRコース全体になったことや、重点技術の追加などなど)

重点技術を意識

今年度は、「EDGEを極めろ!*5」というテーマに従って、重点技術(画像処理、AI)の活用を評価すると審査規約にデカデカと載っていました。

モデルは、要求、分析、設計、制御、総合で100%の評価だったのですが、重点技術はそれに最大10%を加算する*6というものであったため、決して無視できない項目でした。

そのため僕たちは、重点技術を取り入れられそうな部分には積極的に重点技術を取り入れ、モデルでアピールしようとしました。

具体的には以下のような重点技術をモデルに記しました*7

  • 画像処理を使ったカメラシステムによるブロックの色識別
  • ニューラルネットワークを使ったカメラシステムによる数字カード識別
  • 決定木を使った走行体による色識別

他チームの良い部分を模倣

参加チームは前年度の優秀なモデルを手に入れることができます。他チームの優秀なモデルが配布される理由は、参考にするためだと考えます

僕たちは、モデル作成前に、前年度の優秀なモデルを読み、「なぜこのモデルが優秀と言われているのか」をみんなで考えました。

そして、良い部分はどんどん取り入れていきました

例えば、以下のような部分です。

  • 目標をどういう風に要求に落とし込むか
  • 大事な部分の強調
  • ゲームをどう要素定義しているか
  • UMLの書き方
  • 制御モデルの書き方(課題、対策、検証といった流れ)

地区からCSに向けて変更したこと

DA*8ではCS大会に出場する際に、地区大会で提出したモデルを編集して再提出できるのですが、その際にどういう変更を加えたかを説明します。

僕たちは、先ほど述べたような「モデル作成で取り組んだこと」を行っても、残念ながら地区大会でのモデルランクがCでした。

「トレーサビリティ」や「設計意図・方針」「表現」などは概ね良い評価だったのですが、「概要」「制御戦略」が0点であったためです。

地区大会後にモデルを修正する期間はそこまで長くないため、評価を上げやすいところである、0点の項目を最優先に修正していきました

また、残念なステートマシン図を書いてしまっていたため、これを修正しました。

他にも、たくさんの追加、修正を行っています。

アブストラクトページの大幅な修正

「概要」に当たるアブストラクトページでは、モデルの概要・構成の両方において「これを見るだけでなんとなくモデルがわかる」というものになっていなかったため、他チームのモデルも参考にして、もう一度初めから書く内容を練り直しました。

「モデルの概要」では、このモデルでアピールしたいこと特に力を掛けたところを簡潔に書きました。

「モデルの構成」では、目標をかなえるための大きな要求を3つ抽出し、分析モデル、設計モデル、制御モデルでそれぞれの要求をかなえるために行ったことを簡潔に書きました。

制御戦略の追加

僕たちは地区大会において、制御戦略を一切書いていませんでした*9....

そのため、ゲーム攻略の制御戦略、ボーナスサークル2個設置の制御戦略、ダブルビンゴ成立の制御戦略を追加しました。

ステートマシン図の修正

設計モデルの「システムの振る舞い」に書いたステートマシン図がひどいという非常に厳しい評価を受けました。

具体的には、アクション、ガード条件が無いことや、状態が細かすぎることから、アクティビティ図となんら変わらないというものでした。*10

そのため、アクション等をしっかりと書き、もっと状態を表すような書き方に直しました

まとめ

僕たちK-Labはモデル作成の際に、以下のことに取り組みました。

  • 審査規約の熟読
  • 前年度の審査規約との比較
  • 重点技術を意識
  • 他チームの良い部分を模倣

それでも審査規約への理解が足りなかったため、いくつかの項目が0点になってしまいました。

0点であった項目を修正することで、はじめてモデルランクBを得ることができました。

おわりに

僕たちは今回モデルランクBを得ることができましたが、もちろんもっと上のランク(A+)を目指したいところです。

CS大会で提出した僕たちのモデルは、UMLの表記が正しくないことや、耐障害性が弱いことを指摘されました。それ以外にも、もっとアブストラクトページをまとめるように書くべきだった、実現可能だと思わせるようなモデルを書くべきだった等の後悔があります。ゴールドモデルを取得したチームなどを参考に、まだまだ分析していきたいところです。

僕は残念ながら来年に宮崎を離れて就職するため、ETロボコンからは身を引きますが、K-Labの後輩がこの記事を見てモデル作成に役立ててくれれば良いなと思います。

追記(2019/12/13)

チームの中でファシリテーターだった人が補足してくれてました。

我々はこう作りました/こうやって作ります、が伝われば些細な表記ミスは大幅な減点には繋がらないのでしょうね

間違いないですね。僕たちが伝えたいことをいかに上手く伝えるかが大事だと思います。

UML(Unified Modeling Language)は自然言語では表現しづらい構造や振る舞いを伝えるための言語なので...


*1:チャンピオンシップ大会という全国大会のことです

*2:要求モデル、分析モデル、設計モデル、制御モデル

*3:プラス評価にならない。と書いているということはマイナス評価になる可能性はありそうですね

*4:かくいう僕たちも、審査規約を徹底的に読み込んだのは今年からです。

*5:エッジコンピューティングのEDGEから取っているらしい

*6:最大100%の点数配分を最大110%にできる

*7:重点技術は審査員が判断するため、案外他にも重点技術があったかも知れません。

*8:デベロッパー部門アドバンストクラスの略

*9:締切ギリギリで書き切れませんでした...

*10:噂では、アクティビティ図っぽいステートマシン図を書いているチームは割と多かったらしいです。ステートマシン図が書けないとこの先、生き残れないという噂も...


スポンサーリンク