2021-08-23 17:18:36 索煒達(dá)電子 660
項(xiàng)目編號(hào):E509
文件大?。?88K
源碼說(shuō)明:帶中文注釋
開(kāi)發(fā)環(huán)境:Python
簡(jiǎn)要概述:
在Raspberry Pi上使用深度卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的自動(dòng)駕駛玩具車
玩具車底盤(pán)
Arduino
Raspberry Pi model 3B+
樹(shù)莓派魚(yú)眼攝像頭
Raspberry Pi安裝tensorflow
(建議使用1.9版本)
Raspberry Pi安裝Python版本的opencv2
項(xiàng)目依賴Numpy
,所以保證Raspberry Pi安裝好Numpy
可從淘寶購(gòu)買警示條貼在地板模擬跑道,注意:跑道不易過(guò)小,跑道寬度最好2倍于小車寬度。如圖:
將socket_ctrl.py上傳到Raspberry Pi
為保證正常運(yùn)行,必須將model.py
一并上傳至Raspberry Pi
在socket_ctrl.py同級(jí)目錄下創(chuàng)建data/img目錄
下載apk目錄下的手機(jī)端控制軟件
Raspberry Pi連接同手機(jī)局域網(wǎng)下的wifi,查看IP,修改socket_ctrl.py的ip變量,打開(kāi)手機(jī)控制軟件填寫(xiě)對(duì)應(yīng)的ip,端口固定為9999,其他隨意填寫(xiě)并點(diǎn)擊設(shè)置參數(shù)
按鈕
修改socket_ctrl.py的trainMode
變量為T(mén)rue
Raspberry Pi運(yùn)行nohup python -o socket_ctrl.py &
打開(kāi)服務(wù)
手機(jī)端點(diǎn)擊連接
按鈕,等待連接狀態(tài)變?yōu)榫G色,然后點(diǎn)擊訓(xùn)練模式
進(jìn)入控制界面,控制小車在軌道內(nèi)運(yùn)行并自動(dòng)采集數(shù)據(jù)
查看data/img目錄下采集數(shù)據(jù)的數(shù)量,如果達(dá)到要求(建議2000+圖片)則可停止采集
將采集到的數(shù)據(jù)下載到本地
運(yùn)行record.py生成data/record.csv
文件
使用你日常訓(xùn)練數(shù)據(jù)的方式運(yùn)行train.py
進(jìn)行數(shù)據(jù)訓(xùn)練
訓(xùn)練結(jié)束后,將結(jié)果上傳到Raspberry Pi
修改socket_ctrl.py將trainMode
變量改為False
打開(kāi)手機(jī)端,依次點(diǎn)擊連接
、自動(dòng)駕駛模式
,將小車放到跑道上測(cè)試結(jié)果
項(xiàng)目默認(rèn)通過(guò)Arduino控制玩具車,但完全可以自定義硬件設(shè)置,直接通過(guò)Raspberry Pi控制車,可通過(guò)修改socket_ctrl.py文件的control
函數(shù)自定義你的控制方式。
目錄│文件列表:
└ autonomous-toy-car
│ model.py
│ record.py
│ socket_ctrl.py
│ train.py
├ apk
│ └ Car.apk
├ data
│ │ record.csv
│ └ img
│ └ store.image
├ display
│ └ 1.jpeg
└ model
└ store.model