ETロボコン2023 モデル審査
ETロボコン実⾏委員会
1

モデル審査はETロボコンの最⼤の特徴• 参加チームは⼤会の前に⾃分たちのソフトウェアをどう設計したかを⽰す設計資料（モデル）を提出• 実⾏委員が審査員としてモデルを審査し、スコアリング• 参加者は設計のフィードバックを受けられる• 設計、実装、競技など⼀連の開発プロセスを経験できる
３． 設計モデル（2）３． 設計モデル（1）

累とゆかいな仲間たち

３.５.１ システム全体の状態遷移

３.５ 振舞設計（詳細）３.５.５ ブロック de お片付け攻略の振る舞い

３.５.４ 運搬順序を探索処理の振る舞い「３.４ 構 設計（詳細）」のクラス図をもとに、競技を攻略するための運搬順序の探索処理の流れをシーケンス図（図3-5-7）に示す。

競技攻略するためのシステム全体の振る舞いを状態遷移図で示す。

「スタートを待ち」を実行する

累とゆかいな仲間たち「ブロック de お片付け攻略シナリオ実行中」遷移時に「攻略シーン生成タスク」と「通信タスク」を停止する。

無線通信デバイスタスク

重点
技術

シーンを実行する内部の振る舞いに関しては、 シーンの具体例
としてライントレースシーンを取り上げ、（図3-5-12）に示す。な
お、必要なインスタンスはすべて生成されているものとする。

動作実行タスク

タッチセンサが押されるま
でPWMを0に設定する「高いリザルトタイムを確実に獲得する」ために、「１．要求モデル」、「２．分析モデル」のソフトウェアの設計に関する要件から設計方針を決定した。
表3-1 ソフトウェア設計方針の検討

３.１ 設計方針
目標

２． 分析モデル
２.１ 走行体

１.１ 攻略方針

２．交点マーカー跨ぎ
直進また 旋回後、ラインに復帰する。
※旋回する際に、黒色を検出するまで旋回する
目標を達成するために非機能要求を網羅的に抽出するため、品質特性についてISO/IEC
25010の観点(機能適合性、性能効率性、信頼性、移植性、保守性)から要件で検討すべきことを洗い出した。
bk11: ライントレース復帰

１.2 開発方針【凡例】
主張：達成すべき性質

戦略：主張の達成を導くために必要な論証

補足情報

競技制限時間 ： 120秒

未展開要素

① ゴールまでの走行：検討すべきこと

機能適合性

ゲーム 構成要素、走行体め 指針を決定した。

指針１： ブロック

２.３.２ ゲーム攻略 ため 指針を実現する構成
動作
行
システムの処理能力やリソースについて求める性能など【制約2】 ブロックと接触しな指針を実現するため 構成を以下に示す。 なお、解法に正しく機能できるか、異常発生時の処置
判定
いように旋回時 制限直接関係しない要素や、単純なset/get 操作 紙面体 都
走行体や部品を交換してもシステムを継続利用できる合上省略した。
「3.ブロック取得」において、走行体動作 コスト(動作時間) 合計時計測間とする。 動作時間 算出方法 実際にコース上を走行旋回させる際に、 尻尾がブし、動作に要した時間を用いる。※下記 一部
ロックベースエリアに設置さデバイスれているブロックと接触す

色判別方法

動作定義

指針３： ゲーム

例外フロー
事後条件性

UC00

性能効率性

BF2: ゴールまで走行する

UC01

信頼性

BF3: ブロックdeお片付けを攻略する

UC02

BF4: 競技が正常終了を通知する-

Alt-1:競技時間経過で強制終了
システムが正常終了する

経路 情報 データサイズが大きく、PC-EV3間 通信を行う際に、通信不全・データ欠落リスクが大きくなる

性

機

移植性

0.5秒
1.5秒

交点サークル跨ぎ（ブロック保持無、右90）

1.5秒 PC

ブロック取得1.5秒

ブロック設置1.2秒

