DonkeyCar セットアップ(旧バージョン2.5.1)

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

ゲームコントローラのボタン類の割り当ては以下の通り

logicool.jpg

コントローラに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