1 引言(Introduction)
激光焊接作為新的焊接工藝方法在汽車制造領(lǐng)域有大量成功的應(yīng)用,顯示出激光焊接強(qiáng)大的生命力和非常廣闊的應(yīng)用前景.采用并聯(lián)機(jī)構(gòu)可以進(jìn)一步提高機(jī)器人的負(fù)載/自重比,改善機(jī)器人的運(yùn)動特性,使其結(jié)構(gòu)更加靈巧.利用并聯(lián)機(jī)構(gòu)剛度大、運(yùn)動慣性小、精度高等優(yōu)點(diǎn),實(shí)現(xiàn)高精度激光焊接加工,這是并聯(lián)機(jī)器人技術(shù)向激光焊接領(lǐng)域的拓展.
傳統(tǒng)的數(shù)控加工軌跡控制概念都建立在笛卡兒坐標(biāo)系中,而并聯(lián)機(jī)器人的軌跡控制是由若干桿件的空間運(yùn)動綜合而成的,若使機(jī)器人加工末端點(diǎn)實(shí)現(xiàn)所需要的運(yùn)動,則必須在兩者之間進(jìn)行坐標(biāo)轉(zhuǎn)換.另外,并聯(lián)機(jī)器人的結(jié)構(gòu)和配置形式的多樣化使傳統(tǒng)數(shù)控的封閉式結(jié)構(gòu)不能滿足其需求,因此并聯(lián)機(jī)器人的控制系統(tǒng)必須是開放式結(jié)構(gòu).
本項(xiàng)目研制的并聯(lián)機(jī)器人控制系統(tǒng)是以Linux 24.20+實(shí)時(shí)內(nèi)核RTLinux3.1作為實(shí)時(shí)軟件平臺的全軟件開放式數(shù)控系統(tǒng),該系統(tǒng)以C語言為編程語言編制數(shù)控系統(tǒng)軟件.由于引入了實(shí)時(shí)多任務(wù)機(jī)制,采用開放式的結(jié)構(gòu)框架,因此它可以實(shí)現(xiàn)特殊機(jī)構(gòu)構(gòu)型并聯(lián)機(jī)器人的高速、高精度控制.該系統(tǒng)適用于激光焊接、切割等對精度要求較高的加工應(yīng)用,其關(guān)鍵難點(diǎn)技術(shù)的研究突破,對于進(jìn)一步開發(fā)激光焊接并聯(lián)機(jī)器人系統(tǒng)并實(shí)現(xiàn)其產(chǎn)業(yè)化具有重要意義.
2 系統(tǒng)組成(Components of the system)
并聯(lián)機(jī)器人數(shù)控系統(tǒng)是一個(gè)實(shí)時(shí)多任務(wù)軟件系統(tǒng),它可以分為實(shí)時(shí)任務(wù)層和非實(shí)時(shí)任務(wù)層兩層.實(shí)時(shí)任務(wù)層包括插補(bǔ)計(jì)算模塊、位姿正反解模塊、速度處理模塊、電機(jī)控制模塊、軟PLC模塊、故障診斷及處理模塊等直接與數(shù)控加工相關(guān)的、對實(shí)時(shí)性要求較高的功能模塊,此層由RTLinux 實(shí)時(shí)子系統(tǒng)來處理;除此之外,對實(shí)時(shí)性要求不高的功能模塊,如人機(jī)交互模塊、參數(shù)配置模塊、代碼解釋模塊、加工模擬模塊、文件管理模塊等,為非實(shí)時(shí)任務(wù)層,由普通Linux內(nèi)核控制,數(shù)控系統(tǒng)軟件功能結(jié)構(gòu)如圖1所示.這樣分層的好處是使實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù)運(yùn)行在不同的進(jìn)程空間,便于保證系統(tǒng)的實(shí)時(shí)性,系統(tǒng)層次分明,增強(qiáng)了開放性和靈活性,可以適應(yīng)多種實(shí)際應(yīng)用.
圖1 數(shù)控系統(tǒng)軟件結(jié)構(gòu)
本數(shù)控系統(tǒng)以Linux2.4.20 + RTLinux3.1為操作系統(tǒng),PC機(jī)為平臺,上述的各種功能均由軟件完成,與外部伺服相連接的軸控制卡只是將PC機(jī)的數(shù)字量轉(zhuǎn)換以后輸出給伺服系統(tǒng),并將外部的反饋信息送入PC機(jī),并不進(jìn)行任何的計(jì)算.?dāng)?shù)控系統(tǒng)硬件結(jié)構(gòu)如圖2所示.
圖2 數(shù)控系統(tǒng)硬件結(jié)構(gòu)
3 位置正反解模塊的實(shí)現(xiàn)(Realization of the forward and inverse displacement modules)
上述功能中,不同于傳統(tǒng)數(shù)控系統(tǒng)之處在于系統(tǒng)中需要根據(jù)機(jī)械結(jié)構(gòu)實(shí)際的機(jī)構(gòu)模型嵌入特定的位姿正反解模型.因此,建立正確的正反解模型至關(guān)重要.
3.1 建立正反解幾何模型
機(jī)器人機(jī)構(gòu)簡圖如圖3所示,在本文所述的機(jī)構(gòu)中,將光軸位姿參數(shù)(虛軸坐標(biāo))換算到驅(qū)動坐標(biāo)位置(實(shí)軸坐標(biāo))稱為反解運(yùn)算.
圖3 機(jī)器人機(jī)構(gòu)簡圖
設(shè)定L2分支中繞X 軸旋轉(zhuǎn)虎克鉸的旋轉(zhuǎn)角度為α,繞Y軸旋轉(zhuǎn)虎克鉸的旋轉(zhuǎn)角度為β,3個(gè)分支的桿長分別為L1、L2、L3,串聯(lián)關(guān)節(jié)回轉(zhuǎn)轉(zhuǎn)動副和俯仰轉(zhuǎn)動副的轉(zhuǎn)角分別為γ和θ ,則由位姿坐標(biāo)變換可得到:
(1)
已知機(jī)器人末端執(zhí)行器相對于固定參考坐標(biāo)系O-XYZ 的位姿矩陣:
(2)
求解此矩陣方程可得α、β 、γ 、θ 、.
根據(jù)求解得到的α、β 和L2,將Ts2O 和TO1O求解出來.得到S2和O1在固定參考坐標(biāo)系O-XYZ 中的坐標(biāo),則得到下式:
在固定平臺OB1B3中,OB1B3 為已知三角形,則很容易得到其他兩桿長度為:
(4)
正解過程與反解過程正好相反:已知機(jī)器人的關(guān)節(jié)變量L1、L2、L3和γ 、θ ,求解機(jī)器人末端位姿矩陣.
根據(jù)關(guān)節(jié)變量L1、L2和L3 ,以及B1、O、B3 點(diǎn)坐標(biāo),列距離方程可以求解到L2分支繞X 軸和繞Y軸的旋轉(zhuǎn)角度α和β .其求解方程如下:
根據(jù)得到的α和β ,將已知的L2、γ 、θ 代入到位姿變化矩陣,即可將機(jī)器人的末端位姿矩陣求解出來,完成運(yùn)動學(xué)正解.
3.2 正反解多解問題
在求解并聯(lián)機(jī)器人正反解方程的過程中存在方程多解問題:在正解計(jì)算中一組實(shí)軸坐標(biāo)對應(yīng)兩組虛軸坐標(biāo),其中有一組虛軸坐標(biāo)位于靜平臺(平面)上方,可舍去;在反解計(jì)算中一組虛軸坐標(biāo)對應(yīng)兩組實(shí)軸坐標(biāo),由于本系統(tǒng)具有驅(qū)動軸(實(shí)軸)單軸手動功能,如果直接舍去反解計(jì)算的一組實(shí)軸解,會造成手自動切換時(shí)系統(tǒng)伺服軸跟隨誤差出界.產(chǎn)生這種情況的原因是:實(shí)軸在單軸手動時(shí)可能進(jìn)入被舍棄的實(shí)軸解空間,而實(shí)軸單軸手動時(shí)系統(tǒng)是不進(jìn)行反解計(jì)算的,因此不會發(fā)生報(bào)警事件;而在切換到自動狀態(tài)時(shí)反解生效,但實(shí)軸解為另一組解,由于理論值與實(shí)際值相差很大,造成跟隨誤差出界報(bào)警(如圖4 所示).
圖4 手自動切換過程示意圖
為了解決反解多解問題,在反解模塊中引入變量來讀取實(shí)軸實(shí)時(shí)坐標(biāo)(),將其與反解計(jì)算值() 進(jìn)行比較,取最接近實(shí)軸實(shí)時(shí)坐標(biāo)的那組解作為輸出,經(jīng)過處理后驅(qū)動實(shí)軸運(yùn)動.為了節(jié)省運(yùn)算時(shí)間,此判斷過程只在實(shí)軸單軸手動切換到自動狀態(tài)時(shí)生效,判斷過后一直采用選中的那組解的解析表達(dá)式計(jì)算實(shí)軸坐標(biāo),直到下次切換.
3.3 旋轉(zhuǎn)軸“過零”問題
第4 軸(旋轉(zhuǎn)軸)在經(jīng)過0°點(diǎn)時(shí),會出現(xiàn)突然反轉(zhuǎn)現(xiàn)象:在并聯(lián)機(jī)器人作加工時(shí),在某些位置需要從359.999°運(yùn)動到0.001°,加工過程只需要旋轉(zhuǎn)軸運(yùn)動0.002°,而實(shí)際情況是旋轉(zhuǎn)軸轉(zhuǎn)動大弧359.998°,產(chǎn)生這種現(xiàn)象的原因是系統(tǒng)將旋轉(zhuǎn)軸當(dāng)作線性軸來處理,而反解計(jì)算只能計(jì)算0°到360°的半閉半開區(qū)間,旋轉(zhuǎn)軸到360°就會歸零.這是加工所不需要的,系統(tǒng)也不可能在一個(gè)插補(bǔ)周期內(nèi)完成一周的轉(zhuǎn)動.#p#分頁標(biāo)題#e#
為解決此問題,將第4 軸反解計(jì)算值與當(dāng)前實(shí)時(shí)坐標(biāo)相減,然后按下式修正計(jì)算值:
(8)
式中為修正后的第4軸坐標(biāo),為修正前的第4軸坐標(biāo)計(jì)算值,為第4軸的當(dāng)前實(shí)時(shí)坐標(biāo),| |為向上取整符號.
3.4 加工曲線生成問題
對于5 自由度加工,人工編程有很大難度,而現(xiàn)有的計(jì)算機(jī)輔助制造(CAM)軟件沒有針對并聯(lián)機(jī)構(gòu)的模塊.為利用現(xiàn)有的CAM 軟件進(jìn)行加工編程,在位姿正反解模塊中加入轉(zhuǎn)換模塊,將CAM 中給定的結(jié)構(gòu)和正反解輸入輸出坐標(biāo)相互轉(zhuǎn)化.操作者可根據(jù)不同的CAM 軟件定制不同的轉(zhuǎn)換模塊.
以UG的五軸雙擺頭結(jié)構(gòu)X、Y 、Z、A、B為例說明轉(zhuǎn)換模塊的轉(zhuǎn)換過程.首先,為簡化轉(zhuǎn)換過程,將第4、第5軸偏置設(shè)為0,這樣UG在轉(zhuǎn)換時(shí)就不考慮刀長,那么UG 輸出代碼中的X、Y 、Z與并聯(lián)結(jié)構(gòu)的需求一致,不需要再作轉(zhuǎn)換.我們只需要對刀軸姿態(tài)進(jìn)行轉(zhuǎn)換:設(shè)單位刀軸矢量在X 軸的投影
為I、在Y軸的投影為J、在Z 軸的投影為K,A為主擺角,B為副擺角,刀具軸在Z軸上,通過數(shù)學(xué)推導(dǎo)可得出反解模塊的刀軸矢量和A、B的關(guān)系如下(式中i、j、k依次為矢量I、J、K的模,A、B依次為轉(zhuǎn)角A、B的角度值):
(9)
同樣可得出正解模塊的轉(zhuǎn)換關(guān)系為:
4 插補(bǔ)算法的設(shè)計(jì)(Design of the interpolationalgorithm)
用并聯(lián)機(jī)器人進(jìn)行激光加工主要是控制激光焦點(diǎn)的運(yùn)動,并保持激光處于工件當(dāng)前加工點(diǎn)的法線方向.并聯(lián)機(jī)器人是由復(fù)雜的空間機(jī)構(gòu)組成的,激光光軸位姿參數(shù)與控制系統(tǒng)驅(qū)動坐標(biāo)位置之間需要經(jīng)過坐標(biāo)變換,從而獲得控制所需的幾何描述.因此,并聯(lián)機(jī)器人的插補(bǔ)方式與傳統(tǒng)數(shù)控也有所不同.
本系統(tǒng)插補(bǔ)計(jì)算將機(jī)構(gòu)末端的運(yùn)動軌跡離散為一系列首尾相接的小線段:給定一個(gè)插補(bǔ)周期(作為系統(tǒng)參數(shù),用戶可設(shè)定),按照指令中給出的軌跡進(jìn)給速度,單獨(dú)計(jì)算各軸方向上的位移增量,將連續(xù)的軌跡離散為若干離散點(diǎn)序列,然后應(yīng)用S型加減速算法,對插補(bǔ)步長進(jìn)行修正.利用反解模塊將插補(bǔ)生成的離散點(diǎn)映射到關(guān)節(jié)空間,系統(tǒng)根據(jù)反解模塊計(jì)算結(jié)果驅(qū)動伺服電機(jī)運(yùn)動.
5 激光工藝模塊設(shè)計(jì)及實(shí)現(xiàn)(Design and realizationof the laser processing module)
并聯(lián)激光加工數(shù)控系統(tǒng)還要包括激光工藝模塊,該模塊用于設(shè)置和調(diào)整激光加工工藝參數(shù),包括激光功率控制、離焦量控制、偏距控制、激光器狀態(tài)等
參數(shù),如圖5 所示.
圖5 激光加工參數(shù)界面
激光功率設(shè)定參數(shù)是通過軸控制板發(fā)送給激光器的,激光器將此參數(shù)作為輸出功率曲線的幅值.離焦量是指焦平面與被焊工件上表面的距離,這里將離焦量作為激光焦點(diǎn)和第5軸旋轉(zhuǎn)中心距離的修正參數(shù),傳遞給正反解模塊.光束中心偏離加工軌跡的距離叫偏距,偏距設(shè)置用于XY 、YZ、ZX平面加工.這里規(guī)定光束中心在加工軌跡右側(cè)偏距為正值,左側(cè)為負(fù)值.
6 實(shí)驗(yàn)與結(jié)論(Experiment and conclusion)
使用便攜式三坐標(biāo)測量機(jī)對并聯(lián)機(jī)器人末端精度進(jìn)行檢測.并聯(lián)機(jī)器人末端由(0;400;0;0;0) 沿直線運(yùn)動到(1000;400;0;0;0),測出誤差如圖6 所示(圖中橫坐標(biāo)為X 軸位置坐標(biāo),縱坐標(biāo)依次為X、Y 、Z軸位置誤差和單位激光光軸矢量在X軸的投影I、在Y 軸的投影J、在Z 軸的投影K 的差).
圖6 并聯(lián)機(jī)器人位姿誤差曲線
并聯(lián)機(jī)器人具有機(jī)械結(jié)構(gòu)簡單、控制系統(tǒng)復(fù)雜的特點(diǎn),需要根據(jù)不同的結(jié)構(gòu)形式設(shè)計(jì)不同的控制系統(tǒng).本系統(tǒng)的開放式設(shè)計(jì)可提高開發(fā)效率,降低開發(fā)成本,使并聯(lián)數(shù)控系統(tǒng)的開發(fā)、維護(hù)和推廣變得更加容易.實(shí)驗(yàn)證明本文開發(fā)的基于RTLinux 的五自由度并聯(lián)激光焊接數(shù)控系統(tǒng)性能達(dá)到了激光焊接的實(shí)際應(yīng)用要求.
轉(zhuǎn)載請注明出處。