信機 移機移性

保重点技術

重点
技術

カメラ、走行体との通信管理

画像認識

ブロックの色を判別する

ゲーム要素

指針3.1 最初にボーナスブロックを設置
目標時間：15秒
ボーナスブロック 長距離運搬が必要で、他 ブロックに依存せず、決まった動作で運搬できる為、ボーナスブロック設置 経路探索 対象外とする 。

重点技術

最適な運搬順序を決定する

初期化
タスク
情報更新

動作実行
タスク

－－

4ms

最高

4ms

未運搬

ブロックを運れていないブロッ通信
20ms
ク設置場を運搬先
タスク

保に決定する。

機 移

指針４： 経路

図2-2-1 競技攻略フロー

bk14: デフォル
ト経路 選択

最短時間で運搬できる経路を選択するために、ブロックエリア特性として、ある2つ ノード間において、走行体動作 コスト(動作 実行時間)が定義できる。 また、ゲームを攻略する前に、【各要素の凡例】必ず経路探索が完了する必要がある。そ ために、「ノードまで コスト」と「こ 後 推定コスト（ヒューリスティック関数）」を利用し、 A*アルゴリズムをベースとした探索を採用する。
«requirement»
目標ノードまで 経路探索 動作 実行時間が最小となる隣接ノード組み合わせを探索。
機能要求信«block»
技術要素«block»
対応方針

重点
技術

図1-3-2 ETロボコン2022攻略システムの要求図

ETロボコン2023 開催発表会資料／ETロボコン実行委員会«block»設計方針「３.３ 振舞設計(タスク)」及び「３.４ 構 設計（詳細）」の結果を元に 、各タスクの振る舞いを設計した。

境界とは色と色の間、誤判定しないため、境界として判断した。

方針２

事前にボーナスブ
ロックを端点サーク
ルからブロックエリアまで運ぶシーンを設置している。

運搬順序探索を依頼する

運搬順序の作成フロー

運搬順序を網羅的に探索するため、 未運搬ブロックの中から運搬対象とそれに対応する設置ノードを決定する。

各動作のシーン群（全体）

運搬開始位置と運搬ブロック位置を取得

計測
競技課題攻略
シーン管理
動作
判定

コストが最小 経路を見つける※詳細は「４.２ カメラシステム
に関する制
走行体 動作制約から御戦略」を通過可否を判断する
参照

図3-5-13 シーンを実行するのシーケンス図② 動作を実行する

bk08: PID制御でライントレース走行

運搬開始位置を取得

bk06: カラーセン
サによる色判定

bk03: 自己位置推定②③

図3-5-8 通信タスクのシーケンス図

bk10:
電圧制御

① シーンを実行する

ボーナスブロック色によって、対応する経路を追加する

攻略シーン生成タスク
図3-5-5 ゴールまで最 攻略シナリオの例

運搬ブロック位置を取得

bk06: カラーセンサによる色判定
bk10: 電圧制御

コストが最小の取得経路を探索する
運搬順序結果を更新した後、攻略シーンを生成する

交点マーカー間移動

交点マーカー跨ぎ(前方)各センサ情報を加工するタスク。 情報精度が下がると、コースアウトのリスクが上がる、また最新なセンサーの値を使って取動かすため、動作実行タスクより高い優先度、最高優先度
得
経
シーンに基づき、走行体を制御するタスク。
走行体が停止す路
るとコースの攻略が不可能になるため、高優先度
をベースサークルに配置されたブロック 色によっ
算て、事前に決めたボーナ
出スブロック経路を追加する
受信した運搬順序からシーンに変換するタスク。ゲームエリア
処への到達までに動作実行の合間に行う、中優先度
理

ブロック配置が判定終了後、運搬順序を探索する。まず、ボーナスブロック経路を追加する。そして、1つのブロックに対する最適な経路(最小コスト)を決定し、これを全てブロックがなくなるまで繰り返すことで、運搬順序を決定する。
全ての運搬順序を探索完了後、最小コストの運搬順序を決定する。

