安燕霞,鄭曉霞
(1. 晉中信息學(xué)院智能工程學(xué)院,山西 晉中 110015;2. 太原理工大學(xué)航空航天學(xué)院,山西 太原 030024)
在電子科技技術(shù)的不斷進步下,機器人在標定路徑運動時其內(nèi)部導(dǎo)航系統(tǒng)是機器人成功避障的核心[1,2]。由于近幾年來機器人導(dǎo)航技術(shù)有著顯著提升,因而受到了人們的重視。但因為周邊環(huán)境的復(fù)雜,影響了機器人的導(dǎo)航狀態(tài),使其無法按照原標定路線完成導(dǎo)航[3]。
為了有效解決上述問題,王洪斌[4]等人提出基于改進的A~*算法與動態(tài)窗口法的移動機器人路徑規(guī)劃方法,該方法首先采用目標成本函數(shù)對路徑中的多個目標優(yōu)先級實行判定,根據(jù)判定結(jié)果規(guī)劃出最優(yōu)路徑,并采用路徑優(yōu)化算法縮短路徑的長度及轉(zhuǎn)折角度數(shù),從而實現(xiàn)機器人在復(fù)雜環(huán)境中的目標點避障,最終以全局路徑規(guī)劃信息為主在線規(guī)劃路徑,實現(xiàn)機器人路徑導(dǎo)航,該方法獲取的最優(yōu)路徑不完善,存在路徑導(dǎo)航時間長的問題。吳錚[5]等人提出基于方向選擇的移動機器人路徑規(guī)劃方法,該方法利用方向選擇線對周邊障礙物的方向進行判斷,同時從中選取擴展方向用作探索方向,將其記作候選探索方向,把該方向與實際對比,當(dāng)兩個方向的夾角均相同時,需要優(yōu)先考慮擴展方向的樣本最優(yōu)路徑,并采用快速行進樹方法算法實現(xiàn)移動機器人路徑規(guī)劃,該方法的判斷結(jié)果存有誤差,存在標定路徑平均長度與實際長度相差大的問題。
為了解決上述方法中存在的問題,提出基于改進邊緣梯度的機器人標定路徑導(dǎo)航方法。
機器人在實際運動過程中,會以兩輪驅(qū)動的方式不斷前行,遇到障礙物或轉(zhuǎn)角處只需轉(zhuǎn)動兩輪即可[6],為了能夠更好的對機器人在標定路徑中的運動狀態(tài)展開詳細研究,對機器人設(shè)置了以下假設(shè):
1)假設(shè)機器人的兩輪與地面不產(chǎn)生摩擦,輪子在地面沒有滑動,只進行純滾動運動;
2)令機器人兩邊滾輪不出現(xiàn)滑動現(xiàn)象。
根據(jù)以上假設(shè)點,令機器人在標定的xoy面中運動,那么機器人的兩輪速度即為
(1)
那么機器人的運動模型公式表達式定義如下:
(2)
式中,(x,y)為機器人位置姿態(tài)參數(shù)。
由于機器人運動環(huán)境是復(fù)雜多變的,所以機器人在標定路徑中運行時,需要考慮多種碰撞因素[7]。當(dāng)機器人標定路徑的運動半徑最大值為rR,障礙物在標定路徑中的最大半徑設(shè)定為ro,機器人避開障礙物的路徑為δ。獲取機器人與障礙物之間的安全距離,定義如下:r=rR+ro+δ。式中,r代表安全半徑。
設(shè)計機器人標定路徑中的障礙物環(huán)境如圖1所示。
以A點為運動點,機器人R從A點運動到目標位置G,在遇到障礙前,R都以勻速前進,即機器人R的最大速度為VRmax。障礙物O的平均速度即為Voi,而障礙物與機器人之間的交叉點為C,夾角為θ。根據(jù)圖1中的障礙物位置,獲取機器人碰撞到障礙物的可能性。
由于障礙物為動態(tài),所以障礙物在t1時會抵達點P1,t2時間會抵達P2,機器人運行時需經(jīng)T1時抵達點C1,T2時抵達點C2。根據(jù)機器人運動結(jié)果令障礙物在[t1,t2]時間內(nèi)到達P1、P2的位置。當(dāng)機器人運行時T1
(3)
對式(3)簡化,獲取機器人可能碰撞障礙物時的碰撞速度范圍VR,用下述公式定義
VR∈
(4)
由于上述分析了機器人在標定路徑中與障礙物之間的交叉情況,取得機器人與障礙物碰撞的可能性就為
(Li-r/VRmax-VOicosθ) (5) 式(5)為機器人運行到G點后與障礙物O的位置方向距離小于安全半徑時產(chǎn)生的碰撞。 通過以上機器人與障礙物的碰撞分析,得知機器人每次運動時都會在一個周期內(nèi)獲取當(dāng)前位置參數(shù),因此每隔一段時間就需要重新獲取障礙物的運動規(guī)律,令機器人可以更好的判斷出障礙物位置,做出避障判斷,為機器人標定路徑導(dǎo)航奠定了重要信息基礎(chǔ)。 根據(jù)機器人導(dǎo)航避障模型,采用深度學(xué)習(xí)方法[8,9]對機器人標定路徑進行規(guī)劃?;谏疃葘W(xué)習(xí)特點,利用卷積神經(jīng)網(wǎng)絡(luò)[10]對機器人標定路徑實行路徑避障規(guī)劃。利用卷積神經(jīng)網(wǎng)絡(luò)對機器人標定最優(yōu)路徑規(guī)劃時[11,12],向卷積神經(jīng)網(wǎng)絡(luò)的輸入層輸入當(dāng)前障礙物位置信息,記為f,再利用卷積核對f實行卷積作用,那么輸入層M與卷積層W層次之間會生成非線性映射,用公式定義如下: (6) 根據(jù)式(6)將徑向基函數(shù)的寬度設(shè)定為ε,那么W與輸出層J之間的線性映射函數(shù)用公式表達式定義為 (7) 式中,線性映射函數(shù)由g(x)標記。 那么設(shè)置隱含層S中將障礙物信息傳遞到輸出層J中,令兩者間生成連接權(quán)值,由ωSJ標記,那么機器人的實際輸出路徑通過下述公式定義 Jbest=ωSJ+r+ωSJ+s+ωSJ+ξ+Ψ (8) 式中,Jbest為最佳路徑,ξ為機器人坐標位置向量,Ψ表述機器人應(yīng)前往的位置。 卷積神經(jīng)網(wǎng)絡(luò)各個層次之間所產(chǎn)生的非線性映射及線性映射都可以視作激發(fā)函數(shù)。機器人在標定路徑導(dǎo)航時,可以利用表達式(8)對路徑中的障礙物進行檢測[13,14],判斷障礙物位置信息是否滿足輸入層限制條件,若滿足,卷積層會直接輸出好最佳路徑,其輸出結(jié)果就是最終標定路徑規(guī)劃結(jié)果。 1)運動方向調(diào)整行為 機器人在標定路徑中運行時遇到兩種情況才會調(diào)整自身運動方向。一種為確定在當(dāng)前狀態(tài)下運動式下一時刻的位置具有危險性,表現(xiàn)為碰撞了障礙物或超出與障礙物的安全距離[15];另一種為在導(dǎo)航過程中丟失障礙物視野。 (9) 該表達式中,處于d1>d2時,機器人與障礙物距離較近,極易碰撞,d1≤d2時相反。因而基于改進邊緣梯度算法設(shè)計機器人的運動調(diào)整方向角度為 θ′=θ+sgn*sgn _flexible*γ (10) 式中,θ′為角度函數(shù),γ為應(yīng)調(diào)整角度。sgn _flexible為角度取值,若機器人左側(cè)有障礙物運行,則取值為-1;若在右側(cè)則取值為1。 機器人沿著Y軸避行障礙物時,會從位置pr轉(zhuǎn)移到位置pr+1,丟失障礙物視野信息,所以調(diào)整γ,令障礙物重新回到機器人視野范圍內(nèi)。所以機器人在調(diào)整角度時,可以通過取得當(dāng)前標定路徑中的2π范圍內(nèi)信息,以此確立調(diào)整角度為:γ=π/2。 2)運動安全行為評估 機器人利用自身傳感器獲取與障礙物之間的d距離,進行下一步運動時要判斷運動方向與障礙物之間是否為安全距離。如果為危險距離,要時刻保證障礙物在機器人視線范圍內(nèi)。 3)跟隨行為 機器人在標定路徑中未能檢測到障礙物信息后,會自動沿著規(guī)劃好的路徑運動;若機器人檢測到障礙物信息,就會根據(jù)路徑規(guī)劃位置對障礙物的位置進行判斷,并建立增量位置坐標(Δx,Δy)對障礙物交點判斷是否在機器人視線范圍內(nèi),從而實現(xiàn)障礙物跟隨。依據(jù)改進邊緣梯度的三種避障修正行為,修正了機器人標定路徑導(dǎo)航誤差,實現(xiàn)機器人標定路徑的精準導(dǎo)航。 采用基于改進邊緣梯度的機器人標定路徑導(dǎo)航方法、基于改進A~*算法的機器人導(dǎo)航方法和基于方向選擇的機器人導(dǎo)航方法完成對比測試。在Simulink軟件平臺上構(gòu)建機器人導(dǎo)航環(huán)境,標定機器人的路徑,具體界面如圖2所示。 圖2 機器人標定路徑導(dǎo)航仿真環(huán)境 1)設(shè)定機器人的運動起始點為S=(1,0),目標點為G=(10,9.8),并在標定路徑中設(shè)立不同的障礙物,根據(jù)以上設(shè)定結(jié)果,采用以上三種方法分別對機器人標定路徑導(dǎo)航,依據(jù)三種方法的平均導(dǎo)航響應(yīng)時間,驗證三種方法的導(dǎo)航效率。導(dǎo)航響應(yīng)時間越短,說明該方法下機器人的路徑規(guī)劃耗時越短。具體測試結(jié)果如圖3所示。 圖3 平均導(dǎo)航時間測試 分析圖3中的數(shù)據(jù)可知,三種方法的平均導(dǎo)航響應(yīng)時間均不相同。從響應(yīng)時間變化趨勢來看,提出方法可以在最短的時間內(nèi)實現(xiàn)標定路徑導(dǎo)航;反觀基于方向選擇的機器人導(dǎo)航方法在整體路徑導(dǎo)航中,所用導(dǎo)航響應(yīng)時間最長,可見基于方向選擇的機器人導(dǎo)航方法的導(dǎo)航效率最低,提出方法的導(dǎo)航效率最高。 2)以實驗(1)設(shè)定條件為基礎(chǔ),設(shè)置機器人對標定路徑導(dǎo)航時的平均路徑長度為300m,根據(jù)設(shè)定結(jié)果,采用不同方法分別對標定路徑導(dǎo)航。通過三種方法對標定路徑導(dǎo)航后的平均路徑長度測試結(jié)果,將其與設(shè)置的實際平均路徑長度相比較,以此證明三種方法是否可以按照標定路徑完成導(dǎo)航。具體測試結(jié)果如圖4所示。 圖4 標定路徑導(dǎo)航平均長度對比測試 圖5 標定路徑示意圖 本次實驗的導(dǎo)航時間共為25s,分析圖4中的數(shù)據(jù)發(fā)現(xiàn),提出方法在標定路徑中導(dǎo)航時,所導(dǎo)航的平均路徑長度與實際平均路徑長度相同,且運動軌跡保持一致,不存有偏差。這說明提出方法在導(dǎo)航標定路徑時,可以完全按照標定路徑實現(xiàn)最終導(dǎo)航,表明提出方法的導(dǎo)航效果最佳。基于改進A~*算法的機器人導(dǎo)航方法與基于方向選擇的機器人導(dǎo)航方法無論從運動軌跡還是平均路徑長度,均與實際結(jié)果存有一定差距,因此這兩種方法的導(dǎo)航效果最差。 3)在圖3的實驗環(huán)境中設(shè)置多個靜態(tài)障礙物,并標定出機器人的實際導(dǎo)航路徑,采用三種方法從起始點向目標點出發(fā),以此測試出三種方法的機器人導(dǎo)航路徑與標定路徑一致。具體測試結(jié)果如圖6~圖7所示。 圖6 傳統(tǒng)方法下機器人導(dǎo)航路線 圖7 研究方法下機器人導(dǎo)航路線 根據(jù)圖6和圖7可知,研究方法的機器人導(dǎo)航路徑與標定路線一致。而基于改進A~*算法的機器人導(dǎo)航方法與基于方向選擇的機器人導(dǎo)航方法不能完全按照標定路徑導(dǎo)航。綜上所述,研究方法的導(dǎo)航效果最好,能夠嚴格按照標定路線規(guī)劃路徑。這是因為所提方法分析了機器人與障礙物的碰撞因素,為機器人標定路徑導(dǎo)航提供了重要信息基礎(chǔ),以此提升了機器人標定路徑導(dǎo)航效果,令其可以精準的實現(xiàn)標定路徑導(dǎo)航。 提出基于改進邊緣梯度的機器人標定路徑導(dǎo)航方法。該方法優(yōu)先對機器人在標定路徑中的碰撞因素開展了詳細分析,并以此為基礎(chǔ)規(guī)劃機器人標定路徑,再采用改進邊緣梯度對規(guī)劃的路徑修正,從而實現(xiàn)標定路徑精準導(dǎo)航。本次研究在機器人標定路徑導(dǎo)航中發(fā)揮著重要作用,在今后機器人導(dǎo)航中有著長遠的發(fā)展前景。3 機器人標定路徑導(dǎo)航
3.1 路徑規(guī)劃
3.2 基于改進邊緣梯度的導(dǎo)航修正
4 實驗與分析
5 結(jié)束語