蔣兵兵
(湖南鐵路科技職業(yè)技術(shù)學(xué)院 湖南 株洲 412006)
并聯(lián)機(jī)器人作為一種新型的機(jī)器人模型,與串聯(lián)機(jī)器人相比存在很多差異。比如剛度大、承載能力強(qiáng)等相關(guān)特點(diǎn)。1965年之后,英國工程師Stewart也隨即提出并命名了Stewart平臺機(jī)構(gòu)。并聯(lián)機(jī)器人一經(jīng)問世,就引起了專家們的廣泛關(guān)注和研究。趙新華教授[1]采用傳統(tǒng)算法對3-RRRU并聯(lián)機(jī)器人的運(yùn)動學(xué)正解和反解進(jìn)行研究。趙磊[2]利用DH法和空間矢量法對3-RRRU并聯(lián)機(jī)器人進(jìn)行運(yùn)動學(xué)建模,并通過改進(jìn)遺傳算法尋優(yōu)獲得最優(yōu)的誤差補(bǔ)償數(shù)據(jù)。
圖1是一種3-RRRU并聯(lián)機(jī)器軌跡跟蹤系統(tǒng),包括建系模塊、定位模塊、監(jiān)測模塊和跟蹤模塊;建系模塊用于對機(jī)器主體建立總坐標(biāo)系和對3-RRRU結(jié)構(gòu)建立分坐標(biāo)系。定位模塊用于對機(jī)器主體以及3-RRRU結(jié)構(gòu)分別進(jìn)行定位;監(jiān)測模塊用于對機(jī)器主體以及3-RRRU結(jié)構(gòu)的運(yùn)行進(jìn)行監(jiān)測統(tǒng)計;跟蹤模塊用于根據(jù)監(jiān)測統(tǒng)計的結(jié)果來對3-RRRU并聯(lián)機(jī)器的軌跡進(jìn)行跟蹤。