① 最適な運搬順序を決定する

bk14: デフォルト
経路の選択
通信失敗時又は再送依頼回数が5回以上の場合、事前に設置されたデフォルト運搬順序を使用通過可否を判断し、 次に移動するノードを決定する

ブロック取得

各種初期化を行った後、下記周期タスクを起動し、終了する。

図3-5-12 動作実行タスクのシーケンス図
図3-5-10 無線通信デバイスタスクのシーケンス図

ことで、機能毎に独立して実行できるようにした

図3-5-3 各タスクのコミュニケーション図

bk08: PID制御でライントレース走行

競技攻略のため各シナリオの具体例を図3-5-4 〜 図3-5-6オブジェクト図で示す。
図3-5-4 〜 図3-5-6のように各シーンを組
bk09: 度フィードバック制御み合わせることで図3-5-1 の状態遷移を実現する。
仮想走行体の位置や向きから「４.１.１.１ 」を参照
次の座標へ移動するための動作を判定し、 シPWMを0に設定し、その場ーンを作成するで待機する全体像(パッケージ図)

経路情報管理シーン管理

bk14: デフォルト
経路の選択
競技開始後、運搬順序を取得する

受信したデータに
方針３
エラーがある場合、再送依頼する「動作」と「判定」は抽象クラスである

３.５.３ 各シナリオの具体例

事前にデフォルト運搬順序を設置することで、通信途絶時のリスクを減らす

ブロック配置が判定できない
時、デフォルト運搬順序を返す

通信タスク
動作パッケージへシーンに特定の動作の実行指示を行う、また、計測パッケージへシーン終了の判定指示を行う

図3-5-4 スタートを待ちシナリオの例

運搬順序から動作に変換し、それを対応するシーン群生成する「３.５.２ 各シーンの具体例」を参照

bk10: ライント
レース復帰

交点マーカー跨ぎ(左右)

図3-5-14 動作を実行するのシーケンス図③ 判定を実行する
次のノードへ移動するための動作コスト(時間)を取得する

ブロック設置bk13: 設置動作を短縮する

設置経路(ブロックノード、設置ノード)を算出する※内容は取得経路算出と同じため省略

図3-5-6 ブロックdeお片付け攻略シナリオの例「ブロック de お片付け攻略シーン生成」クラスによって運搬順序から動作に変換し、それに対応するシーン群をそのまま次のシーンに設定できる。

図3-5-9 攻略シーン生成タスクのシーケンス図

図3-5-11 最適な運搬順序を決定するのシーケンス図※詳細は「４.１.２.３ RGB、HSV混用による色判定」を参照

図3-5-15 判定を実行するのシーケンス図※ブロックや走行体 状態重点など更新処理 省略

技術

現在位置から運搬

低PCから送られてくる経路情報の受け付け処理を実行するタス
対象を運搬先に運bk18: 運搬コスト算出
経路情報管理搬経路を決定する
ク。低優先度

全運搬順序から、最小コスト運搬順序を決定する

２.３.4 「走行体と無線通信デバイス（PC）«requirement»
機能要件

性

運搬順序が算出できなかった（ブロック配置が更新されていない）
場合、デフォルト運搬順序を使う

探索機性機

下位階層

※無線通信デバイス側には周期処理や並行動作が必要な処理はない。

ボーナスタイム満点を獲得するために、制限時間以内に攻略が終了しなけれ ならない。カラーブロック 運搬経路 、ブロックへ 移動とブロック 運搬に最短時間で確実に運搬できる経路を選択する。

[YES]

中ブロックが設置さ例

指針3.2 カラーブロック8個 運搬
目標時間：95秒

保高機搬対象に決定する。
攻略シーン
20ms
生成タスク

[NO]

端点サークル①

図3-5-7 スタートを待ちシナリオのシーケンス図

図3-4-1 ライントレースシーンの状態

運搬順序をシーンに変換

