DonkeyCarプロジェクトのページ
http://www.donkeycar.com/
INSTRUCTIONSのページ
http://docs.donkeycar.com/
の手順に従ってセットアップを行う
#Setup RaspberryPi
DonkeyCarプロジェクトが公開しているSDイメージのzipファイルをダウンロード
ラズパイ2,3は「donkey_2.5.0_pi3.zip」
https://drive.google.com/open?id=1vr4nEXLEh4xByKAXik8KhK3o-XWgo2fQ
ラズパイ1,ゼロは「donkey_2.5.0_pizero.zip」
https://drive.google.com/open?id=1otqNRBs1kqNJYocCp4kbMjcRKWE2zW7A
Etcher 等でSDメモリカードに書き込みを行う
接続したい無線LANアクセスポイントのSSIDとPSKを記述した「wpa_supplicant.conf」をbootパーテーションのルートディレクトリに新規作成
ラズパイにカメラとPWMドライバボードを接続
SDメモリカードをセットして起動
暫く待ってからラズパイ3のIPアドレスを探す
ターミナルからSSH接続
ユーザーネーム「pi」パスワード「raspberry」でログイン
$ sudo raspi-config
7 Advanced Options
A1 Expand Filesystem
<Ok>
<Finish>
<Yes>
再起動
再ログイン
筆者のgithubからファイル一式を入手
$ git clone https://github.com/mituhiromatuura/donkey-2.5.1
$ pip install -e donkey-2.5.1[pi]
$ donkey createcar --template manage_車体名(gf-01,tt-02,picar,pimouse,zumo) ~/mycar
~/mycarは任意のフォルダ名
設定ファイルを車体用の物に差し替える
$ cp donkey-2.5.1/donkeycar/templates/config_車体名.py ~/mycar/config.py
$ cd ~/mycar
$ python manage.py drive
ターミナル画面に表示された
「You can now go to http://xxx.xxx.xxx.x:8887」
にブラウザから接続
カメラ画像やスライダ等の画面が表示される
Joystickボタンを押すと右側にタッチエリアが表示される
操作で車輪が動く
スマホorタブレットなら操縦も可能
ターミナルからctrl+Cでプログラムを終了
#Driving with Physical Joystick Controller
LogiCoolゲームコントローラのUSBドングルを接続
$ ls /dev/input
js0 があればOK
$ hexdump /dev/input/js0
ボタン類を操作して16進の数値が表示されればOK
ctrl+cで終了
LogiCoolコントローラ用に以下のファイルを差し替える
~/donkeycar/donkeycar/parts/controller.py
コントローラにJC-U3912TまたはJC-VRP-01を使用する場合はmanage.pyファイル28行目の「controller_logicool」を「controller_elecom_usb」または「controller_elecom_bt」に変更する
#人間の操作でコースを何周か走行し学習データを作成する
$ python manage.py drive --js
最大スロットル値を調整
赤ボタンで走行記録をオン
前進後退のレバーを上げて走行を開始
走行中は学習データを生成する
停止時は学習データを生成しない
ターミナルからctrl+Cでプログラムを終了
~/mycar/data/tub_*_y_m_d
のフォルダが作られ中にjpgファイルとjsonファイルが出来ているか確認
#Install donkeycar on Mac
safari で miniconda のページを開く
https://conda.io/miniconda.html
Python3.6 をダウンロード
macのターミナルから
$ cd ~/Downloads
$ bash Miniconda3-latest-MacOSX-x86_64.sh
AppStore から Xcode をインストール
または macのコマンドラインからコマンドラインツールをインストール
$ xcode-select --install
$ exit
再ログインして
$ git clone git://github.com/mituhiromatuura/donkey
$ cd donkey
$ conda env create -f install/envs/mac.yml
$ source activate donkey
(再ログイン時は必ずこのコマンドを実行して仮想環境に入ること)
$ pip install https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.5.0-py3-none-any.whl (時期によっては不要かも)
$ pip install -e .
$ cd
$ donkey createcar ~/mycar
$ cd ~/mycar
#Install donkeycar on Linux
ターミナルから
$ sudo apt-get install virtualenv build-essential python3-dev gfortran libhdf5-dev
$ virtualenv env -p python3
$ source env/bin/activate
(再ログイン時は必ずこのコマンドを実行して仮想環境に入ること)
$ pip install tensorflow==1.5.0 (時期によっては1.8.0でいいかも)
$ sudo apt install git
$ git clone https://github.com/mituhiromatuura/donkey
$ cd donkey
$ pip install -e .
$ cd
$ donkey createcar ~/mycar
$ cd ~/mycar
#学習(mac/Linuxのターミナル)
学習データをラズパイ3からMacに転送
$ rsync -r pi@<your_pi_ip_address>:~/mycar/data/ ~/mycar/data/
学習の実行
$ time python ~/mycar/manage.py train --tub <tub folder names comma separated> --model ~/mycar/models/mypilot(任意の出力ファイル名)
学習結果をラズパイ3に転送
$ rsync -r ~/mycar/models/ pi@<your_ip_address>:~/mycar/models/
学習データの画像から動画を生成するには
$ donkey makemovie --tub <tub folder names comma separated> --out ./movie(任意の動画ファイル名).mp4
#走行(ラズパイのターミナル)
$ python ~/mycar/manage.py drive --model ~/mycar/models/mypilot --js
コントローラで方向自動モードを選択
最大スロットル値を低く調整
スロットル固定オンで走り始める
スロットル固定オフで停止
現状では方向とスロットルの両方を自動制御のモードにするとステアリングは動くが車輪は動かない...(学習によるスロットル操作は実装されていない)
↓
「DonkeyCar スロットルも学習で制御する」
https://qiita.com/mituhiromatuura/items/2ec923b74127e766e285