基于發育網絡的移動機器人運動方向預先決策方法與流程

文檔序號:18175790發布日期:2019-07-13 10:08
基于發育網絡的移動機器人運動方向預先決策方法與流程

本發明屬于機器人智能控制技術領域,具體涉及一種基于發育網絡的移動機器人運動方向預先決策方法。



背景技術:

神經生物學研究表明,感知學習不是與感知皮層的神經活動變化相關聯,而是與決策相關的高級區域的神經活動變化相關聯。研究發現,在運動方向辨識任務中,行為的改進與側頂葉內皮層(決策區域)的神經元可塑性相關,但與顳中回(感覺區域)的神經元可塑性無關。

既然感知學習與與決策相關的高級區域內的神經元活動變化相關聯,很自然就產生了將人腦的感知學習機理引入到機器人的行為決策中來的想法,模仿人腦感知環境過程中的遷移學習機理,使機器人在進行感知學習的過程中,在執行任務的間隙,仍可以進行思考。該過程類似于人類在無外界輸入信號時,仍在進行思考,對未來的事情進行預演或彩排,這種預演會對人類后續的行為產生影響。同理,機器人在非任務狀態下的思考,可以對后續的運動行為進行預先決策,同時將決策的結果寫到數據庫中,不斷更新數據庫,使機器人在下次執行任務時得到更好的決策指導。

若能將遷移學習思想應用于機器人領域,使機器人在工作間隙也能進行思考,必將大大提高機器人行為學習的效率。但這些關于感知學習中狀態遷移的思想,目前都只應用于模式識別領域,在機器人行為學習中未見使用。

近年來,隨著人工智能的發展和硬件水平的不斷進步,智能機器人也有了很大的進步和更加廣闊的應用,對于移動機器人自主行為學習的研究也越來越引起人們的重視。本發明在移動機器人領域引入自主發育網絡,使機器人在環境感知過程的間隙,通過非工作狀態下的“思考”,將機器人已經學習過的環境位置信息與對應的運動方向預先建立聯系,使機器人在后續的環境認知過程中,遇到類似的環境信息時,通過遷移學習,迅速確定運動方向,實現對運動行為的自主決策,不斷提高機器人的智能。

現有的機器人運動方向預測方法,大多是采用模型預測方法,通過對運動過程進行建模來預測其運動角度、位置或者姿態。但基于模型預測控制的機器人運動控制方法需要辨識模型,分析干擾,確定性能指標,整個問題集合了眾多信息,在線計算量較大,難以實時控制,且開環控制+滾動優化的實施需要閉環特性的分析,甚至是標稱穩定性的分析,一定程度上限制了該方法的使用。



技術實現要素:

針對上述情況,本發明的目的是提供一種基于發育網絡的移動機器人運動方向預先決策方法,在機器人工作的間隙,即非工作狀態下,通過發育網絡中間層神經元的側向激勵機制,在發放的神經元周圍激活(或招募)更多的神經元來存儲類似的環境位置信息,并將這些位置信息與機器人最佳的運動方向預先建立聯系,當機器人在后續環境認知過程中,遇到類似的環境位置信息時,機器人就可以從已經學習的知識中,迅速確定運動方向,提高行為決策的效率。

本發明提供了一種基于發育網絡的移動機器人運動方向預先決策方法,包括以下步驟:

1)發育網絡的創建、訓練和測試;

發育網絡分為三層:X層、Y層、Z層;X層作為網絡輸入層,其神經元個數與輸入矩陣元素個數相同;Y層為中間層,設置了10000個神經元,用于存儲知識;Z層作為動作輸出層,每個神經元分別代表8個方向之一;

2)在每次執行任務后的非工作狀態下,由動作輸出層激活次數最高的某個神經元觸發發育網絡中間層神經元的側向激勵機制,機器人將運動過程中遇到的新知識保存,最終實現機器人運動方向的預先決策:

計算Z層神經元的激活概率pi:

其中,

按照激活概率大小排序,激活前k個(一般取k=1)概率不為0的Z層神經元;

