郭科,楊煜普
(上海交通大學,上海 200240)
超聲無損檢測中探頭姿態(tài)的控制方案
郭科,楊煜普
(上海交通大學,上海 200240)
針對航空航天領域的復雜曲面的復合材料的檢測需求,設計一套5軸聯(lián)動的檢測裝置,根據(jù)Denavit-Hartenberg(D-H)方法推導出模型的運動學方程,然后利用Rhino軟件獲取物體表面各離散點的坐標及法向量信息,最終根據(jù)運動學方程的逆解控制檢測裝置各關節(jié)的移動量,實現(xiàn)復雜曲面掃查。
超聲檢測;D-H 方法;運動學正解與逆解;矩陣變換; Rhino
在現(xiàn)代工業(yè)領域中,各種金屬和非金屬結(jié)構(gòu)的構(gòu)件廣泛應用于汽車、風能、航空航天等領域中,假設這些構(gòu)件自身存在缺陷,輕則導致系統(tǒng)無法正常運行,重則導致嚴重事故,造成不可挽回的人員傷害和經(jīng)濟損失。無損探傷技術作為檢測產(chǎn)品質(zhì)量的重要手段,保證了材料、零件的可靠性對提高生產(chǎn)效率、降低生產(chǎn)成本起到重要作用,因此越來越受到人們的重視。超聲檢測由于其檢測的快速性、安全性及被測對象范圍廣等特點,成為應用最廣泛的一種無損檢測技術[1]。但為了符合現(xiàn)代生產(chǎn)的高效需求,僅僅具備超聲子系統(tǒng)是不夠的,自動化控制系統(tǒng)在整個檢測系統(tǒng)中也是不可或缺的一部分,設備的操控性和檢測結(jié)果的準確性、可靠性都依賴于自動化控制系統(tǒng)。
在超聲檢測中,要求超聲波的聲束方向要與被檢測物體的法線方向保持一致,使得聲束垂直入射,缺陷回波和底面回波能沿原路徑返回,這樣才能保證實現(xiàn)一種高精度,高可靠性的檢測。如見圖1所示聲束入射角與界面波信號衰減關系。橫坐標為入射角度,縱坐標為界面波幅值。
圖1 聲束入射角與界面波衰減關系
在超聲檢測的傳統(tǒng)領域,大量的板材,棒材和盤環(huán)件需要檢測,對于這種形狀十分規(guī)則的材料,掃查軌跡也相對簡單,如圖2所示。其中X軸為掃查軸,Y軸為步進軸。
圖2 規(guī)則形狀物體的掃查軌跡
對于這種應用,只需在掃查之前,根據(jù)超聲的回波信號調(diào)整好探頭的姿態(tài),在掃查過程中超聲探頭是不需要動態(tài)調(diào)整的。但近年來航空、航天領域的發(fā)展勢頭迅猛,需要檢測一些復雜曲面的復合材料,這就要求在掃查過程中,探頭姿態(tài)根據(jù)被測物體的曲面進行型面追蹤檢測。如圖3所示。
圖3 復雜型面的被檢測構(gòu)件
通常的工程解決方案是將被檢測物體分成若干區(qū)域,各區(qū)域的檢測區(qū)域沒有曲率變化,這種檢測方式的缺點是效率低下,適應性差,對曲率變化較大的區(qū)域無法檢測。浙江大學江鍵等人針對大型復雜曲面工件,提出一種基于模板的掃查方法[2]。該方法首先對第一個工件表面進行采樣,重構(gòu)生成曲面模型,再通過仿型測量修正曲面建模,生成高精度CAD模板。下一個掃描工件在合理獲取少量測量點后,根據(jù)模板曲面的幾何性質(zhì)進行精確重定位。重建CAD模型后,根據(jù)掃查間隔將CAD模型離散化,最后通過逆向求解運動學方程,將曲面上的點坐標轉(zhuǎn)化為檢測機械手各關節(jié)的運動坐標。這種方式一定程度上確實解決了復雜型面的檢測問題,但建立模板時特征點的選取,效率低,并且需要多次優(yōu)化才能得到精確的模型,對設備使用方的提出較高要求,無法滿足現(xiàn)代化生產(chǎn)需求。絕大多數(shù)情況下,客戶是擁有被檢測物體的3D模型的,本文提出一種基于Rhino軟件,研究快速獲取被檢測物體表面法向量的算法,并根據(jù)檢測機器手的逆運動學方程,得到探頭的姿態(tài)控制方程,最終實現(xiàn)復雜型面的快速掃描,提高生產(chǎn)效率。
我們知道空間中的一個點只有3個自由度,即在參考坐標系中沿X、Y、Z三個直角坐標系方向的移動自由度,但在空間中的剛體卻有6個自由度,除了上述3個自由度,還有分別繞X/Y/Z軸旋轉(zhuǎn)的自由度。因此,要正確的描述空間中剛體的位置信息,就需要知道物體坐標系原點在參考坐標系中的位置,以及物體坐標系關于這3個參考坐標系的姿態(tài),共6條獨立的信息來描述。所以我們用公式1的矩陣來表示剛體在空間中的位置信息[3]30。
(1)
其中前3行*3列為剛體的姿態(tài)信息,最后一列為剛體的位置信息。
3.1 檢測機械手模型及其D-H參數(shù)表
為了檢測曲面模型,我們設計一個具有5個自由度的機械裝置,示意圖如圖4所示,在進行D-H建立各個關節(jié)的坐標系時,我們作出如下規(guī)定:
圖4 檢測裝置示意圖及各關節(jié)坐標系
1)如果為直線運動關節(jié),Z軸為沿直線運動的方向;如果是旋轉(zhuǎn)關節(jié),Z軸為根據(jù)右手旋轉(zhuǎn)規(guī)則拇指指向的方向。
2)當前關節(jié)的X軸為當前關節(jié)與前一關節(jié)Z軸之間公垂線方向。如果兩關節(jié)Z軸平行,公垂線有無數(shù)條,取與前一關節(jié)公垂線共線的一條。如果兩關節(jié)Z軸相交,沒有公垂線,可將垂直于兩條Z軸構(gòu)成的平面的直線作為X軸。
根據(jù)以上規(guī)則得到系統(tǒng)的D-H參數(shù)表如表1所示。
表1 系統(tǒng)的D-H參數(shù)表
相鄰坐標系轉(zhuǎn)換的變換矩陣見公式2[3]57
(2)
根據(jù)公式2 建立檢測機械模型的運動學方程:
(3)
3.2 運動學方程的正解和逆解
運動學方程正解就是根據(jù)檢測機械各關節(jié)的移動變量,得到探頭終端的位置和姿態(tài);而運動學逆解就是根據(jù)探頭終端的位置和姿態(tài),得到檢測機械各關節(jié)的變量值。
根據(jù)式3,可得到此檢測機械的運動學方程正解為:
(4)
同樣根據(jù)式3,可得到此檢測機械的運動學方程逆解:
(5)
在此項目中,我們需要根據(jù)被測材料的形面特征來調(diào)整各個關節(jié)的變化量,顯然我們更關心的是運動學方程的逆解。
3.3 基于Rhino軟件獲取探頭終端的位置和姿態(tài)
3.3.1 Rhino 軟件介紹
Rhino是美國Robert McNell & Associates公司開發(fā)的專業(yè)三維造型軟件,廣泛應用于工業(yè)制造、科學研究以及機械設計等領域。Rhino建立的所有物體都是由平滑的NURBS曲線或曲面組成[4]。Rhino自帶參數(shù)化編輯腳本程序,通過參數(shù)的調(diào)整直接改變模型形態(tài),或能輕松提取這些形態(tài)的精確信息。本論文中就要借助于Rhino強大功能獲取物體表面的各離散點的空間坐標及法向量信息。
3.3.2 在Rhino中獲取曲面離散點的位置和法向量
由于Rhino軟件建立的曲面模型都是NURBS曲面,NURBS表面含有矩形的UV曲線網(wǎng)格,當對一個曲面S進行操作時,一般也將它劃分為UV單元格,每一個(U,V)坐標都對應于三維歐式空間中一點(X,Y,Z)。在RhinoScript中編寫如下腳本獲取曲面離散點的空間坐標及其法向量:
CallMain()
SubMain()
arrOrigin=Rhino.GetPoint("Plane origin")
If IsArray(arrOrigin) Then
arrPlane = Rhino.ViewCPlane
If IsArray(arrPlane) Then
Rhino.ViewCPlane Rhino.CurrentView, Rhino.MovePlane(arrPlane, arrOrigin)
End if
End if
Strsurface=rhino.GetObject("Please select Surface", 4 + 8)
If IsNull(strsurface) Then Exit Sub
secu = 100
secv = 100
Udomain = rhino.SurfaceDomain(strsurface, 0)
Vdomain = rhino.SurfaceDomain(strsurface, 1)
Rhino.Print "Domain in U direction: " & CStr(Udomain(0)) & " to " & CStr(Udomain(1))
Rhino.Print "Domain in V direction: " & CStr(Vdomain(0)) & " to " & CStr(Vdomain(1))
For i=0 To secu
For j=0 To secv
Uparam=Udomain(0)+i* ((Udomain(1) - Udomain(0)) / secu)
Vparam=vdomain(0)+j * ((Vdomain(1) - Vdomain(0)) / secv)
arrpoints=rhino.EvaluateSurface(strsurface, array(uparam, vparam))
arrnormals=rhino.SurfaceNormal(strsurface, array(uparam, vparam))
Collec(i, j) = arrpoints
Normal(i, j) = arrnormals
Rhino.Print rhino.Pt2Str(Collec(i, j))
Rhino.Print rhino.Pt2Str(Normal(i, j))
Next
Next
End Sub
其中3~9行指定檢測物體坐標系的原點;10~11行指定
檢測物體的檢測面;15~18行返回檢測面在指定U V方向上的域;19~31行根據(jù)參數(shù)secu和secv將整個平面離散化并返回各個點的空間坐標及其法向量。注意在第10步指定檢測面的時候一定要選取檢測面的反面,這樣才能保證得到的法向量跟探頭方向一致。法向量僅僅是對應姿態(tài)矩陣(公式(1))中nx,oy,az三個分量信息,但姿態(tài)矩陣是有下列約束條件的:
(1)個向量n、o和a向量相互垂直。
(2)每個由方向余弦表示的單位向量的長度必須為1。
由這些約束條件可轉(zhuǎn)化為6個約束方程,就可以解出完整的姿態(tài)矩陣。
以上步驟得到在指定的物體坐標系中的各個點的坐標和姿態(tài),還需要轉(zhuǎn)化為檢測坐標系中坐標和姿態(tài),才能根據(jù)逆運動學方程-式(5)得到檢測機械各關節(jié)的運動位置,所以要求出檢測坐標系與物體坐標系之間的變化矩陣M。
對于兩個坐標系之間的變化矩陣,我們在這里不做詳細推導,直接給出轉(zhuǎn)化關系如下:
(6)
r11=cosβcosγ,r12=cosβsinγ,r13=-sinβ,
r21=sinαsinβcosγ-cosαsinγ,r22=sinαsinβsinγ-cosαcosγ,
r23=sinαcosβ,
r31=cosαsinβcosγ+sinαsinγ,
r32=cosαsinβsinγ-sinαcosγ,
r33=cosαcosβ
其中α,β,γ為繞X,Y,Z軸的旋轉(zhuǎn)角.
需要得到變化矩陣,即求解α,β,γ,ΔX,ΔY,ΔZ6個未知量[5]。
為了求坐標系間的轉(zhuǎn)化參數(shù),通常使用檢測機械利用超聲的測距原理選取被測工件的3個特征點Pi(i=0,1,2),然后在Rhino 3D模型曲面上取3個位置完全對應的點,Qj(j=0,1,2),使用文獻6中的基于羅德里格矩陣的轉(zhuǎn)換方法,就可以得到兩個坐標系之間的旋轉(zhuǎn)矩陣R, 平移矩陣可以根據(jù)公式T=P0-RQ0得到[6]。
本文針對復雜曲面的復合材料的檢測,設計一套5軸聯(lián)動的檢測裝置模型,并推導出此檢測模型的正逆運動學方程,提出使用Rhino軟件獲取檢測面的空間坐標及法向量的新方法,極大地簡化建模的過程,提高生產(chǎn)效率。
[1] 張旭輝,馬宏偉.超聲無損檢測技術的現(xiàn)狀和發(fā)展趨勢[J].無損檢測,2002,40(455):24-26.
[2] 江健.航空構(gòu)件一體化超聲成像檢測的若干關鍵技術研究.[D].浙江:浙江大學,2005.
[3] SAEED B NIKU.機器人學導論[M].孫富春,譯. 北京:電子工業(yè)出版社,2013.
[4] 王文棟.Rhino Script參數(shù)建模[M]. 北京:中國青年出版社,2011.
[5] 胡宏偉,李雄兵,倪陪君,等 復雜型面工件超聲自動檢測中的匹配定位方法[J].中國機械工程,2012,23(2) :195-198.
[6] 張卡,張道俊,盛業(yè)華,等 三維坐標轉(zhuǎn)換的兩種方法及其比較研究[J].數(shù)學的實踐與認識,2008,38(23):121-128.
The Control Scheme for Probe Posture in Ultrasonic Nondestructive Testing
Guo Ke, Yang Yupu
(Shanghai Jiao Tong University, Shanghai 200240, China)
To meet the requirement for testing composite materials with complex surfaces in the aerospace field, this paper designs a 5-axis testing device. The kinematical equation of the model is deduced in the Denavit-Hartenberg (D-H) method. Then, the coordinates and normal vector information of discrete points on the surface of the object are obtained by use of Rhino software. Finally, amounts of movement of the joints of the inspection device are controlled through inverse solution of kinematical equation to realize scanning of complex surfaces.
ultrasonic testing; D-H method; forward kinematics and inverse kinematics;matrix transformations;Rhino
10.3969/j.issn.1000-3886.2017.01.025
TP273.5
A
1000-3886(2017)01-0084-04
郭科(1981-),男,江蘇溧陽人,碩士生,主要從事工業(yè)自動化研究。 楊煜普(1957-),男, 河南洛陽人,教授, 研究方向:經(jīng)網(wǎng)絡、智能控制。
定稿日期: 2016-07-21