圖1 3-RRRU并聯(lián)機(jī)器軌跡跟蹤系統(tǒng)
對機(jī)器主體建立總坐標(biāo)系和分坐標(biāo)系的具體步驟包括:
(1)建立總坐標(biāo)系。獲取移動范圍的中點(diǎn)并將其設(shè)定為原點(diǎn),將機(jī)器主體上端的中點(diǎn)設(shè)定為第一監(jiān)測點(diǎn),將機(jī)器主體前進(jìn)的方向設(shè)定為x0軸,根據(jù)x0軸分別建立y0軸和z0軸,根據(jù)預(yù)設(shè)的第一距離和原點(diǎn)建立總坐標(biāo)系。
(2)建立分坐標(biāo)系。將3-RRRU結(jié)構(gòu)分別設(shè)定為第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu);分別將第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的下端點(diǎn)設(shè)定為第二監(jiān)測點(diǎn)、第三監(jiān)測點(diǎn)和第四監(jiān)測點(diǎn),將機(jī)器主體下端的中點(diǎn)設(shè)定為第二原點(diǎn),設(shè)定的分坐標(biāo)軸方向與總坐標(biāo)系的坐標(biāo)軸方向相同,根據(jù)預(yù)設(shè)的第二距離和第二原點(diǎn)建立分坐標(biāo)系。
獲取機(jī)器主體移動范圍的長度和寬度,將機(jī)器主體的起始點(diǎn)設(shè)定為監(jiān)測原點(diǎn),對機(jī)器主體的實(shí)時位置以及第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的實(shí)時位置進(jìn)行定位,得到機(jī)器位置集和機(jī)構(gòu)位置集,將機(jī)器位置集中機(jī)器主體的實(shí)時位置與數(shù)據(jù)庫中機(jī)器位置表進(jìn)行匹配。若機(jī)器主體的實(shí)時位置與機(jī)器位置表進(jìn)行匹配時存在相同的位置,則判定機(jī)器主體的位置沒有發(fā)生偏移;若機(jī)器主體的實(shí)時位置在機(jī)器位置表進(jìn)行匹配時存在不相同的位置,則判定機(jī)器主體的位置發(fā)生偏移,并生成第一調(diào)控信號,根據(jù)第一調(diào)控信號控制機(jī)器主體暫停運(yùn)行。將機(jī)構(gòu)位置集中的不同機(jī)構(gòu)的位置分別與數(shù)據(jù)庫中機(jī)構(gòu)位置表進(jìn)行匹配;若第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的實(shí)時位置與機(jī)構(gòu)位置表進(jìn)行匹配時存在相同的位置,則判定第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的位置沒有發(fā)生偏移;若第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的實(shí)時位置與機(jī)構(gòu)位置表進(jìn)行匹配時存在不相同的位置,則判定第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的位置存在偏移的情況,并生成第二調(diào)控信號,根據(jù)第二調(diào)控信號控制第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)暫停運(yùn)行。根據(jù)機(jī)器位置集和機(jī)構(gòu)位置集分析判斷機(jī)器主體以及3-RRRU結(jié)構(gòu)的運(yùn)行位置是否正常。
進(jìn)行監(jiān)測統(tǒng)計的具體步驟包括:獲取機(jī)器主體、第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的實(shí)時移動速度、實(shí)時轉(zhuǎn)動角度和實(shí)時移動距離并設(shè)定為FSik、FPik和FGik,i=1,2,3,...,n;k=0,1,2,3;對機(jī)器主體以及第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的運(yùn)行進(jìn)行分析。獲取機(jī)器主體、第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)預(yù)設(shè)的移動速度、轉(zhuǎn)動角度和移動距離,將預(yù)設(shè)的移動速度設(shè)定為YYSik;將預(yù)設(shè)的轉(zhuǎn)動角度設(shè)定為YZJik;將預(yù)設(shè)的移動距離設(shè)定為YYGik;對標(biāo)記的各項(xiàng)數(shù)據(jù)進(jìn)行歸一化處理并取值,通過公式PY=μ×[a1×FSik/(YYSik+0.11)+a2×FPik/(ZYJik+0.35)+a3×FGik/(YYGik+0.23)] 計算獲取偏移度,a1、a2和a3為不同的比例系數(shù)且均大于零,μ為補(bǔ)償因子,取值范圍為(0,5);將偏移度與預(yù)設(shè)的偏移閾值進(jìn)行匹配,若偏移度不大于偏移閾值,則判定對應(yīng)結(jié)構(gòu)的運(yùn)行正常,并生成第一匹配信號;若偏移度大于偏移閾值,則判定對應(yīng)結(jié)構(gòu)的運(yùn)行異常,并生成第二匹配信號,根據(jù)第二匹配信號將該結(jié)構(gòu)的運(yùn)行數(shù)據(jù)進(jìn)行標(biāo)記,運(yùn)行數(shù)據(jù)包括運(yùn)行時間、運(yùn)行速度和運(yùn)行位置,根據(jù)第二匹配信號計算獲取偏移度與偏移閾值之間的比值,根據(jù)該比值跟蹤對應(yīng)結(jié)構(gòu)異常的情況。
根據(jù)上述比值跟蹤對應(yīng)結(jié)構(gòu)異常的情況的具體步驟包括:將第一次出現(xiàn)異常的時間點(diǎn)設(shè)為時間基點(diǎn)并進(jìn)行標(biāo)記,獲取比值的整數(shù)部分并分析,若屬于,則生成第一異常指令,若整數(shù)部分屬于(m,+∞),則生成第二異常指令,m為正整數(shù);在監(jiān)測時間段內(nèi)統(tǒng)計第一異常指令和第二異常指令出現(xiàn)的次數(shù),根據(jù)第一異常指令和第二異常指令出現(xiàn)的次數(shù)進(jìn)行不同程度的預(yù)警提示。
不同程度的預(yù)警提示的具體步驟包括:統(tǒng)計第一異常指令出現(xiàn)的次數(shù)并標(biāo)記為YC;統(tǒng)計第一異常指令出現(xiàn)并持續(xù)的累計時長并標(biāo)記為YS;統(tǒng)計第二異常指令出現(xiàn)的次數(shù)并標(biāo)記為EC;統(tǒng)計第二異常指令出現(xiàn)并持續(xù)的累計時長并標(biāo)記為ES;對各項(xiàng)數(shù)據(jù)進(jìn)行歸一化處理并取值,通過公式TS=b1×YC×YS+b2×EC×ES計算獲取提示值,b1和b2為不同的比例系數(shù)且均大于零;根據(jù)提示值進(jìn)行提示。
根據(jù)提示值進(jìn)行提示的具體步驟包括:將提示值與預(yù)設(shè)的預(yù)警等級范圍進(jìn)行匹配并獲取對應(yīng)的預(yù)警級別,根據(jù)預(yù)警級別生成不同的預(yù)警提示;其中,預(yù)警等級范圍包括(0,n)、[n,2n)、[2n,3n)和[3n,+∞),n為大于零的有理數(shù),對應(yīng)的預(yù)警級別為初級風(fēng)險、低級風(fēng)險、中級風(fēng)險和高級風(fēng)險。
本研究通過建立總坐標(biāo)系和分坐標(biāo)系,可以分別對機(jī)器主體和3-RRRU并聯(lián)機(jī)器人對應(yīng)結(jié)構(gòu)的運(yùn)行進(jìn)行監(jiān)測,通過定位分析判斷機(jī)器主體以及第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的移動是否正常,避免發(fā)生位置偏移時影響3-RRRU并聯(lián)機(jī)器人并聯(lián)機(jī)器整體的運(yùn)行。受網(wǎng)絡(luò)以及控制程序的影響,會使得機(jī)器主體和3-RRRU對應(yīng)結(jié)構(gòu)的運(yùn)行速度、轉(zhuǎn)動角度和移動距離出現(xiàn)偏差,對運(yùn)行速度、轉(zhuǎn)動角度和移動距離進(jìn)行聯(lián)立計算,通過獲取的實(shí)時偏移度從局部進(jìn)行監(jiān)測,判斷機(jī)器主體和3-RRRU對應(yīng)結(jié)構(gòu)的運(yùn)行是否異常,可以提高3-RRRU并聯(lián)機(jī)器運(yùn)行監(jiān)測的準(zhǔn)確性。
圖2是3-RRRU并聯(lián)機(jī)器人的組成機(jī)構(gòu)圖,它有兩個平臺分別是靜平臺和動平臺,均呈等邊三角形,在兩個平臺之間由三條支鏈連接,構(gòu)成整個并聯(lián)機(jī)器人。三條支鏈從上面的靜平臺通過三個驅(qū)動副、被動副和虎克鉸鏈(U)與動平臺相連。