３.５.２ 詳細タスク設計

ゲーム解法※「４.２ カメラシステムにタスク関する制御戦略」参照①

スタートを待ちシナリオが終了する
時、競技開始を通知する

図3-5-2 無線通信デバイスの状態遷移図

ゲーム分析結果および、設計方針を元にタスクの振舞設計を行った。
安全に動作するため、各処理の実行は全てのクラスの初期化が完了したから始める。また、走行体が走行不能やコースアウトになるリスクを下げるため、走行体制御に関わる動作、情報加工タスクは高優先度・短周期で実行する。
ブロック配置が判定終了後、運搬順序を探索する。まず、ボーナスブロック経路を追加する。そして、最適な経路を決定する
表3-3 各タスクの説明
1つ ブロックに対する最適な経路(最小コスト)を決定し、これを全てブロックがなくなるまで繰り返す
ことで、運搬順序を決定する。全て 運搬順序を探索完了後、最小コスト 運搬順序を決定する。
タスク
周期優先度
役割と設計意図
実行パッケージ

無線通信デバイス(PC)「シナリオ」 と 「シーン」 は、それぞれ次のシナリオやシーンのポインタを持つ線形リスト構 図3-5-1とする。この構によ
走行体の状態遷移図
り、シナリオとシーンの実体を意識する必要はないため、運搬順序を探索する処理は「３.５.４ 運
新たな競技課題、シーンの挿入や差し替えも柔軟に対応
搬順序を探索処理の振る舞い」を参照できる、保守性を持たせた。

交点マーカー

３.３ 振舞設計(タスク)

運搬順序作成フロー«requirement»
非機能要件

重点
技術

ゲームを攻略する最適経路を算出する

通信管理

複数のシーンの組み合わせによって、 動作を実現する

ブロック de お片付け攻略シナリオに遷移したら、 その時点の運搬順序のシーンも既に生成されているスタートを待ちシナリオには一つのシーンしか存在しない

図3-4-1 に「ライントレースシーン」におけるオブジェクト図を示す。

ブロックエリア

各種モータ、センサ

経路探索「シーン」クラスは「動作」、「判定」を一つずつ持っている。
動作と判定は抽象クラスとし、サブクラスに具体的な振る舞いを定義する。変更がある場合は指示される動作又は判定を変更するだけ、調整の容易性、安全性が上がる。

各シナリオの具体例」を参照 de お
「競技課題攻略パッケージ」がブロック片付け攻略シナリオの管理を行うことから、ライントレースのシーンを例にとって必要なデータと行う動作の関連についてオブジェクト図を用いて整理した。

ブロック置き場

２.３.３ 指針を実現する振る舞い

信保

移保守性

設置物

課題解決 た

移機性性信

走行体外部から得た情報を加工して競技攻略に役立つ情報に変換し、管理する。

方針１

方針２

ブロックベースエリア

無線通信デバイス 無線通信デバイスを管理する

１.4秒

交点サークル跨ぎ（ブロック保持有、右90）分割

図2-2-2 各ボーナスブロック経路バイスで計算する※「ゴールまで走行する」から同要求として導出されたため、ここでは省略

機能適合性

終了条件を判定する

動作時間

交点サークル跨ぎ（直進）ゲームを分割して攻略目標時間を設定

デメリット【アイコン】基本フロー

今年の競技機能と、再利用できる汎用機能を別分離するシーンを組み合わせで全ての動作を実現する

機能毎に独立してパッケージで相互参照がしない設計実行できる構

図3-2 ソフトウェア構機

計算量が多い処理（運搬順序、運搬経路 探索）をPC側で実行
すると、必要なリソースを確保できる
機能要求番号

bk18: 運搬コスト
算出

処理分担
重点技術

無線通信デバイス（PC）で 色 判断（画像処理）を行うことにした。運信 移決定まで 処理
搬 順序や経路をPCで処理する場合と比較した際、メリット・デメリット 以下 通りである。
移bk17: 無線通信デ保メリット

