李 可,張凌超,米 捷
(1.河南工程學(xué)院 工程訓(xùn)練中心,河南 鄭州 451191;2.機(jī)械工業(yè)第六設(shè)計(jì)研究院有限公司,河南 鄭州 450007;3.河南工程學(xué)院 計(jì)算機(jī)學(xué)院,河南 鄭州 451191)
隨著我國(guó)智能技術(shù)的不斷發(fā)展,智能機(jī)器人在很多領(lǐng)域都得到了應(yīng)用,我國(guó)大部分生產(chǎn)型企業(yè)已經(jīng)開(kāi)始采用智能機(jī)器人完成一些機(jī)械性工作[1]。在保證機(jī)器人完成工作的同時(shí),也需要提高工作效率。由于自主選擇避障路徑是智能機(jī)器人運(yùn)行的重要前提條件,所以研究智能機(jī)器人避障路徑的自主選擇具有非常重要的意義[2-3]。
針對(duì)智能機(jī)器人避障路徑的自主選擇,一些學(xué)者對(duì)其進(jìn)行了研究。例如,華洪等[4]提出了動(dòng)態(tài)環(huán)境下智能機(jī)器人的路徑規(guī)劃方法,該方法基于智能機(jī)器人的運(yùn)動(dòng)規(guī)律,首先通過(guò)刪除多余節(jié)點(diǎn)、添加新節(jié)點(diǎn)進(jìn)行全局路徑優(yōu)化,然后利用滾動(dòng)窗口對(duì)局部區(qū)域進(jìn)行路徑規(guī)劃,以此控制智能機(jī)器人避障。胡玉蝶等[5]提出了高斯噪聲發(fā)散的智能機(jī)器人路徑規(guī)劃法,該方法主要是將因障礙物影響產(chǎn)生的數(shù)據(jù)信息點(diǎn)云消隱,使智能機(jī)器人在回歸路徑上可以避開(kāi)障礙。趙澤龍等[6]提出了數(shù)字化變電站巡視機(jī)器人避障路徑智能規(guī)劃方法,該方法明確人工避障勢(shì)場(chǎng)區(qū)域,根據(jù)變電站巡檢工作的執(zhí)行狀態(tài),計(jì)算巡檢障礙距離及方位,搭建數(shù)字化變電站巡視機(jī)器人的Dijkstra多目標(biāo)避障路徑智能規(guī)劃模型,結(jié)合動(dòng)態(tài)窗口法實(shí)現(xiàn)路徑規(guī)劃。王言軍[7]提出了基于改進(jìn)蟻群算法的輸電線(xiàn)巡檢機(jī)器人避障路徑規(guī)劃方法,該方法首先應(yīng)用激光傳感器獲取障礙物體相關(guān)信息,完成障礙物體的檢測(cè)與建模,計(jì)算巡檢機(jī)器人與障礙物體的位姿關(guān)系,推出巡檢機(jī)器人避障算法,然后確定巡檢機(jī)器人避障路徑規(guī)劃目標(biāo),基于狼群分配原則與中心點(diǎn)平滑方法改進(jìn)蟻群算法,執(zhí)行算法獲取最佳避障路徑規(guī)劃結(jié)果,實(shí)現(xiàn)了輸電線(xiàn)巡檢機(jī)器人避障路徑的規(guī)劃。但是,上述方法在規(guī)劃避障路徑時(shí)的環(huán)境信息較為單一,不存在復(fù)雜的外在環(huán)境因素干擾,因此在面對(duì)密集障礙物時(shí)效果不夠理想。
為解決上述方法存在的問(wèn)題,本研究探討了在密集障礙物環(huán)境下智能機(jī)器人的避障路徑自主選擇方法,基于改進(jìn)人工勢(shì)場(chǎng)法對(duì)智能機(jī)器人自主避障路徑進(jìn)行選取,使智能機(jī)器人在運(yùn)行時(shí)可以避開(kāi)所有障礙物,高效自主地完成任務(wù)。
智能機(jī)器人開(kāi)始運(yùn)行時(shí),首要任務(wù)是通過(guò)感知技術(shù)來(lái)獲取周?chē)h(huán)境的各種信息[8]。激光雷達(dá)技術(shù)具備高效獲取周邊環(huán)境信息的能力,并且視距區(qū)域較廣,因此適于采用激光雷達(dá)對(duì)智能機(jī)器人的周?chē)h(huán)境進(jìn)行掃描,并快速傳輸采集到的環(huán)境信息[9]。
BP神經(jīng)網(wǎng)絡(luò)作為一種人工智能技術(shù),其模型表達(dá)清晰明了[10],擁有很好的非線(xiàn)性分類(lèi)能力。因此,本研究采用BP神經(jīng)網(wǎng)絡(luò)對(duì)激光雷達(dá)采集的環(huán)境信息進(jìn)行分類(lèi),以獲取障礙物的分類(lèi)結(jié)果。
1.2.1BP神經(jīng)網(wǎng)絡(luò)的正向?qū)W習(xí)方法
(1)
1.2.2BP神經(jīng)網(wǎng)絡(luò)的反向?qū)W習(xí)方法
假設(shè)yj為第j神經(jīng)元節(jié)點(diǎn),ki為第i神經(jīng)元節(jié)點(diǎn),xm為第m神經(jīng)元節(jié)點(diǎn)。
首先針對(duì)yj和ki的連接權(quán)值ωij,使用最速下降法調(diào)試:
(2)
式中:η為調(diào)整因子。
然后針對(duì)ki和xm的連接權(quán)值ωmi,基于誤差信號(hào)傳送調(diào)試:
(3)
由于密集障礙物環(huán)境的復(fù)雜性,將激光雷達(dá)搜索到的環(huán)境信息輸入BP神經(jīng)網(wǎng)絡(luò)[11],通過(guò)網(wǎng)絡(luò)訓(xùn)練得到網(wǎng)絡(luò)參數(shù)后,對(duì)智能機(jī)器人運(yùn)行環(huán)境的密集障礙物進(jìn)行分類(lèi)并輸出結(jié)果。
傳統(tǒng)人工勢(shì)場(chǎng)法是一種用于智能機(jī)器人導(dǎo)航的算法,它可在機(jī)器人所處空間中創(chuàng)建一個(gè)勢(shì)場(chǎng),對(duì)機(jī)器人與目標(biāo)點(diǎn)間的引力及機(jī)器人與障礙物間的斥力進(jìn)行疊加,形成一個(gè)合力,從而引導(dǎo)機(jī)器人朝著目標(biāo)點(diǎn)移動(dòng)。人工勢(shì)場(chǎng)表示如下:
U=Uatt+Urep,
(4)
式中:Uatt表示智能機(jī)器人與局部目標(biāo)點(diǎn)之間的引力勢(shì)場(chǎng);Urep表示智能機(jī)器人與障礙物之間的斥力勢(shì)場(chǎng);U表示勢(shì)場(chǎng)和。局部目標(biāo)點(diǎn)和障礙物與智能機(jī)器人間的相互作用對(duì)應(yīng)引力勢(shì)場(chǎng)和斥力勢(shì)場(chǎng)的負(fù)梯度,從而求出人工勢(shì)場(chǎng)對(duì)智能機(jī)器人的合力F,表達(dá)式如下:
F=Fatt+Frep,
(5)
式中:Fatt表示智能機(jī)器人與局部目標(biāo)點(diǎn)之間的引力;Frep表示智能機(jī)器人與障礙物之間的斥力。
引力勢(shì)場(chǎng)函數(shù)表達(dá)如下:
(6)
式中:Xg表示局部目標(biāo)點(diǎn)位置;Uatt表示智能機(jī)器人與局部目標(biāo)點(diǎn)之間的引力場(chǎng);X表示智能機(jī)器人位置;k表示引力增益系數(shù);‖X-Xg‖表示智能機(jī)器人與局部目標(biāo)點(diǎn)之間的最短路程。
智能機(jī)器人與局部目標(biāo)點(diǎn)之間的引力勢(shì)場(chǎng)負(fù)梯度表示如下:
Fatt=-k‖X-Xg‖。
(7)
斥力勢(shì)場(chǎng)函數(shù)表達(dá)式如下:
(8)
式中:X-X0表示智能機(jī)器人和障礙物之間的路程;m表示斥力的增益系數(shù);ρ表示障礙物的影響路程。
智能機(jī)器人與障礙物之間的斥力表達(dá)式如下:
(9)
式中:Frep1表示障礙物對(duì)智能機(jī)器人的方向;Frep2表示智能機(jī)器人對(duì)局部目標(biāo)點(diǎn)的方向。Frep1和Frep2可分別表示為
(10)
(11)
如果智能機(jī)器人和局部目標(biāo)點(diǎn)之間的路程增加,引力與斥力將同時(shí)增加,就會(huì)導(dǎo)致智能機(jī)器人不能到達(dá)局部目標(biāo)點(diǎn)。
第一,項(xiàng)目完成后,各小組在創(chuàng)客工坊完成項(xiàng)目匯報(bào),匯報(bào)環(huán)節(jié)不僅可以鍛煉學(xué)生表達(dá)能力,應(yīng)變能力,還可以讓學(xué)生體驗(yàn)努力給自己帶來(lái)的成就感,從內(nèi)在激發(fā)學(xué)生學(xué)習(xí)動(dòng)力。第二,綜合評(píng)價(jià),通過(guò)各小組項(xiàng)目匯報(bào)及項(xiàng)目結(jié)題報(bào)告,創(chuàng)客導(dǎo)師可以從基礎(chǔ)知識(shí)學(xué)習(xí)、技能操作、自主拓展學(xué)習(xí)、團(tuán)隊(duì)協(xié)作等幾方面對(duì)學(xué)生做出多維度綜合評(píng)價(jià),同時(shí)引入第三方評(píng)價(jià)機(jī)制。第三,如學(xué)生完成的項(xiàng)目為企業(yè)所需,可引入市場(chǎng)評(píng)價(jià)機(jī)制,進(jìn)行孵化投放市場(chǎng)。
2.2.1智能機(jī)器人避障路徑方向選擇
傳統(tǒng)的人工勢(shì)場(chǎng)法在智能機(jī)器人向局部目標(biāo)點(diǎn)前進(jìn)時(shí),引力呈下降趨勢(shì),障礙物附近的引力會(huì)小于斥力,導(dǎo)致智能機(jī)器人無(wú)法到達(dá)目標(biāo)點(diǎn)[12]。為減少斥力作用,本研究提出基于改進(jìn)人工勢(shì)場(chǎng)法實(shí)現(xiàn)智能機(jī)器人路徑方向選擇,計(jì)算公式如下:
(12)
式中:n表示任意正實(shí)數(shù)。
利用負(fù)梯度可求出改進(jìn)后的斥力,計(jì)算公式如下:
(13)
改進(jìn)后斥力的2個(gè)分量表達(dá)式如下:
(14)
改進(jìn)后的斥力分解為2個(gè)分量后,與智能機(jī)器人在引力作用下產(chǎn)生的合力可以使機(jī)器人向局部目標(biāo)點(diǎn)繼續(xù)前進(jìn)[13]。
2.2.2智能機(jī)器人避障路徑選擇
完成避障路徑方向選擇之后,設(shè)智能機(jī)器人在p點(diǎn)按照規(guī)劃的方向開(kāi)始前進(jìn),再對(duì)智能機(jī)器人到局部目標(biāo)點(diǎn)的路程進(jìn)行計(jì)算,當(dāng)智能機(jī)器人與局部目標(biāo)點(diǎn)的位置在一定區(qū)域時(shí),終止前進(jìn)[15]。先算出起始點(diǎn)p到局部目標(biāo)點(diǎn)g的路程t,為獲取具體的空間數(shù)值,利用激光雷達(dá)對(duì)避障路程的方向進(jìn)行掃描,設(shè)p點(diǎn)為(xp,yp),局部目標(biāo)點(diǎn)為(xg,yg),可得出路程
(15)
因?yàn)榧す饫走_(dá)在掃描時(shí)不是靜止的,所以需要對(duì)起始點(diǎn)與局部目標(biāo)點(diǎn)的路程t實(shí)施誤差補(bǔ)償,得到修正后的激光束線(xiàn)數(shù)據(jù),通過(guò)前兩個(gè)周期的掃描數(shù)據(jù)得到圖1。如圖1所示,智能機(jī)器人在時(shí)間a的掃描值是φ,在時(shí)間A的掃描值是γ,移動(dòng)之后機(jī)器人和局部目標(biāo)點(diǎn)的誤差值角度分別為i、θ,得到修改后的目標(biāo)路程
(16)
為計(jì)算智能機(jī)器人路徑方向的前進(jìn)速度,利用航位推算來(lái)計(jì)算其運(yùn)動(dòng)狀態(tài),預(yù)計(jì)到達(dá)時(shí)間的值會(huì)被運(yùn)用到勢(shì)場(chǎng)中作為一個(gè)標(biāo)量,再轉(zhuǎn)化成智能機(jī)器人在前進(jìn)路徑上的虛擬驅(qū)動(dòng)力[16]。設(shè)絕對(duì)坐標(biāo)系里智能機(jī)器人的姿態(tài)角為β,智能機(jī)器人的前進(jìn)速度為v,可得出智能機(jī)器人到局部目標(biāo)點(diǎn)區(qū)域內(nèi)的時(shí)間
(17)
將時(shí)間A轉(zhuǎn)換為智能機(jī)器人的虛擬驅(qū)動(dòng)力,為防止出現(xiàn)斥力和引力形成180°或合力是0的情況[17],平衡斥力可以通過(guò)控制虛擬驅(qū)動(dòng)力,從而留存避障路徑的吸引力,得到虛擬驅(qū)動(dòng)力
(18)
利用虛擬驅(qū)動(dòng)力的計(jì)算公式可以得出避障路徑的虛擬力,智能機(jī)器人可以控制模塊獲得路徑數(shù)據(jù),從而按照設(shè)定路徑前進(jìn),至此實(shí)現(xiàn)了改進(jìn)人工勢(shì)場(chǎng)法對(duì)智能機(jī)器人避障路徑的選擇。
以上為一個(gè)局部目標(biāo)點(diǎn)的規(guī)劃路徑,智能機(jī)器人抵達(dá)這個(gè)局部目標(biāo)點(diǎn)之后,利用激光雷達(dá)得到當(dāng)前新的環(huán)境信息,求出下一個(gè)局部目標(biāo)點(diǎn)的規(guī)劃路徑,一直重復(fù)此操作,直到獲取全局目標(biāo)點(diǎn)的規(guī)劃路徑,即獲取了全局的避障路徑。
為驗(yàn)證本方法的有效性,采用MATLAB軟件搭建不同密集程度的障礙物場(chǎng)景,利用文獻(xiàn)[4]和文獻(xiàn)[5]作為對(duì)比方法,對(duì)不同密集程度障礙物場(chǎng)景下的機(jī)器人進(jìn)行避障路徑選取。其中,使用型號(hào)為L(zhǎng)MX06-PS05的激光雷達(dá),激光發(fā)射方式為相控陣,激光波長(zhǎng)和線(xiàn)束分別為910 nm和32線(xiàn),傳輸速率為1 000 kb/s。
統(tǒng)計(jì)了3種方法在少量障礙物和密集障礙物環(huán)境下機(jī)器人前進(jìn)方向、前進(jìn)路徑及避障情況后,設(shè)置智能機(jī)器人起始位置為(0,0),目標(biāo)點(diǎn)為(10,9),障礙物在其路徑途中擺放,機(jī)器人對(duì)路徑自主選擇的結(jié)果如圖2和圖3所示。
圖2 少量障礙物下的機(jī)器人路徑Fig.2 Robot path under a small number of obstacles
圖3 密集障礙物下的機(jī)器人路徑Fig.3 Robot path under dense obstacles
從圖2和圖3可以看出:少量障礙物環(huán)境下,智能機(jī)器人從起始點(diǎn)(0,0)前進(jìn)時(shí),采用本方法可以避開(kāi)全部障礙物,向目標(biāo)點(diǎn)前進(jìn),最后到達(dá)目標(biāo)點(diǎn)(10,9),智能機(jī)器人沒(méi)有出現(xiàn)停止前進(jìn)的情況,而其余兩種方法均未能完全躲避障礙物,有停止前進(jìn)的情況;隨著障礙物的增加,無(wú)論障礙物的位置和密集程度如何變化,采用本方法的智能機(jī)器人都可以持續(xù)向目標(biāo)點(diǎn)前進(jìn),直至到達(dá)目標(biāo)點(diǎn)(10,9),都沒(méi)有出現(xiàn)停止前進(jìn)的情況,而其余兩種方法均不能完全躲避障礙物。由此可知,采用本方法可以使智能機(jī)器人在密集障礙物環(huán)境下實(shí)現(xiàn)自主避障路徑選擇。
為更加深入地驗(yàn)證本方法的有效性,用碰撞危險(xiǎn)度作為評(píng)估3種方法應(yīng)用效果的指標(biāo)。時(shí)間碰撞危險(xiǎn)度,即智能機(jī)器人與障礙物遇到時(shí)的最小時(shí)間,用χG表示;空間碰撞危險(xiǎn)度,即智能機(jī)器人與障礙物遇到時(shí)的最近距離,用χK表示。χG和χK的計(jì)算公式如下:
(19)
(20)
式(19)和式(20)中:t1為障礙物與智能機(jī)器人會(huì)遇到的最近時(shí)間;t2為障礙物從目前坐標(biāo)到達(dá)會(huì)遇到坐標(biāo)的時(shí)間;G為會(huì)遇到的時(shí)間,數(shù)值越高表示機(jī)器人撞擊障礙物的風(fēng)險(xiǎn)越低,數(shù)值越低表示機(jī)器人撞擊障礙物的風(fēng)險(xiǎn)越高,期望值不低于12 s;d1為遇到時(shí)的絕對(duì)安全距離;d2為障礙物與智能機(jī)器人無(wú)碰撞情況下通過(guò)的最小距離。
本研究使用的LMX06-PS05型激光雷達(dá),其最大探測(cè)距離為50 m??紤]到激光雷達(dá)探測(cè)范圍內(nèi)可能存在其他因素,設(shè)置一個(gè)相對(duì)較大的距離可以更好地保證機(jī)器人的安全,因此設(shè)置最小距離為4.15 m,當(dāng)χK>d2時(shí)為安全狀態(tài),其中K表示會(huì)遇距離。
當(dāng)障礙物移動(dòng)時(shí),計(jì)算不同速度下時(shí)間碰撞危險(xiǎn)度和空間碰撞危險(xiǎn)度,結(jié)果如表1所示。
表1 碰撞危險(xiǎn)度驗(yàn)證結(jié)果Tab.1 Collision hazard verification results
由表1可以看出,應(yīng)用本方法后,無(wú)論移動(dòng)障礙物速度是多少,在速度不斷加快時(shí),時(shí)間碰撞危險(xiǎn)度和空間碰撞危險(xiǎn)度都分別大于期望值12 s和最小距離4.15 m,最大時(shí)間碰撞危險(xiǎn)度達(dá)到了18.3 s,最大空間碰撞危險(xiǎn)度達(dá)到了5.21 m,而其余2種方法均存在小于期望值和最小距離的情況,故發(fā)生碰撞的概率較大。
本研究探討了以采集到的智能機(jī)器人周?chē)h(huán)境和障礙物類(lèi)型為基礎(chǔ),基于改進(jìn)人工勢(shì)場(chǎng)法實(shí)現(xiàn)智能機(jī)器人避障路徑的自主選擇。通過(guò)仿真測(cè)試得出,無(wú)論障礙物的位置和密集程度如何變化,智能機(jī)器人都可以無(wú)碰撞地到達(dá)全局目標(biāo)點(diǎn),實(shí)現(xiàn)密集障礙物場(chǎng)景下智能機(jī)器人避障路徑的自主選擇。