激活每個概率不為0的Z層神經元時,依次執行如下過程:由Z層向Y層輸入數據→激活Y層神經元→側向激勵→在新激活的神經元中保存新知識→建立保存有新知識的Y層神經元與Z層對應的神經元之間的權值連接。

本發明主要以發育網絡為基礎,結合機器人非工作狀態下的“思考”和發育網絡中間層神經元的側向激勵機制,通過遷移學習,實現機器人環境認知中運動方向的預先決策。其中的發育網絡創建、訓練等可參照現有技術中的常規方式進行,該發育網絡是采用美國密歇根州立大學翁巨楊教授模擬人類大腦的發育規律而提出的一種智能網絡,屬于本領域的公知常識。另外,本發明中的Z區、Y區分別是指Z層區域、Y層區域。

根據本發明,發育網絡中,X層到Y層以及Y層到Z層之間的權重更新公式為:

其中,vj代表第j個神經元的權值向量,ω1(nj)+ω2(nj)≡1,ω2(nj)是學習率,ω1(nj)是保持率,p為輸入矩陣,對于發放的神經元,yj=1,否則yj=0。

本發明中,Z層作為動作輸出層,每個神經元分別代表8個方向之一,也可以擴展為更多的運動方向。

本發明中,所述新知識是指新的環境位置信息。新知識的確定依據為:發育網絡訓練好后,輸入相應的輸入信息,計算輸入信息與機器人已經學過知識的匹配度,匹配度低于設定閾值的便認為是新知識,匹配度計算公式如下:

其中,vb和vt分別代表自底向上和自上而下的權值向量,b和t分別代表自底向上和自上而下的輸入向量。

根據本發明,步驟2)中,將這些被激活的Z層神經元與所有Y層神經元建立權值連接,根據來自Z層的自頂向下的輸入和其對應的權值,利用統一的區域函數,獲得Y層神經元發放之前的能量值,根據Top-k競爭規則,激活前k個響應不為零的Y層神經元。

進一步地,步驟2)中,假設前四個Z層神經元概率不為0,概率從大到小排序為:[neuron1,neuron3,neuron2,neuron5],則進入四次循環,依次執行所述過程;第一次循環中,Z層到Y層的輸入為[1,0,0,0,0,0,0,0],然后計算Y層神經元的響應值,激活響應值不為零的神經元(這些被激活的Y層神經元均是屬于第一類,即方向“1”所對應的神經元,其只與Z層第一個神經元有連接),然后將這些神經元按如下公式進行能量值縮放:

其中,ri′代表第i個神經元縮放后的能量值,k代表激活的神經元總數,ri代表第i個神經元的能量值;

這些被激活的Y層神經元發生側向激勵,激活更多的神經元用于記憶新知識;

將機器人遇到的新知識進行分類整理,發育網絡根據需要在與方向類別“1”對應的中間層神經元附近側向激勵出新的神經元,用于保存對應于方向類別“1”的新知識,側向激勵出的神經元能量值計算公式為:

其中,r′ij表示第i個神經元激活的第j個神經元的能量值,d表示新激活的神經元j與激活它的神經元i之間的距離,ri代表第i個神經元的能量值;

依次將對應于方向類別“1”的新知識(新的環境位置信息)按照神經元能量值大小存入特定神經元中,這樣機器人便學習到了對應于方向類別“1”中的新知識,依次執行以上過程將對應于其它方向的新知識也進行記憶保存。機器人在每次運行完之后,就可以將學習到的新知識與對應的運動方向建立連接,在后續的運動過程中,若遇到類似的環境位置信息,機器人就可以迅速確定運動方向,提高行為決策的效率。

存儲新知識時,根據機器人獲得的新環境位置信息與這些被激活的神經元中已經存儲的知識的匹配程度,確定這些新知識應該儲存到哪一個被激活神經元周圍的神經元中去,確定目標神經元之后,機器人將前一次環境探索過程中遇到的未訓練過的新位置數據保存到這個目標神經元周圍新激活的神經元中,并確定最佳運動方向(即與Z層中某個神經元建立聯系),然后在這些新激活的且保存了新知識的Y層神經元與Z層對應的神經元(代表不同的運動方向)之間建立權值連接(為后續的遷移學習創造條件)。

