**********************************************************************
セッション S4-c
テーマ:WEBブラウザ上で動作するETロボコンシミュレータの仕組みについて
コーディネータ:新 吉高(ETロボコン東京地区 実行委員)
日時:9/2(金)12:30~13:40
参加人数:約9名(終了時)
**********************************************************************

(議事録本文)

■ETロボコンとは
 ・Embedded Technology Software Design Robot Contestの通称
 ・完全自立型ライントレースロボットの設計とタイムを競うコンテスト
 ・コロナ禍のため.2020年度の大会はシミュレータで行うことになった
 ・発表者はシミュレータ環境の作成を行った
 ・ETロボコンシミュレータは誰でもGitHubからインストール可能


■ETロボコンシミュレータの課題と解決策
 ・課題
  ・複数OS対応によりインストーラが複雑化
 ・解決策
  ・WebGLによるOS非依存化,インストールレス環境の実現
 ・課題
  ・マイコンシミュレータAthrillとのUDP通信周期を短くできず,倒立振子制御が難しい
 ・解決策
  ・Athrillの代わりに軽量なスクリプト言語を用いる

〇練習1
 ・HackEV(ロボット)を動かす
  ・コードはコピペ シミュレータ部分をマウスでクリック
  ・まっすぐに進むことを確認
〇実習1
 ・自由にプログラムを書いてみて実行

・Web版ETロボコンシミュレータを開発
 ・WebGLによるOS非依存化,インストールレス環境の実現
・Athrillの代わりに軽量なスクリプト言語MiniScriptを用いる
・WebGLで開発している
 ・UnityのWebGLでの開発は通常よりも大変
  ・もとからあるWebGLを選択してもほとんど動かない
  ・変更を入れるとビルドに数分かかる
  ・すぐにブラウザが動かなくなる
  ・GitHubで少しずつコミットしながらの作業

〇練習2
 ・ブラウザで起動し,左エッジをライントレースするように変更
〇実習2
 ・左エッジライントレースをおこなえるように変更

・MiniScriptについて
 ・ロボットを制御するためのプログラミング言語を検討
 ・以下の理由からMiniScriptを採用
・インタプリタ型で簡単に実行できる
・C#で実装されている
・Unity上のオブジェクトを容易に操作できる
・関数拡張が可能である

〇練習3
 ・EV3way(倒立振子ロボット)を動かす
 ・EV3wayを選択しコードを実行
 ・EV3wayとは
  ・ETロボコンで長く使用されてきた倒立振子
  ・タイヤの回転数と回転速度,車体の角度と各速度を入力として,倒立を維持するようにモータの制御値を計算する

〇実習3
 ・練習3と,練習2or実習2のプログラム等を参考に右or左エッジをライントレースするように変更


■最後に
 ・TOPPERS/箱庭WGの努力により,2020年~21年のリモートによるETロボコン大会は無事終了
 ・Web版ETロボコンシミュレータは大会向けと比べると機能は限定的ではあるが,インストールレスで簡単に動作させることができる
 ・様々な応用が考えられる


■質問
 Q.シミュレータのコースは自分で作ることができるのか
 A.実行委員にならないといじることはできない

 Q.各大学でライントレースなどの実験を行う研究室ではすでに自前の環境を持っていることがほとんどだと思うが,
  それぞれの環境にアダプトしていく(トレースカーのモデルやコースなど)ことを可能にする計画はあるのか
 A.一年間放置しているものなので今のところないがライバルが出現してきたらやるかも


■まとめ
コロナ禍のためETロボコンはシミュレータ上で行われることになっていたが現状の課題点を考えWeb版シミュレータを構想し,
実装に苦戦したところなどの実情が伝わる内容だった。
実際に動かしてみることでより身近でとっつきやすい印象を与えていた。

以上。