您當前的位置:首頁 > 文化

無人駕駛小課堂 - auto_pilot(2) donkeycar驢車測試及訓練

作者:由 milo chena 發表于 文化時間:2019-06-02

1。 電腦連結 Donkeycar 開始開車

確保電腦 wifi 連結上 樹莓派連結的網段。

使用電腦連結上樹莓派上的小車,使用 Mac/Linux 電腦上的終端 terminal 或者 Windows 上命令列 Command Line。

ssh pi@

輸入密碼之後,就透過你的電腦來訪問你的小車了。

在小車裡面安裝應用。

donkey createcar ~/mycar ——template donkey2

執行小車。

cd ~/mycar

python manage。py drive

這樣你就可以直接開啟瀏覽器看到操作介面了,輸入:8887,比如 name。local:8887。開啟後,見到如下介面:

無人駕駛小課堂 - auto_pilot(2) donkeycar驢車測試及訓練

瀏覽器看到的donkeycar操作介面

操作建議:

在最上方的 Control Mode 裡面有:

- Joystick:

無人駕駛小課堂 - auto_pilot(2) donkeycar驢車測試及訓練

Joystick選項中的細節

- Gamepad

這是使用遊戲手柄來控制的部分,我們可以參閱連結來進行手柄 的設定。

- Device Tilt

這是使用手機本身的平衡儀來控制小車 ,類似與方向盤的感覺,

前傾是前進、後傾是後退、左傾是左轉、右傾是右轉。

2。 小車操控的矯正

小車 donkeycar 本身由於是組裝的,因此他的左右控制及油門控制多是需要校準的。就像一臺腳踏車,你需要校準一下方向盤是不是歪,以及座位的高低是否合適等等。

我們對小車 donkeycar 的矯正也是左右方向盤的轉向 steel 還有油門 throttle 的大小。

STEEL 矯正

1。 開啟 config。py 檔案。

前提是你需要 ssh 在你的電腦上開啟 donkeycar 的文件。

nano ~/mycar/config。py

2。 找到汽車上的控制電線,看看它插入PCA板的通道。它應該是 1 或 0 。

3。 執行donkey calibrate ——channel 應該是 1 或 0 。

4。 輸入360,您應該會看到汽車上的車輪略微移動。如果不輸入400或300。這個數字,指代你需要開始控制 steel 的校正了。

5。 確定略微移動了以後,接下來,從這個數字座位起始值,開始輸入值+/- 10,找到PWM設定,使您的車一直向左轉(選一個你任何的數字,這將是最大左轉的數值),返回起始值之後換右轉(如果之前是不斷減少,那麼這次不斷增加)。

6。 在 config。py 指令碼中輸入你選中的最大左轉數值及最大右轉數值作為STEERING_RIGHT_PWM和STEERING_LEFT_PWM。

THROTTLE 矯正

1。 找到油門端的電纜,看看它進入PCA板的通道。這是你的油門通道。

2。 執行donkey calibrate ——channel

3。 提示輸入PWM值時輸入370。——

這就是你的零值。

4。 你應該聽到你的ESC蜂鳴聲,表明它已經準備開始校準。

5。 輸入400,您應該看到您的汽車車輪開始前進。如果沒有,可能是反向(電路線插反了),嘗試輸入330,但是不是前進。

6。 繼續嘗試不同的值,不斷+/-10,直到找到

合理的最大速度並記住此PWM值。

反轉RC汽車有點棘手,因為ESC必須接收反向脈衝,零脈衝,反向脈衝才能開始倒退。要校準反向PWM設定……

1。 使用與上述相同的技術將PWM設定設定為零油門,輸入 370。

2。 輸入反向值,然後輸入零油門值,然後再輸入反向值。

3。 輸入反向值的+/- 10值以找到合理的反向速度。

記住這個反向PWM值。

現在開啟 config。py 指令碼並輸入您汽車的PWM值到throttle_controller部分:

THROTTLE_FORWARD_PWM =全油門前進的PWM值

THROTTLE_STOPPED_PWM =零油門的PWM值

THROTTLE_REVERSE_PWM =全反向油門時的PWM值

3。 小車的資料收集

最好一次性收集10圈沒有錯誤的賽道。

無人駕駛小課堂 - auto_pilot(2) donkeycar驢車測試及訓練

賽道示意圖

如果你跑得不好,請立即停止停車以停止錄製。一些不好的資料不會影響您的自動駕駛儀。

在收集了10-20圈的良好資料(5-20​​k影象)後,您可以在汽車的ssh會話中使用Ctrl-c停止您的汽車。

收集的資料位於最近的tub資料夾的資料資料夾中。由於Raspberry Pi不是很強大,我們需要將資料傳輸到PC計算機進行訓練。在主機PC上的新終端會話中,使用rsync從raspberry pi複製你的無人駕駛小車資料夾。

rsync -r pi@:~/mycar/data/ ~/mycar/data/

4。 小車的無人駕駛模型訓練

在同一個終端中,您現在可以透過將路徑傳遞給該 tub 作為引數,在最新的 tub 上執行訓練指令碼。你可以選擇傳遞路徑掩碼,例如 。/data/* 或 。/data/tub_?_17-08-28 來收集多個tub。例如:

python ~/mycar/manage。py train ——tub ——model 。/models/mypilot

你也可以不為訓練模型傳遞任何引數,然後所有 tub 都被用於預設資料目錄。

python ~/mycar/manage。py train ——model ~/mycar/models/mypilot

現在,你可以再次使用 rsync 將你的 model 移回你的小車。

rsync -r ~/mycar/models/ pi@:~/mycar/models/

5。 實現小車的無人駕駛!

在小車使用模型進行無人駕駛!

python manage。py drive ——model~ / mycar / models / mypilot

6。 常見問題

1。 一定要確保你電腦安裝的donkeycar版本和 raspberry pi 上的一樣,不然在訓練時會遇到很多問題。

2。

問:Requirement。parse(‘imageio<2。5,>=2。0’), {‘moviepy’})

建議:可以將 moviepy 解除安裝後降級。

3。

問:ValueError: `validation_steps=None` is only valid for a generator based on the `keras。utils。Sequence` class。 Please specify `validation_steps` or use the `keras。utils。Sequence` class。

建議:將keras降級,確保donkeycar版本和電腦版本一致。

4。 再確保了其他問題都被排除之後,可以重新採集資料再試一下 :)

㊗️玩樂愉快~

標簽: PWM  mycar  小車  輸入  反向