一種未知動態(tài)環(huán)境下的移動機(jī)器人路徑規(guī)劃方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種移動機(jī)器人的路徑規(guī)劃方法,尤其涉及一種在動態(tài)未知復(fù)雜環(huán)境 下的移動機(jī)器人路徑規(guī)劃方法。
【背景技術(shù)】
[0002] 隨著技術(shù)的發(fā)展,移動機(jī)器人的應(yīng)用范圍越來越廣泛。移動機(jī)器人開始逐漸從規(guī) 則的室內(nèi)環(huán)境拓展到更復(fù)雜、特征不規(guī)則的室外非結(jié)構(gòu)環(huán)境。路徑規(guī)劃是機(jī)器人導(dǎo)航技術(shù) 的重要環(huán)節(jié),它是按照某一性能指標(biāo)搜索一條從初始狀態(tài)到目標(biāo)狀態(tài)的最優(yōu)或近似最優(yōu)的 無碰路徑。
[0003] 常見的路徑規(guī)劃方法主要有人工勢場法、A*算法、神經(jīng)網(wǎng)絡(luò)等。但這些方法對于 不同的實際問題總存在一定的缺陷。人工勢場法存在局部最小點(diǎn)問題,會導(dǎo)致機(jī)器人無法 到達(dá)目標(biāo)點(diǎn)。A*算法需要對環(huán)境的先驗知識,當(dāng)環(huán)境信息改變時,需要重新規(guī)劃,計算量大。 一些神經(jīng)網(wǎng)絡(luò)模型僅能夠處理靜態(tài)環(huán)境,BP神經(jīng)網(wǎng)絡(luò)模型能夠產(chǎn)生避障軌跡,但是需要學(xué) 習(xí)過程,速度較慢。Glasius提出了一種基于Hopfield網(wǎng)絡(luò)的動態(tài)實時避障模型,能夠解決 局部最小問題,但很難適應(yīng)高速的動態(tài)環(huán)境。Simon X. Yang在Neural Network Approach to Dynamic Collision-Free Trajectory Generation 一文中提出的生物激勵神經(jīng)網(wǎng)絡(luò)方 法為路勁規(guī)劃提出了一種有效的解決方案,但在一定情況下會出現(xiàn)路徑錯判問題,且路徑 不夠平滑。
【發(fā)明內(nèi)容】
[0004] 針對上述問題,本發(fā)明提出了一種新的動態(tài)未知環(huán)境下的路徑規(guī)劃方法,該方法 不需要實時動態(tài)環(huán)境的任何先驗知識,計算量小,適用于未知動態(tài)環(huán)境下的路徑規(guī)劃。
[0005] -種未知動態(tài)環(huán)境下的移動機(jī)器人路徑規(guī)劃方法,包括以下幾個步驟:
[0006] 步驟1 :構(gòu)建柵格地圖;
[0007] 以移動機(jī)器人的幾何中心點(diǎn)為移動坐標(biāo)系原點(diǎn),移動機(jī)器人的指向為X軸的正方 向,建立移動坐標(biāo)系;
[0008] 以移動機(jī)器人開始移動前所在位置為全局坐標(biāo)系原點(diǎn),移動機(jī)器人開始移動前的 指向為X軸的正方向,建立全局坐標(biāo)系;
[0009] 將全局坐標(biāo)系按照設(shè)定的規(guī)劃精度p轉(zhuǎn)化為柵格地圖,所述柵格地圖中每個柵格 的長和寬分別為Δχ = ρ和Ay = p;
[0010] p取值范圍為〇· Im到0· 3m ;
[0011] 將移動機(jī)器人所在工作環(huán)境中的已知的靜態(tài)障礙物、目標(biāo)點(diǎn)以及移動機(jī)器人當(dāng)前 位置在全局坐標(biāo)系中的坐標(biāo)轉(zhuǎn)化為柵格地圖坐標(biāo)表示r
[0012] 其中,(X*,y*)表示在物體在全局坐標(biāo)系中的坐標(biāo);
[0013] 步驟2 :將柵格地圖中的每個坐標(biāo)點(diǎn)作為一個神經(jīng)元,并初始化每個神經(jīng)元的活 性值為O ;
[0014] 步驟3:判斷移動機(jī)器人當(dāng)前所在位置是否與目標(biāo)點(diǎn)位置相同,若相同,則當(dāng)前路 徑規(guī)劃結(jié)束;否則,進(jìn)入步驟4 ;
[0015] 步驟4 :讀取聲納測距數(shù)據(jù),并更新神經(jīng)元活性值;
[0016] 間隔時間T讀取一次移動機(jī)器人上的聲納傳感器所采集的工作環(huán)境中障礙物的 測距數(shù)據(jù),并依據(jù)測距數(shù)據(jù)獲取障礙物的全局坐標(biāo)系坐標(biāo),并將全局坐標(biāo)系中每個坐標(biāo)對 應(yīng)的神經(jīng)元的活性值X i按照以下公式更新:
[0018] 其中,X1是第i個神經(jīng)元的活性值;A表示衰減率,取值范圍為[8, 15] ;B和D分別 為神經(jīng)元活性值的上界和下界,取值分別為1和-1 ;
[0019] 間隔時間T的取值范圍為(0, Is];
[0020] I1表示第i個神經(jīng)元的外部輸入:
[0021] 如果第i個神經(jīng)元對應(yīng)的坐標(biāo)位置為目標(biāo)點(diǎn)位置,則I1= E ;
[0022] 如果第i個神經(jīng)元對應(yīng)的坐標(biāo)位置為障礙物位置,則I1 = -E ;
[0023] 其他情況下,I1= 0 ;
[0024] E為外部輸入常數(shù),取大于或等于80的整數(shù);
[0025] S1表示第i個神經(jīng)元的激勵輸入,其取值依據(jù)第i個神經(jīng)元是否處于障礙物之間 確定:
[0026] 當(dāng)?shù)趇個神經(jīng)元對應(yīng)的坐標(biāo)位置處于障礙物之間時:
[0028] 當(dāng)?shù)趇個神經(jīng)元對應(yīng)的坐標(biāo)位置處于障礙物之間時:
(Iu表示兩個神經(jīng)元q ;和q 之間的歐式距離,μ。表示距離常數(shù),取值范圍為(0.2, 1.2]表示第i個神經(jīng)元對應(yīng)的坐 標(biāo)位置的第j個相鄰點(diǎn)對應(yīng)的神經(jīng)元活性值;η1表示第i個神經(jīng)元對應(yīng)的坐標(biāo)位置的相鄰 點(diǎn)個數(shù),移動機(jī)器人所有可能的下一個位置點(diǎn)稱為相鄰點(diǎn); <.為第i個神經(jīng)元對應(yīng)的坐標(biāo) 位置的相鄰點(diǎn)中對應(yīng)的神經(jīng)元活性值大于〇的點(diǎn)的個數(shù),<為第i個神經(jīng)元對應(yīng)的坐標(biāo)位 置的相鄰點(diǎn)中對應(yīng)的神經(jīng)元活性值小于〇的點(diǎn)的個數(shù);
[0031] 步驟5 :依據(jù)更新的神經(jīng)元活性值和最小轉(zhuǎn)角,對移動機(jī)器人的下一個移動位置 進(jìn)行決策,得到下一個移動位置;
[0032] 步驟6 :移動機(jī)器人按照步驟5獲取的位置前進(jìn),返回步驟3。
[0033] 所述步驟5中下一個移動位置決策按照以下公式確定:
[0035] 其中,^表示機(jī)器人可能移動到的下一個位置,即相鄰點(diǎn)中的一個,%"代表相鄰 點(diǎn)qn的活性值;
[0036] 【柵格地圖中每個坐標(biāo)位置對應(yīng)的神經(jīng)元活性值為已知,根據(jù)已知活性值的神經(jīng) 元,任意選取對應(yīng)的坐標(biāo)位置作為下一個移動位置;】
[0037] c表示權(quán)重因子,取值范圍為[0. 3, 3],^表示轉(zhuǎn)角影響因子,
[0039] 其中,·<和< 分別為第i個神經(jīng)元對應(yīng)的坐標(biāo)位置的第j個相鄰點(diǎn)q]的在柵格地 圖中的橫坐標(biāo)和縱坐標(biāo),<和分別為第i個神經(jīng)元對應(yīng)的坐標(biāo)位置所在當(dāng)前位置點(diǎn)q。在 柵格地圖中的橫坐標(biāo)和縱坐標(biāo),Y和少1_分別為第i個神經(jīng)元對應(yīng)的坐標(biāo)位置所在上一個位 置點(diǎn)qp在柵格地圖中的橫坐標(biāo)和縱坐標(biāo)。
[0040] 所述移動機(jī)器人上安裝的聲納傳感器的安裝角度為α?xí)r,探測到前方距離為d的 位置有障礙物時,令移動機(jī)器人在全局坐標(biāo)系中的方向角度為S 1^全局坐標(biāo)為(X P 3〇、,則 障礙物在柵格地圖中的坐標(biāo)為
[0041] 機(jī)器人的指向與全局坐標(biāo)系X軸正方向的夾角,范圍是+180度到-179度;
[0042] 所述外部輸入常數(shù)A取值為10。該常數(shù)的大小對神經(jīng)元活性值的分布有著決定性 的作用,當(dāng)A取值過?。ㄐ∮?)會導(dǎo)致活性值迅速飽和,路徑規(guī)劃效果不好;當(dāng)A取值過大 (大于20)時,會導(dǎo)致機(jī)器人跟蹤目標(biāo)運(yùn)動軌跡的效果不好。
[0043] 所述權(quán)重因子c取值為1。取值為1時,路徑規(guī)劃效果較好,當(dāng)c取值大于1時,轉(zhuǎn) 角因素的比重偏大,導(dǎo)致路徑的誤決策;當(dāng)取值小于1時,轉(zhuǎn)角因素所占比重偏小,路徑點(diǎn) 平滑度比較低。
[0044] 距離常數(shù)μ。取值為1。該常數(shù)對神經(jīng)元活性值的分布有重要作用,當(dāng)該值取得過 ?。ㄐ∮讴? 2)時,會影響正的活性值的傳播,當(dāng)該值取得過大時(大于1. 5),會導(dǎo)致活性值 迅速飽和,有可能使機(jī)器人無法抵達(dá)目標(biāo)點(diǎn)。
[0045] 有益效果
[0046] 本發(fā)明提供了一種未知動態(tài)環(huán)境下的移動機(jī)器人路徑規(guī)劃方法,該方法將每個位 置轉(zhuǎn)化為一個神經(jīng)元,利用神經(jīng)元的活性值來表征環(huán)境變化,巧妙的利用生物激勵神經(jīng)網(wǎng) 絡(luò)模型來模擬動態(tài)環(huán)境;生物激勵神經(jīng)網(wǎng)絡(luò)模型保證了正的神經(jīng)元活性值能夠向外傳播并 影響整個狀態(tài)空間,而負(fù)的神經(jīng)元活性值只作用在局部。目標(biāo)點(diǎn)和障礙物的神經(jīng)元活性值 分別處在波峰和波谷處,因此,目標(biāo)點(diǎn)通過神經(jīng)元活性值在整個狀態(tài)空間中的傳播吸引機(jī) 器人,而障礙物只能夠在局部排斥機(jī)器人,不存在極小點(diǎn)問題。在邊界附近和障礙物之間的 點(diǎn)進(jìn)行特殊處理,加入假想的非障礙物臨近點(diǎn),能夠有效地解決路徑錯判問題。同時考慮活 性值最大和轉(zhuǎn)角最小因素能夠有效地保證路徑的長度最短且減小轉(zhuǎn)向次數(shù),大大提高了路 徑質(zhì)量。
[0047] 該方法能夠應(yīng)用在環(huán)境信息部分未知或完全未知且存在靜態(tài)和動態(tài)障礙物的情 況下,在下一個位置點(diǎn)的決策中同時包含了神經(jīng)元活性值最大和機(jī)器人轉(zhuǎn)角最小因素,得 到的路徑不僅最短或接近最短,且路徑平滑,轉(zhuǎn)彎較少。本方法沒有局部最小點(diǎn)問題,計算 量小,實現(xiàn)簡單,在動態(tài)未知環(huán)境下有很好的適應(yīng)性。
【附圖說明】
[0048] 圖1是該方法的流程圖;
[0049] 圖2機(jī)器人內(nèi)部坐標(biāo)系
[0050] 圖3是聲納安裝角度示意圖;
[0051] 圖4是障礙物之間的臨近點(diǎn)示意圖,沒有邊界外的臨近點(diǎn);
[0052] 圖5是障礙物之間的臨近點(diǎn)示意圖,有邊界外的臨近點(diǎn);
[0053] 圖6是非障礙物之間的臨近點(diǎn)示意圖,沒有邊界外的臨近點(diǎn);
[0054] 圖7是非障礙物之間的臨近點(diǎn)示意圖,有邊界外的臨近點(diǎn);
[0055] 圖8是該方法在U型障礙物中的生成路徑;
[0056] 圖9是該方法在未知動態(tài)環(huán)境下的生成路徑。
【具體實施方式】
[0057] 下面將結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步的說明。
[0058] 如圖1所示,為本發(fā)明所述方法的流程圖,一種未知動態(tài)環(huán)境下的移動機(jī)器人路 徑規(guī)劃方法,包括以下幾個步驟:
[0059] 步驟1 :構(gòu)建柵格地圖;
[0060] 以移動機(jī)器人的幾何中心點(diǎn)為移動坐標(biāo)系原點(diǎn),移動機(jī)器人的指向為X軸的正方 向,建立移動坐標(biāo)系,如圖2所示;
[0061] 以移動機(jī)器人開始移動前所在位置為全局坐標(biāo)系原點(diǎn),移動機(jī)器人開始移動前的 指向為X軸的正方向,建立全局坐標(biāo)系;
[0062] 將全局坐標(biāo)系按照設(shè)定的規(guī)劃精度p轉(zhuǎn)化為柵格地圖,所述柵格地圖中每個柵格 的長和寬分別為Δχ = ρ和Ay = p;
[0063] p 取值為 0. 3m ;
[0064] 將移動機(jī)器人所在工作環(huán)境中的已知的靜態(tài)障礙物、目標(biāo)點(diǎn)以及移動機(jī)器人當(dāng)前 位置在全局坐標(biāo)系中的坐標(biāo)轉(zhuǎn)化為柵格地圖坐標(biāo)表示
[0065] 其中,(X*,y*)表示在物體在全局坐標(biāo)系中的坐標(biāo);
[0066