DonkeySim挑戰賽

如果不使用神經網絡的參賽者僅需看第4與第5部分內容!

1.0 DonkeyCar的安裝

1.1安裝miniconda Python 3.7

安裝miniconda Python 3.7 64位。
安裝方法參見:Windows 10下安裝Miniconda3

1.2安裝git 64 bit

安裝git 64 bit
安裝方法參見:GIT -2.18.0-64.bit 的安裝與使用

1.3創建項目目錄

  • 從開始菜單啓動Anaconda Prompt
  • 創建並更改爲您希望用作項目的目錄
C:\Users\adminitrator>d:
D:\>mkdir projects
D:\>cd projects

1.4從Github獲取最新的Donkeycar

git clone https://github.com/autorope/donkeycar
cd donkeycar
git checkout master

1.5更換國內源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --set show_channel_urls yes

1.6更新與刪除

conda update -n base -c defaults conda
conda env remove -n donkey

1.7創建Python Anaconda環境

conda env create -f install\envs\windows.yml
conda activate donkey
pip install -e .[pc]

1.8安裝Tensorflow GPU(可選)

如果你有NVidia卡,你應該更新到最新的驅動程序並安裝Cuda SDK。

conda install tensorflow-gpu==1.13.1

1.9創建工作目錄

donkey createcar --path D:/mycar

安裝keras-vis

pip install keras-vis

2.0安裝DonkeySim

d:
cd projects
git clone https://github.com/tawnkramer/gym-donkeycar
conda activate donkey
pip install -e gym-donkeycar

3.0修改相應文件

3.1修改dtypes.py

文件位置:D:\Miniconda3\envs\donkey\lib\site-packages\tensorflow\python\framework\dtypes.py。
修改dtpes.py文件的第526~530、535行。
原:

_np_qint8 = np.dtype([("qint8", np.int8, 1)])
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
np_resource = np.dtype([("resource", np.ubyte, 1)])

修改爲:

_np_qint8 = np.dtype([("qint8", np.int8, (1,))])
_np_quint8 = np.dtype([("quint8", np.uint8, (1,))])
_np_qint16 = np.dtype([("qint16", np.int16, (1,))])
_np_quint16 = np.dtype([("quint16", np.uint16, (1,))])
_np_qint32 = np.dtype([("qint32", np.int32, (1,))])
np_resource = np.dtype([("resource", np.ubyte, (1,))])

3.2修改train.py文件

文件位置:D:\projects\gym-donkeycar\examples
\supervised_learning\train.py
修改train.py文件的第29行:
原:

matplotlib.use('Agg')

修改爲:

matplotlib.use('TkAgg')

4.0 DonkeySim模擬器的使用

4.1下載DonkeySim模擬器

從Donkey Gym Release下載並解壓主機PC平臺上可運行的模擬器(DonkeySimWindows.zip)。
將模擬器放在合適的位置。如:~/projects/DonkeySimWindows。
在這裏插入圖片描述
可使用遊戲杆/鍵盤手動駕駛、自動駕駛還可使用訓練好的神經網絡駕駛,運行界面如下:
在這裏插入圖片描述
選擇窗口大小,點擊“Play!”進入。
在這裏插入圖片描述
點擊“Log dir”可設置記錄數據目錄。
在這裏插入圖片描述
在主界面點擊“Generated Track”,進入我們挑戰賽的賽道環境。
在這裏插入圖片描述
可以選擇右側的各種駕駛模式。
在這裏插入圖片描述
這是速度、轉向和PD參數設置界面,在自動駕駛時,要設置這些參數,取得好成績。

4.2設置驗證

打開Anaconda Prompt。
使用示例模型來驗證設置。

conda activate donkey
d:
cd projects\gym-donkeycar\examples\supervised_learning
python evaluate.py --model=models/example_model.h5

啓動“DonkeySim”環境。單擊“NN Control over Network”按鈕。

4.3獲取自己的訓練數據

