8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-06-22

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

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?