2022年08月30日 更新

Donkey Simulatorのインストールと実行方法まとめ

どうも、クラゲジュニアです。

ディープラーニング自動運転Donkey CarのシミュレーターDonkey Simulatorの導入と実行方法のまとめです。

本来、Donkey CarはPCとラジコン(ラズパイ制御)及び走行できる広い場所が必要となりますが、Donkey Simulatorを使うことでPC1台のみでシミュレーションすることができます。

[TOC]

今回の環境

Donkey CarはWindows、Mac、Linuxのどれでも導入可能です。今回クラゲジュニアはWindows Hyper-V仮想環境でWindows11の中にインストールしましたので、その環境前提で説明します。

※仮想環境の場合、USBゲームコントローラーが認識できないデメリットがあります。USBゲームコントローラーを使ってDonkeycarを動かしたい場合は、直接Windowsにインストールが必要です。

導入

以下の2つが必要になります。

  1. Donkey Carソフトウェアdonkeycar
  2. シミュレーション環境gym-donkeycar

ラジコンを使ったDoneky Carの場合は、donkeycarをPCとラズパイのそれぞれにインストール必要ですが、シミュレーションの場合はPCのみです。ラズパイへのインストールの代わりにgym-donkeycarが必要になります。

1. donkeycar

minicondaインストール

必ずPython3.7を選んでください。

https://docs.conda.io/en/latest/miniconda.html

Gitインストール

クラゲジュニアはPCに合わせて64bit版を選択しました。

https://git-scm.com/download/win

donkeycarインストール

Anaconda Promptを起動して以下を1行ずつ打ち込んでください。

mkdir projects

cd projects

git clone https://github.com/autorope/donkeycar

cd donkeycar

git checkout main

conda env create -f install\envs\windows.yml

conda activate donkey

pip install --user tensorflow==2.2.0

pip install -e .[pc]

donkey createcar --path ~/mycar

2. gym-donkeycar

gym-donkeycarインストール

引き続きAnaconda Promptで以下を1行ずつ打ち込んでください。

cd ..

git clone https://github.com/tawnkramer/gym-donkeycar

cd gym-donkeycar

pip install -e .[gym-donkeycar]

donkey createcar --path ~/mysim

cd ../..

cd mysim

myconfig.pyの変更

mysimの下にあるmyconfig.pyを開き、最終行に以下を追記して保存します。

DONKEY_GYM = True
DONKEY_SIM_PATH = "C:/Users/User/projects/DonkeySimWin/donkey_sim.exe"
DONKEY_GYM_ENV_NAME = "donkey-generated-track-v0"

この際、ユーザー名やディレクトリ名などのパスは各自の環境に合わせて変更してください。

DonkeySimWinの入手

DonkeySimWin.zipをダウンロードします。

https://github.com/tawnkramer/gym-donkeycar/releases

展開するとDonkeySimWinというフォルダができます。

DonkeySimWinの移動

展開したDonkeySimWinprojectsフォルダの下へ移動します。DonkeySimWinの中にDonkeySimWinが入っているので、下の階層のみ移動してください。donkey_sim.exeのパスが以下のようになっていればOKです。

projects/DonkeySimWin/donkey_sim.exe

実行

以下3つの流れになります。

  1. 人が操作してDonkeycarを走行し学習データを溜める
  2. 学習データをTensorFlowで学習しモデル生成
  3. 生成したモデルで推論を行いDonkeycarを自動運転

1. 学習データ作成

引き続きAnaconda Promptで以下を打ち込みます。

python manage.py drive

シミュレーション環境が立ち上がります。

エラーになる場合は、donkey_sim.exeを一度ダブルクリックで立ち上げて閉じます。WindowsによってPCが保護されましたと表示されている場合は詳細情報をクリックして実行を選択してください。

Anaconda Promptに表示されるURLを使ってブラウザでアクセスします。例えば以下のようなURLです。

http://localhost:8887/drive

  • 最初はMax Throttleは小さい値を選択しておいた方が運転しやすい
  • マウスの左クリックボタンを押しながら上に移動すると進み、左右に移動すると曲がり、下に移動すると後退する
  • 運転するだけで学習データは自動的に溜まる

2. 学習

引き続きAnaconda Promptで以下を打ち込みます。先ほどの実行を終了していない場合はCtrl + Cで強制終了してください。

donkey train --tub ./data --model models/mypilot.h5

※学習に時間がかかりすぎる場合は、こちらのColaboratoryで行うことも可能です。

※TensorFlow実行時にエラーが出る場合は「TensorFlow実行時のDLL load failedエラーを回避する方法」の対策2を参照してください。

3. 推論走行

Anaconda Promptで以下を打ち込みます。

python manage.py drive --model models/mypilot.h5

Full Autoを選択すると自動運転が始まります。

参考

以上です。