現在,你可以嘗試根據自己的數據來訓練自己的模型。
在模擬器中,按“Exit”進入主菜單。
單擊“log dir”按鈕並指定一個日誌目錄以保存數據。例如,你可以選擇d:/projects/gym-donkeycar/examples/supervised_learning/log文件夾。
選擇Generated Track環境。
單擊“Auto Drive w Rec”或“Joystick/Keyboard w Rec”。記錄約1萬個樣本(一圈以上)。查看左下角以查看日誌計數。
完成後,單擊“Stop”。

4.4訓練模型

conda activate donkey
d:
cd projects\gym-donkeycar\examples\supervised_learning
python train.py --inputs=log/*.jpg --model=models/model.h5

模型結構可根據自己需要進行修改。
取消train.py文件的第208行註釋,顯示模型信息。
修改models.py文件(可設置學習率):
在第7行增加:

from tensorflow import keras

第57行修改爲:

model.compile(optimizer=keras.optimizers.Adam(lr=0.0001), loss='mse', metrics=['acc'])

4.5評估模型

conda activate donkey
d:
cd projects\gym-donkeycar\examples\supervised_learning
python evaluate.py --model=models/model.h5

啓動模擬器。選擇Generated Track環境。單擊“NN Control over Network”。

5.0 DonkeySim挑戰賽

5.1 DonkeySim挑戰賽類別

參加DonkeySim挑戰賽的車必須連續不間斷跑3圈以上,小車不能壓到草坪,不能撞到障礙物,挑戰賽共分爲三大類:

  • 遊戲杆/鍵盤駕駛(Joystick/Keyboard)
  • 自動駕駛(Auto Drive)
  • 神經網絡駕駛(NN Control over Network)

5.2 DonkeySim參賽者提交文件

參加DonkeySim挑戰賽的選手,參賽作品必須提交以下文件、數據和視頻。

5.2.1選手與作品簡介

  • 年齡和性別要真實(便於以後進一步的賽果分類),其他介紹可自由發揮;
  • 參賽者首先應根據已公開(如該類別沒有人提交或提交數少於10個)的其他參賽者提交的文件自行進行測試對比,成績在前十名之內的即可提交,否則請不要提交。

5.2.2數據文件

  • 自行測試成績以文本文件方式提交;
  • 數據要真實,不得人爲編輯修改;
  • 遊戲杆/鍵盤駕駛參賽者提交壓縮的原始數據記錄(log)文件;
  • 自動駕駛參賽者提交壓縮的原始數據記錄(log)文件和速度/轉向/PD參數截圖;
  • 神經網絡駕駛參賽者提交文件:
  • 壓縮的原始訓練數據記錄(log)文件
  • D:\projects\gym-donkeycar\examples\supervised_learning目錄下的conf.py和models.py文件
  • D:\projects\gym-donkeycar\examples\supervised_learning\models目錄下的model.h5和model.h5loss.png文件

5.2.3視頻文件

  • 遊戲杆/鍵盤駕駛與自動駕駛參賽者提交原始數據記錄(log)文件轉成的.mp4格式文件,轉換方法如下:
  • 首先將DonkeySim內要轉換爲視頻的記錄數據(log),複製到D:\mycar\logs文件夾下,並運行下列命令:
conda activate donkey
d:
cd mycar
donkey makemovie --tub=D:\mycar\logs\log --out=log_movie.mp4
  • 輸出文件名爲log_movie,mp4
  • 神經網絡駕駛參賽者視頻文件的提交是可選的,也必須是.mp4格式的視頻文件,請自行用合適的辦法解決(參賽者如有好的方法,請共享出來,讓大家享用)。

5.3 DonkeySim挑戰賽評比方式

DonkeySim挑戰賽公開參賽者提交的所有文件,採用自測與公示的方式進行評比,比賽成績及時更新。比賽規則根據實施情況,聽取大家的意見,不定時的更新,所有的原始數據儘量可靠的保存。

DonkeySim挑戰賽羣

QQ:913557234

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章