吳超群 趙 松 雷 艇
武漢理工大學(xué)機(jī)電工程學(xué)院,武漢,430070
機(jī)器人技術(shù)和傳感器技術(shù)的發(fā)展使得無(wú)需示教的焊縫跟蹤成為可能,而機(jī)器人軌跡的規(guī)劃和控制是其中的重要一環(huán)[1]。B樣條曲線因在復(fù)雜軌跡規(guī)劃方面的獨(dú)特優(yōu)勢(shì)而被廣泛用于CAD/CAM和CNC領(lǐng)域,以及近年來(lái)的機(jī)器人軌跡規(guī)劃[2]。劉杰等[3]針對(duì)相貫焊縫焊接示教工作過(guò)于復(fù)雜的問(wèn)題,先利用前一道焊縫的空間軌跡擬合出理論平面,再將前一道焊縫沿法線方向等距平移,最后基于B樣條曲線在理論平面生成下一道焊縫。毛征宇等[4]采用近似的弓高誤差來(lái)降低插補(bǔ)過(guò)程中弓高誤差的計(jì)算難度,并結(jié)合速度和加速度的約束,設(shè)計(jì)了能自動(dòng)調(diào)整三次均勻B樣條插補(bǔ)步長(zhǎng)的算法,使加工過(guò)程更加平穩(wěn)可靠。上述規(guī)劃方法雖滿足精度需求,但沒(méi)有考慮算法的實(shí)時(shí)性,難以滿足實(shí)時(shí)跟蹤焊縫的需求,因此本文研究了機(jī)器人的軌跡快速規(guī)劃方法。
焊縫跟蹤需要實(shí)現(xiàn)對(duì)機(jī)器人的實(shí)時(shí)控制。LEI等[5]采用PLC向驅(qū)動(dòng)器發(fā)送脈沖信號(hào)實(shí)現(xiàn)了電機(jī)控制。外部引導(dǎo)運(yùn)動(dòng)(externally guided motion, EGM)模塊是ABB機(jī)器人的一個(gè)底層運(yùn)動(dòng)控制模塊,利用其低延遲的特性可實(shí)時(shí)引導(dǎo)軌跡。啟用EGM模塊時(shí),機(jī)器人與上位機(jī)建立UDP/UC連接,以4 ms為周期雙向傳輸數(shù)據(jù),機(jī)器人可在收到數(shù)據(jù)的10~20 ms后開(kāi)始運(yùn)動(dòng)。BALLESTER[6]研究了一種基于EGM的反饋式運(yùn)動(dòng)規(guī)劃和控制器框架,使機(jī)器人能更加靈活地操縱物體,且控制器能同步規(guī)劃雙臂軌跡進(jìn)行避障,并以250 Hz的頻率重新規(guī)劃以進(jìn)行局部調(diào)整。毛翊超等[7]將EGM用于視覺(jué)伺服控制,輔助普通相機(jī)完成高頻高精度的機(jī)器人動(dòng)態(tài)控制。本文基于三次非均勻B樣條曲線提出一種分段插補(bǔ)的軌跡規(guī)劃方法,利用EGM設(shè)計(jì)了機(jī)器人高頻控制器來(lái)實(shí)時(shí)引導(dǎo)機(jī)器人運(yùn)動(dòng),通過(guò)焊接試驗(yàn)驗(yàn)證該方法的可行性。
本文提出的軌跡規(guī)劃與高頻控制方法如圖1所示,焊縫上的型值點(diǎn)坐標(biāo)已知,按照插補(bǔ)時(shí)長(zhǎng)最優(yōu)原則確定每段焊縫的型值點(diǎn)數(shù)量,從而確定每段軌跡的長(zhǎng)度并將整條焊縫軌跡分成n段。然后利用三次非均勻B樣條曲線依次插補(bǔ)每段軌跡、得到插補(bǔ)點(diǎn),并將插補(bǔ)點(diǎn)存入一個(gè)先入先出隊(duì)列。完成第一段軌跡的插補(bǔ)后,從隊(duì)列頭部取出插補(bǔ)點(diǎn)坐標(biāo),通過(guò)EGM發(fā)送至機(jī)器人,引導(dǎo)機(jī)器人運(yùn)動(dòng)并開(kāi)始焊接,同時(shí)進(jìn)行第二段軌跡的插補(bǔ)計(jì)算并將新的插補(bǔ)點(diǎn)坐標(biāo)插入隊(duì)列尾部,直至完成整條軌跡的插補(bǔ)。
圖1 焊接軌跡規(guī)劃與高頻控制
貝塞爾曲線理論提出后,B樣條曲線以其強(qiáng)大的曲線擬合能力和優(yōu)秀的幾何特性而被廣泛用于數(shù)控機(jī)床和機(jī)器人軌跡的擬合與離散[8]。一般的樣條插補(bǔ)流程有兩種:利用型值點(diǎn)反求控制點(diǎn);直接將型值點(diǎn)作為控制點(diǎn)[9]。得到控制點(diǎn)便可定義一條B樣條曲線,然后在曲線上插補(bǔ)型值點(diǎn)。本文采用第一種方法,如圖2所示,型值點(diǎn)為焊縫型值點(diǎn)Pi(i=1,2,…),相鄰兩數(shù)據(jù)點(diǎn)X方向的距離為點(diǎn)距s。
圖2 B樣條曲線插補(bǔ)
給定次數(shù)k便定義了一條關(guān)于參數(shù)u的k次B樣條曲線函數(shù):
(1)
U=(u0,u1,…,un+k+1)
式中,u為函數(shù)的自變量;ui為型值點(diǎn)Pi參數(shù)化得到的節(jié)點(diǎn),ui∈[0,1],i=1,2,…,n+k+1;U為節(jié)點(diǎn)矢量;dj為控制點(diǎn)坐標(biāo)(xj,yj)。
第j個(gè)k次B樣條基函數(shù)為
(2)
文中規(guī)定0/0=0。
離散焊縫曲線時(shí),采用等參數(shù)Δu離散曲線的步長(zhǎng)隨曲線曲率的變化而變化。焊接過(guò)程中,焊槍一般勻速運(yùn)動(dòng),每個(gè)插補(bǔ)周期很短且步長(zhǎng)為定值,故采用等長(zhǎng)微小線段近似弧長(zhǎng),以微小線段離散曲線[10]。通過(guò)定義法求B樣條曲線的一階導(dǎo)數(shù),進(jìn)而求取每個(gè)周期內(nèi)參數(shù)u的增量Δu,再由Δu反求樣條的坐標(biāo)點(diǎn),保證每個(gè)插補(bǔ)點(diǎn)都在樣條上,避免累積誤差。由德布爾給出的導(dǎo)數(shù)公式可得曲線p(u)對(duì)于u的導(dǎo)數(shù):
(3)
樣條曲線的起點(diǎn)為點(diǎn)P,以插補(bǔ)步長(zhǎng)近似弧長(zhǎng)等長(zhǎng)度地離散曲線,即從點(diǎn)P開(kāi)始依次在曲線上取出等長(zhǎng)的小段,每段長(zhǎng)度都等于插補(bǔ)步長(zhǎng)[11]。第i個(gè)插補(bǔ)步長(zhǎng)對(duì)應(yīng)參數(shù)u的增量為
(4)
式中,l為插補(bǔ)步長(zhǎng)。
第i個(gè)插補(bǔ)點(diǎn)對(duì)應(yīng)的參數(shù)值為
uP,i=ΔuP,1+ΔuP,2+…+ΔuP,i
(5)
圖3所示的曲線焊縫可通過(guò)示教或外部傳感器獲取焊縫的特征點(diǎn)坐標(biāo),并將其作為擬合軌跡的型值點(diǎn)。長(zhǎng)焊縫的型值點(diǎn)和插補(bǔ)點(diǎn)較多,同時(shí)擬合所有型值點(diǎn)會(huì)增大上位機(jī)的負(fù)擔(dān),導(dǎo)致計(jì)算過(guò)慢甚至超出上位機(jī)的計(jì)算能力,無(wú)法得到準(zhǔn)確軌跡。
圖3 曲線焊縫軌跡
為解決這一問(wèn)題,本文采用分段插補(bǔ)方法,按照一定段長(zhǎng)將焊縫從起點(diǎn)到終點(diǎn)分成若干段(每段包含一定數(shù)量的型值點(diǎn))。依次對(duì)各段焊縫進(jìn)行插補(bǔ),并將插補(bǔ)點(diǎn)存入一個(gè)先入先出隊(duì)列,如圖4所示,EGM模塊從隊(duì)列頭部開(kāi)始讀取并調(diào)用插補(bǔ)點(diǎn)來(lái)引導(dǎo)機(jī)器人末端運(yùn)動(dòng),B樣條插補(bǔ)與EGM模塊實(shí)時(shí)引導(dǎo)位于2個(gè)線程并可同步進(jìn)行。所以本文方法不必等所有點(diǎn)的插補(bǔ)完成后再進(jìn)行運(yùn)動(dòng)控制,第一段插補(bǔ)完成后即可開(kāi)始控制機(jī)器人運(yùn)動(dòng)。
圖4 插補(bǔ)點(diǎn)先入先出隊(duì)列
第一段軌跡的插補(bǔ)用時(shí)是評(píng)價(jià)該方法優(yōu)劣性的重要指標(biāo)。插補(bǔ)分為曲線擬合和插補(bǔ)兩個(gè)步驟,插補(bǔ)時(shí)長(zhǎng)為曲線擬合用時(shí)和插值用時(shí)之和。對(duì)一條X方向長(zhǎng)度為400 mm的正弦曲線焊縫,每隔0.1 mm取一個(gè)型值點(diǎn),不同分段長(zhǎng)度下,第一段軌跡的型值點(diǎn)個(gè)數(shù)、插補(bǔ)點(diǎn)個(gè)數(shù)、擬合用時(shí)tf、插值用時(shí)ti和插補(bǔ)總用時(shí)t如表1所示。
表1 第一段軌跡的點(diǎn)數(shù)和插補(bǔ)用時(shí)
隨著型值點(diǎn)的增多,擬合用時(shí)呈幾何級(jí)數(shù)增長(zhǎng),并在總用時(shí)中占據(jù)主導(dǎo)地位,而插值用時(shí)基本呈線性增長(zhǎng),這是因?yàn)樾椭迭c(diǎn)擬合需要求解逆矩陣,而插值求解僅涉及線性運(yùn)算。EGM模塊的控制延遲受硬件條件限制,最短為48 ms,因此通過(guò)減少插補(bǔ)用時(shí)來(lái)提高軌跡規(guī)劃的實(shí)時(shí)性。每段軌跡的型值點(diǎn)過(guò)少會(huì)導(dǎo)致分段過(guò)多,影響插補(bǔ)精度。結(jié)合插補(bǔ)用時(shí)和硬件條件確定每段軌跡的長(zhǎng)度,插補(bǔ)總用時(shí)應(yīng)小于EMG模塊控制延遲,每段軌跡不宜過(guò)短,每段軌跡包含200個(gè)型值點(diǎn),每段軌跡的插補(bǔ)總用時(shí)為15.3 ms。
EGM模塊可以高速讀取機(jī)器人的運(yùn)動(dòng)信息,并向機(jī)器人寫(xiě)入控制信息。機(jī)器人每隔4 ms讀取EGM的控制點(diǎn)坐標(biāo),相鄰兩個(gè)控制點(diǎn)的距離決定了機(jī)器人的運(yùn)動(dòng)速度[5]。
機(jī)器人末端以焊接速度v由點(diǎn)Pk(xk,yk,zk)向點(diǎn)Pk+1(xk+1,yk+1,zk+1)移動(dòng),應(yīng)有插值點(diǎn)數(shù)量為
(6)
Pk與Pk+1間第j個(gè)插值點(diǎn)的坐標(biāo)Pkj(xkj,ykj,zkj)為
(7)
為驗(yàn)證EGM模塊的控制性能,基于EGM模塊的位置引導(dǎo),設(shè)計(jì)機(jī)器人的點(diǎn)到點(diǎn)運(yùn)動(dòng),測(cè)試EGM控制的速度特性、加速度特性和響應(yīng)時(shí)間特性。
通過(guò)EGM給機(jī)器人發(fā)送一個(gè)目標(biāo)點(diǎn)坐標(biāo),為便于分析,該目標(biāo)點(diǎn)距離焊槍100 mm。向目標(biāo)點(diǎn)移動(dòng)的過(guò)程中,不斷讀取并記錄焊槍的反饋位置,得到焊槍的位移-時(shí)間曲線(圖5)。向機(jī)器人發(fā)送目標(biāo)點(diǎn)坐標(biāo)后,機(jī)器人經(jīng)過(guò)控制延遲t1后開(kāi)始運(yùn)動(dòng),在經(jīng)歷一個(gè)先加速再減速的過(guò)程后到達(dá)目標(biāo)點(diǎn),加速、減速的時(shí)長(zhǎng)分別為t2和t3。
圖5 點(diǎn)-點(diǎn)運(yùn)動(dòng)的位移-時(shí)間曲線
運(yùn)動(dòng)過(guò)程中,相鄰兩點(diǎn)間的距離為Δs,則點(diǎn)Pi的速度近似為
(8)
式中,Δs1為Pi與鄰點(diǎn)Pi-1的距離;Δs2為Pi與鄰點(diǎn)Pi+1的距離。
加速度為
(9)
速度及加速度與位移的關(guān)系如圖6所示。焊槍向目標(biāo)點(diǎn)運(yùn)動(dòng)時(shí)先加速后減速,最終以相對(duì)較小的速度到達(dá)目標(biāo)點(diǎn),其中,最大加速度、最大減速度及最大速度分別出現(xiàn)在點(diǎn)P1、P2和P3處。
圖6 點(diǎn)-點(diǎn)運(yùn)動(dòng)的速度-位移曲線和加速度-位移曲線
為驗(yàn)證點(diǎn)動(dòng)模式運(yùn)動(dòng)特性隨點(diǎn)動(dòng)距離的變化關(guān)系,求取目標(biāo)點(diǎn)與焊槍當(dāng)前位置的不同距離下的焊槍最大加速度、最大速度、最大減速度,如表2所示。隨著距離的增加,焊槍的最大運(yùn)動(dòng)速度、最大加速度和最大減速度均呈增大趨勢(shì);距離超過(guò)60 mm后,點(diǎn)動(dòng)運(yùn)動(dòng)最大加速度超出機(jī)器人允許的最大加速度,EMG報(bào)錯(cuò),故一個(gè)采樣周期內(nèi)的最大步長(zhǎng)不應(yīng)超出60 mm。
表2 點(diǎn)-點(diǎn)運(yùn)動(dòng)的最大速度、加速度及減速度
為驗(yàn)證EGM能否穩(wěn)定地控制機(jī)器人焊接曲線焊縫,對(duì)點(diǎn)動(dòng)運(yùn)動(dòng)轉(zhuǎn)彎時(shí)的性能進(jìn)行測(cè)試(選取較大的運(yùn)動(dòng)速度以使測(cè)試結(jié)果更加明顯)??刂坪笜屢怨潭ㄋ俣?00 mm/s運(yùn)動(dòng),焊槍的目標(biāo)軌跡與實(shí)際軌跡如圖7所示。
圖7 焊槍的運(yùn)動(dòng)軌跡
圖7中,理論轉(zhuǎn)角為點(diǎn)R,而焊槍實(shí)際軌跡在點(diǎn)R1處便開(kāi)始偏轉(zhuǎn),并在點(diǎn)R2處重新與理論軌跡重合。從點(diǎn)R1運(yùn)動(dòng)至點(diǎn)R用時(shí)為tR1,距離為sR1;從點(diǎn)R運(yùn)動(dòng)至點(diǎn)R2用時(shí)為tR2,距離為sR2。由于控制延遲的存在,向機(jī)器人發(fā)送R點(diǎn)坐標(biāo)時(shí),焊槍的實(shí)際位置在點(diǎn)R1處。繼續(xù)向機(jī)器人發(fā)送點(diǎn)坐標(biāo),此時(shí)所發(fā)送的坐標(biāo)點(diǎn)X坐標(biāo)不變,Y坐標(biāo)線性增加。圖5中,t3階段的焊槍在X方向做減速運(yùn)動(dòng),t1階段的焊槍在Y方向做加速運(yùn)動(dòng)。
試驗(yàn)平臺(tái)主要由ABB IRB-6700機(jī)器人(安裝有EGM模塊,重復(fù)定位精度為0.1 mm)、上位機(jī)、奧太MIG-500RP焊機(jī)組成。
實(shí)時(shí)焊縫跟蹤系統(tǒng)利用外部傳感器對(duì)焊縫采樣得到型值點(diǎn)[13],本文模擬傳感器的采樣特點(diǎn)對(duì)焊縫曲線y=20sin(0.018x)采樣,每隔0.1 mm取一個(gè)點(diǎn),得到軌跡規(guī)劃的型值點(diǎn)Pn(xn,yn)。焊接速度為8 mm/s,以步長(zhǎng)0.032 mm插補(bǔ),通過(guò)EGM模塊控制機(jī)器人沿插補(bǔ)點(diǎn)運(yùn)動(dòng)并讀取機(jī)器人末端焊槍的實(shí)際位置。
非均勻B樣條分段插補(bǔ)結(jié)果如圖8所示,因?yàn)樾椭迭c(diǎn)比較密集難以在圖中全部顯示,為便于觀察,每隔80個(gè)型值點(diǎn)顯示一個(gè)型值點(diǎn),因此插補(bǔ)點(diǎn)光滑地通過(guò)型值點(diǎn)。如圖9所示,焊槍運(yùn)行平穩(wěn),實(shí)際焊縫質(zhì)量滿足焊接需求。
圖8 分段插補(bǔ)結(jié)果
圖9 實(shí)際焊接
插補(bǔ)點(diǎn)都在B樣條曲線上,因此插補(bǔ)結(jié)果對(duì)于樣條曲線不存在位置誤差。將插補(bǔ)點(diǎn)的x坐標(biāo)代入源曲線y=20sin(0.018x),插補(bǔ)誤差為y的理論值與插補(bǔ)出的實(shí)際值之差。圖10所示為分段插補(bǔ)的位置誤差,最大誤差在每段樣條曲線末尾,與總的分段數(shù)量相對(duì)應(yīng),最大誤差在±1.5×10-5mm以內(nèi)。
圖10 理論的位置誤差
利用分段插補(bǔ)方法引導(dǎo)機(jī)器人運(yùn)動(dòng),得到實(shí)際運(yùn)動(dòng)的位置誤差如圖11所示。對(duì)比圖10插補(bǔ)計(jì)算的理論誤差,可見(jiàn)插補(bǔ)誤差遠(yuǎn)小于實(shí)際運(yùn)動(dòng)的位置誤差,因?yàn)閷?shí)際運(yùn)動(dòng)的誤差不止由插補(bǔ)誤差決定,還與機(jī)器人的重復(fù)定位精度有關(guān)。采用2.2節(jié)的方法對(duì)實(shí)際運(yùn)動(dòng)速度進(jìn)行分析,得到實(shí)際運(yùn)動(dòng)的速度誤差,如圖12所示。
圖11 實(shí)際的位置誤差
圖12 實(shí)際的速度誤差
由圖11可見(jiàn)最大位置誤差不超過(guò)0.200 mm,計(jì)算得平均位置誤差為0.024 mm。由圖12可見(jiàn),實(shí)際運(yùn)動(dòng)速度在理論速度8 mm/s附近存在波動(dòng),計(jì)算得速度的平均誤差為4.36%,滿足焊接要求。
(1)本文提出了一種分段式的焊接機(jī)器人實(shí)時(shí)軌跡規(guī)劃方法,基于非均勻B樣條曲線對(duì)焊縫進(jìn)行插補(bǔ),在第一段軌跡插補(bǔ)完成后便控制機(jī)器人運(yùn)動(dòng)。該方法具有更高的實(shí)時(shí)性,將插補(bǔ)和控制總時(shí)長(zhǎng)縮短至100 ms以內(nèi)。
(2)采用EGM模塊引導(dǎo)機(jī)器人運(yùn)動(dòng),通過(guò)點(diǎn)-點(diǎn)運(yùn)動(dòng)和折線運(yùn)動(dòng)測(cè)試了EGM的實(shí)際性能。EGM的控制周期最小可達(dá)4 ms,控制響應(yīng)時(shí)間為48 ms。
(3)分段式軌跡規(guī)劃的焊接試驗(yàn)表明,機(jī)器人運(yùn)動(dòng)軌跡平滑,位置誤差在±0.2 mm以內(nèi);在提高焊接軌跡規(guī)劃實(shí)時(shí)性的同時(shí),保證了焊接質(zhì)量。