曾輝 柳賀
摘 要:本文介紹了一種針對(duì)機(jī)器人空間圓弧的插補(bǔ)方法。機(jī)器人TCP經(jīng)歷的空間任意三點(diǎn),求出空間圓弧的圓心和半徑,繼而推導(dǎo)出機(jī)器人控制系統(tǒng)中任意空間圓弧的實(shí)現(xiàn)方法,該算法不僅理論上可使所有插補(bǔ)點(diǎn)均在圓弧上,而且采用了矢量算法,避免了插補(bǔ)方向和過象限的判斷。
關(guān)鍵詞:機(jī)器人;空間圓??;插補(bǔ);矢量
中圖分類號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A 引言
機(jī)器人一般應(yīng)用于比較惡劣或人難于企及的環(huán)境以替代勞動(dòng)者完成必要的任務(wù),因而機(jī)器人的編程,很多情況下是采用示教完成的。示教過程包括把機(jī)器人移動(dòng)到幾個(gè)所要求的目標(biāo)點(diǎn)并把這些點(diǎn)的位置記錄在存儲(chǔ)器中,然后定義經(jīng)過這些點(diǎn)的曲線軌跡及速度。
當(dāng)曲線軌跡為圓弧時(shí),除了示教圓弧起點(diǎn)(機(jī)器人當(dāng)前點(diǎn)) 和終點(diǎn)外,至少還應(yīng)知道圓心或圓弧上一中間點(diǎn)。顯然,根據(jù)現(xiàn)場(chǎng)的應(yīng)用經(jīng)驗(yàn),機(jī)器人終端TCP的軌跡圓弧通常由示教的圓弧起點(diǎn)、中間點(diǎn)及圓弧終點(diǎn)決定,而這三點(diǎn)所決定的平面通常不一定平行于某一坐標(biāo)平面,因而需要研究空間任意三點(diǎn)圓弧的插補(bǔ)算法。
本研究以上述需求為出發(fā)點(diǎn),基于機(jī)器人TCP經(jīng)歷的空間任意三點(diǎn),推導(dǎo)出了機(jī)器人控制系統(tǒng)中任意空間圓弧的實(shí)現(xiàn)方法,并將該算法轉(zhuǎn)化為機(jī)器人語言進(jìn)行現(xiàn)場(chǎng)應(yīng)用。
1 由空間任意三點(diǎn)求圓弧的圓心和半徑
已知空間任意三點(diǎn)分別為圓弧起點(diǎn)P ( Xp ,Yp , Zp ) 、中間點(diǎn) Q ( Xq , Yq , Zq )和圓弧終點(diǎn)R( Xr , Yr , Zr ) ,如圖1所示。設(shè)圓心為C( Xc ,Yc , Zc) ,半徑為r ,則有:
(1)
設(shè)坐標(biāo)系 O-X Y Z 上各坐標(biāo)軸的單位坐標(biāo)矢量分別為i , j , k ,則有:
(2)
P、Q、R確定的平面I的法向量
(3)
則在平面I內(nèi)垂直于的向量為:
(4)
則在平面I內(nèi)過中點(diǎn)N1(XN1,YN1,ZN1),和垂直的直線L1為:
(5)
則在平面I內(nèi)垂直于的向量為:
(6)
則在平面I內(nèi)過中點(diǎn)N2(XN2,YN2,ZN2),和垂直的直線L2為:
(7)
直線L1和直線L2的交點(diǎn)即為所求圓弧的圓心C( Xc ,Yc , Zc),由CP、CQ、CR任一求出半徑r。
在求解過程中應(yīng)注意平行于任一坐標(biāo)平面的圓弧的處理,若L1平行于X平面,則N1i=0,若L2平行于X、Y平面,則N2i、N2j均等于0。在這些情況下都需要程序特殊處理。如圖2所示。
2插補(bǔ)算法
空間給定了起點(diǎn)、終點(diǎn)和一個(gè)中間點(diǎn)的空間三點(diǎn)圓弧的走向是確定的,因此無需用順時(shí)針和逆時(shí)針來區(qū)分。事實(shí)上,用表示空間三點(diǎn)圓弧所在平面的法矢量 n ,則從 n 的正方向看,從 P 到 Q 到R 的圓弧始終是逆時(shí)針圓弧。機(jī)器人的控制系統(tǒng)讀入此段程序后,首先求出圓心和半徑,然后再計(jì)算插補(bǔ)點(diǎn)的坐標(biāo)。
在平面I內(nèi)建立新的二維坐標(biāo)系XOY。以CP為新的Y軸,以nXCP為X軸,對(duì)X、Y分別進(jìn)行單位化,就可得到新的坐標(biāo)系O-XY到原坐標(biāo)系O-XYZ的轉(zhuǎn)換矩陣。
(7)
(8)
(9)
(10)
則轉(zhuǎn)換矩陣
(11)
這樣就把空間圓弧算法轉(zhuǎn)化為平面I的圓弧算法。
平面圓弧上的任一點(diǎn)M的O-XY坐標(biāo)系下坐標(biāo)(Xm,Ym)都能轉(zhuǎn)化為空間的O-XYZ坐標(biāo)系的坐標(biāo)(Xm,Ym,Zm)。
(12)
3 終點(diǎn)判別
圓弧插補(bǔ)的終點(diǎn)判別只需算出圓心角θ和步距角δ,以兩者的商作為插補(bǔ)次數(shù)。
圓心角θ的計(jì)算則要考慮如圖3所示的 (圓弧 PQR )和 (圓弧 PQR )兩種情況。
當(dāng)時(shí),
當(dāng)時(shí),
(14)
從圖3可以看出,當(dāng)時(shí),矢量
與圓弧所在平面的法矢量方向相同;
當(dāng)時(shí),矢量與方向相反。因而可用公式:
(15)
的正負(fù)來判斷的范圍,當(dāng)時(shí), ;當(dāng)時(shí),。式中為矢量在各坐標(biāo)軸方向上的分量。
算出δ和θ后,插補(bǔ)次數(shù)(不包括 P點(diǎn))。
4仿真分析
在空間任意給定三點(diǎn),首先算出圓心,然后根據(jù)上述算法畫出圓弧。
時(shí)的圓弧如圖4所示。
時(shí)的圓弧如圖5所示。
5機(jī)器人實(shí)現(xiàn)
對(duì)于6自由度機(jī)器人來說,通過圓弧的插補(bǔ)算法實(shí)時(shí)獲取圓弧的插補(bǔ)位置,然后經(jīng)過機(jī)器人逆解,獲得機(jī)器人的關(guān)節(jié)角度,驅(qū)動(dòng)各軸電機(jī)運(yùn)動(dòng)到相應(yīng)位置,到達(dá)TCP所要求的位置和方位,改方法成功應(yīng)用到自己開發(fā)的ER-165點(diǎn)焊與ER6弧焊機(jī)器人,經(jīng)激光跟蹤儀測(cè)定,跟隨誤差都能控制在+-0.02mm以內(nèi)。
參考文獻(xiàn)
[1] 孫樹棟.工業(yè)機(jī)器人技術(shù)基礎(chǔ)[M] 西安:西安工業(yè)大學(xué)出版社,2006.
[2] 楊橋.奇瑞QH-165點(diǎn)焊機(jī)器人焊接系統(tǒng)淺析[J] .機(jī)器人技術(shù)與應(yīng)用2010,3:10-11.
[3] 熊有倫 . 機(jī)器人技術(shù)基礎(chǔ) [ M ] . 武 漢 : 華 中理工大學(xué) 出 版社 , 1996.
[4]葉伯生 . 計(jì) 算機(jī) 數(shù) 控系 統(tǒng)原 理、 編 程 與操 作 [ M ] . 武 漢 : 華中理工大學(xué)出版社 , 1999.
[5] 秦開懷 , 金建新 , 賓 鴻贊 . CN C 系統(tǒng) 中任 意三 維橢 圓 弧的高速插補(bǔ)新方法 [ J] . 華 中理工 大學(xué)學(xué) 報(bào) , 1992, 20( 6) : 7 - 11.