**********************************************
セッションs1-c
テーマ:ロボットシミュレータWebotsを使ってオンライン研修やってみた
講師:裕源英俊(LED-Camp実行委員会)
日時:9/2(木)19:30~21:00
参加人数:約15名(終了時)
**********************************************

■事前準備
Webotsのインストールとビルドテストを行う.


■自己紹介
2018年よりLED-CAMPの実行委員に就任し,教材開発グループに所属する.
ジャズ演奏が趣味.


■LED-CAMPとは?
組込み初学者を対象とする合宿形式の研修.

〇概要
 ・アジャイル,スクラム,MDDなどの開発手法の講義・実践.
 ・競技会に向けたソフトウェアをチームで開発.
 ・教育目標: 組込みの開発技術の取得,チーム開発におけるコミュニケーション技術の取得.

→今年は感染症対策により,ロボットシミュレータ「Webots」を用いたオンライン開催


■Webotsの概要
 ・Cyberbotics社(スイス)が開発するオープンソースのロボットシミュレータ.
 ・アセットのロボット・デバイスが豊富→開発が簡単.
 ・ロボットの各パーツ,要素は木構造で管理される. 
 ・ロボットはController(C++,Java,Python,MATLAB)から制御する.

〇良かった点
 ・環境構築が簡単.
 ・3Dシミュレータの中では軽い.
 ・ロボット・デバイス類が豊富で開発コストが低い.

〇困った点
 ・英語の公式ドキュメントのみ.
 ・光の反射は計算されない→反射型センサが使えない.


■2021年の教材開発裏話
 ・感染症対策により2020年は中止し,オンライン形式での開催を検討するための準備期間になる.
 ・実機配布も検討したが故障時のリスクが高すぎるため,シミュレータを採用.
 ・シミュレータの候補はGazebo,箱庭,Unity,ODE3Dがあった.

〇開発要件
 参加者目線
  ・動作の軽さ
  ・環境構築の容易さ
  ・ロボットの見た目
  ・シミュレーション性
 主催者目線
  ・開発コスト

→Webotsを採用

心配事:教育目標を達成できるか,参加者目線の要件を満たせるか,参加・開発が楽しいか.


■プチハンズオン
 1.ロボットを制御するController(プログラム)の作り方を学ぶ.
  →ロボットが前進するコードをC++で実行
 2.ロボットにデバイス(Camera)を取り付け,利用する方法を学ぶ.
  →Cameraはドラッグして位置を調整.
  →Controllerからデバイスにアクセスしカメラ画像を取得.


■オンライン開催の報告・振り返り
 ・参加者(社会人5名、学生6名)
 ・教育目標は達成したか?
  ・どのチームもアジャイル・スクラム・MDDを実践できた.
  ・競技会では,動くモデル&高得点を得た.
  ・コミュニケーションも活発.
 ・開発コスト:5月に開発開始、7月中には大まかに完成.比較的スムーズに進んだ.

〇アンケート結果:
 ・2日目より3日目のほうが開発が簡単.→慣れるのが簡単.
 ・アンケート回答者の100%がオンライン研修を楽しめた.
 ・いろいろ試すのがやりやすい.
 ・自分のコードが動くのが見えて楽しい.
 ・実際の機械に触りたい.

〇改善したい点
 ・技術的な深堀の質問,姿勢は少なめ.
 ・個人作業が見えずらいからフォローが難しい.
 ・他チームとの交流が少ない.


■質疑応答
Q.参加者を増やせしたときの主催側のキャパはどうか?
A.今回,参加者は3人,4人,4人の3チーム.
 研修中に居たスタッフは4,5人.
 各チームに一人はスタッフが必要なため,参加人数としては,20人(5人1組で4チーム)が限界ではないか.

Q.参加者同士のコミュニケーションはどうだった?
A.「発言を積極的にしよう!」というチーム目標のおかげで議論が活発になった.

Q.Webotsのターゲットはどこか.教育向けなのか?
A.詳しくはわからないが,KinectやLiDARもあるので,単なる実行用途ではないと思う.

Q.反射型センサーが使えない問題はどう対処した?
A.カラーセンサはカメラで代用.反射型センサは赤外線センサで代用.黒色の時は出力される距離がとても大きい性質を利用した.

Q.シミュレータで実行毎に結果が変わるのはなぜ?
A.各センサにノイズを入れ,そのノイズをランダムに生成するようにしたため.

Q.実機で行ったとすると,成績はどのように変わる?
A.実機とシミュレータでは目標が少し違うけれども、同じような結果になるのではないだろうか.

Q.チーム開発はどのように行った?
A.全体の説明はZoomで,チーム開発はDiscordで行った.運営側は各チームの状況把握が難しかった.

Q.参加者のMDDの経験は?ロボットが動くときの感動はあったか?
A.学校で経験はあったが,実行はしたことない人が多かった.
 シミュレーション上でも,動くようになるとうれしい,愛着がわくとの声があった.

Q.Webotsでの教材開発で大変だったことは?
A.参加者によってPCが異なるので,挙動がどうでるか心配だったが,問題なかった.

Q.参加者に対してPCスペックの要件はあったか?
A.設けていたが、それ以下のスペックでも十分動作した.

オンラインでもオフラインでも開催できるような準備を考えるのが難しい.
次回の開催はどうするか.オフラインであれば、シミュレーションと実機を合わせてやるのはどうか.


■まとめ
ロボットシミュレータWebotsを使ったオンライン研修について発表を行った.
実際の研修で使用したロボットのプチハンズオンを行い.Webotsの使い方や研修で行っていたことを体験した.
初のオンライン研修であったが.どのチームも良い結果と活発なコミュニケーションが生まれ,高い満足度を得ることができた.