圖2 結(jié)構(gòu)圖
利用空間矢量法來構(gòu)建3-RRRU并聯(lián)機(jī)器人的位置正解模型。以A1這一條鏈為例,如圖3所示,OR和P分別是靜動平臺的幾何中心。其中γ=180°。文中第條支鏈的第個關(guān)節(jié)用Aij,θij為第i條支鏈,第j個關(guān)節(jié)的關(guān)節(jié)變量角,桿長為Lij(其中,i=1、2、3,j=1、2、3)。上面層的靜平臺外接圓半徑用字母R表示,下層的動平臺則用字母r表示。根第一支鏈的閉環(huán)方程為:

圖3 坐標(biāo)圖

式中:сγ是 cosγ,同理sγ-sinγ。P(Px,Py,Pz)表示并聯(lián)機(jī)器人動平臺控制終端的坐標(biāo)值。

式中:cθij-cosθij,同理sθij-sinθij。
由式(1)和式(2)可以得出以下等式;

所以可以得出第一條支鏈的三個方程:

通過式(4)中的三個公式換算可以得到第一條支鏈的正解方程:

同理,可以得到第二條支鏈和第三條支鏈的正解方程:

其 中,b1=R-r+L21cθ21,b2=L21sθ21;c1=R-r+L31cθ31,c2=L31sθ31。
通過將式(5)、式(6)、式(7)共三條支鏈的方程進(jìn)行合并,可以得到一個非線性方程組。此方程組可以等效為一個最優(yōu)解求解問題,控制終端的位置坐標(biāo)P(Px,Py,Pz),最優(yōu)方程的目標(biāo)函數(shù)為:

其中,P′(P′x,P′y,P′z)是通過反解獲得的理論值。
差分計算的思想來源于遺傳算法以及模擬算法,它通過將遺傳算法中的雜交、復(fù)制、變異等操作算子進(jìn)行重新設(shè)計,提出了差分進(jìn)化算法。相較于遺傳算法而言,其相同點(diǎn)都是通過隨機(jī)獲得初始種群。不同之處在于遺傳算法是根據(jù)適應(yīng)度值來控制父代雜交,而差分進(jìn)化算法的父代是通過隨機(jī)的兩個差分向量生成。因此,差分進(jìn)化算法相對遺傳算法效果更加顯著,在選擇操作中能確保更優(yōu)的個體信息可得到進(jìn)一步利用。采用反向的差分進(jìn)化算法,需要進(jìn)行反向搜索,能夠使種群的多樣性得到改善,達(dá)到跳出局部最優(yōu)的目的[3]。差分進(jìn)化算法是依靠差分操作、交叉操作和選擇操作完成最優(yōu)解的搜索機(jī)制。兩種常用的差分操作是:

交叉操作的表達(dá)式如下:

