] 步驟2 :將柵格地圖中的每個(gè)坐標(biāo)點(diǎn)作為一個(gè)神經(jīng)元,并初始化每個(gè)神經(jīng)元的活 性值為〇 ;
[0067] 步驟3 :判斷移動(dòng)機(jī)器人當(dāng)前所在位置是否與目標(biāo)點(diǎn)位置相同,若相同,則當(dāng)前路 徑規(guī)劃結(jié)束;否則,進(jìn)入步驟4 ;
[0068] 步驟4 :讀取聲納測(cè)距數(shù)據(jù),并更新神經(jīng)元活性值;
[0069] 如圖3所示,所述移動(dòng)機(jī)器人上安裝的聲納傳感器的安裝角度為α?xí)r,探測(cè)到前 方距離為d的位置有障礙物時(shí),令移動(dòng)機(jī)器人在全局坐標(biāo)系中的方向角度為θ ι^全局坐標(biāo) 為(\,1)則障礙物在柵格地圖中的坐標(biāo)為
[0070] 機(jī)器人的指向與全局坐標(biāo)系X軸正方向的夾角,范圍是+180度到-179度;
[0071] 間隔時(shí)間T讀取一次移動(dòng)機(jī)器人上的聲納傳感器所采集的工作環(huán)境中障礙物的 測(cè)距數(shù)據(jù),并依據(jù)測(cè)距數(shù)據(jù)獲取障礙物的全局坐標(biāo)系坐標(biāo),并將全局坐標(biāo)系中每個(gè)坐標(biāo)對(duì) 應(yīng)的神經(jīng)元的活性值X i按照以下公式更新:
[0073] 其中,X1是第i個(gè)神經(jīng)元的活性值;A表示衰減率,取值范圍為[8, 15],本實(shí)例中 取值為10 ;B和D分別為神經(jīng)元活性值的上界和下界,取值分別為1和-1 ;
[0074] 間隔時(shí)間T的取值IOOms ;
[0075] I1表示第i個(gè)神經(jīng)元的外部輸入:
[0076] 如果第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置為目標(biāo)點(diǎn)位置,則I1= E ;
[0077] 如果第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置為障礙物位置,則I1 = -E ;
[0078] 其他情況下,I1= 0 ;
[0079] E為外部輸入常數(shù),取大于或等于80的整數(shù);
[0080] S1表示第i個(gè)神經(jīng)元的激勵(lì)輸入,其取值依據(jù)第i個(gè)神經(jīng)元是否處于障礙物之間 確定:
[0081] 當(dāng)?shù)趇個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置處于障礙物之間時(shí):
[0083] 當(dāng)?shù)趇個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置處于障礙物之間時(shí):
(Iu表示兩個(gè)神經(jīng)元q ;和q 之間的歐式距離,μ c表示距離常數(shù),取值范圍為(0.2,1.2]出1表示第i個(gè)神經(jīng)元對(duì)應(yīng)的坐 標(biāo)位置的相鄰點(diǎn)個(gè)數(shù),移動(dòng)機(jī)器人所有可能的下一個(gè)位置點(diǎn)稱為相鄰點(diǎn);如圖4、5、6、7所 不,標(biāo)號(hào)為5的方格四周的8個(gè)方格均為其相鄰點(diǎn);
[0086] 圖4、5、6、7是神經(jīng)元的九鄰域示意圖,粗的實(shí)線代表邊界,細(xì)的實(shí)線框代表邊界 內(nèi)的點(diǎn),虛線框代表邊界外的點(diǎn)。編號(hào)為5的方格為當(dāng)前位置點(diǎn),陰影方格代表障礙物點(diǎn), 沒(méi)有陰影的方格代表非障礙物點(diǎn)。當(dāng)方格5的左右、上下或者對(duì)角的兩個(gè)方格,即方格1和 9、3和7、4和6、2和8同時(shí)為障礙物點(diǎn)時(shí),即可認(rèn)為該神經(jīng)元處于障礙物之間。
[0087] 圖4、5所示的便是神經(jīng)元處于障礙物之間的情況;
[0088] 為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置的相鄰點(diǎn)中對(duì)應(yīng)的神經(jīng)元活性值大于0的點(diǎn) 的個(gè)數(shù),(為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置的相鄰點(diǎn)中對(duì)應(yīng)的神經(jīng)元活性值小于O的點(diǎn)的 個(gè)數(shù);
[0089] 步驟5 :依據(jù)更新的神經(jīng)元活性值和最小轉(zhuǎn)角,對(duì)移動(dòng)機(jī)器人的下一個(gè)移動(dòng)位置 進(jìn)行決策,得到下一個(gè)移動(dòng)位置;
[0090] 步驟6 :移動(dòng)機(jī)器人按照步驟5獲取的位置前進(jìn),返回步驟3。
[0091] 所述步驟5中下一個(gè)移動(dòng)位置決策按照以下公式確定:
[0093] 其中,<表示第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置的第j個(gè)相鄰點(diǎn)對(duì)應(yīng)的神經(jīng)元活性值; 1表示機(jī)器人可能移動(dòng)到的下一個(gè)位置,即相鄰點(diǎn)中的一個(gè),&代表相鄰點(diǎn)qn的活性值;
[0094] 【柵格地圖中每個(gè)坐標(biāo)位置對(duì)應(yīng)的神經(jīng)元活性值為已知,根據(jù)已知活性值的神經(jīng) 元,任意選取對(duì)應(yīng)的坐標(biāo)位置作為下一個(gè)移動(dòng)位置;】
[0095] c表示權(quán)重因子,取值范圍為[0.3, 3],本實(shí)例中取值為2 表示轉(zhuǎn)角影響因子,
[0097] 其中,<和<分別為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置的第j個(gè)相鄰點(diǎn)q]的在柵格地 圖中的橫坐標(biāo)和縱坐標(biāo),?和分別為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置所在當(dāng)前位置點(diǎn)q。在 柵格地圖中的橫坐標(biāo)和縱坐標(biāo),^和)^分別為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置所在上一個(gè)位 置點(diǎn)qp在柵格地圖中的橫坐標(biāo)和縱坐標(biāo)。
[0098] &^是機(jī)器人從當(dāng)前位置移動(dòng)到下一個(gè)位置的絕對(duì)轉(zhuǎn)角,例如,當(dāng)機(jī)器人直線前進(jìn) 時(shí),*當(dāng)機(jī)器人調(diào)頭時(shí),^ 。
[0099] 圖8是該算法在U型障礙物問(wèn)題下生成的路徑,從圖中可以看出,沒(méi)有局部最小點(diǎn) 問(wèn)題,路徑平滑,轉(zhuǎn)彎少。
[0100] 圖9是該方法在動(dòng)態(tài)環(huán)境下的生成路徑。圖中空心點(diǎn)代表實(shí)際存在但未被傳感器 探測(cè)到的點(diǎn),實(shí)心點(diǎn)代表被傳感器探測(cè)到的點(diǎn),環(huán)境中左右兩邊有鉤形的固定障礙物,上方 有一個(gè)直線的固定障礙物。中間有兩個(gè)相距5個(gè)單位的直線移動(dòng)障礙物,障礙物1初始位 置的縱坐標(biāo)為20,障礙物2初始位置的縱坐標(biāo)為14,在機(jī)器人開始移動(dòng)時(shí),兩個(gè)障礙物同時(shí) 以恒定的速度開始上下往返移動(dòng),移動(dòng)速度均為機(jī)器人移動(dòng)速度的三分之一。機(jī)器人的起 始點(diǎn)坐標(biāo)為(15, 1),目標(biāo)點(diǎn)坐標(biāo)為(15, 30)。圖中的五角星號(hào)代表機(jī)器人移動(dòng)到路徑,加號(hào) 代表機(jī)器人在移動(dòng)過(guò)程中創(chuàng)建的增量式地圖。
【主權(quán)項(xiàng)】
1. 一種未知?jiǎng)討B(tài)環(huán)境下的移動(dòng)機(jī)器人路徑規(guī)劃方法,其特征在于,包括以下幾個(gè)步 驟: 步驟1:構(gòu)建柵格地圖; 以移動(dòng)機(jī)器人的幾何中心點(diǎn)為移動(dòng)坐標(biāo)系原點(diǎn),移動(dòng)機(jī)器人的指向?yàn)閄軸的正方向, 建立移動(dòng)坐標(biāo)系; 以移動(dòng)機(jī)器人開始移動(dòng)前所在位置為全局坐標(biāo)系原點(diǎn),移動(dòng)機(jī)器人開始移動(dòng)前的指向 為X軸的正方向,建立全局坐標(biāo)系; 將全局坐標(biāo)系按照設(shè)定的規(guī)劃精度P轉(zhuǎn)化為柵格地圖,所述柵格地圖中每個(gè)柵格的長(zhǎng) 和寬分別為Ax=P和Ay=P; P取值范圍為〇.Im到0. 3m; 將移動(dòng)機(jī)器人所在工作環(huán)境中的已知的靜態(tài)障礙物、目標(biāo)點(diǎn)以及移動(dòng)機(jī)器人當(dāng)前位置其中,(x*,y*)表示在物體在全局坐標(biāo)系中的坐標(biāo); 步驟2 :將柵格地圖中的每個(gè)坐標(biāo)點(diǎn)作為一個(gè)神經(jīng)元,并初始化每個(gè)神經(jīng)元的活性值 為〇 ; 步驟3 :判斷移動(dòng)機(jī)器人當(dāng)前所在位置是否與目標(biāo)點(diǎn)位置相同,若相同,則當(dāng)前路徑規(guī) 劃結(jié)束;否則,進(jìn)入步驟4; 步驟4 :讀取聲納測(cè)距數(shù)據(jù),并更新神經(jīng)元活性值; 間隔時(shí)間T讀取一次移動(dòng)機(jī)器人上的聲納傳感器所采集的工作環(huán)境中障礙物的測(cè)距 數(shù)據(jù),并依據(jù)測(cè)距數(shù)據(jù)獲取障礙物的全局坐標(biāo)系坐標(biāo),并將全局坐標(biāo)系中每個(gè)坐標(biāo)對(duì)應(yīng)的 神經(jīng)元的活性值1;按照以下公式更新:其中,X1是第i個(gè)神經(jīng)元的活性值;A表示衰減率,取值范圍為[3, 20] ;B和D分別為神 經(jīng)元活性值的上界和下界,取值分別為1和-1 ; 間隔時(shí)間T的取值范圍為(0,Is]; I1表示第i個(gè)神經(jīng)元的外部輸入: 如果第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置為目標(biāo)點(diǎn)位置,則Ii=E; 如果第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置為障礙物位置,則I1=-E; 其他情況下,I1=O; E為外部輸入常數(shù),取大于或等于80的整數(shù); S1表示第i個(gè)神經(jīng)元的激勵(lì)輸入,其取值依據(jù)第i個(gè)神經(jīng)元是否處于障礙物之間確定: 當(dāng)?shù)趇個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置處于障礙物之間時(shí):當(dāng)?shù)趇個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置處于障礙物之間時(shí):的歐式距離,y。表示距離常數(shù),取值范圍為(0. 2,I. 2];n1表示第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位 置的相鄰點(diǎn)個(gè)數(shù),移動(dòng)機(jī)器人所有可能的下一個(gè)位置點(diǎn)稱為相鄰點(diǎn);表示第i個(gè)神經(jīng)元 對(duì)應(yīng)的坐標(biāo)位置的第j個(gè)相鄰點(diǎn)對(duì)應(yīng)的神經(jīng)元活性值;(為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置 的相鄰點(diǎn)中對(duì)應(yīng)的神經(jīng)元活性值大于〇的點(diǎn)的個(gè)數(shù),為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置的 相鄰點(diǎn)中對(duì)應(yīng)的神經(jīng)元活性值小于〇的點(diǎn)的個(gè)數(shù); 步驟5 :依據(jù)更新的神經(jīng)元活性值和最小轉(zhuǎn)角,對(duì)移動(dòng)機(jī)器人的下一個(gè)移動(dòng)位置進(jìn)行 決策,得到下一個(gè)移動(dòng)位置; 步驟6 :移動(dòng)機(jī)器人按照步驟5獲取的位置前進(jìn),返回步驟3。2. 根據(jù)權(quán)利要求1所述的一種未知?jiǎng)討B(tài)環(huán)境下的移動(dòng)機(jī)器人路徑規(guī)劃方法,其特征在 于,所述步驟5中下一個(gè)移動(dòng)位置決策按照以下公式確定:其中,1表示機(jī)器人可能移動(dòng)到的下一個(gè)位置,即相鄰點(diǎn)中的一個(gè),I代表 相鄰點(diǎn)qn的活性值;c表示權(quán)重因子,取值范圍為[0.3, 3],^表示轉(zhuǎn)角影響因子,其中,和< 分別為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置的第j個(gè)相鄰點(diǎn)I的在柵格地圖 中的橫坐標(biāo)和縱坐標(biāo),<和之分別為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置所在當(dāng)前位置點(diǎn)q。在 柵格地圖中的橫坐標(biāo)和縱坐標(biāo),< 和)t分別為第i個(gè)神經(jīng)元對(duì)應(yīng)的坐標(biāo)位置所在上一個(gè) 位置點(diǎn)qp在柵格地圖中的橫坐標(biāo)和縱坐標(biāo)。3. 根據(jù)權(quán)利要求2所述的一種未知?jiǎng)討B(tài)環(huán)境下的移動(dòng)機(jī)器人路徑規(guī)劃方法,其特征在 于,所述移動(dòng)機(jī)器人上安裝的聲納傳感器的安裝角度為a時(shí),探測(cè)到前方距離為d的位置 有障礙物時(shí),令移動(dòng)機(jī)器人在全局坐標(biāo)系中的方向角度為吣全局坐標(biāo)為(Xpl)、,則障礙4. 根據(jù)權(quán)利要求1-3任一項(xiàng)所述的一種未知?jiǎng)討B(tài)環(huán)境下的移動(dòng)機(jī)器人路徑規(guī)劃方法, 其特征在于,所述衰減率A取值為10。5. 根據(jù)權(quán)利要求1-3任一項(xiàng)所述的一種未知?jiǎng)討B(tài)環(huán)境下的移動(dòng)機(jī)器人路徑規(guī)劃方法, 其特征在于,所述權(quán)重因子c取值為1。6.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的一種未知?jiǎng)討B(tài)環(huán)境下的移動(dòng)機(jī)器人路徑規(guī)劃方法, 其特征在于,所述距離常數(shù)y。取值為1。
【專利摘要】本發(fā)明公開了一種未知?jiǎng)討B(tài)環(huán)境下的移動(dòng)機(jī)器人路徑規(guī)劃方法,該方法將每個(gè)位置轉(zhuǎn)化為一個(gè)神經(jīng)元,利用神經(jīng)元的活性值來(lái)表征環(huán)境變化,巧妙的利用生物激勵(lì)神經(jīng)網(wǎng)絡(luò)模型來(lái)模擬動(dòng)態(tài)環(huán)境;生物激勵(lì)神經(jīng)網(wǎng)絡(luò)模型保證了正的神經(jīng)元活性值能夠向外傳播并影響整個(gè)狀態(tài)空間,而負(fù)的神經(jīng)元活性值只作用在局部。在下一個(gè)位置點(diǎn)的決策中同時(shí)包含了神經(jīng)元活性值最大和機(jī)器人轉(zhuǎn)角最小因素,得到的路徑不僅最短或接近最短,且路徑平滑,轉(zhuǎn)彎較少。本方法沒(méi)有局部最小點(diǎn)問(wèn)題,計(jì)算量小,實(shí)現(xiàn)簡(jiǎn)單,在動(dòng)態(tài)未知環(huán)境下有很好的適應(yīng)性。
【IPC分類】G05D1/02
【公開號(hào)】CN105045260
【申請(qǐng)?zhí)枴緾N201510270537
【發(fā)明人】王耀南, 潘琪, 陳彥杰, 鐘杭, 劉曉明
【申請(qǐng)人】湖南大學(xué)
【公開日】2015年11月11日
【申請(qǐng)日】2015年5月25日