BF1: 走行スタート

bk19: 運搬経路制約

結果より、「ブロックdeお片付け」攻略※「４.２ 」を参照

制限時間内に最大 ボーナスタイム 【凡例】を取るためにカメラ 映像からブロッPC
ク色を検出する。また、運搬経路
経路探索 走行中に算出する必要がある。走行中 計算に リソース
EV3と処理時間 2点 課題がある。

機能要求を実現するシステムの要件を上位要求から段階的に分解し、結果を要求図で示す。

機能ごとに要件抽出

タッチセンサが押された

動作

交点サークル間移動【対策】移動先と反対側
ブロックベースエリアにブロックが設置されている場
合 、 そ 方向 経路を選択しない。

指針２： 走行体と無線通信デバイス

各ユースケースから、開発の目標を満たすための要求を「１.2 開発方針」
で抽出された検討事項を利用して検討した。

表1-2 ユースケース記述

システムはスタート操作待ちの状態で初期設定が終わっていること走行体るリスク有。

「シナリオ」クラスとは 「１.3 要件定義」で抽出した機能を実現するため、各機能を一つのシナリオとして汎化させたクラス。

走行体を動作させる

移植性ブロック 色を判別する方法 、走行体 カラーセンサーを用いる方法と、無線通信デバイスを用いる方法 2種類があるが、ゲームを攻略する前に、経路探索を終わらせないといけない で、カラーセンサーを用いる方ほ 、ゲームを攻略する前にブロック
図1-2 各目標を達成するためのGSN図色を取得できないため、無線通信デバイスを使った方法を採用す

図1-3-1 ソフトウェア全体のユースケール図

競技者

概要
bk14: 運搬経路制約
機能が適切に作られているか

競技システム２.２ 指針保競技を攻略して、高いリザルトタイムを確実に獲得する

方針３•
パッケージ階層を上位階層と下位階•層に分類する※詳細は「４.２ カメラシステムに関する制御戦略」を参照

設計(全体)」にて説明したシステム構成の概要を基に各パッケージの役割と関係を詳細に説明する為に、図に示す。

３.４.１ 各シナリオのシーンは「３.５.３オブジェクトの構 例

設計(全体)

保守性
保守・修正のしやすさに関する要求
運搬経路コスト設置マーカー上で走行体をることにした。

概要

３.２ 構

信頼性

bk13: 設置動作を短縮する

１.3 要件定義

トリガー

経路※具体的な動作処理と終了判定 「3.5.3各シナリオ 具体例」 「各動作 シーン群」を参照。

目標リザルトタイム ＝ 目標走行タイム(7.5秒) － 最大のボーナスタイム(24.0秒)
目標リザルトタイム ＝ -16.5秒

アクター

方針２

「３.２ 構具体策

動作処理と終了判
一つシーンに動作と判定を分離した
定を分けるブロック de お片付けを構成する要素を分析し、整理を行った。指針に沿ってゲームを攻略するために、新たに「ノード」、「経路」、「運搬順序」を定義した。 ベースサークル
ゲーム分析結果及び、ソフトウェアの設計方針を基にソフトウェア全体の構 設計をを示す。プログ
走行体がブロックエリアで移動できる場所（座標）。ノードを定義することで、走行体位置やブロック 位置
ラムの変更や調整の影響を考慮してパッケージ階層を上位と下位階層に分類し、今年の競技機能と、を表現することができる。
汎用機能を分離し 、保守性を高めた。また、下位階層のパッケージはルールに依存しないため、来【凡例】 方針２ 年以降も再利用できる。
：移動可能なパスノードを移動する順に組み合わせたも 。
表3-2 各パッケージ責務の説明：移動可能なノード(交点マーカー)
以下 4種類が存在する。
：ブロック設置及び移動可能なノード (ブロック設置場)装置
パッケージ名役割
1 取得経路 ・・・ ブロックを取得するまで経路：ブロック取得 み移動可能なノード(ブロック置き場)
2 設置経路 ・・・ ブロックを設置するまで 経路
上
競技課題攻略全体処理の流れを管理する
3 運搬経路 ・・・ 取得経路と設置経路を一組にしたも位
4 ボーナスブロック経路 ・・・ボーナスブロックを設置するまで 経路
階
シナリオのシーンを管理し、動作シーン管理
層と判定の実行指示を行う。
ブロックを運搬する順番に並べた運搬経路に、ボーナスブロック経路を追加したも 。 走行体 こ 順序をもとに走行する。
図2-3-1 ゲーム攻略に必要な要素
走経路情報管理
運搬順序からシーンを生成する

