孫濤
(廣東工貿(mào)職業(yè)技術(shù)學(xué)院,廣東 廣州510510)
超聲波傳感器具有方向性好、探測范圍廣、短距離內(nèi)被測物識(shí)別精度高的特點(diǎn),可將交變狀態(tài)的電信號(hào),處理為聲音信號(hào),也可作為電信號(hào)的能量轉(zhuǎn)換元件[1]。目前,超聲波傳感器在機(jī)器人行業(yè),已用于避障、定位、環(huán)境探測等多個(gè)分支領(lǐng)域[2]。已有研究表明,超聲波傳感器算法是一種簡單、實(shí)用的避障理論,但由于物流、電子、精密儀表等場景下工業(yè)機(jī)器人操作工況的復(fù)雜性,障礙物測距常常難以取得理想的效果。當(dāng)面臨障礙物時(shí),受路面行走環(huán)境的影響,工業(yè)機(jī)器人的路徑規(guī)劃能力也有所欠缺[3]。傳統(tǒng)的柵格法、神經(jīng)網(wǎng)絡(luò)法等避障算法,雖原理不一,但多數(shù)技術(shù)在實(shí)現(xiàn)過程中存在流程繁瑣、避障靈敏度低的問題[4]。在工業(yè)機(jī)器人路徑規(guī)劃技術(shù)發(fā)展、轉(zhuǎn)化下,遺傳算法在靜態(tài)、動(dòng)態(tài)環(huán)境下的避障、路徑規(guī)劃上,均表現(xiàn)出突出的優(yōu)勢,提供一套可靠、精度高的工業(yè)機(jī)器人避障策略,是有待思考和解決的問題。
超聲波傳感器避障是利用該算法在工業(yè)機(jī)器人行走過程中,測量工業(yè)機(jī)器人和障礙物間的距離,以達(dá)到及時(shí)避障的目的。為了彌補(bǔ)超聲波傳感器在短距離內(nèi)探測精度及路徑規(guī)劃性能不足的問題,在工業(yè)機(jī)器人避障中引入遺傳算法實(shí)現(xiàn)智能化的路徑規(guī)劃[5]。遺傳算法是在Darwin 的生物進(jìn)化論、Mendel 的自然遺傳學(xué)理論上發(fā)展而來,主要依托選取編碼方式、初始種群產(chǎn)生、確定適應(yīng)度函數(shù)、復(fù)制、交叉、變異、收斂判據(jù)、約束條件處理等步驟實(shí)現(xiàn)。該算法既體現(xiàn)了生物進(jìn)化特性,又體現(xiàn)了基因遺傳特性,它將遺傳操作、適應(yīng)度函數(shù)作為依據(jù),在編碼串種群中篩選個(gè)體,然后在個(gè)體篩查中保留適應(yīng)度高的個(gè)體,將之組建為新的種群,經(jīng)重組后的種群同時(shí)有著比上一代優(yōu)異的個(gè)體,還保留了上一代的信息,通過各個(gè)體適應(yīng)度的提升,待滿足收斂條件后,待優(yōu)化參數(shù)的最優(yōu)解選擇適應(yīng)度最高的個(gè)體。遺傳算法非針對(duì)參數(shù)自身,而是針對(duì)參數(shù)的編碼操作,可利用目標(biāo)函數(shù)開展適應(yīng)度的計(jì)算,利用概率操作原則、啟發(fā)式搜索方式,魯棒性較優(yōu),保證工業(yè)機(jī)器人工作的可持續(xù)性。
基于超聲波傳感器的工業(yè)機(jī)器人遺傳算法包含超聲波傳感器算法、遺傳算法兩部分,分別承擔(dān)工業(yè)機(jī)器人障礙物檢測、路徑規(guī)劃職能,該避障策略的總體框架如圖1。
圖1 基于超聲波傳感器的工業(yè)機(jī)器人遺傳算法避障策略流程圖
如圖1 所示,工業(yè)機(jī)器人避障的主要程序?yàn)椋涸诠I(yè)機(jī)器人前方、左側(cè)、右側(cè)3 個(gè)位置配置超聲波傳感器,在行進(jìn)過程中接收超聲波傳感器探測到的障礙物信息,若無障礙物,則按照正常路線行走,在識(shí)別到障礙物時(shí),采用遺傳算法進(jìn)行路徑規(guī)劃。首先,進(jìn)行初始化設(shè)置,按照生成的方式,產(chǎn)生初始種群,進(jìn)行插值處理。當(dāng)插值成功時(shí),工業(yè)機(jī)器人所有操作停止,在插值未成功時(shí),工業(yè)機(jī)器人向前移動(dòng)。隨后,在工業(yè)機(jī)器人達(dá)到目的地后,則遺傳算法整個(gè)流程結(jié)束,當(dāng)因各類原因未達(dá)到目的地時(shí),再次進(jìn)行初始化設(shè)置,生成新的初始種群,如何循環(huán)操作,直至完成設(shè)定的任務(wù)要求。
超聲波傳感器避障是文章進(jìn)行工業(yè)機(jī)器人遺傳算法避障策略設(shè)計(jì)的關(guān)鍵,該算法利用超聲波在單位時(shí)間內(nèi)的移動(dòng)時(shí)間、距離,掌握超聲波在空氣中從發(fā)射器發(fā)出信號(hào)至接收器收到回波的距離,為工業(yè)機(jī)器人提供避障指導(dǎo)。為了改善工業(yè)機(jī)器人在障礙物前的應(yīng)變能力和精準(zhǔn)性,確定了超聲波傳感器避障算法,即△t=s1t1-s2t2/s2-s1。其中,s1、s2表示已知測量距離,△t 表示延遲時(shí)間,t1、t2表示對(duì)應(yīng)的測量時(shí)間。
以超聲波傳感器探測到的周邊障礙物信息為基礎(chǔ),采用遺傳算法為工業(yè)機(jī)器人規(guī)劃最優(yōu)的路徑,主要程序涵蓋地圖創(chuàng)建與編碼、種群初始化、適應(yīng)度函數(shù)計(jì)算、操作算法、收斂判據(jù)與處理約束條件,如下所示:
2.2.1 地圖創(chuàng)建與編碼
基于柵格法原理,依據(jù)工業(yè)機(jī)器人在空間內(nèi)的行走環(huán)境,建立工業(yè)機(jī)器人路徑規(guī)劃模型,在模型內(nèi)標(biāo)示環(huán)境信息,減少行走過程的碰撞問題。模型創(chuàng)建時(shí),假設(shè)障礙物的位置、大小為已知條件,工業(yè)機(jī)器人處于二維平面空間,模型中用不同的顏色代表自由柵格、障礙物柵格。柵格地圖中用直角坐標(biāo)系描述柵格信息,編碼自左下角起編碼,以首個(gè)柵格(1,1)為例,柵格地圖內(nèi)各編號(hào)、坐標(biāo)換算公式:
X=int(N/Gxize)+1
Y=N%Gsize+1
在上述表達(dá)式中,
int 表示取整操作;Gsize 表示各行柵格數(shù)。
2.2.2 種群初始化。種群初始化采用隨機(jī)方式產(chǎn)生,由此生成和障礙物柵格不會(huì)造成沖突、碰撞的可行路徑,步驟為:先產(chǎn)生間斷路徑,在各行中均利用隨機(jī)方式,選取一個(gè)正常運(yùn)行、無障礙的柵格,工業(yè)機(jī)器人的開始位置、目標(biāo)方位分別對(duì)應(yīng)首個(gè)柵格、最后一個(gè)柵格。其次,判斷間斷路徑是否為連續(xù)路徑,判定方法為:
D=max[abs(xi+1-xi),abs(yi+1-yi)]
在上述判定方法中,當(dāng)D=1 時(shí),表明兩個(gè)相鄰柵格間為連續(xù)關(guān)系;
當(dāng)D<1 或D>1 時(shí),代表兩個(gè)相鄰柵格非連續(xù)關(guān)系。
2.2.3 適應(yīng)度函數(shù)計(jì)算。適應(yīng)度函數(shù)在遺傳算法中要求為非負(fù)值,考慮到待優(yōu)化問題的目標(biāo)函數(shù)可能為正值或負(fù)值,在問題優(yōu)化中可將表達(dá)式以遺傳算法適合求解的形式出現(xiàn),保證其在優(yōu)化層面上處于等價(jià)關(guān)系。假設(shè)適應(yīng)度函數(shù)為f(x),目標(biāo)函數(shù)為J(x),則待優(yōu)化目標(biāo)函數(shù)的線性方式為:
F(x)=α×J(x)+b
其中,在表達(dá)式中,α、b 均代表系數(shù),該系數(shù)可結(jié)合期望的適應(yīng)度分散水平等確定。由于最小化問題、最大化問題的特征不同,在轉(zhuǎn)化中也需采用對(duì)應(yīng)的轉(zhuǎn)換形式。其中,Cmax 代表截止目前計(jì)算中產(chǎn)生的J(x)最大數(shù)值,Cmin 代表在分析中J(x)的最小值,兩個(gè)數(shù)值均可參照前期的經(jīng)驗(yàn)加以設(shè)定。適應(yīng)度函數(shù)計(jì)算中,可選取如下指數(shù)函數(shù)方式:
f(x)=cJ(x)
交叉算子中采用隨機(jī)的方式,在匹配池中篩選兩個(gè)個(gè)體,依據(jù)交叉概率將各個(gè)個(gè)體隨機(jī)配對(duì),然后對(duì)經(jīng)兩兩配對(duì)的個(gè)體交叉繁殖,產(chǎn)生新的個(gè)體。而變異算子操作中,將確定變異概率,在0-1 的區(qū)間內(nèi)隨機(jī)產(chǎn)生一個(gè)數(shù)值,通過該數(shù)值和變異概率比較,當(dāng)數(shù)值低于變異概率時(shí)開展變異操作,方法為:排除起點(diǎn)、終點(diǎn),隨機(jī)選擇兩個(gè)柵格,最終完成變異過程。
2.2.5 收斂判據(jù)與處理約束條件。以解的層面進(jìn)行遺傳算法的收斂判據(jù),判據(jù)方式為:在種群中,當(dāng)某一給定值大于平均適應(yīng)度的比值,或者種群中最優(yōu)個(gè)體的適應(yīng)度,代表算法已收斂。同時(shí),以最優(yōu)解為切入點(diǎn),當(dāng)連續(xù)幾代,甚至在連續(xù)幾十代的種群中,若發(fā)現(xiàn)最優(yōu)解無顯著的發(fā)展和變化,即代表算法收斂。在約束條件處理時(shí),主要以字符串編碼為核心,進(jìn)行問題的優(yōu)化,即整理待優(yōu)化的問題,分析各變量的上限約束、下限約束,用實(shí)際約束變量的上限值、下限值,分別代表字符串形式的最大值、最小值。
以MATLAB 軟件為基礎(chǔ),對(duì)基于超聲波傳感器的工業(yè)機(jī)器人遺傳算法開展仿真分析。 以 XX 公司生產(chǎn)的LDARM-WL-300A 工業(yè)機(jī)器人為試驗(yàn)載體。該機(jī)器人定點(diǎn)??烤取?0cm,行駛最大速度18km/h。在工業(yè)機(jī)器人的前方、左側(cè)、后側(cè)3 個(gè)方向分別安裝超聲波傳感器測距模塊,在行駛中,利用函數(shù)line 統(tǒng)計(jì)、搜集機(jī)器人前方、左側(cè)、右側(cè)的障礙物信息,運(yùn)用模糊推理測量。在仿真試驗(yàn)中,交叉概率通常取0.4-0.99,變異概率通常取0.0001-0.1,按照工業(yè)機(jī)器人避障仿真分析需求,設(shè)定交叉概率為0.7,變異概率為0.09,優(yōu)化過程的開始為初始種群,是由算法隨機(jī)產(chǎn)生的。為全面掌握避障策略的可靠性,分別對(duì)障礙物10 個(gè)時(shí)、障礙物15 個(gè)時(shí)、障礙物20 個(gè)時(shí)3 種情況進(jìn)行仿真分析。障礙物的設(shè)置為動(dòng)態(tài)障礙物,研究發(fā)現(xiàn),在動(dòng)態(tài)障礙物影響下,工業(yè)機(jī)器人在超聲波傳感器、遺傳算法的聯(lián)合運(yùn)用下,能夠達(dá)到理想的避障效果,且可以幫助工業(yè)機(jī)器人尋找到一條最佳的行走路徑,提升機(jī)器人避障效率。
文章應(yīng)用了超聲波傳感器算法、遺傳算法,設(shè)計(jì)了適用于工業(yè)機(jī)器人的避障策略。由于該策略不僅關(guān)注到了工業(yè)機(jī)器人移動(dòng)速度、與障礙物間的距離,還關(guān)注到了機(jī)器人的避障用時(shí)、路徑規(guī)劃效果、路徑規(guī)劃精度,在仿真分析中,該避障策略可以起到良好的避障效果,且可以保證避障的效率,節(jié)約工業(yè)機(jī)器人在工作過程中的資源投入,對(duì)于工業(yè)機(jī)器人的工作實(shí)踐有著指導(dǎo)意義。