當非工作狀態結束,機器人已經將非工作狀態過程中學習到的新知識進行了存儲記憶。在機器人進行后續環境探索的過程中,當遇到類似位置情況的時候,機器人可以迅速根據數據庫中已存儲的位置信息與運動方向之間的連接,快速做出判斷,選擇最佳的運動方向(實現遷移學習),提高行為決策的效率。

優選地,發育網絡的訓練包括:

設置多個訓練數據,保證智能體不撞上障礙物,經過訓練后的機器人將空間狀態的機器人、障礙物和目標三者的相對位置情況轉換為數據的形式:

網絡輸入數據:

網絡輸出數據:n;

在任意時刻,以機器人為坐標原點建立坐標系,其中:

θf:目標與x軸的夾角;

θe:障礙物與x軸的夾角;

df:目標和機器人的距離;

de:障礙物和機器人的距離;

n:大小取值為1~8,代表機器人運動的八個方向,這八個方向將二維平面八等分。

優選地,發育網絡的測試包括:

在機器人實際運行中的每一步都存在獎勵值或懲罰值的調節,從而影響最終的運動方向決策,決定懲罰值和獎勵值的公式如下:

其中,α為獎勵值,d1f為機器人與目標的初始距離,d2f為機器人追上目標時的距離,df為機器人與目標的實時距離;

其中,β為懲罰值大小,ds為機器人掃描范圍,de為機器人與障礙物的實時距離,dms為機器人與障礙物的最小安全距離;

懲罰的方向時刻與機器人掃描到的最近的障礙物的方向相反,懲罰的方向和大小一直處于不斷的變化之中,懲罰對機器人根據已掌握知識所做出的決策方向朝著遠離障礙物的一側進行微調,同時使得機器人的行動速度放慢;

獎勵的方向時刻指向目標,且只有在其掃描范圍內沒有障礙物的時候才會存在獎勵,獎勵的方向和大小一直處于不斷的變化之中,獎勵機制的存在使得機器人快速地接近目標,同時對機器人做出的決策方向朝著目標方向進行了微調;

機器人在運動過程中會同時受到獎勵和懲罰的影響,機器人的最終決策方向由以下公式決定:

其中,z為最終決策方向,zi為機器人根據已學到的知識做出的決策,為懲罰方向的單位向量,為獎勵方向的單位向量。

由于每一步的決定,機器人都是根據已經記憶的知識做出的決策,實際的位置情況和識別出來的位置情況是有差別的,假設實際輸入為x={x1,x2,x3,x4,x5,x6},Y層激活神經元的權重信息為w={w1,w2,w3,w4,w5,w6},據此可以定義某一步的識別精度值e越小,代表識別率越高,e越大,代表識別率越低。

另外,本發明中未加以限定的具體操作步驟均可參照現有技術進行設定,如發育網絡的創建、訓練,數據在神經元中的保存、權值連接的建立等。

與現有技術相比,本發明具有如下有益效果:

本發明通過發育網絡算法,對機器人進行訓練,對探索的環境進行認知學習,通過環境感知過程中的遷移學習,使其在后續的環境認知過程中,在遇到類似的環境信息時,可以迅速確定運動方向,提高運動方向決策的效率;具體地,本發明通過機器人發育網絡中間層神經元的側向激勵機制,在認知的環境位置信息和運動方向之間預先建立連接,使機器人在后續的運動過程中,遇到類似的環境位置情況時,機器人可以迅速確定最佳的運動方向,提高行為決策的效率。與傳統的基于模型預測的方法相比,本發明提出了一種更具前瞻性的運動方向預測方法,可以更高效地預測機器人的運動方向,在提高機器人智能的同時也有效地提高了機器人的工作效率。

附圖說明

圖1:機器人、目標和障礙物之間位置關系示意圖;

圖2:懲罰機制對機器人下一步決策的影響示意圖;

圖3:獎勵機制對機器人下一步決策的影響示意圖;

圖4:神經元側向激勵范圍示意圖;

圖5:靜態環境下Y區域中存儲知識的神經元分布示意圖;

圖6:機器人五次運行的路徑圖;

圖7:圖6中路徑的局部放大圖;

圖8:保存知識的神經元個數變化情況;