性能効率性

４．ブロック設置
走行体 アームを振り上げ、ブロックを投げて、ブロックベースエリアに設置する。

図1-1 各ゲームの区間定義

事前条件

ブロック 同じ方向から設置すると、ブロック 一部がエリア外に み出してしまう、有効移動不成⽴ リスク有。

品質特性：主張や戦略が必要な理由としての外部情報② ブロック de お片付け
目標ボーナスタイム ： 24秒【攻略方針】 目安攻略時間: 110秒
すべてのブロックを色が一致するよう運搬させ、更にボーナスブロックを正しく運ぶことで、ボーナスタイム満点(24.0秒)を狙う。「２.３.２」で定義した走行体動作のコストをシミュレートした結果、約110秒必要であると判断した。

競技を攻略する

ノード

方針１

設計（詳細）

累とゆかいな仲間たち

bk02: 容易に追加、変更できる構• 機能毎に実装・テストができる
２.３.１ ブロック de お片付け（ゲーム）攻略に必要な要素にテストできる構

２.３ 解法

動作を定義する。

【制約1】 ブロックサークル内に収まるように設置する【対策】同じブロックベースエリアに設置する場合 必ず異なる場所から設置する。
表1-1 品質の検討に使用する品質特性
運搬順序

３．ブロック取得
交点マーカーで旋回後、対角 交点マーカーまで直進すれ 、ブロッをク取得可能。

②ブロック de お片付け

ユースケース名

設計方針

bk16: 調整が容易にできる構

累とゆかいな仲間たち【各ゲームの攻略方針についての検討】
各ゲームの攻略方針を検討するにあたり、過去の大会実績および開発時の走行結果を元に攻略の時間配分と攻略方針を定める。

システムの機能をユースケース図で抽出、要求図を用いて機能実現に必要な要件を抽出。要件抽出の際に「１.2 開発方針」で洗い出した検討すべきことを用いる。抽出した要件の対応を決定する。なお、紙面の都合上、ユースケースの記載は「コースを攻略する」のみとした• 新しい戦略や要素技術を追加する場合、システムの変更箇所を少なくしたい• 来年以降に再利用したい

競技規約より、ゲームを攻略するために以下

１．交点マーカー間移動
交点マーカーを検出するまでライントレースで走行する。

チームの目標は「高いリザルトタイムを確実に獲得する」である。
目標を達成するために、以下の条件を定義した。

① ゴールまでの走行
目標走行タイム ： 7.5秒
【攻略方針】
地区大会でゴールまでライントレース走
行は7.5秒で完走できた。しかし、地区大会ではブロックdeお片付けに到達できなかった。CS大会では、安全性を最優先とし、走行速度を維持しながら、ブロックdeお片付けに到達することを目指す。

bk07: 調整が容易にできる構

bk01: 機能毎に容易

動作定義

１． 要求モデル

設計要件• パラメータの調整時間を減らす

３.４ 構

処理分担」

PCから走行体へ 経路情報 送信方法
ゲーム攻略 ため、走行体 運搬順序（ボーナスブロック経路 + 8個をもとに走行する。PCから（運搬順序+チェックサム）を送信する。
{ ノード座標, ノード座標, … , ノード座標, チェックサム}

現在位置や向きから次のノー
bk15: ブロック de お
片付けエリア判定
ドへ移動するための動作を判定し、 コストを取得する

