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