圖9:非工作狀態結束后發育網絡中間層神經元中知識存儲情況;

圖10:運行識別誤差折線圖;

圖11:動態環境下Y區域中存儲知識的神經元分布示意圖;

圖12:動態環境下機器人中存儲知識的神經元個數與運行次數之間的關系;

圖13:運行完成后機器人中存儲知識的神經元分布情況;

圖14:動態環境下機器人五次運動路徑示意圖;

圖15:動態環境下機器人五次運行的誤差折線圖。

具體實施方式

為了使本技術領域的研究與應用人員更好地理解本發明方案,下面將應用一個本方案的仿真結果進行分析,同時也是對本方案具體應用場景的一種驗證。同時,下面的實例只是該方案在某一個場景的應用,并非方案的全部應用場景?;诒景l明中的實例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實例,都屬于本發明保護的范圍。

實施例

一種基于發育網絡的移動機器人運動方向預先決策方法,該方法包括以下步驟:

1:網絡創建

X層6個神經元分別代表輸入數據x向量的6個元素。

Y層10000個神經元,X層到Y層權重向量、Y層到Z層權重向量初始化為隨機數,響應值向量初始化為O年齡初始化為1。

Z層設置8個神經元,Z層到Y層權重向量初始化為0,年齡為1。

2:網絡訓練

訓練數據設置了152個,這152個數據可以保證智能體不撞上障礙物,但接近目標的路徑不是最優的。在二維平面上機器人、障礙物、目標的相對位置情況有無數多種,因此,經過訓練后的機器人只是學到了部分知識,將空間狀態的三者相對位置情況轉換為數據的形式為:

網絡輸入數據:

網絡輸出數據:n;

在任意時刻,以機器人為坐標原點建立坐標系,如圖1所示,其中:

θf:目標與x軸的夾角;

θe:障礙物與x軸的夾角;

df:目標和智能體的距離;

de:敵人和智能體的距離;

n:大小取值為1~8,代表機器人運動的八個方向,這八個方向將二維平面八等分。

3:網絡測試

創建機器人,障礙物和目標,機器人用藍色的正方形表示,障礙物為半徑為6的黑色圓形,目標為半徑為10的綠色圓形,在機器人實際運行中的每一步都存在獎勵或懲罰值的調節,從而影響最終的運動方向決策。當機器人接近目標時均存在獎勵值,并且距離目標越遠,獎勵值越大,隨著機器人與目標的距離越來越小,獎勵值也隨之減小,最終當追上目標時候,獎勵值減為0,獎勵值的存在,使得機器人可以更快的接近目標。機器人在接近目標時,若遇到障礙物(機器人周圍距離80像素內掃描到障礙物),此時,僅存在懲罰值的調節,機器人距離最近的障礙物為80像素時候,懲罰值為0,距離障礙物越近,懲罰值越大,從而使機器人更加有效地躲避障礙物。決定懲罰和獎勵值的公式如下:

其中,α為獎勵值,d1f為機器人與目標的初始距離,d2f為機器人追上目標時的距離,df為機器人與目標的實時距離。

其中,β為懲罰值大小,ds為機器人掃描范圍,de為機器人與障礙物的實時距離,dms為機器人與障礙物的最小安全距離。

懲罰的方向時刻與機器人掃描到的最近的障礙物的方向相反,它的方向和大小一直處于不斷的變化之中,懲罰對機器人根據已掌握知識所做出的決策方向朝著遠離障礙物的一側進行微調,同時,使得機器人的行動速度放慢,懲罰對機器人最終方向的影響如圖2所示。

獎勵的方向時刻指向目標,且只有在其掃描范圍內沒有障礙物的時候才會存在獎勵,它的方向和大小一直處于不斷的變化之中,獎勵機制的存在使得機器人快速地接近目標,同時,對機器人做出的決策方向朝著目標方向進行了微調,獎勵對機器人最終運動方向的影響如圖3所示。

圖2和圖3是在懲罰和獎勵不同時存在的情況下的運動情況分析,但機器人在運動過程中,一般會同時受到獎勵和懲罰的影響,因此機器人的最終決策方向由以下公式決定:

