胡成琳,俞清川,邵 欣
(天津中德應(yīng)用技術(shù)大學(xué) 智能制造學(xué)院,天津 300350)
工業(yè)機(jī)器人運(yùn)動軌跡分析系統(tǒng)需要模塊化、可視化、便捷化等高要求?;谝陨蠁栴},本文選用固高科技公司的計(jì)算機(jī)可編程自動化控制器(Computer Programmable Automation Controller,CPAC)設(shè)計(jì)機(jī)器人運(yùn)動軌跡分析系統(tǒng)[1]。本研究通過組合使用Otostudio軟件的各種功能模塊設(shè)計(jì)機(jī)器人運(yùn)動控制界面,達(dá)到編程語言可視化的目的,實(shí)現(xiàn)對機(jī)器人運(yùn)動軌跡進(jìn)行分析的系統(tǒng)設(shè)計(jì)。
分析工業(yè)機(jī)器人運(yùn)動軌跡的目的是觀測機(jī)器人實(shí)際運(yùn)動軌跡是否與設(shè)定軌跡相符,機(jī)器人的運(yùn)動參數(shù)與設(shè)定參數(shù)是否一致,有無偏差,從而對機(jī)器人判斷是否需要進(jìn)行精度重定位或是離線編程優(yōu)化運(yùn)動軌跡。通過觀測機(jī)器人在分析系統(tǒng)中的可視化運(yùn)動軌跡,去判斷實(shí)際運(yùn)動軌跡是否與設(shè)定軌跡相符,通過檢測到的運(yùn)動參數(shù)如軸位置和軸速度去判斷是否存在偏差。目前,該設(shè)計(jì)的分析系統(tǒng)功能較為基礎(chǔ),只能通過顯現(xiàn)運(yùn)動軌跡、軸位置、軸速度等參數(shù)進(jìn)行分析。
計(jì)算機(jī)可編程自動控制器(Computer Programmable Automation Controller,CPAC)被廣泛運(yùn)用于與工業(yè)生產(chǎn)設(shè)備控制系統(tǒng)相關(guān)的各類控制平臺、研發(fā)平臺。CPAC有著規(guī)范的編程環(huán)境、實(shí)時的I/O控制等方面優(yōu)勢[2]。
CPAC控制系統(tǒng)主要是由GUC-800運(yùn)動控制器、人機(jī)界面、端子板、遠(yuǎn)程IO模塊、伺服驅(qū)動器、伺服電機(jī)和電源等構(gòu)成。GUC系列運(yùn)動控制器是將計(jì)算機(jī)技術(shù)與運(yùn)動控制器技術(shù)相結(jié)合的科技產(chǎn)物。在CPAC控制系統(tǒng)中,Jog模式能夠精確地掌控恒速運(yùn)行。Gear和Follow則是在主軸運(yùn)動的基礎(chǔ)上進(jìn)行的相對移動模式。PT是針對有預(yù)定軌跡的、運(yùn)動周期比較長的運(yùn)動[3]。
Otostudio是CPAC的主要開發(fā)程序環(huán)境,是具備高度組態(tài)化能力和圖形化特點(diǎn)的開發(fā)工具。該軟件共提供了6種編程語言:基本結(jié)構(gòu)文件(ST)、指令表(IL)、順序流程圖(SFC)、功能框圖(FBD)、梯形圖(LD)、連續(xù)功能編輯器(CFC),以適應(yīng)各種編程語言習(xí)慣的使用者需要[4]。
按照各自的功能來劃分Otostudio軟件平臺可以主要分為4個板塊,各板塊有著各自的功能區(qū)間,主要是運(yùn)動監(jiān)控模塊、人機(jī)交互界面、狀態(tài)監(jiān)測模塊和數(shù)據(jù)處理模塊。
(1)人機(jī)交互界面是用戶對作業(yè)過程進(jìn)行實(shí)時監(jiān)控和控制的重要板塊,主要由運(yùn)動控制界面、圖形圖像界面以及監(jiān)視界面3個板塊組成。
(2)狀態(tài)監(jiān)控模塊主要是由故障告警單元和I/O單元組成,在整個生產(chǎn)流程中發(fā)揮著實(shí)時監(jiān)督生產(chǎn)流程,確保整個生產(chǎn)流程正常有序,出現(xiàn)問題可以及時暫停工作并警告。
(3)數(shù)據(jù)處理模塊主要承擔(dān)著系統(tǒng)的數(shù)據(jù)采集、A/D數(shù)據(jù)轉(zhuǎn)換等功能。同時,該模塊可以將傳感器收集到的信息在軟件內(nèi)部及時反饋,形成閉環(huán)控制并反饋到人機(jī)交互界面。工程文檔中通常具備POUS、數(shù)據(jù)類型和可視化頁面資源。POUS包含主程式(PRG)、子程序(PRG)、功能塊(FB)、函數(shù)(FUN)。
在點(diǎn)動運(yùn)動模式中,可以針對不同的軸設(shè)置不同的運(yùn)動參數(shù),各軸之間相互獨(dú)立,能夠?qū)崿F(xiàn)各軸的自由操控,可實(shí)現(xiàn)相互獨(dú)立的運(yùn)動和靜止。GTN_Update命令的調(diào)用能夠幫助用戶實(shí)現(xiàn)運(yùn)動的點(diǎn)位運(yùn)動,控制系統(tǒng)根據(jù)用戶輸入的坐標(biāo)值自動生成最優(yōu)的梯形曲線并以此表達(dá)速度規(guī)劃,同時用戶還能夠隨意調(diào)整目標(biāo)車速和方位。通過設(shè)置平滑時間可以改變速度曲線的緩急程度,其平滑函數(shù)的取值范圍為[0,1],且越靠近1的頻率曲線越是平滑,系統(tǒng)也更加穩(wěn)定。
用戶在Jog運(yùn)動模型中,同樣可以對各軸的運(yùn)動參數(shù)進(jìn)行單獨(dú)設(shè)置,每個軸都可以進(jìn)行單獨(dú)的運(yùn)動或者停止。GTN_Update命令調(diào)用能夠控制Jog的運(yùn)行,在相關(guān)運(yùn)動參數(shù)的設(shè)置下加速到要求的速度后就可以開始勻速運(yùn)動。在運(yùn)動過程中,用戶可以實(shí)時地操控目標(biāo)的運(yùn)動狀態(tài),同時能夠自動將執(zhí)行結(jié)果信息反饋至計(jì)算機(jī),顯示當(dāng)前命令得到執(zhí)行。
插補(bǔ)運(yùn)動是通過在軌跡起點(diǎn)到終點(diǎn)范圍內(nèi)進(jìn)行數(shù)據(jù)處理,實(shí)現(xiàn)數(shù)據(jù)點(diǎn)密化的工作。插補(bǔ)運(yùn)動能夠在坐標(biāo)系關(guān)系的基礎(chǔ)上構(gòu)建多軸間運(yùn)動的關(guān)聯(lián)。坐標(biāo)系運(yùn)動一般使用的是緩存區(qū)運(yùn)動法,每個坐標(biāo)系都有兩個緩存區(qū),同時通過內(nèi)插運(yùn)動緩存區(qū)域中不斷傳輸插補(bǔ)數(shù)據(jù),當(dāng)控制器完成了所有的插補(bǔ)點(diǎn)即可以實(shí)現(xiàn)指定軌跡。
運(yùn)動控制坐標(biāo)系建立:
crdPrm.dimension:=2; (*二維坐標(biāo)系*)
crdPrm.synVelMax:=500; (*最大合成速度:500pulse/ms*)
crdPrm.synAccMax:=1; (*最大加速度:1pulse/ms^2*)
crdPrm.evenTime:=50; (* 平滑時間:50 ms*)
crdPrm.profile[0]:=AXIS_X; (*軸一為X*)
crdPrm.profile[1]:=AXIS_Y; (*軸二為Y*)
crdPrm.setOriginFlag:=1; (* 需要明確指定坐標(biāo)系原點(diǎn)的規(guī)劃位置*)
crdPrm.originPos[0]:=0; (*坐標(biāo)系原點(diǎn)以軸的零位為原點(diǎn)*)
crdPrm.originPos[1]:=0; (*坐標(biāo)系原點(diǎn)以軸的一位為原點(diǎn)*)
rtn:=GT_SetCrdPrm(1,ADR(crdPrm)); (* 建立坐標(biāo)系,設(shè)置坐標(biāo)系參數(shù)*)
運(yùn)動插補(bǔ)創(chuàng)建:
rtn:=GT_ArcXYC(1,10 000,0,-5 000,0,0,100,0.2,0,0);(圓心坐標(biāo)為(100 000,0),終點(diǎn)坐標(biāo)與起點(diǎn)坐標(biāo)重合(5 000,0)的順時針弧線,該插補(bǔ)段的運(yùn)動速率為100 pulse/ms,中心加速度為0.2 pulse/ms^2,終點(diǎn)轉(zhuǎn)速為0 pulse/ms。)
使用Otostudio軟件中的運(yùn)動控制界面設(shè)計(jì)功能和運(yùn)動軌跡編程功能,建立運(yùn)動軌跡分析界面并編寫工業(yè)機(jī)器人軌跡運(yùn)動程序,使界面與程序相結(jié)合,完成運(yùn)動軌跡分析系統(tǒng)的設(shè)計(jì)。結(jié)合示教器屏幕錄制功能,使軟件、硬件相連接,實(shí)現(xiàn)編程語言可視化操作,直觀地顯示機(jī)器人的運(yùn)動軌跡,實(shí)時檢測運(yùn)動參數(shù),完成工業(yè)機(jī)器人運(yùn)動軌跡分析。
工業(yè)機(jī)器人圓形運(yùn)動軌跡分析系統(tǒng):
(1)編寫工業(yè)機(jī)器人圓形運(yùn)動軌跡程序,工業(yè)機(jī)器人圓形運(yùn)動軌跡的算法選擇插補(bǔ)模式,先通過直線插補(bǔ)語句:“rtn:=GT_LnXY”將運(yùn)動點(diǎn)移動到起始點(diǎn),再使用圓弧插補(bǔ)語句“rtn:=GT_ArcXYC”,通過圓心描述法完成曲線運(yùn)動。
(2)設(shè)計(jì)工業(yè)機(jī)器人運(yùn)動軌跡分析系統(tǒng),要建立運(yùn)動軌跡分析界面,即二維坐標(biāo)系界面,為機(jī)器人運(yùn)動軌跡分析做準(zhǔn)備。運(yùn)動分析界面設(shè)計(jì):打開Otostudio軟件,使用可視化界面的“矩形”工具畫出坐標(biāo)系的顯示范圍,再使用“折線段”工具在限定的范圍中繪制出X軸和Y軸,機(jī)器人平面運(yùn)動的末端位置用“圓形”工具設(shè)定成運(yùn)動點(diǎn),并顯示在兩坐標(biāo)軸交點(diǎn)即坐標(biāo)系中心點(diǎn)。為了使整個軌跡運(yùn)動過程更為容易觀察,本文將運(yùn)動點(diǎn)的顏色設(shè)置為黑色。右鍵選中“運(yùn)動點(diǎn)”點(diǎn)擊“規(guī)則的元件配置”,在“規(guī)則的元件配置”界面中點(diǎn)擊“絕對運(yùn)動”,在“絕對運(yùn)動”中的“X偏移量”和“Y偏移量”兩個選項(xiàng)里根據(jù)插補(bǔ)運(yùn)動坐標(biāo)系需求輸入恰當(dāng)?shù)臄?shù)值。本實(shí)驗(yàn)將“運(yùn)動點(diǎn)”的X偏移量變量與Y偏移量變量分別設(shè)置為“PLC_PRG.pos[1]/1000”“PLC_PRG.pos[2]/1000”。上述“矩形”“折線段”“圓形”3個幾何圖形工具所繪制的所有圖案都是獨(dú)立圖像單元,需要將其進(jìn)行組合,使其成為一個整體的坐標(biāo)系。坐標(biāo)系參數(shù)設(shè)置如圖1所示。
圖1 坐標(biāo)系參數(shù)設(shè)置
(3)點(diǎn)擊運(yùn)用“按鈕”“文本框”兩個工具,加入“Start”啟動按鈕與顯示運(yùn)動點(diǎn)坐標(biāo)位置,將機(jī)器人平面運(yùn)動軌跡在X,Y兩坐標(biāo)軸中以運(yùn)動點(diǎn)的形式表現(xiàn)出來,控制機(jī)器人運(yùn)動的伺服電機(jī)設(shè)定為插補(bǔ)運(yùn)動軌跡坐標(biāo)系的坐標(biāo)軸,一號電動機(jī)對應(yīng)坐標(biāo)系中X軸,二號電動機(jī)對應(yīng)坐標(biāo)系中的Y軸,建立插補(bǔ)運(yùn)動坐標(biāo)系。運(yùn)動軌跡分析界面設(shè)計(jì)顯示軸速度和軸位置,將速度變量參數(shù)“.AxisStatus[1].lrEncVel”與X軸速度進(jìn)行鏈接,軸位置位置變量參數(shù)“.AxisStatus[1].lrEncPos”與軸位置連接,Y軸變量參數(shù)鏈接方法與之相同。圓形運(yùn)動軌跡分析系統(tǒng)如圖2所示。
圖2 圓形運(yùn)動軌跡分析系統(tǒng)
通過工業(yè)機(jī)器人圓形運(yùn)動軌跡分析,系統(tǒng)完成了工業(yè)機(jī)器人運(yùn)動軌跡分析系統(tǒng)的設(shè)計(jì)。圓形軌跡運(yùn)動編程中包含直線運(yùn)動插補(bǔ)算法與曲線運(yùn)動插補(bǔ)算法,在可視化界面中顯現(xiàn)出起始點(diǎn)坐標(biāo)、實(shí)時運(yùn)動軌跡、軸坐標(biāo)、軸速度、軸加速度等實(shí)時參數(shù),通過這些實(shí)時檢測并顯示的運(yùn)動參數(shù)即可與原定參數(shù)做對比,分析出機(jī)器人的運(yùn)動軌跡與原定軌跡的差異,進(jìn)而改善或優(yōu)化機(jī)器人運(yùn)動軌跡,也可根據(jù)參數(shù)分析出機(jī)器人是否需要保養(yǎng)維護(hù)。
本文以固高GUC-800運(yùn)動控制器為研究對象,通過六自由度工業(yè)機(jī)器人設(shè)計(jì)基本的末端運(yùn)動軌跡,實(shí)現(xiàn)了實(shí)時軌跡顯示、實(shí)時參數(shù)檢測等功能,完成了機(jī)器人運(yùn)動軌跡分析系統(tǒng)的設(shè)計(jì),通過插補(bǔ)模式實(shí)現(xiàn)不同的運(yùn)動軌跡,在運(yùn)動軌跡分析界面上顯現(xiàn)出實(shí)時變化的運(yùn)動參數(shù)如軸速度、軸位置、軸加速度等,實(shí)現(xiàn)分析工業(yè)機(jī)器人運(yùn)動軌跡的功能。