TOPPERSカンファレンス2021
ETロボコンでのathrill活⽤
ETロボコン本部審査委員⻑ ⼟樋 祐希（富⼠フイルムビジネスイノベーション株式会社）

Copyright(c) ETロボコン実行委員会

All rights reserved.

1

ETロボコンとはnn

ET

2019

7. DA 競技：
組み込みシステム技術協会(JASA)主催のソフトウェアコンテスト「ETロボットソフトウェアデザインコンテスト」が正式名称
本競技
組み込みソフトウェア技術者の育成がテーマ

部門 競技規約 1.0.2

有部分

記

7.1. DA 走行体
2002年UMLロボコンとしてスタートし、2005年からETロボコンに改名
2021年で20周年︕2019年には経済産業⼤⾂賞を受賞 用 走行体 図 7-1 示 組 立 手 書 関連文書
l 多数の企業・⼤学⽣・⾼専⽣・⾼校⽣などが参加（2019年 259チーム 2020年 183チーム)
l 全国12地区で地区⼤会を開催
上位チームは11⽉のチャンピオンシップ(CS)⼤会（横浜）で競う

ln

LEGO MINDSTORMS®EV3®を⽤いて競技・設計を競う
ln

⾛⾏体の組み⽅は出場クラスごとに全チーム同⼀（ワンメイク）⇨ 中に搭載するソフトウェアのみで競う

ソフトウェアの性能と設計を競う⼆つの審査
性能評価︓ロボットの性能（競技結果）を競う
l 設計評価︓ロボットに搭載するソフトウェアの設計資料をモデルを⽤いて記述し提出。審査委員によって審査され、評価を数値化
l共通機体
HackEV ：HackEV）
図 7-1 走行体（名7.2. DA
競技 行
図 7-2 示ロボットを題材にソフトウェアの設計技術を学ぶコンテスト

上 各番号

https://www.etrobo.jp
Copyright(c) ETロボコン実行委員会

All rights reserved.

2

ETロボコンの競技
n 12畳の⼤きさのコースを⾛⾏
n ライントレースコースのゴールまでの時間から難所と呼ばれる課題をクリアして得られるボーナスタイムを引いたリザルトタイムで競う

2019年度のコース
Copyright(c) ETロボコン実行委員会

All rights reserved.

2019年アドバンスト難所︓ブロックビンゴ
3

2020年に訪れた悲劇
n 2/14に2020年度の開催発表会を実施（例年通りの対応)
n が、4/7に緊急事態宣⾔が発動し、その先も集合形式の⼤会はできない⾒込みとなった

n 4/11に実⾏委員の⻑会議を実施し、完全中⽌にするかあるいはシミュレータを使えないかを協議→ ⾼瀬先⽣と森さんにも参加を依頼。箱庭を紹介していただき、GWの期間を利⽤して実現性を探ることにn GW明けにETロボコン実⾏委員会の総⼒と森さんのご協⼒を得て、⼤会ができそうな感触が掴めたため、６⽉に参加者を再募集して⼤会を開催︕

Copyright(c) ETロボコン実行委員会

All rights reserved.

4athrill/EV3RTへの対応
n 箱庭で基本的なメカニズムは揃っていたが、ETロボコンで利⽤するためにはathrill/EV3RTにも変更が必要だった

n athrillを使う上で最も重視したこと「実機のEV3で動作させていたプログラムがそのまま動くこと」

n これができないと、過去のETロボコンの資産（技術教育資料、サンプルプログラム、参加者のコードなど）が使えない状態になるl 実機⼤会になった時にも今年の資産が⽣きるように

n また、200弱にもなるチーム対して全員同じPC(OS)/スペックを期待することはできないため、複数OSの対応・スペックが低くても同じように動作する必要があった

Copyright(c) ETロボコン実行委員会

All rights reserved.

5

ETロボコンで対応した内容(athrill/EV3RT)n macへの対応
l ⾃分がmacユーザだったので、まずここから

n 不⾜していたCPU命令のサポート
l 特に浮動⼩数点命令形

n ETロボコンで使⽤するEV3APIへの対応
l モーター・センサーは概ね対応。スクリーン・⾳関係はダミー化
l 仮想ファイルシステムのサポート
l 仮想Bluetoothn athrillからの定期通信の追加
l EV3RTの10msec通信とは別に実時間に対して10msec毎に定期的な通信を⾏うことで、処理が重い場合や低スペックPCに対してもUnity側で⽣死を判定できるように

n HRP3と同様のworkspace環境の整備
l HRP3で作ったプログラムをそのまま持ってきて動作するようにMakefileなども変更。ASP3/HRP3のコンフィグレーションの差分についても対応

Copyright(c) ETロボコン実行委員会

All rights reserved.

6作成したETロボコンシミュレータ環境
nnn

箱庭のメカニズムを参考に、UnityでETロボコン⽤アセットを作成
athrillに関しては加えた変更をメインブランチへ順次マージ
実機・シミュレータを開発する環境（etrobo)を提供し、インストール/アップデートを複数環境(Windows/mac/linux)で容易に参加チーム開発
⾛⾏体制御ソフトウェア
コンパイル(シミュレータ向け)

コンパイル(実機向け)
ソースコードETロボコンシミュレータ

モデル

⾛⾏体制御
ソフトウェアユーザ
アプリケーション

⾛⾏体制御
ソフトウェアEV3RT

リアルタイムOS

EV3RT

AthrillCPU

ARM9

⾛⾏ エミュレータ向け移植版