図3-4-2 ソフトウェア全体のクラス図

設置経路(ブロックノード、設置ノード)を算出する※内容は取得経路算出と同じため省略

実現運搬経路）bk20: 再送処理

走行体側で 上記 データを受信する度に、チェックサムを用いてデータ 正しさを確認し、 正しい場合 送信終了、正しくない場合 再送依頼をPC側に送信する。

通信できない、運搬順序が算出できない場合、デフォルト運搬順序を使用
走行体とPC両方にデフォルト運搬順序を所持しておくことで、運搬順序が算出できなかった時、また PCと 通信途絶時 リスクを軽減。デフォルト運搬順
序 追加や変更をするを容易にするため、ノード座標 配列を設定している。
{ ノード座標, ノード座標, … , ノード座標,}

bk14: デフォルト
経路 選択

22年度アドバンストクラスエクセレントモデル「累とゆかいな仲間たち」チームより抜粋

2総合成績は競技成績＋モデル評価で決まる• ETロボコンの総合成績は競技成績とモデル評価から決定• 競技だけを頑張っても総合成績は上がらない→ モデルなどの設計技術を学ぶ動機づけとなる
Result Time / Model Point
1.0

0.9

競技成績

0.8

0.7

0.6

0.5

右上に近いほど順位が高い

0.4

0.3

0.2

0.1

0.0
0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

系列1

モデルの評価ETロボコン2023 開催発表会資料／ETロボコン実行委員会

3ソフトウェアにおけるモデリングの必要性• 近年のソフトウェアは⼤規模化・複雑化している• コードだけをみていては全体像をつかみきれない→ モデリング = 対象をモデルとして抽象化すること• モデルを活⽤することで全体を掴みやすくし関係者の理解やコミュニケーションを促し、品質を⾼める
モデル

コードだけだと⾒通しが、、モデルで⾒通しがよくなりレビューがしやすくなった︕
モデリング

ETロボコン2023 開催発表会資料／ETロボコン実行委員会

4よく使うモデルの観点• ソフトウェアのモデリングで⼀般的に使われる3つの観点「機能」「構造」「振る舞い」

モデルの具体例(UML)– 機能それって何をするの︖– 構造それってどんな作りなの︖– 振る舞いそれってどう動くの︖
ETロボコン2023 開催発表会資料／ETロボコン実行委員会

ユースケース図など
xxシステム同じものを別の観点で⾒ている

クラス図などシーケンス図など

xxシステム5よく使うモデルの観点• ソフトウェアのモデリングで⼀般的に使われる3つの観点「機能」「構造」「振る舞い」

モデルの具体例(UML)– 機能
それって何をするの︖

ユースケース図など
xxシステム同じものを別の観点で⾒ている

ETロボコンではこの３つの観点をクラス図などベースに、実際の開発に使える– 構造技術を学べます
それってどんな作りなの︖

シーケンス図など

xxシステム– 振る舞いそれってどう動くの︖
ETロボコン2023 開催発表会資料／ETロボコン実行委員会

6

2023年度のテーマはDX!
• なんでもつながる時代、組込みにもDXの波がやってきている• 単独のシステムだけでなく、複数のシステムを活⽤して価値を出す時代• アドバンストクラスではこうした時代に合わせた競技課題を提供• モデル審査もこれに合わせて複数システムを組み合わせた設計を審査する• エントリー、プライマリーは従来通りの審査内容

ETロボコン2023 開催発表会資料／ETロボコン実行委員会

7学びたいスキルに応じた３クラスを提供• 連続して参加することでさらなるスキルアップができる• 上位のクラスに参加することで、より深く実践に近いスキルが学べる
クラス名

狙い

想定対象者

モデリングに要する期間（参考)※

エントリー(システム開発体験)

・モデルを読んで理解し、改良するこモデリング未経験者とでモデルの使い⽅を体験する
ソフトウェア開発初・プログラムを作り動かす体験をする
⼼者
・設計と実装の繋がりを把握する

