蔣兵兵
(湖南鐵路科技職業(yè)技術(shù)學(xué)院 湖南 株洲 412006)
并聯(lián)機(jī)器人作為一種新型的機(jī)器人模型,與串聯(lián)機(jī)器人相比存在很多差異。比如剛度大、承載能力強(qiáng)等相關(guān)特點(diǎn)。1965年之后,英國工程師Stewart也隨即提出并命名了Stewart平臺(tái)機(jī)構(gòu)。并聯(lián)機(jī)器人一經(jīng)問世,就引起了專家們的廣泛關(guān)注和研究。趙新華教授[1]采用傳統(tǒng)算法對(duì)3-RRRU并聯(lián)機(jī)器人的運(yùn)動(dòng)學(xué)正解和反解進(jìn)行研究。趙磊[2]利用DH法和空間矢量法對(duì)3-RRRU并聯(lián)機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)建模,并通過改進(jìn)遺傳算法尋優(yōu)獲得最優(yōu)的誤差補(bǔ)償數(shù)據(jù)。
圖1是一種3-RRRU并聯(lián)機(jī)器軌跡跟蹤系統(tǒng),包括建系模塊、定位模塊、監(jiān)測(cè)模塊和跟蹤模塊;建系模塊用于對(duì)機(jī)器主體建立總坐標(biāo)系和對(duì)3-RRRU結(jié)構(gòu)建立分坐標(biāo)系。定位模塊用于對(duì)機(jī)器主體以及3-RRRU結(jié)構(gòu)分別進(jìn)行定位;監(jiān)測(cè)模塊用于對(duì)機(jī)器主體以及3-RRRU結(jié)構(gòu)的運(yùn)行進(jìn)行監(jiān)測(cè)統(tǒng)計(jì);跟蹤模塊用于根據(jù)監(jiān)測(cè)統(tǒng)計(jì)的結(jié)果來對(duì)3-RRRU并聯(lián)機(jī)器的軌跡進(jìn)行跟蹤。
圖1 3-RRRU并聯(lián)機(jī)器軌跡跟蹤系統(tǒng)
對(duì)機(jī)器主體建立總坐標(biāo)系和分坐標(biāo)系的具體步驟包括:
(1)建立總坐標(biāo)系。獲取移動(dòng)范圍的中點(diǎn)并將其設(shè)定為原點(diǎn),將機(jī)器主體上端的中點(diǎn)設(shè)定為第一監(jiān)測(cè)點(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)測(cè)點(diǎn)、第三監(jiān)測(cè)點(diǎn)和第四監(jiān)測(cè)點(diǎn),將機(jī)器主體下端的中點(diǎn)設(shè)定為第二原點(diǎn),設(shè)定的分坐標(biāo)軸方向與總坐標(biāo)系的坐標(biāo)軸方向相同,根據(jù)預(yù)設(shè)的第二距離和第二原點(diǎn)建立分坐標(biāo)系。
獲取機(jī)器主體移動(dòng)范圍的長(zhǎng)度和寬度,將機(jī)器主體的起始點(diǎn)設(shè)定為監(jiān)測(cè)原點(diǎn),對(duì)機(jī)器主體的實(shí)時(shí)位置以及第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的實(shí)時(shí)位置進(jìn)行定位,得到機(jī)器位置集和機(jī)構(gòu)位置集,將機(jī)器位置集中機(jī)器主體的實(shí)時(shí)位置與數(shù)據(jù)庫中機(jī)器位置表進(jìn)行匹配。若機(jī)器主體的實(shí)時(shí)位置與機(jī)器位置表進(jìn)行匹配時(shí)存在相同的位置,則判定機(jī)器主體的位置沒有發(fā)生偏移;若機(jī)器主體的實(shí)時(shí)位置在機(jī)器位置表進(jìn)行匹配時(shí)存在不相同的位置,則判定機(jī)器主體的位置發(fā)生偏移,并生成第一調(diào)控信號(hào),根據(jù)第一調(diào)控信號(hà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í)時(shí)位置與機(jī)構(gòu)位置表進(jìn)行匹配時(shí)存在相同的位置,則判定第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的位置沒有發(fā)生偏移;若第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的實(shí)時(shí)位置與機(jī)構(gòu)位置表進(jìn)行匹配時(shí)存在不相同的位置,則判定第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的位置存在偏移的情況,并生成第二調(diào)控信號(hào),根據(jù)第二調(diào)控信號(hà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)測(cè)統(tǒng)計(jì)的具體步驟包括:獲取機(jī)器主體、第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的實(shí)時(shí)移動(dòng)速度、實(shí)時(shí)轉(zhuǎn)動(dòng)角度和實(shí)時(shí)移動(dòng)距離并設(shè)定為FSik、FPik和FGik,i=1,2,3,...,n;k=0,1,2,3;對(duì)機(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è)的移動(dòng)速度、轉(zhuǎn)動(dòng)角度和移動(dòng)距離,將預(yù)設(shè)的移動(dòng)速度設(shè)定為YYSik;將預(yù)設(shè)的轉(zhuǎn)動(dòng)角度設(shè)定為YZJik;將預(yù)設(shè)的移動(dòng)距離設(shè)定為YYGik;對(duì)標(biāo)記的各項(xiàng)數(shù)據(jù)進(jìn)行歸一化處理并取值,通過公式PY=μ×[a1×FSik/(YYSik+0.11)+a2×FPik/(ZYJik+0.35)+a3×FGik/(YYGik+0.23)] 計(jì)算獲取偏移度,a1、a2和a3為不同的比例系數(shù)且均大于零,μ為補(bǔ)償因子,取值范圍為(0,5);將偏移度與預(yù)設(shè)的偏移閾值進(jìn)行匹配,若偏移度不大于偏移閾值,則判定對(duì)應(yīng)結(jié)構(gòu)的運(yùn)行正常,并生成第一匹配信號(hào);若偏移度大于偏移閾值,則判定對(duì)應(yīng)結(jié)構(gòu)的運(yùn)行異常,并生成第二匹配信號(hào),根據(jù)第二匹配信號(hào)將該結(jié)構(gòu)的運(yùn)行數(shù)據(jù)進(jìn)行標(biāo)記,運(yùn)行數(shù)據(jù)包括運(yùn)行時(shí)間、運(yùn)行速度和運(yùn)行位置,根據(jù)第二匹配信號(hào)計(jì)算獲取偏移度與偏移閾值之間的比值,根據(jù)該比值跟蹤對(duì)應(yīng)結(jié)構(gòu)異常的情況。
根據(jù)上述比值跟蹤對(duì)應(yīng)結(jié)構(gòu)異常的情況的具體步驟包括:將第一次出現(xiàn)異常的時(shí)間點(diǎn)設(shè)為時(shí)間基點(diǎn)并進(jìn)行標(biāo)記,獲取比值的整數(shù)部分并分析,若屬于,則生成第一異常指令,若整數(shù)部分屬于(m,+∞),則生成第二異常指令,m為正整數(shù);在監(jiān)測(cè)時(shí)間段內(nèi)統(tǒng)計(jì)第一異常指令和第二異常指令出現(xiàn)的次數(shù),根據(jù)第一異常指令和第二異常指令出現(xiàn)的次數(shù)進(jìn)行不同程度的預(yù)警提示。
不同程度的預(yù)警提示的具體步驟包括:統(tǒng)計(jì)第一異常指令出現(xiàn)的次數(shù)并標(biāo)記為YC;統(tǒng)計(jì)第一異常指令出現(xiàn)并持續(xù)的累計(jì)時(shí)長(zhǎng)并標(biāo)記為YS;統(tǒng)計(jì)第二異常指令出現(xiàn)的次數(shù)并標(biāo)記為EC;統(tǒng)計(jì)第二異常指令出現(xiàn)并持續(xù)的累計(jì)時(shí)長(zhǎng)并標(biāo)記為ES;對(duì)各項(xiàng)數(shù)據(jù)進(jìn)行歸一化處理并取值,通過公式TS=b1×YC×YS+b2×EC×ES計(jì)算獲取提示值,b1和b2為不同的比例系數(shù)且均大于零;根據(jù)提示值進(jìn)行提示。
根據(jù)提示值進(jìn)行提示的具體步驟包括:將提示值與預(yù)設(shè)的預(yù)警等級(jí)范圍進(jìn)行匹配并獲取對(duì)應(yīng)的預(yù)警級(jí)別,根據(jù)預(yù)警級(jí)別生成不同的預(yù)警提示;其中,預(yù)警等級(jí)范圍包括(0,n)、[n,2n)、[2n,3n)和[3n,+∞),n為大于零的有理數(shù),對(duì)應(yīng)的預(yù)警級(jí)別為初級(jí)風(fēng)險(xiǎn)、低級(jí)風(fēng)險(xiǎn)、中級(jí)風(fēng)險(xiǎn)和高級(jí)風(fēng)險(xiǎn)。
本研究通過建立總坐標(biāo)系和分坐標(biāo)系,可以分別對(duì)機(jī)器主體和3-RRRU并聯(lián)機(jī)器人對(duì)應(yīng)結(jié)構(gòu)的運(yùn)行進(jìn)行監(jiān)測(cè),通過定位分析判斷機(jī)器主體以及第一結(jié)構(gòu)、第二結(jié)構(gòu)和第三結(jié)構(gòu)的移動(dòng)是否正常,避免發(fā)生位置偏移時(shí)影響3-RRRU并聯(lián)機(jī)器人并聯(lián)機(jī)器整體的運(yùn)行。受網(wǎng)絡(luò)以及控制程序的影響,會(huì)使得機(jī)器主體和3-RRRU對(duì)應(yīng)結(jié)構(gòu)的運(yùn)行速度、轉(zhuǎn)動(dòng)角度和移動(dòng)距離出現(xiàn)偏差,對(duì)運(yùn)行速度、轉(zhuǎn)動(dòng)角度和移動(dòng)距離進(jìn)行聯(lián)立計(jì)算,通過獲取的實(shí)時(shí)偏移度從局部進(jìn)行監(jiān)測(cè),判斷機(jī)器主體和3-RRRU對(duì)應(yīng)結(jié)構(gòu)的運(yùn)行是否異常,可以提高3-RRRU并聯(lián)機(jī)器運(yùn)行監(jiān)測(cè)的準(zhǔn)確性。
圖2是3-RRRU并聯(lián)機(jī)器人的組成機(jī)構(gòu)圖,它有兩個(gè)平臺(tái)分別是靜平臺(tái)和動(dòng)平臺(tái),均呈等邊三角形,在兩個(gè)平臺(tái)之間由三條支鏈連接,構(gòu)成整個(gè)并聯(lián)機(jī)器人。三條支鏈從上面的靜平臺(tái)通過三個(gè)驅(qū)動(dòng)副、被動(dòng)副和虎克鉸鏈(U)與動(dòng)平臺(tái)相連。
圖2 結(jié)構(gòu)圖
利用空間矢量法來構(gòu)建3-RRRU并聯(lián)機(jī)器人的位置正解模型。以A1這一條鏈為例,如圖3所示,OR和P分別是靜動(dòng)平臺(tái)的幾何中心。其中γ=180°。文中第條支鏈的第個(gè)關(guān)節(jié)用Aij,θij為第i條支鏈,第j個(gè)關(guān)節(jié)的關(guān)節(jié)變量角,桿長(zhǎng)為L(zhǎng)ij(其中,i=1、2、3,j=1、2、3)。上面層的靜平臺(tái)外接圓半徑用字母R表示,下層的動(dòng)平臺(tái)則用字母r表示。根第一支鏈的閉環(huán)方程為:
圖3 坐標(biāo)圖
式中:сγ是 cosγ,同理sγ-sinγ。P(Px,Py,Pz)表示并聯(lián)機(jī)器人動(dòng)平臺(tái)控制終端的坐標(biāo)值。
式中:cθij-cosθij,同理sθij-sinθij。
由式(1)和式(2)可以得出以下等式;
所以可以得出第一條支鏈的三個(gè)方程:
通過式(4)中的三個(gè)公式換算可以得到第一條支鏈的正解方程:
同理,可以得到第二條支鏈和第三條支鏈的正解方程:
其 中,b1=R-r+L21cθ21,b2=L21sθ21;c1=R-r+L31cθ31,c2=L31sθ31。
通過將式(5)、式(6)、式(7)共三條支鏈的方程進(jìn)行合并,可以得到一個(gè)非線性方程組。此方程組可以等效為一個(gè)最優(yōu)解求解問題,控制終端的位置坐標(biāo)P(Px,Py,Pz),最優(yōu)方程的目標(biāo)函數(shù)為:
其中,P′(P′x,P′y,P′z)是通過反解獲得的理論值。
差分計(jì)算的思想來源于遺傳算法以及模擬算法,它通過將遺傳算法中的雜交、復(fù)制、變異等操作算子進(jìn)行重新設(shè)計(jì),提出了差分進(jìn)化算法。相較于遺傳算法而言,其相同點(diǎn)都是通過隨機(jī)獲得初始種群。不同之處在于遺傳算法是根據(jù)適應(yīng)度值來控制父代雜交,而差分進(jìn)化算法的父代是通過隨機(jī)的兩個(gè)差分向量生成。因此,差分進(jìn)化算法相對(duì)遺傳算法效果更加顯著,在選擇操作中能確保更優(yōu)的個(gè)體信息可得到進(jìn)一步利用。采用反向的差分進(jìn)化算法,需要進(jìn)行反向搜索,能夠使種群的多樣性得到改善,達(dá)到跳出局部最優(yōu)的目的[3]。差分進(jìn)化算法是依靠差分操作、交叉操作和選擇操作完成最優(yōu)解的搜索機(jī)制。兩種常用的差分操作是:
交叉操作的表達(dá)式如下:
選擇操作是將選擇的兩個(gè)子個(gè)體進(jìn)行比較評(píng)價(jià)后施行優(yōu)勝劣汰的原則,留下更優(yōu)的子個(gè)體形成新的種群。
根據(jù)基本差分進(jìn)化算法在搜索速度和探索空間中容易陷入局部最優(yōu),引入自適應(yīng)因子對(duì)變異操作進(jìn)行改進(jìn)能夠提高算法的搜索速度,減少陷入局部極值的問題[4]。新的改進(jìn)差分進(jìn)化算法的算法流程為:
第一步:參數(shù)初始化和初始化種群;
第二步:根據(jù)適應(yīng)度評(píng)價(jià)函數(shù)計(jì)算適應(yīng)度值;
第三步:根據(jù)差分變異操作,生成新的種群;
第四步:根據(jù)雜交操作,產(chǎn)生目標(biāo)個(gè)體;
第五步:計(jì)算目標(biāo)個(gè)體的適應(yīng)度值;
第六步:通過優(yōu)勝劣汰對(duì)適應(yīng)度值進(jìn)行比較選擇個(gè)體;
第七步:判斷是否滿足終止條件,如果滿足,獲得最優(yōu)個(gè)體;如果不滿足,重復(fù)第三步。
差分進(jìn)化算法的優(yōu)點(diǎn)通過隨機(jī)初始值經(jīng)過不停地迭代可以獲得最優(yōu)值??梢詫?-RRRU并聯(lián)機(jī)器人位置正解運(yùn)動(dòng)學(xué)方程的目標(biāo)函數(shù)作為適應(yīng)度評(píng)價(jià)函數(shù),也就是適應(yīng)度值作為目標(biāo)函數(shù)。
將改進(jìn)差分進(jìn)化算法應(yīng)用到3-RRRU并聯(lián)機(jī)器人的位置正解[5],可以得到求解算法的步驟如下:
第一步:進(jìn)行種群初始化;設(shè)置最優(yōu)個(gè)體的存放位置;
第二步:構(gòu)建3-RRRU并聯(lián)機(jī)器人的運(yùn)動(dòng)學(xué)方程,建立數(shù)學(xué)模型,獲得非線性方程組;將非線性問題轉(zhuǎn)換為優(yōu)化問題,獲得目標(biāo)函數(shù)F,將目標(biāo)函數(shù)作為適應(yīng)度評(píng)價(jià)函數(shù);
第三步:計(jì)算初始種群中的適應(yīng)度值f_x,并保存最優(yōu)個(gè)體值;
第四步:進(jìn)行差分進(jìn)化操作,采用自適應(yīng)變異算子對(duì)產(chǎn)生的目標(biāo)個(gè)體的邊界進(jìn)行上下界的約束;
第五步:采用交叉操作,重新計(jì)算適應(yīng)度值f_v;通過將適應(yīng)度值f_v與f_x進(jìn)行一對(duì)一的對(duì)比,進(jìn)行選擇操作,選擇最優(yōu)個(gè)體進(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)測(cè)試函數(shù)進(jìn)行測(cè)試,測(cè)試對(duì)比結(jié)果如表1所示。
表1 對(duì)標(biāo)準(zhǔn)函數(shù)的測(cè)試結(jié)果
改進(jìn)DEA算法在獲得最優(yōu)解的迭代次數(shù)的平均值從245次迭代到102次迭代,收斂速度上有了很大的提升。如圖4所示,從適應(yīng)度值上可以看到,改進(jìn)算法的適應(yīng)度平均值為0,精度更高。
圖4 目標(biāo)函數(shù)值
針對(duì)3-RRRU并聯(lián)機(jī)器人的目標(biāo)函數(shù)進(jìn)行尋優(yōu),確定選取理論起始坐標(biāo)和理論到達(dá)坐標(biāo)。通過matlab進(jìn)行仿真計(jì)算可以得到適應(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)測(cè)模塊、跟蹤模塊。同時(shí)將3-RRRU作為并聯(lián)機(jī)器人的主要研究對(duì)象。并對(duì)該機(jī)構(gòu)的運(yùn)動(dòng)學(xué)建模進(jìn)行了分析,采用差分進(jìn)化算法對(duì)其運(yùn)動(dòng)學(xué)正解進(jìn)行了求解,通過仿真對(duì)比發(fā)現(xiàn)能夠獲得有效的運(yùn)動(dòng)學(xué)正解值。