CPUエミュレータ

⾛⾏etrtobo環境（開発環境) https://github.com/ETrobocon/etrobo
PC
競技環境
⾛⾏体コース
Copyright(c) ETロボコン実行委員会

All rights reserved.

7対応した課題(⼀部)n PCスペックによる⾛⾏のばらつき
l PCのスペックによって同じプログラムでも同じようにライントレースしない
l カラーセンサーが取得する値がスペックによって⼤きく変わることが判明
l スペックが低いとUnityのレンダリングがカットされ、そのためにカラーセンサー(Unityのカメラで実現)がとってくる値がバラついていた
l 対策として、Unityをフレームレート固定(60fps)で動作させた
l ⼤会はクラウドの仮想PCを使うことで統⼀した環境を提供（事前に試⾛会として同じ環境での⾛⾏を試せるように）
l ただし、プログラムの作りによっては問題が（後述）
n コンパイラのバグ

l v850のコンパイラにバグがあり、⼀部のライブラリが正しく動作しない→ FPUなしのオプションだと不具合があったので、FPUありに変更して回避できたものもあるが、まだ残っているものについては該当するライブラリを使わないようにアナウンス

Copyright(c) ETロボコン実行委員会

All rights reserved.

8

⼤会の全体像(概要)n ⼤会では参加者がプログラムをアップロードし、共通環境で実⾏
⼤会実⾏環境（Azure上に構築)
参加者環境（チーム・個⼈毎に⽤意)

実⾏ディスパッチ
⾛⾏体制御
⾛⾏体制御
ソフトウェア
⾛⾏体制御
ソフトウェア
ソフトウェア

⾛⾏体制御
ソフトウェアETロボコンシミュレータ

EV3RT

⾛⾏体制御
ソフトウェアETロボコンシミュレータ

⾛⾏ エミュレータ向け移植版

受付システムAthrill

アップロードCPUエミュレータ

EV3RT

⾛⾏ エミュレータ向け移植版

etrtobo環境
Virtual PC

Athrill

CPUエミュレータ

フレーム毎のpngファイル化

etrtobo環境
PC

mp4

動画化

ダウンロード⼤会と同じ環境での動作を確認
⼤会の結果を確認

⼤会⽤に編集
11/22に全国⼤会を開催

Copyright(c) ETロボコン実行委員会

All rights reserved.

9

実際の⼤会の様⼦

Youtubeでアーカイブが⾒られます(Full版) https://www.youtube.com/watch?v=M4eNyIlBuzU(ダイジェスト版)https://www.youtube.com/watch?v=w7QW3Tn5nA4
Copyright(c) ETロボコン実行委員会

All rights reserved.

10シミュレーション⼤会を実施した効果
n EV3RTの資産をそのまま使えた→ 当初の想定通り、サンプルプログラム・技術教育資料などはほぼそのまま活⽤（シミュレータ関連は新たに追加）
n 参加者からの評判も良く、７割以上が満⾜との回答。特に初⼼者の出るエントリークラスでは８割以上が満⾜との回答
l アンケートの声よりシミュレータの満⾜度

lllll

コロナ禍で集合してリアルな環境で開発が⾏うことが難しい中、リモートで開発出来たことは素晴らしいと感じました
シミュレータなので気軽に動作確認ができ、PCだけで開発、動作確認、デバッグができたのがとてもよかった。
シミュレータの完成度に感動した
いつでも場所の制約に縛られずに作業に取り組むことができた。
スペックによる動作の違いがあった

100%
90%
80%ができたため、ETロボコンとしての狙いは達成できたと考えている

Copyright(c) ETロボコン実行委員会

All rights reserved.

1.3%
2.7%

6.3%

18.8%

0.0%
2.7%

1.7%
3.4%

16.2%
23.9%

27.5%70%
60%

48.6%

50%
40%

n モデリングに関しても例年同等の教育・審査

4.2%

54.2%

51.7%

51.7%

30%
20%
32.4%
10%

16.7%

19.2%

16.8%

0%
アドバンストクラス プライマリークラス エントリークラス
⼤変満⾜している

概ね満⾜している

やや不満⾜

不満⾜だったどちらとも⾔えない11まとめと課題nnn
n

コロナにより実機での⼤会中⽌を決定してから１ヶ⽉ほどで⼤会ができる
フィジビリティを確認→ 箱庭のベースと、サポート、ETロボコン側にUnityの知⾒があったこと、各分野のスペシャリストが揃っていたことなどが鍵だった
コンテストのため、シミュレータとathrillに⾼い信頼性が求められ、多くの参加者が使える環境の提供も必要だった→ 数多くのテスト、参加者からのフィードバックをもとに修正を⾏い対応。athrillに関してはオリジナル側の改善にも貢献できたと思います
etrobo環境はオープン化しており、誰でも利⽤可能（⼤会⽤のコースは参加者のみ配布）
⼤会を実施するためには、それを運⽤する各種システムも必要→ どう⾃動化するかだけでなく、セキュリティや⾒せ⽅なども重要
課題︓athrillの実時間に対する遅さ→ プログラムの書き⽅によっては、2分の競技なのに実時間で10分以上実⾏時間がかかるケースがあり、問題となった。特にログを10msec毎に書くなど→ 2021年度はathrillのボトルネックを調査し、昨年⽐40%程度の改善を導⼊済

Copyright(c) ETロボコン実行委員会

All rights reserved.

12

ご清聴ありがとうございました
来年はぜひ参加をご検討下さい︕

13