應(yīng)用于非循跡智能小車避障系統(tǒng)的強(qiáng)化學(xué)習(xí)算法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種應(yīng)用于非循跡智能小車避障系統(tǒng)的強(qiáng)化學(xué)習(xí)算法,屬于機(jī)器人學(xué)研究領(lǐng)域。
【背景技術(shù)】
[0002]在未來的汽車創(chuàng)造中,我國作為一個世界大國,在高科技領(lǐng)域也必須占據(jù)一席之地,未來汽車的智能化是汽車產(chǎn)業(yè)發(fā)展的必然方向,在這種情況下智能車避障系統(tǒng)避障顯得尤為關(guān)鍵,這將對我國未來智能汽車的研究在世界高科技領(lǐng)域占據(jù)領(lǐng)先地位具有重要作用。
[0003]如何使避障系統(tǒng)在自主行駛過程中實(shí)現(xiàn)對障礙物的自動規(guī)避,從而實(shí)現(xiàn)對人們所不能到達(dá)區(qū)域未知環(huán)境的探測(需與監(jiān)測設(shè)備聯(lián)合使用)成為了眾多學(xué)者思考的問題。機(jī)器學(xué)習(xí)是一門專門研究計算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的性能的學(xué)科,是目前新興的研究方向。眾多學(xué)者正在研究如何將其應(yīng)用于智能小車避障系統(tǒng),這相當(dāng)于使避障系統(tǒng)擁有了自主學(xué)習(xí)能力,通過不斷學(xué)習(xí)實(shí)現(xiàn)自動避障。
[0004]由此可見,在現(xiàn)代社會的發(fā)展下,避障系統(tǒng)的需求是無處不在的,結(jié)合機(jī)器學(xué)習(xí)算法使避障系統(tǒng)避障能力提升,將帶來一定的經(jīng)濟(jì)利益。
[0005]強(qiáng)化學(xué)習(xí)把學(xué)習(xí)過程看作試探評價(獎或懲)過程,學(xué)習(xí)機(jī)選擇-動作作用于環(huán)境之后,使環(huán)境的狀態(tài)改變,并產(chǎn)生一再勵信號(獎或懲)反饋至學(xué)習(xí)機(jī),學(xué)習(xí)機(jī)依據(jù)再勵信號與環(huán)境當(dāng)前的狀態(tài),再選擇下一動作作用于環(huán)境。選擇的原則是使受到獎勵的可能性增大;由此可見,再勵信號是環(huán)境對學(xué)習(xí)機(jī)學(xué)習(xí)結(jié)果的一個評價。換句話說,在一次次的實(shí)驗(yàn)過程中,能夠?qū)W習(xí)怎樣通過和環(huán)境的反復(fù)作用來完成一種復(fù)雜的任務(wù),強(qiáng)化學(xué)習(xí)基本的體系結(jié)構(gòu)如圖1所示。
[0006]然而在強(qiáng)化學(xué)習(xí)中普遍應(yīng)用于實(shí)際應(yīng)用的是Q學(xué)習(xí),Q學(xué)習(xí)要解決的問題:一個能感知環(huán)境的智能物體,怎樣通過學(xué)習(xí)選擇能達(dá)到其目標(biāo)的最優(yōu)動作。這個很具有普遍性的問題應(yīng)用于學(xué)習(xí)控制智能小車。當(dāng)智能小車在其環(huán)境中做出每個動作時,施教者會提供獎勵或懲罰信息,以表示結(jié)果狀態(tài)的正確與否。例如,在訓(xùn)練智能小車進(jìn)行棋類對弈時,施教者可在游戲勝利時給出正回報,而在游戲失敗時給出負(fù)回報,其他時候?yàn)榱慊貓?。智能小車的任?wù)就是從這個非直接的,有延遲的回報中學(xué)習(xí),以便后續(xù)的動作產(chǎn)生最大的累積效應(yīng)。
[0007]Q學(xué)習(xí)系統(tǒng)結(jié)構(gòu)不同于AHC(Adaptive Heuristic Critic)算法的結(jié)構(gòu),采用Q學(xué)習(xí)的智能系統(tǒng)只有一個決策單元,同時起到動作的評價及選擇作用,其結(jié)構(gòu)如圖2所示。
[0008]傳統(tǒng)的避障小車都會考慮使用多個傳感器,可以覆蓋較廣的環(huán)境,使得小車能夠獲得充分和全面的環(huán)境信息。但如此會導(dǎo)致大量硬件資源的耗費(fèi),也會帶來傳感器之間的互相干擾,給信息處理帶來麻煩。
[0009]隨著控制技術(shù)、傳感技術(shù)、計算機(jī)技術(shù)的發(fā)展,特別是網(wǎng)絡(luò)技術(shù)和圖像信息處理技術(shù)的迅猛發(fā)展,智能小車的研究已經(jīng)取得了豐碩的研究成果,其應(yīng)用領(lǐng)域不斷擴(kuò)大,應(yīng)用的復(fù)雜程度也越來越高。避障技術(shù)是一個重要研究方向,多年來國內(nèi)外都有大量的科技工作者致力于這方面的研究開發(fā)工作,因而在避障方面取得了長足的發(fā)展,然而仍有很多問題沒有解決:
[0010]1.如何減少傳感器的個數(shù)而不改變所需要的采集環(huán)境數(shù)據(jù),做到傳感器的融合形成一個局部網(wǎng)絡(luò)。
[0011]2.如何在無人工控制下做到準(zhǔn)確快速避障,減少對外界的干擾造成的誤差,達(dá)到高度魯棒性,建立全局的最優(yōu)路徑,并在存在動態(tài)障礙物的情況下實(shí)時改變路徑并達(dá)到最優(yōu)。
【發(fā)明內(nèi)容】
[0012]本發(fā)明要解決的技術(shù)問題是:提供了一種實(shí)時性好、快速性好、可后期重學(xué)習(xí)的應(yīng)用于非循跡智能小車避障系統(tǒng)的強(qiáng)化學(xué)習(xí)算法,解決了如何減少傳感器的個數(shù)而不改變所需要的采集環(huán)境數(shù)據(jù)以及如何在無人工控制下做到準(zhǔn)確快速避障的問題。
[0013]為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是提供了一種應(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ù)據(jù)并歸一化,然后建立BP神經(jīng)網(wǎng)絡(luò),將采集好的數(shù)據(jù)輸入到BP神經(jīng)網(wǎng)絡(luò)中,通過BP神經(jīng)網(wǎng)絡(luò)算法計算狀態(tài)隱含層和輸出層各個單元的輸入和輸出;在1狀態(tài)就算出其最大輸出值m,根據(jù)這個輸出可以得到機(jī)器人的動作輸出,基于這個輸出判斷是否與障礙物發(fā)生碰撞,如果發(fā)生了碰撞則記錄下BP神經(jīng)網(wǎng)絡(luò)的各單元閾值和各連接權(quán)值,機(jī)器人回歸原來的位置重新開始學(xué)習(xí);如果沒有發(fā)生碰撞則計算T+1時刻采集數(shù)據(jù)并歸一化,計算t+Ι狀態(tài)隱含層和輸出層各個單元的輸入和輸出,計算勢場力的強(qiáng)化函數(shù),計算t狀態(tài)期望輸出值,計算輸出層和隱藏層的一般化誤差,調(diào)整輸出和隱含層的權(quán)值,再調(diào)整輸入和隱含層的權(quán)值,還有調(diào)整輸出和隱含層各個單元的閾值,判斷誤差是否小于給定閾值或?qū)W習(xí)次數(shù)大于給定值,如果不符合條件則重新學(xué)習(xí),不然記錄下各個單元的閾值和各個連接權(quán)值,結(jié)束學(xué)習(xí)。
[0014]優(yōu)選地,所述的BP神經(jīng)網(wǎng)絡(luò)算法包括以下實(shí)現(xiàn)步驟:首先初始化網(wǎng)絡(luò)中的參數(shù),給定輸入向量和期望輸出,基于前向傳播的方式,分別計算隱藏層的和輸出層的各項(xiàng)輸出,求期望輸出和實(shí)際輸出的偏差計算e,誤差e滿足要求,如果沒有滿足,計算輸出層上各神經(jīng)元的誤差值,并調(diào)整該層上神經(jīng)元的連接權(quán)值,之后進(jìn)入反向傳播,逐層各隱藏層上神經(jīng)元的誤差值,并調(diào)整連接權(quán)值和偏置項(xiàng)。
[0015]優(yōu)選地,所述的傳感器包括紅外傳感器和超聲波傳感器。
[0016]本發(fā)明的推廣前景是廣闊的,本發(fā)明的相關(guān)學(xué)習(xí)算法也可以應(yīng)用在汽車等不同載體上,再者,采用本發(fā)明也可以應(yīng)用在極端環(huán)境下,最大程度地降低危險性和人力成本。所以,本發(fā)明有著很好的應(yīng)用性,可以給各行各業(yè)都帶來一定的經(jīng)濟(jì)效益。本發(fā)明采用了一種新的學(xué)習(xí)算法開發(fā)避障系統(tǒng),它的先進(jìn)性在于可以不斷接收環(huán)境數(shù)據(jù)的同時規(guī)劃避障路徑,可以避開靜態(tài)以及動態(tài)障礙物,無需人工參與高效避開障礙物并達(dá)到目的地,避障結(jié)果在后期可以得到評價,如果低于閾值可以重新學(xué)習(xí)直到結(jié)果收斂。此算法相比于現(xiàn)在的算法優(yōu)點(diǎn)在于其實(shí)時性,快速性,可后期重學(xué)習(xí)。
【附圖說明】
[0017]圖1為強(qiáng)化學(xué)習(xí)基本的體系結(jié)構(gòu)圖;
[0018]圖2為Q學(xué)習(xí)的智能系統(tǒng)結(jié)構(gòu)圖;
[0019]圖3為研究平臺模型架構(gòu)圖;
[0020]圖4為新Q學(xué)習(xí)算法實(shí)現(xiàn)的流程圖;
[0021 ]圖5為BP神經(jīng)網(wǎng)絡(luò)的算法流程;
[0022]圖6為避障控制程序流程圖;
[0023]圖7為避障算法實(shí)現(xiàn)流程圖。
【具體實(shí)施方式】
[0024]為使本發(fā)明更明顯易懂,茲以優(yōu)選實(shí)施例,并配合附圖作詳細(xì)說明如下。
[0025]移動機(jī)器人的避障,是無人工干擾的全智能避障系統(tǒng),在未來將代替人類在極端環(huán)境下工作等方面做出杰出貢獻(xiàn)。它與機(jī)器人學(xué)、通訊技術(shù)、計算機(jī)視覺、多傳感器信息融合、智能控制以及多智能體(Mult1-Agent)、機(jī)械學(xué)等,體現(xiàn)了信息科學(xué)和人工智能技術(shù)的最新成果,是在機(jī)器人學(xué)研究領(lǐng)域中一個重要的部分。
[0026]結(jié)合當(dāng)前國內(nèi)外對智能小車避障系統(tǒng)的研究現(xiàn)狀,本發(fā)明對整個避障系統(tǒng)進(jìn)行了分析和開發(fā),使用了紅外傳感器和超聲波探測器來探測周圍環(huán)境,同時利用單片機(jī)技術(shù)對采集到的距離信息進(jìn)行分析和處理,并且提出了一種新穎的控制算法用于智能小車的實(shí)時避障。取得以下成果:
[0027]I)研究了一種控制策略用于避障系統(tǒng)的自主避障,控制策略核心算法為新Q學(xué)習(xí)算法,新Q學(xué)習(xí)算法是強(qiáng)化學(xué)習(xí)算法的一種,由于現(xiàn)實(shí)環(huán)境比較復(fù)雜,所以新Q學(xué)習(xí)算法用BP神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)。為了論證了該算法的可行性,開發(fā)了相應(yīng)的模擬仿真程序,完成了程序的總體設(shè)計、系統(tǒng)模塊分析和主界面設(shè)計。
[0028]2)避障系統(tǒng)可以在不確定環(huán)境下能夠順利躲避障礙物到達(dá)目標(biāo)。
[0029]強(qiáng)化函數(shù)又叫獎勵和懲罰函數(shù),通常分成三大類:第一類是最短路徑問題,就是除去最佳狀態(tài)之外,其他所有狀態(tài)條件下的強(qiáng)化函數(shù)都為-1,目的為了使智能小車盡可能快地到達(dá)希望狀態(tài);第二類是躲避問題(也就是本發(fā)明研究的重點(diǎn)),除了失敗狀態(tài)下,其它所有的狀態(tài)里強(qiáng)化函數(shù)都等于0,在失敗的狀態(tài)下,強(qiáng)化函數(shù)等于I ;第三類是尋找目標(biāo)問題,除去失敗和成功的狀態(tài),在其它所有狀態(tài)下,強(qiáng)化函數(shù)等于O。在失敗狀態(tài)下,強(qiáng)化函數(shù)等于-1,在成功狀態(tài)下,強(qiáng)化函數(shù)等于I。選擇動作的好壞是通過強(qiáng)化函數(shù)值來表現(xiàn)的。根據(jù)智能小車在不確定環(huán)境下尋找目標(biāo)的要求。
[0030]強(qiáng)化信號的作用是對學(xué)習(xí)系統(tǒng)性能的一種評價,主要用于改善系統(tǒng)的性能。強(qiáng)化信號根據(jù)控制任務(wù)的不同,其形式有所不同。避障系統(tǒng)避碰行為的學(xué)習(xí),目的是學(xué)會使避障系統(tǒng)躲避障礙物的避障行為,我們用人工勢場法產(chǎn)生強(qiáng)化值,人工勢場法是由Khatib提出的,其基本思想是構(gòu)造目標(biāo)位姿引力場和障礙物周圍斥力場共同作用的人工勢場,依搜索函數(shù)的下降方向來尋找無碰撞路徑,即通過人工勢場法產(chǎn)生強(qiáng)化函數(shù)值。
[0031]新Q學(xué)習(xí)算法的具體實(shí)現(xiàn)BP人工神經(jīng)網(wǎng)絡(luò)的輸入是傳感器所測距離的歸一化值,輸出的是避障系統(tǒng)的動作,新Q學(xué)習(xí)算法實(shí)現(xiàn)的流程圖如圖4所示:
[0032]首先初始化閾值及連續(xù)權(quán)值,利用傳感器(即紅外傳感器和超聲波傳感器,如圖3所示)時刻采集數(shù)據(jù)并歸一化,然后建立BP神經(jīng)網(wǎng)絡(luò),將采集好的數(shù)據(jù)輸入到BP神經(jīng)網(wǎng)絡(luò)中,通過BP神經(jīng)網(wǎng)絡(luò)算法計算狀態(tài)隱含層和輸出層各個單元的輸入和輸出。在t狀態(tài)就算出其最大輸出值m,根據(jù)這個輸出可以得到機(jī)器人的動作輸出,基于這個輸出判斷是否與障礙物發(fā)生碰撞,如果發(fā)生了碰撞則記錄下BP神經(jīng)網(wǎng)絡(luò)的各單元閾值和各連接權(quán)值,機(jī)器人回歸原來的位置重新開始學(xué)習(xí)。如果沒有發(fā)生碰撞則計算T+1時刻采集數(shù)據(jù)并歸一化,計算t+Ι狀態(tài)隱含層和輸出層各個單元的輸入和輸出,計算勢場力的強(qiáng)化函數(shù),計算t狀態(tài)期望輸出值,計算輸出層和隱藏層的一般化誤差,調(diào)整輸出和隱含層的權(quán)值,再調(diào)整輸入和隱含層的權(quán)值,還有調(diào)整輸出和隱含層各個單元的閾值,判斷誤差是否小于給定閾值或?qū)W習(xí)次數(shù)大于給