ETロボコン - シミュレーション環境構築

# 概要

ETロボコンのシミュレーション環境の構築手順書です。
`本記事は、Windows10とmaOSに対応しています。`

[ETロボコン2020 - 公式サイト](https://www.etrobo.jp/)
[ETrobocon/etrobo - GitHub](https://github.com/ETrobocon/etrobo)


# 事前準備

パソコンに、`Visual Studio Code`と`Unity`をインストールしましょう。

## Visual Studio Codeのインストール

開発用のエディタをインストールします。

[Visual Studio Code - 公式サイト](https://code.visualstudio.com/download)

## Unityのインストール

シミュレーション実行環境をインストールします。

[Unity - 公式サイト](https://unity3d.com/jp/get-unity/download)


# WIN環境の構築手順

## WSLの有効化

(1) `設定`の検索バーから、`Windowsの機能`を起動します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/b60b9997-59fe-cdb8-aa10-9a62776e8636.png">

(2) `Windows Subsystem for Linux`をチェックします。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/7dd33376-2d75-d6ca-442d-00c6c670337e.png">

## Ubuntuのインストール

(1) `Microsoft Store`の検索バーからUbuntuを検索します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/9c0efe8b-fccc-0182-fe6b-b7873591abe9.png">

(2) `Ubuntu 18.04 LTS`をインストールして、`Ubuntu 18.04 LTS`を起動します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/f4290551-82f8-631e-d06b-1c8cd0e02159.png">

(3) `ターミナル`が起動したら、ユーザ名とパスワードを入力します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/386a95ab-b76b-99c8-e08b-fbf720407155.png">

## etrobo環境のインストール

(1) `コマンドプロンプト`からコマンドを実行して、自動インストーラーをデスクトップに作成します。

```
cd Desktop & echo wsl if [ ! -f ~/startetrobo ]; then wget https://raw.githubusercontent.com/ETrobocon/etrobo/master/scripts/startetrobo -O ~/startetrobo; chmod +x ~/startetrobo; fi; ~/startetrobo > "Start ETrobo.cmd"
```

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/1ffcef8a-940a-a45a-981c-ca293dff0241.png">

(2) `Start ETrobo`を実行して、ETロボコンのシミュレーション環境を自動構築します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/eb642b45-3857-90bd-b8a8-cb698b4d7894.png">

(3) 自動構築中にパスワードを聞かれるので、事前準備で作成したUbuntuユーザのパスワードを入力します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/a883733f-e6f0-520a-ee39-dc9a4eeb283c.png">


(4) 自動構築が終了したら、`Visual Studio Code`が起動するので、WSLの拡張機能をインストールします。

`Visual Studio Code`の画面で、ETロボコンの走行プログラムをコーディングしていきます。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/80ddcd02-8da2-2b3d-1638-beaeed7030d8.png">

# MAC環境の構築手順

## etrobo環境のインストール

(1) `ターミナル`からコマンドを実行して、自動インストーラーをデスクトップに作成します。

```
cd Desktop; echo 'name=startetrobo_mac.command; if [ ! -f $name ]; then curl -O https://raw.githubusercontent.com/ETrobocon/etrobo/master/scripts/$name; chmod +x ~/$name; fi; ~/$name' > "Start ETrobo.command"; chmod +x "Start ETrobo.command"
```

(2) `Start ETrobo`を実行して、ETロボコンのシミュレーション環境を自動構築します。

# 動作確認

(1) デスクトップ内の`Start ETrobo`を起動します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/356292a2-e966-b037-9fd2-778d2f07b65a.png">

(2) コマンドを実行して、プログラムのビルドとシミュレーション環境へのアップロードを行います。

※ 以下のコマンドは、必ず`etrobo`ディレクトリ直下で行ってください。

```
make app=sample_c4 sim up
```

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/49301c22-6318-8114-6bfb-69f7cfbc64d0.png">

(3) シミュレーション環境で、スペースキー(またはETロボコンのタッチセンサ)を押して走行を開始します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/4765b0a5-f621-6df6-c1d9-e551c0a330a9.png">

(4) 走行プログラムの終了します。

シミュレーション環境は、`ESCキー`(または終了ボタン)を押して終了します。
プログラムは、`Visual Studio Code`の`ターミナル`から`Ctrl+C`で終了します。


# 競技コースの設定

競技コースは、ETロボコンに参加チームのに配布されています。
`etrobosim2020_1.0_xxx.tar.gz`


## WIN環境の構築

<details><summary>WIN環境の競技コース設定手順</summary><div>

### etrobo環境のアップデート

(1) etrobo環境を最新の状態にアップデートします。
`Visual Studio Code`の`ターミナル`から以下のコマンドを実行します。

```
$ update
```

※以下の章は、手動で設定する場合の手順です。

### etrobo環境に競技コースの配置

(1) エクスプローラーからWSL(etrobo環境)を開きます。

`エクスプローラー`の赤枠内に`¥¥wsl$`を入力します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/4024af1f-b9a7-72c6-72d5-a4026a687fb9.png">


(2) etrobo環境の指定ディレクトリに競技コースを配置します。

競技コース(`etrobosim2020_1.0_win.tar.gz`)を`/home/ユーザ名/etrobo/dist`ディレクトリ内に配置します。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/e15c72e0-82ec-e3a1-5043-be9ea27e1d41.png">

### WIN環境に競技コースの配置

(1) 競技コースのファイルを解凍します。

解凍先のファイル名が文字化けしていないことを確認してください。

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/29d8dd5d-df08-f48b-42d8-03bacca8648b.png">

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/8bcc414e-33c5-250f-9d35-376d1a20406d.png">


(2) WIN環境の指定ディレクトリに競技コースを配置します。

競技コース(`etrobosim2020_1.0_win`)を`C:¥Users¥ユーザ名¥etrobosim`ディレクトリ内に配置します

<img width="" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658941/605b2006-9a5f-faed-7066-f81d04eb32e8.png">

</div></details>


## MAC環境の構築

<details><summary>MAC環境の競技コース設定手順</summary><div>

### etrobo環境のアップデート

(1) etrobo環境を最新の状態にアップデートします。
`Visual Studio Code`の`ターミナル`から以下のコマンドを実行します。

```
$ update
```

※以下の章は、手動で設定する場合の手順です。

### etrobo環境に競技コースの配置

(1) etrobo環境の指定ディレクトリに競技コースを配置します。

```
$ cp etrobosim2020_1.0_mac.tar.gz ~/BeerHall/etrobo/dist/
```

### MAC環境に競技コースの配置

(1) 競技コースのファイルを解凍します。

解凍先のファイル名が文字化けしていないことを確認してください。

```
$ tar -zxvf etrobosim2020_1.0_mac.tar.gz
```

(2) MAC環境の指定ディレクトリに競技コースを配置します。

```
$ cp -r etrobosim2020_1.0_mac.app/ /Applications/etrobosim/
```

</div></details>



# 他の記事

- [ETロボコンのシミュレーション環境のテンプレートファイル - GitHub](https://github.com/freezeeyes/etrobo_sim_templates)

- [ETロボコン - シミュレーション環境のプログラム解説](https://qiita.com/freezeeyes/items/32306fc580e319c5881a)