基于ATmegal28L的智能探測車的設(shè)計與實現(xiàn)
3 軟件設(shè)計
系統(tǒng)軟件的主要功能是:能夠根據(jù)傳感器信息正確避開障礙物:小車與PC的無線通信;預(yù)先設(shè)定路線;測量物體的大小。為了提高小車避障的智能性,軟件設(shè)計采用了神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)。軟件設(shè)計的重點在于小車的神經(jīng)網(wǎng)絡(luò)訓(xùn)練程序和小車與PC機的無線通訊程序。
3.1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練程序
BP神經(jīng)網(wǎng)絡(luò)應(yīng)用廣泛,具有較好的分類和記憶功能,同時有很強的容錯性和魯棒性。采用兩層前向BP網(wǎng)絡(luò)實現(xiàn)多傳感器信息的融合,輸入層有6個節(jié)點(分別對應(yīng)6組傳感器。其中超聲波傳感器測得距離在30 cm之內(nèi)記為1),輸出層有4個節(jié)點(前進F、左轉(zhuǎn)L、右轉(zhuǎn)R、后退B)。選取的輸入輸出樣本為:
樣本確立后,需要進行網(wǎng)絡(luò)訓(xùn)練。網(wǎng)絡(luò)訓(xùn)練就是對網(wǎng)絡(luò)的連接權(quán)系數(shù)進行學(xué)習(xí)和調(diào)整,使該網(wǎng)絡(luò)實現(xiàn)給定的輸入輸出映射關(guān)系。權(quán)系數(shù)修改按照式
(1)進行:
uij(t+1)=uij(t)+λ[dj(t)-yj(t)xi(t)+α△uij(t-1) (1)
式中:λ表示學(xué)習(xí)速率(取0.3);α表示學(xué)習(xí)動量(取0.3);dj(t)和yj(t)分別表示j單元在t時刻的目標(biāo)輸出和實際輸出;xi(t)表示單元i在t時刻的輸入;△uij(t-1)表示前一次迭代中;;單元i和J連接權(quán)系數(shù)更新增量。
BP網(wǎng)絡(luò)算法采用C語言編程,訓(xùn)練好的網(wǎng)絡(luò)權(quán)系數(shù)存放于Flash內(nèi)存之中。采用的是離線訓(xùn)練方式。
3.2 小車與PC機的無線通訊程序
PC機在小車行駛過程中可以通過無線通訊對小車進行控制。通訊采用中斷的方式,流程圖如圖4所示。
4 結(jié)束語
本文討論了基于ATmega128L的智能探測車的設(shè)計思路,對系統(tǒng)中的各個模塊接口作了簡要描述,利用神經(jīng)網(wǎng)絡(luò)來增強小車的智能性,并提出了系統(tǒng)軟件的總體設(shè)計思想。該電路各部分功能模塊化,易于調(diào)試,并且容易擴展其他功能。本設(shè)計的應(yīng)用前景廣闊,可用于骯臟、危險等不適宜人類工作或者是人類難以到達的環(huán)境,可作為特殊應(yīng)用器材的載體工具,為無線檢測、信息傳輸及遠距離控制技術(shù)提供了一個很好的應(yīng)用平臺。
評論