1〜4週間

プライマリー(モデリング基礎)

・競技課題に合わせてモデルを構築する事で、モデリングの基礎を⾝につモデリング初級者
ける
・品質向上に向けた取り組み

4週間〜

アドバンスト(モデリング応⽤）・要求に基づき設計⽅針を⽴て、それに基づいた設計を実践
・複数システムを⽤いた構成の設計
モデリング中級者
・画像処理・AI・ネットワーク(クラウドAPI)などの活⽤・制御技術の向上

６週間〜

ETロボコン2023 開催発表会資料／ETロボコン実行委員会※過去参加チームのアンケートから算出しています 現状のスキル・利⽤できる時間
環境・過去参加状況などによって増減します

8

各クラスのモデル審査全体像• クラスによってモデル審査対象は異なり、アドバンストクラスが最も広い範囲をカバーし、複数システムを使った設計にチャレンジできる• エントリー、プライマリーは単⼀のシステム（ロボット）内の設計
アドバンストクラス
要求分析
要件定義
(機能)

システム全体の分析・設計
アーキテクチャ設計
単⼀システムの設計

実装

評価/
競技

エントリークラス
プライマリークラス

⼯夫点
DX関連スキル（AI/画像処理/ネットワーク)ETロボコン2023 開催発表会資料／ETロボコン実行委員会※この図は対象範囲をイメージ化したもので、開発プロセスそのものではありません

9複数システムの設計（アドバンストクラス）
・アドバンストクラスではHackSpiのRasPiカメラを使って写真撮影を⾏い、ネットワークで送信する必要がある
・HackSpi(RasPi)/PCを含めた役割分担/インタラクションを設計し、表現する
HackSpiとのアドバンスト

難所紹介②︓ミニフィグ撮影
ルール
⼆つのループの中央置かれているミニフィグを撮影してネットワー
クで送信します。
・ミニフィグの向きは、⾛⾏毎に変化・正⾯から撮影できると⾼ボーナ
ス
ミニフィグ設置場所

ミニフィグ設置場所

HackSpi限定課題

どう繋ぐ？
APIは？

・この難所の攻略には⾛⾏体にカメラが搭載されている必要があります。

クラウドサービス
PCなど

HackSpi
RasPi

ポイント

・⾛⾏体のリアカメラで写真撮影する・撮影したミニフィグの画像から向きを判定する

⾛⾏体

役割分担は？

カメラ
SPIKERasPike環境
で提供

HackSpi
ETロボコン2023 開催発表会資料／ETロボコン実⾏委員会

ETロボコン2023 開催発表会資料／ETロボコン実行委員会

10モデリングの基礎を学ぶための教育・サポートを提供

技術教育

2023年度の技術教育は全てリモートで⾏います（動画配信またはZoomを使った講義)①全国共通(動画配信)
a.⾛⾏体の基本制御とモデルによる可視化
b.モデル作成とそれをコードに変換する基礎演習
全国共通教育は動画配信で⾏います
内容は2020年作成したものがベースとなりますが、2023年も追加コンテンツを提供予定です②地区独⾃(Zoomまたは集合形式)
地区ごとに独⾃の教育・フォロー会・モデル相談会を開催します（地区の状況によりできない場合もあります）
上記には、初学者のためのセットアップサポートや演習も含まれます。

提供資料

参加者サポート①環境構築ガイド・シミュレータ利⽤ガイド②2022年度の提出モデルおよび評価付きコメント③2022年CS⼤会ワークショップ資料④⾛⾏体制御に関する参考資料①メーリングリストによる連絡事項展開・質問応答（チームから２名まで）②コミュニケーションツール（詳細は後⽇展開）による質問応
答、情報共有（全参加者が登録可能）

ETロボコン2023 開催発表会資料／ETロボコン実行委員会

11

ETロボコン2023 モデル審査
ETロボコン実⾏委員会
12