DonkeyCar3をセットアップしてみた

最近流行っているAIカーのDonkeyCar。新バージョンとして「DonkeyCar３」をいつのまにかリリースしていた!?そろそろ環境構築しようと思っていたので、これを機に始めてみることにします。

# 目次
とりあえず本記事で行う予定のDonkeyCar３のセットアップ。（本記事ではすべてをさらうわけではないのであしからず。）  

- Raspi用イメージ作成
- wifi設定
- SSHログイン  
  
使用するモノ　　

- PC(今回はWindows10)  
- マイクロSDカード32GB 
- RaspberryPi3 B+
- その他(ラズパイ給電ケーブル、HDMIディスプレイ)


# イメージ作成
[FaBo DonkeyCar Docs](https://faboplatform.github.io/DonkeyDocs/0.DonkeyCar3%E3%81%AE%E6%A7%8B%E7%AF%89/02.rasppi_allsetting/)のサイトにまとまっているセットアップ、チュートリアルをさっそくさらっていきます。いきなり組み立てをすっ飛ばして(すでに組み立て済み)RaspberryPiの環境構築を行なっていきます。

まずは一応SDカードフォーマッターでマイクロSD(32GB)をフォーマットしていく。
<img width="291" alt="1.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/eb863bd6-cd80-4d3f-f855-42b289dea769.jpeg">


次にRaspberryPi用イメージを書き込んでいきます。  
これは、Google Colaboraotoryと連携するために、DonkeyCar 3.0.2, TernsorFlow 2.0.0 beta1をインストールしたRaspberryPi用イメージです。[Download](https://drive.google.com/file/d/1Hks9ANUUsE9eHQjkSbjmU0SYvlx47RR2/view)はこちらから。
<img width="483" alt="2.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/a25a740d-d598-e6a0-31ca-e048d70880fc.jpeg">

1.3GBのZipファイルのダウンロード完了を待ちます。  
ダウンロードしたZipファイル`donkey3_tf2b.zip`を解凍します。  
<img width="296" alt="3.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/145d0c45-902e-7c16-6ae5-919646432aa1.jpeg">

解凍したらイメージファイルをSDカードに書き込んでいきます。
FaBoのサイトでは[Etcher](https://www.balena.io/etcher/)を使っていますが、私のPCにはWin32DiskImgaerが入っているので、そちらで書き込みを行なってみます。  

- 「Image File」に解凍したイメージファイル「donkey3_tf2b.img」を指定
- 「Device」にSDカードのドライブを指定(今回はDドライブ）
- 「Write」を選択し、書き込み開始  
<img width="296" alt="4.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/ec54a988-06ef-62f8-8a4a-bc0d1107d775.jpeg">

無事書き込み完了しました。

# wifiの設定
イメージファイルを書き込んだSDカードをPCに再度挿し込み、`wpa_supplicant.conf`をコピーしてwifiの設定を行う。この`wpa_supplicant.conf`には接続先のSSIDとPasswordを入力する。  
そしてSDカードにコピーし、DonkeyCarの初回起動時にSDカードにある`wpa_supplicant.conf`が自動的に`/etc/wpa_supplicant/wpa_supplicant.conf`へコピーされ、指定したwifiネットワークに接続されます。  

[wpa_supplicant.conf](https://faboplatform.github.io/DonkeyDocs/0.DonkeyCar3%E3%81%AE%E6%A7%8B%E7%AF%89/wpa_supplicant.conf)をダウンロードし、SDカードにコピーします。
<img width="575" alt="5.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/ec592ada-9497-74e2-4b33-d2b7001f2f8a.jpeg">

コピーした`wpa_supplicant.conf`をテキストエディタで開き、SSID、パスワードを記載していきます。
以下のコードのssidに接続先のssid,pskにpasswordを記載します。　　

~~~
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="your network name"
    scan_ssid=1
    psk="your password"
}
~~~

# 接続先の確認
SDカードをRaspberryPiに挿入し、電源を入れます。  
RaspberryPi3をHDMIケーブルでディスプレイに接続します。起動画面の最後でIPアドレスが表示されればネットワークに接続成功です。このIPアドレスはSSHでログインする際に使用するのでメモしておきましょう。

下記のようなイメージで表示されます。
![14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/bca0ce9a-4ec6-626a-6804-abff5b9bd280.jpeg)

# SSHでRaspberryPiへログイン
先程メモしたIPアドレスに、ChromeAppのSecure Shell Appを利用して、SSHログインします。

- GoogleChromeのブラウザに`chrome://apps`を入力し、アプリブラウザへ移動　　
<img width="586" alt="7.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/58d91fb7-4065-f543-b596-88a81447d7cc.jpeg">

- Secure Shell AppがなければGoogle検索等で検索し、拡張機能を導入します。  
<img width="612" alt="9.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/5c8e936c-f6f4-f92a-127e-504c6fe1a2a0.jpeg">

Secure Shell Appを起動すると下図のような画面が立ち上がります。  
<img width="928" alt="11-1.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/008a08f4-5bed-2996-c229-4c0f1108363b.jpeg">


以下それぞれ入力していきます。　　

- username@hostnameまたは自由形式のテキスト：接続名を任意で入力します。
- ユーザー名：`pi`と入力
- ホスト名：メモしたIPアドレスを入力  
今回はこんな感じで入力。　　
<img width="945" alt="11.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/723de878-60e2-e8b1-074f-ff46074c5164.jpeg">



`Are you sure you want to continue connecting?`とお約束で聞かれるので`yes`と返します。  
<img width="790" alt="12.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/14659afa-d0d3-b9bb-a83b-fd829e596fe8.jpeg">

最後にパスワードを求められるので初期パスワードである`raspberry`と入力します。
<img width="546" alt="13.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440646/1e116b44-5ff0-aabf-8748-24869a31a144.jpeg">

### SSH接続が完了しました。

ひとまず、ラズパイのセットアップは終わったので、次回から実機を動かしていきたいと思います。 
まずはキャリブレーションからなので学習は当分先になりそうです。(コースを広げられるスペースも無いし･･･)　　
実機での学習の前にシミュレーターを使ってみるかもしれません。  

巷で流行っているDonkeyCar、情報等ありましたら是非共有お願い致します！ 
MFT2019にも行くかも。