選擇操作是將選擇的兩個子個體進(jìn)行比較評價后施行優(yōu)勝劣汰的原則,留下更優(yōu)的子個體形成新的種群。
根據(jù)基本差分進(jìn)化算法在搜索速度和探索空間中容易陷入局部最優(yōu),引入自適應(yīng)因子對變異操作進(jìn)行改進(jìn)能夠提高算法的搜索速度,減少陷入局部極值的問題[4]。新的改進(jìn)差分進(jìn)化算法的算法流程為:
第一步:參數(shù)初始化和初始化種群;
第二步:根據(jù)適應(yīng)度評價函數(shù)計算適應(yīng)度值;
第三步:根據(jù)差分變異操作,生成新的種群;
第四步:根據(jù)雜交操作,產(chǎn)生目標(biāo)個體;
第五步:計算目標(biāo)個體的適應(yīng)度值;
第六步:通過優(yōu)勝劣汰對適應(yīng)度值進(jìn)行比較選擇個體;
第七步:判斷是否滿足終止條件,如果滿足,獲得最優(yōu)個體;如果不滿足,重復(fù)第三步。
差分進(jìn)化算法的優(yōu)點(diǎn)通過隨機(jī)初始值經(jīng)過不停地迭代可以獲得最優(yōu)值??梢詫?-RRRU并聯(lián)機(jī)器人位置正解運(yùn)動學(xué)方程的目標(biāo)函數(shù)作為適應(yīng)度評價函數(shù),也就是適應(yīng)度值作為目標(biāo)函數(shù)。
將改進(jìn)差分進(jìn)化算法應(yīng)用到3-RRRU并聯(lián)機(jī)器人的位置正解[5],可以得到求解算法的步驟如下:
第一步:進(jìn)行種群初始化;設(shè)置最優(yōu)個體的存放位置;
第二步:構(gòu)建3-RRRU并聯(lián)機(jī)器人的運(yùn)動學(xué)方程,建立數(shù)學(xué)模型,獲得非線性方程組;將非線性問題轉(zhuǎn)換為優(yōu)化問題,獲得目標(biāo)函數(shù)F,將目標(biāo)函數(shù)作為適應(yīng)度評價函數(shù);
第三步:計算初始種群中的適應(yīng)度值f_x,并保存最優(yōu)個體值;
第四步:進(jìn)行差分進(jìn)化操作,采用自適應(yīng)變異算子對產(chǎn)生的目標(biāo)個體的邊界進(jìn)行上下界的約束;
第五步:采用交叉操作,重新計算適應(yīng)度值f_v;通過將適應(yīng)度值f_v與f_x進(jìn)行一對一的對比,進(jìn)行選擇操作,選擇最優(yōu)個體進(jìn)行保存;
第六步:以最大進(jìn)化代數(shù)為終止條件進(jìn)行判斷,若滿足則進(jìn)化停止,若不滿足則返回STEP5繼續(xù)差分進(jìn)化過程,直到滿足約束條件。
將基本DE算法和改進(jìn)ADE算法進(jìn)行性能比較分析,將參數(shù)設(shè)置如下:種群維數(shù)D為2,種群數(shù)量NP為100,CR=0.8;選用標(biāo)準(zhǔn)測試函數(shù)進(jìn)行測試,測試對比結(jié)果如表1所示。

表1 對標(biāo)準(zhǔn)函數(shù)的測試結(jié)果
改進(jìn)DEA算法在獲得最優(yōu)解的迭代次數(shù)的平均值從245次迭代到102次迭代,收斂速度上有了很大的提升。如圖4所示,從適應(yīng)度值上可以看到,改進(jìn)算法的適應(yīng)度平均值為0,精度更高。

圖4 目標(biāo)函數(shù)值
針對3-RRRU并聯(lián)機(jī)器人的目標(biāo)函數(shù)進(jìn)行尋優(yōu),確定選取理論起始坐標(biāo)和理論到達(dá)坐標(biāo)。通過matlab進(jìn)行仿真計算可以得到適應(yīng)度曲線如圖5所示。通過圖中數(shù)據(jù)可以看到改進(jìn)DEA算法可以將求得的位置正解值與理論值幾乎接近,說明該算法的求解是有效的。

圖5 3-RRRU并聯(lián)機(jī)器人位置正解的適應(yīng)度值曲線
本文提出了一種3-RRRU并聯(lián)機(jī)器軌跡跟蹤系統(tǒng),包括建系模塊、定位模塊、監(jiān)測模塊、跟蹤模塊。同時將3-RRRU作為并聯(lián)機(jī)器人的主要研究對象。并對該機(jī)構(gòu)的運(yùn)動學(xué)建模進(jìn)行了分析,采用差分進(jìn)化算法對其運(yùn)動學(xué)正解進(jìn)行了求解,通過仿真對比發(fā)現(xiàn)能夠獲得有效的運(yùn)動學(xué)正解值。