其中,z為最終決策方向,為機器人根據已學到的知識做出的決策,為懲罰方向的單位向量,為獎勵方向的單位向量。

由于每一步的決定,機器人都是根據已經記憶的知識做出的決策,實際的位置情況和識別出來的位置情況是有差別的,假設實際輸入為x={x1,x2,x3,x4,x5,x6},Y層激活神經元的權重信息為w={w1,w2,w3,w4,w5,w6},據此可以定義某一步的識別精度值e越小,代表識別率越高,e越大,代表識別率越低。

4:非工作狀態

首先計算Z層神經元激活概率:

按照激活概率大小排序,激活前k個概率不為0的Z層神經元,假設前四個神經元概率不為O,概率從大到小排序為:[neuron1,neuron3,neuron2,neuron5],則進入四次循環,依次執行如下過程:由Z層向Y層輸入數據→激活Y層神經元→側向激勵→保存數據→建立新的位置關系與機器人運動方向之間的權值連接。如第一次循環,Z層到Y層的輸入為[1,0,0,0,0,0,0,0],然后計算Y層神經元響應,激活響應不為零的神經元(這些被激活的Y層神經元均是屬于第一類,既方向“1”對應的神經元,既只與Z層第一個神經元有連接),然后將這些神經元按如下公式進行能量值縮放:

其中,ri′代表第i個神經元縮放后的能量值,k代表激活的神經元總數,ri代表第i個神經元的能量值。這些被激活的神經元發生側向激勵,激活更多的神經元用于記憶新的知識,側向激勵的激活范圍如圖4所示。

圖4中的數字表示與激活神經元的距離,顏色越深代表激活的神經元能量值越大,反之,則越小。側向激勵出的神經元能量值計算公式如下:

其中,r′ij表示第i個神經元激活的第j個神經元的能量值,d表示新激活的神經元j與激活它的神經元i之間的距離,ri代表第i個神經元的能量值。其中,側向激勵范圍可根據實際數據量大小靈活改變。

將這些被激活的Z層神經元與所有Y層神經元建立權值連接,根據來自Z層的自頂向下的輸入和其對應的權值,利用統一的區域函數,獲得Y層神經元發放之前的能量值。根據Top-k競爭規則,激活前k個響應不為零的Y層神經元,這些被激活的Y層神經元發生側向激勵,在自身周圍激活更多的神經元用于記憶新的知識。

存儲新知識時,根據機器人獲得的新環境位置信息與這些被激活的神經元中已經存儲的知識的匹配程度,確定這些新知識應該儲存到哪一個被激活神經元周圍的神經元中去,確定目標神經元之后,機器人將前一次環境探索過程中遇到的未訓練過的新位置數據保存到這個目標神經元周圍新激活的神經元中,并確定最佳運動方向(即與Z層中某個神經元建立聯系),然后在這些新激活的且保存了新知識的Y層神經元與Z層對應的神經元(代表不同的運動方向)之間建立權值連接(為后續的遷移學習創造條件)。

當非工作狀態(線下過程)結束,機器人已經將非工作狀態過程中學習到的新知識進行了存儲記憶。在機器人進行后續環境認知的過程中,當遇到類似位置情況的時候,機器人可以迅速根據數據庫中已存儲的位置信息與運動方向之間的連接,快速做出判斷,選擇最佳的運動方向(實現遷移學習),提高行為決策的效率。

5:結果分析

5.1靜態環境試驗

我們設置了13個靜態障礙物和一個目標,障礙物為半徑為6的黑色圓形,目標為半徑為10的綠色圓形,機器人為藍色正方形。訓練之后,Y區域存儲知識的神經元分布情況如圖5所示,每個方格代表一個神經元,白色代表空白神經元,即沒有存儲知識,藍色代表存儲有知識的神經元,訓練完成之后有152個神經元存儲了相應的知識。

