定值,如果不符合條件則重新學(xué)習(xí),不然記錄下各個(gè)單元的閾值和各個(gè)連接權(quán)值,結(jié)束學(xué)習(xí)。
[0033]上述計(jì)算均是通過BP神經(jīng)網(wǎng)絡(luò)的算法來實(shí)現(xiàn)的,BP神經(jīng)網(wǎng)絡(luò)的核心算法是梯度下降法(Gradient Descent Algorithm),這是機(jī)器學(xué)習(xí)最普遍的算法,整個(gè)過程形似從山頂下降到山腳,主要的任務(wù)是找到最低點(diǎn)從而來處理優(yōu)化問題。該BP神經(jīng)網(wǎng)絡(luò)的算法流程如下(如圖5所示):
[0034]BP神經(jīng)網(wǎng)絡(luò)算法首先初始化網(wǎng)絡(luò)中的參數(shù),給定輸入向量和期望輸出,基于前向傳播的方式,分別計(jì)算隱藏層的和輸出層的各項(xiàng)輸出,求期望輸出和實(shí)際輸出的偏差計(jì)算e,誤差e滿足要求,如果沒有滿足,計(jì)算輸出層上各神經(jīng)元的誤差值,并調(diào)整該層上神經(jīng)元的連接權(quán)值,之后進(jìn)入反向傳播,逐層各隱藏層上神經(jīng)元的誤差值,并調(diào)整連接權(quán)值和偏置項(xiàng)。
[0035]可以將這個(gè)訓(xùn)練好的模型放在如圖3所示的實(shí)驗(yàn)平臺上,在訓(xùn)練初期由于需要不斷的嘗試學(xué)習(xí)避障,使得小車形成避障系統(tǒng),提出輸出期望,在非常接近輸出期望的范圍之內(nèi)后停止小車的學(xué)習(xí)。避障學(xué)習(xí)流程圖如圖6所示,首先初始化參數(shù),給定輸入向量和輸出期望,定位在一個(gè)初始位置,使用傳感器采集數(shù)據(jù),判斷障礙物的距離,然后根據(jù)前面的學(xué)習(xí)動作概率選擇一個(gè)動作,如果碰到障礙物則回到初始位置重新學(xué)習(xí),如果沒有則繼續(xù)前進(jìn),終止條件為接近輸入的期望值時(shí)。
[0036]在訓(xùn)練結(jié)束后,可以進(jìn)行測試,看訓(xùn)練的結(jié)果是否足夠好,測試流程圖如圖7所示,首先單片機(jī)初始化,設(shè)定好中斷、通訊模式和A/D轉(zhuǎn)換,當(dāng)A/D轉(zhuǎn)換準(zhǔn)備好時(shí),重復(fù)判斷是否獲得數(shù)字信號,利用前面建立好的學(xué)習(xí)算法模型,進(jìn)行障礙物的避障,這里省略了傳感器采集數(shù)據(jù),判斷障礙物距離,選擇動作等,每次碰到障礙物都獲得一次數(shù)字信號,并根據(jù)模型進(jìn)行避障,直到結(jié)束。
[0037]訓(xùn)練出來的這個(gè)模型在實(shí)驗(yàn)平臺(即智能小車上,如圖3所示)得到了極好的成果,避障速度快且精度高,在無人工控制下已經(jīng)可以成果避開障礙物包括動態(tài)的障礙物。
[0038]本發(fā)明為應(yīng)用于非循跡智能小車避障系統(tǒng)的強(qiáng)化學(xué)習(xí)算法,應(yīng)用于自動躲避障礙物的小車上,避障系統(tǒng)一旦啟動,則無需人工干預(yù)。本發(fā)明讓避障系統(tǒng)自主學(xué)習(xí),通過不斷地訓(xùn)練使避障系統(tǒng)形成自己的“大腦”,可以逐漸判斷出何種情況下需要躲避,并且采用技術(shù)處理讓避障系統(tǒng)能夠更快地獲取障礙物位置,提高行駛速度。本發(fā)明最大的優(yōu)勢即體現(xiàn)在避障系統(tǒng)的智能化。本發(fā)明的推廣前景是廣闊的,首先,目前無人駕駛、自動化都是研究的一個(gè)熱點(diǎn)話題,各大廠商爭相搶占市場先機(jī),而本發(fā)明的相關(guān)學(xué)習(xí)算法也可以應(yīng)用在汽車等不同載體上,再者,采用本發(fā)明也可以應(yīng)用在極端環(huán)境下,最大程度地降低危險(xiǎn)性和人力成本。所以,本發(fā)明有著很好的應(yīng)用性,可以給各行各業(yè)都帶來一定的經(jīng)濟(jì)效益。
[0039]本發(fā)明先進(jìn)性主要體現(xiàn)在兩點(diǎn):
[0040](I)傳統(tǒng)的避障算法都會考慮使用多個(gè)傳感器,可以覆蓋較廣的環(huán)境,使得避障系統(tǒng)能夠獲得充分和全面的環(huán)境信息。但如此會導(dǎo)致大量硬件資源的耗費(fèi),也會帶來傳感器之間的互相干擾,給信息處理帶來麻煩。所以我們采用盡可能少的傳感器,同時(shí)也可以獲得全面的環(huán)境信息。我們采用舵機(jī)上設(shè)置傳感器,關(guān)鍵點(diǎn)設(shè)置傳感器以及多點(diǎn)掃描的方式,防止傳感器的互相干擾。
[0041](2)運(yùn)用機(jī)器學(xué)習(xí)中強(qiáng)化學(xué)習(xí)的概念,設(shè)計(jì)回報(bào)函數(shù)來激勵(lì)避障系統(tǒng),通俗地來說:如果避障系統(tǒng)沒有撞到碰撞物,則獎(jiǎng)勵(lì)它一次;如果避障系統(tǒng)撞到碰撞物,則懲罰它一次。通過不斷地訓(xùn)練避障系統(tǒng),不斷地激勵(lì)懲罰,使避障系統(tǒng)能夠?qū)崿F(xiàn)自動避讓碰撞物。目前的避障系統(tǒng)躲避都僅僅是通過回避超聲來實(shí)習(xí),并沒有考慮到使用學(xué)習(xí)算法來完全做到智能化、自動化。從這點(diǎn)看,本發(fā)明可以說是無人駕駛的一種簡單實(shí)現(xiàn),無人駕駛是現(xiàn)代技術(shù)發(fā)展的一個(gè)趨勢,媒體曾廣泛報(bào)導(dǎo)“自動駕駛+無人機(jī)=新未來”的概念,無人駕駛太空車、無人駕駛汽車等等都是行業(yè)關(guān)注的熱點(diǎn)話題,而本發(fā)明則是從本質(zhì)出發(fā),立足于最初點(diǎn),通過強(qiáng)化學(xué)習(xí)算法來實(shí)現(xiàn)“無人指揮”避障系統(tǒng),從而可以使用它進(jìn)行特殊區(qū)域的作業(yè),避免過大的人力消耗。
[0042]智能小車避障系統(tǒng)的路徑規(guī)劃問題,是指在有障礙物的工作環(huán)境中尋找一條恰當(dāng)?shù)膹慕o定起點(diǎn)到終點(diǎn)的運(yùn)動路徑,使小車在運(yùn)動過程中能安全、無碰撞地繞過所有障礙物。障礙環(huán)境中避障系統(tǒng)的無碰撞路徑規(guī)劃是智能小車研究的重要課題之一,由于在障礙空間中避障系統(tǒng)運(yùn)動規(guī)劃的高度復(fù)雜性使得這一問題至今未能很好的解決。避障是避障系統(tǒng)在路徑規(guī)劃主要考慮的問題,避障系統(tǒng)路徑規(guī)劃是否成功,一個(gè)主要的評價(jià)指標(biāo)是看避障系統(tǒng)的避障是否成功,因此避障系統(tǒng)的避障功能對避障系統(tǒng)的路徑規(guī)劃和導(dǎo)航來說至關(guān)重要。
[0043]在避障系統(tǒng)中,對于不確定動態(tài)環(huán)境下的避障軌跡生成,是較為困難的。有關(guān)這方面的研究,目前己有一些方法?,F(xiàn)階段提供的神經(jīng)網(wǎng)絡(luò)模型的軌跡生成法,應(yīng)用在靜態(tài)環(huán)境下及假設(shè)空間中沒有障礙物的情況。其他提供的神經(jīng)網(wǎng)絡(luò)模型,能為避障系統(tǒng)產(chǎn)生導(dǎo)航的避障軌跡,然而模型在計(jì)算上相當(dāng)復(fù)雜。
[0044]本發(fā)明用強(qiáng)化學(xué)習(xí)使避障系統(tǒng)避障,強(qiáng)化學(xué)習(xí)是避障系統(tǒng)通過學(xué)習(xí)來完成任務(wù),而無需設(shè)計(jì)者完全預(yù)先規(guī)定避障系統(tǒng)的所用動作,它是將動態(tài)規(guī)劃和監(jiān)督學(xué)習(xí)結(jié)合起來的一種新的學(xué)習(xí)方法,通過避障系統(tǒng)與環(huán)境的試錯(cuò)交互,借助于來自成功和失敗經(jīng)驗(yàn)的獎(jiǎng)勵(lì)和懲罰信號不斷改進(jìn)避障系統(tǒng)的自治能力,從而到達(dá)目標(biāo),并容許后評價(jià)。在強(qiáng)化算法中主要用新Q學(xué)習(xí)算法來實(shí)現(xiàn),并能用BP人工神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)新Q學(xué)習(xí)算法,用Boltzmna來產(chǎn)生隨機(jī)動作。
[0045]本發(fā)明可以應(yīng)用于全方位自動避障小車,小車一旦啟動,可以智能的避開障礙物,無需人工干預(yù)。首先可以迅速感知不確定環(huán)境下的前方障礙物,并且訓(xùn)練小車自主判斷不確定障礙物的干擾,如何躲避,并選擇最優(yōu)的路徑到達(dá)自己的目的地。
[0046](I)迅速感知不確定環(huán)境下前方的障礙物
[0047]摒棄傳統(tǒng)的單點(diǎn)掃描,通過多個(gè)單一的傳感器的單點(diǎn)掃描的疊加來實(shí)現(xiàn)距離信號的采集,即傳感器融合技術(shù)。運(yùn)用分時(shí)多點(diǎn)掃描方法,只需要一個(gè)傳感器即可;可以大大節(jié)省了超聲波傳感器的數(shù)量,減輕了小車的負(fù)荷,同時(shí)也大量地降低了成本。
[0048](2)訓(xùn)練小車自主判斷確定障礙物的干擾
[0049]障礙物的行為包括靜態(tài)和動態(tài)兩種,在能夠規(guī)避靜態(tài)障礙物的同時(shí),同時(shí)要對動態(tài)的障礙物進(jìn)行建模,讓小車能夠在安全距離下行動。對動態(tài)的障礙物進(jìn)行建模,動態(tài)障礙物的行為是隨機(jī)的,本發(fā)明用強(qiáng)化學(xué)習(xí)使智能小車避障,強(qiáng)化學(xué)習(xí)是小車通過學(xué)習(xí)來完成任務(wù),而無需設(shè)計(jì)者完全預(yù)先規(guī)定小車的所用動作,它是將動態(tài)規(guī)劃和監(jiān)督學(xué)習(xí)結(jié)合起來的一種新的學(xué)習(xí)方法,通過小車與環(huán)境的試錯(cuò)交互,借助于來自成功和失敗經(jīng)驗(yàn)的獎(jiǎng)勵(lì)和懲罰信號不斷改進(jìn)小車的自治能力,從而到達(dá)目標(biāo),并容許后評價(jià)。
[0050]自主判斷是通過學(xué)習(xí)得到的對訓(xùn)練樣本障礙物的完美規(guī)避方式后,對新輸入測試障礙物進(jìn)行的判斷規(guī)避方式,并在其后對避障結(jié)果進(jìn)行評價(jià)修正。
[0051](3)選擇最優(yōu)的路徑到達(dá)自己的目的地
[0052]由于使用的算法Q學(xué)習(xí)是一個(gè)全局規(guī)劃問題,于是在每一步都可以做到最優(yōu),直到到達(dá)目標(biāo)點(diǎn)都是最優(yōu)的情況,于是認(rèn)為在起點(diǎn)開始到達(dá)目標(biāo)點(diǎn)為一條最優(yōu)路徑。
【主權(quán)項(xiàng)】
1.一種應(yīng)用于非循跡智能小車避障系統(tǒng)的強(qiáng)化學(xué)習(xí)算法,強(qiáng)化學(xué)習(xí)算法包括新Q學(xué)習(xí)算法,其特征在于,新Q學(xué)習(xí)算法包括以下實(shí)現(xiàn)步驟:首先初始化閾值及連續(xù)權(quán)值,利用傳感器時(shí)刻采集數(shù)據(jù)并歸一化,然后建立BP神經(jīng)網(wǎng)絡(luò),將采集好的數(shù)據(jù)輸入到BP神經(jīng)網(wǎng)絡(luò)中,通過BP神經(jīng)網(wǎng)絡(luò)算法計(jì)算狀態(tài)隱含層和輸出層各個(gè)單元的輸入和輸出;在t狀態(tài)就算出其最大輸出值m,根據(jù)這個(gè)輸出可以得到機(jī)器人的動作輸出,基于這個(gè)輸出判斷是否與障礙物發(fā)生碰撞,如果發(fā)生了碰撞則記錄下BP神經(jīng)網(wǎng)絡(luò)的各單元閾值和各連接權(quán)值,機(jī)器人回歸原來的位置重新開始學(xué)習(xí);如果沒有發(fā)生碰撞則計(jì)算T+1時(shí)刻采集數(shù)據(jù)并歸一化,計(jì)算t+Ι狀態(tài)隱含層和輸出層各個(gè)單元的輸入和輸出,計(jì)算勢場力的強(qiáng)化函數(shù),計(jì)算t狀態(tài)期望輸出值,計(jì)算輸出層和隱藏層的一般化誤差,調(diào)整輸出和隱含層的權(quán)值,再調(diào)整輸入和隱含層的權(quán)值,還有調(diào)整輸出和隱含層各個(gè)單元的閾值,判斷誤差是否小于給定閾值或?qū)W習(xí)次數(shù)大于給定值,如果不符合條件則重新學(xué)習(xí),不然記錄下各個(gè)單元的閾值和各個(gè)連接權(quán)值,結(jié)束學(xué)習(xí)。2.如權(quán)利要求1所述的一種應(yīng)用于非循跡智能小車避障系統(tǒng)的強(qiáng)化學(xué)習(xí)算法,其特征在于,所述的BP神經(jīng)網(wǎng)絡(luò)算法包括以下實(shí)現(xiàn)步驟:首先初始化網(wǎng)絡(luò)中的參數(shù),給定輸入向量和期望輸出,基于前向傳播的方式,分別計(jì)算隱藏層的和輸出層的各項(xiàng)輸出,求期望輸出和實(shí)際輸出的偏差計(jì)算e,誤差e滿足要求,如果沒有滿足,計(jì)算輸出層上各神經(jīng)元的誤差值,并調(diào)整該層上神經(jīng)元的連接權(quán)值,之后進(jìn)入反向傳播,逐層各隱藏層上神經(jīng)元的誤差值,并調(diào)整連接權(quán)值和偏置項(xiàng)。3.如權(quán)利要求1所述的一種應(yīng)用于非循跡智能小車避障系統(tǒng)的強(qiáng)化學(xué)習(xí)算法,其特征在于,所述的傳感器包括紅外傳感器和超聲波傳感器。
【專利摘要】本發(fā)明公開了一種強(qiáng)化學(xué)習(xí)算法,其包括新Q學(xué)習(xí)算法,新Q學(xué)習(xí)算法包括以下實(shí)現(xiàn)步驟:將采集好的數(shù)據(jù)輸入到BP神經(jīng)網(wǎng)絡(luò)中,計(jì)算狀態(tài)隱含層和輸出層各個(gè)單元的輸入和輸出;在t狀態(tài)就算出其最大輸出值m,基于這個(gè)輸出判斷是否與障礙物發(fā)生碰撞,如果發(fā)生了碰撞則記錄下BP神經(jīng)網(wǎng)絡(luò)的各單元閾值和各連接權(quán)值;否則計(jì)算T+1時(shí)刻采集數(shù)據(jù)并歸一化,計(jì)算t+1狀態(tài)隱含層和輸出層各個(gè)單元的輸入和輸出,計(jì)算t狀態(tài)期望輸出值,調(diào)整輸出和隱含層各個(gè)單元的閾值,判斷誤差是否小于給定閾值或?qū)W習(xí)次數(shù)大于給定值,如果不符合條件則重新學(xué)習(xí),不然記錄下各個(gè)單元的閾值和各個(gè)連接權(quán)值,結(jié)束學(xué)習(xí)。本發(fā)明實(shí)時(shí)性好、快速性好、可后期重學(xué)習(xí)。
【IPC分類】G06N3/08
【公開號】CN105139072
【申請?zhí)枴緾N201510570592
【發(fā)明人】王佛偉, 沈波, 王棟, 張似晶, 譚海龍
【申請人】東華大學(xué)
【公開日】2015年12月9日
【申請日】2015年9月9日