在訓練數據的基礎上第一次運行路徑如圖6中帶“+”標記的路線,機器人行走187步后追上目標,機器人是在原有152個訓練數據的基礎上做出的決策。機器人第二次運行的路徑用紅色帶“*”號標記的路線所示,行走步數為176步,且機器人選取了不同的路徑。原因在于第一次測試運行之后,在非工作狀態即線下過程中,機器人將第一次運行過程中學習到的新知識進行了整理記憶,即把遇到的類似的情況提取出來保存到存儲了相似特征的神經元周圍的神經元之中,這樣機器人在第二次行走的時候已經具備了新的知識,存儲的知識量更多,機器人在行走過程中遇到了新的情況便做出了與第一次運行時不同的決策。同理,在第二次運行之后,由于機器人走了不同的路徑,所以又學習到了新的知識,在非工作狀態下,機器人將第二次運行過程中學習到的新知識進行了整理記憶。在機器人第三次運行時,由于學習了新的知識,所以選擇了圖6中帶黃色“口”標記的路徑,共181步。第四次運行時候,機器人已經進行了三次遷移學習,選擇了新的路徑,但與第三次的路徑差別不大,僅在中間部分存在差異。第五次運行時機器人選擇了與第四次基本一樣的路徑,均為171步,可以看出,機器人在接近目標的過程中遇到的新知識越來越少,意味著機器人在接近該靜態目標時候已經學習到了足夠的數據,因此第五次和第四次的運行軌跡基本一致。注意:我們對新的知識定義為匹配度低于0.99的數據。用另一種方法解釋第四次和第五次運行軌跡重合的原因,在于第四次運行時,遇到的新的位置情況與此前已經遇到過的位置情況(既學過的知識)的匹配度大部分都高于0.99,因此第四次學習到的新知識很少,第五次運行路徑和第四次基本重合,但不是完全重合,如在機器人運行的后段軌跡與第四次略有差別,局部放大圖如圖7所示。

圖8為機器人每次運行后的知識存儲量,即存儲了知識的神經元個數,從圖8可以看出,每次運行后機器人都學習了新的知識,且學習的新知識越來越少,其原因是由于設置的目標和障礙物均為靜態的,隨著運行次數的增加,機器人對環境越來越熟悉,新學習的知識就相應減少。

圖9所示為運行完之后,機器人的知識存儲分布情況。從圖9可以看出,其中多了一些聚合在一起的數據,這是由于發育網絡中間層神經元側向激勵的作用,使某些神經元激活周圍的神經元存儲了新的環境位置數據。

圖10是5次運行的誤差折線圖,可以計算出每次運行的平均誤差分別為:0.8602,0.3663,0.2179,0.2444和0.2319,折線上的某個點代表了機器人在某一步的識別誤差值,由圖10可以看出,在前三次運行中,機器人每運行一次后,其誤差折線圖都會降低一點,即其平均誤差越來越低,到第三次運行時,平均誤差達到極限,之后的每次運行其平均誤差都位于0.23左右??梢赃@樣解釋,把機器人接近目標時能夠遇到的所有新位置情況當作有限集合A,機器人測試運行一次就會從中學習一定量的新的知識,集合A的容量就會減少一部分,直到第三次運行時,集合A基本上接近空集,此時,機器人在接近目標的過程中遇到的位置情況都在自己的大腦(發育網絡)中儲存著,識別出的位置情況與實際遇到的位置情況基本一致,因此識別精度很高,誤差很小。

5.2動態環境試驗

與靜態環境下的實驗過程類似,將上述非工作狀態下機器人的遷移學習應用于動態環境下的場景,可以獲得類似的結果,如圖11至圖15所示。

動態環境下,機器人獲取的新知識量會隨著運行時間的增加而增加,這是由于機器人運行的環境一直在變化,每次運行,機器人都會遇到新的環境位置情況,學習到新的知識,相應的,其存儲知識的神經元個數會隨之增加,如圖12所示。

以上對本發明所提供的機器人運動方向預先決策的原理和實施方式進行了詳細介紹。本文中應用了具體個例對本發明的原理及實施方式進行了闡述,上述實例的目的旨在對幫助理解本發明的具體原理和實施方式。應當聲明的是,對于本專業領域的普通技術人員,在使用本發明解決問題和科學研究時,在不改變本發明原理和核心思想的前提下,允許做出若干技術改進,這些改進的技術也落入本發明專利權利要求的保護范圍內。

再多了解一些
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
做爱视频