遠(yuǎn)程測量系統(tǒng)中三坐標(biāo)測量機的仿真操作實現(xiàn)
來源:測量知識網(wǎng)站http://www.hikaribussan.com
1.引言
互連網(wǎng)的出現(xiàn),打破了信息傳遞在時間和空間距離上的限制,使操作者有可能在任何時間、任何地點對任何設(shè)備進(jìn)行操作,為真正的遠(yuǎn)程控制和操作提供了技術(shù)平臺。隨著互聯(lián)網(wǎng)的飛速發(fā)展,基于互聯(lián)網(wǎng)的遠(yuǎn)程操作系統(tǒng)正成為一個重要的前沿課題,在國內(nèi)外引起了廣泛的重視。
各類基于互聯(lián)網(wǎng)的遠(yuǎn)程操作系統(tǒng)具有一些共同的特點:整個系統(tǒng)由本地端、遠(yuǎn)程端和互聯(lián)網(wǎng)三部分組成。操作者在本地端通過本地端計算機發(fā)出操作指令,指令經(jīng)過互聯(lián)網(wǎng)傳送到遠(yuǎn)程端服務(wù)器,由遠(yuǎn)程端服務(wù)器控制被操作對象完成操作者指定的任務(wù),最后,遠(yuǎn)程端服務(wù)器將指令的執(zhí)行結(jié)果以一定形式傳送到本地端,使操作者能掌握指令的執(zhí)行情況和作業(yè)現(xiàn)場的環(huán)境,從而能夠作出進(jìn)一步的操作指令。這樣,就實現(xiàn)了操作者對被操作對象的遠(yuǎn)程操作。被操作對象所攜帶的傳感器以及部署在被操作對象周圍的傳感器對環(huán)境的感知信息構(gòu)建成作業(yè)現(xiàn)場的反饋信息,操作者在反饋信息的輔助下,具有了一定程度的臨場感,從而可以異地操縱在作業(yè)環(huán)境中的被操作對象完成作業(yè)任務(wù)。
2.系統(tǒng)結(jié)構(gòu)
北京理工大學(xué)機電一體化中心研究課題----基于互聯(lián)網(wǎng)的遠(yuǎn)程測量和操作的基礎(chǔ)研究,以三坐標(biāo)測量機為操作對象對基于互連網(wǎng)的遠(yuǎn)程操作進(jìn)行研究,以期構(gòu)建一個高效的遠(yuǎn)程測量系統(tǒng)并得到一些適用于遠(yuǎn)程測量和操作的結(jié)論或方法。
該系統(tǒng)的基本結(jié)構(gòu)如圖1所示,是一個采用預(yù)測/預(yù)演和局部自主控制相結(jié)合的控制策略的遠(yuǎn)程測量系統(tǒng)。系統(tǒng)啟動時會在本地機上生成仿真三坐標(biāo)測量機,仿真三坐標(biāo)測量機是以三坐標(biāo)測量機為原型建立起來的三維立體模型,其作用是:在本地機給真實三坐標(biāo)測量機發(fā)送操作指令前,預(yù)演操作者發(fā)出的指令,預(yù)測并動畫顯示真實測量機在指令的執(zhí)行過程中和執(zhí)行完畢后各部件的位置或姿態(tài),給操作者提供指令執(zhí)行情況的視覺參考,確保操作指令的正確性和有效性。操作者可以在本地機操作界面連續(xù)地發(fā)出指令,經(jīng)仿真三坐標(biāo)測量機預(yù)演并確認(rèn)無誤的指令被發(fā)送到遠(yuǎn)程端的真實設(shè)備。實際上就是讓三坐標(biāo)測量機在一定的時延后重復(fù)仿真三坐標(biāo)測量機的動作。
在系統(tǒng)啟動后的初始化過程中,真實三坐標(biāo)測量機和仿真測量機分別處于各自的初始位置;仿真工件也會在這個過程中生成,它在仿真環(huán)境中位置與真實工件在作業(yè)環(huán)境的位置相對應(yīng)。在測量開始前,測量機的測頭根據(jù)本地端傳來的指令作大范圍的調(diào)整,選擇合適的測量方位。一旦定位完成,控制器從操作者發(fā)來的測量指令中提取測頭運動的方向信息,由測量機根據(jù)該方向信息自主地進(jìn)行測量,從而最終實現(xiàn)了操作者對三坐標(biāo)測量機的操作。
3.仿真環(huán)境生成
預(yù)測/預(yù)演仿真環(huán)境是在VC++6.0的環(huán)境調(diào)用OpenGL函數(shù)庫編制而成的。仿真環(huán)境的建立主要包括:仿真三坐標(biāo)測量機的幾何建模、運動學(xué)建模和仿真工件的生成。
3.1幾何建模
幾何建模的過程就是用一些基本的幾何體構(gòu)建復(fù)雜的仿真三坐標(biāo)測量機的過程,使得仿真三坐標(biāo)測量機跟真實的三坐標(biāo)盡量一致,這樣才能實現(xiàn)仿真的目的。
OpenGL函數(shù)庫提供了很強的圖形功能,包括一些三維實體的繪制函數(shù),如球、多面體等實體的繪制函數(shù)。在構(gòu)建復(fù)雜模型時,可以使用OpenGL提供的比較簡單的形體直接構(gòu)建;也可以用圖形建模軟件先構(gòu)造一些稍復(fù)雜的形體,然后再用這些形體去構(gòu)建模型。第一種方法由于可用的基本形體過于簡單并且受所提供種類的限制,在完成比較復(fù)雜的建模工作時,工作量比較大,而且搭建的模型有時會顯得粗糙,與真實物體相差較大,該方法適合于構(gòu)建部件形體比較簡單的仿真模型。第二種方法利用了現(xiàn)有的一些建模軟件(如AutoCAD、3dMAX等)強大的三維繪圖能力,能完成對較復(fù)雜的部件的建模,并保存為一定格式的文件(如DXF、3ds格式)。然后從圖形文件中提取幾何形體的數(shù)據(jù),用OpenGL函數(shù)進(jìn)行繪制,即可在仿真環(huán)境中得到較復(fù)雜的部件模型,再用這些部件構(gòu)建仿真模型。采用這種方法,可以得到與實際形體更為接近的仿真模型,但是由于要從CAD文件中提取幾何參數(shù),需要編制專門的CAD文件語法分析程序,工作量很大。適用于部件形體復(fù)雜,用簡單幾何形體無法構(gòu)建的模型。由于三坐標(biāo)測量機各部件的形狀都比較規(guī)則,接近于簡單的形體,所以我們在構(gòu)建仿真模型時采用了第一種方法,整個仿真模型由長方體、圓柱體和球三種簡單形體構(gòu)建而成。為了保證模型的準(zhǔn)確性,模型的各部件尺寸與真實測量機相應(yīng)部件的尺寸遵照嚴(yán)格的比例,以使仿真測量機的工作空間與真實測量機的工作空間嚴(yán)格對應(yīng)起來。
3.2運動學(xué)建模
仿真三坐標(biāo)測量機的一些部件能夠進(jìn)行空間運動,以調(diào)整探針至合適的測量位置并完成測量任務(wù)。做三坐標(biāo)測量機的運動學(xué)分析,就是要在三坐標(biāo)測量機的各部件建立坐標(biāo)系并分析這些坐標(biāo)系之間的位置或姿態(tài)關(guān)系。從三坐標(biāo)測量機的工作臺到探針之間共有5個移動或轉(zhuǎn)動關(guān)節(jié),依次分別是:Y、X、Z方向的移動Ty、Tx、Tz和測頭繞Z軸的轉(zhuǎn)動Rz以及探針在豎直平面內(nèi)轉(zhuǎn)動Rh,整體上可以看作是一個關(guān)節(jié)鏈。在分析關(guān)節(jié)鏈中部件之間的運動關(guān)系時,常用的方法是Denavit和Hartenberg提出的為每一部件建立附體坐標(biāo)系的矩陣方法(簡稱D-H法)。用D-H法對測量儀進(jìn)行分析時先要對測量儀的各部件進(jìn)行編號。將固定的工作臺定為0,然后從工作臺到探針依次遞增順序編號;對各關(guān)節(jié)也依次作編號,i=1,2,……,n(n為自由度數(shù)),每個關(guān)節(jié)只有一個自由度。接下來對每個部件在關(guān)節(jié)處建立正規(guī)的笛卡兒坐標(biāo)系。當(dāng)關(guān)節(jié)i運動時,部件i將相對于部件i-1運動。若用Ti表示部件i到部件i-1的變換矩陣,用Ti0表示部件i坐標(biāo)系到部件0(工作臺)坐標(biāo)系的變換矩陣,則有Ti0=T1T2……Ti,由此可以得到各部件相對于工作臺的變換矩陣。只要實時給出每個關(guān)節(jié)的參數(shù),就能實時計算出各部件的位置和探針的姿態(tài),從而能正確繪制各部件,完成對測量儀的實時模擬。為此,我們專門設(shè)立了一些位置變量,用這些變量組成各關(guān)節(jié)的變換矩陣,只要改變位置變量的值,就能改變相應(yīng)關(guān)節(jié)的變換矩陣,實現(xiàn)仿真部件的正確運動。
3.3工件的生成
為了實現(xiàn)仿真三坐標(biāo)測量機的仿真測量功能,還必須在仿真環(huán)境中生成欲測量的工件模型。工件模型往往是在一些CAD系統(tǒng)中生成并被保存到一定格式的文件中的。Autodesk公司的CAD軟件AutoCAD在微機CAD市場已處于主導(dǎo)地位,由其制定的并推廣的DXF圖形數(shù)據(jù)交換文件格式已成為事實上的工業(yè)標(biāo)準(zhǔn)。DXF大多是ASCII碼文件,一般分為6個部分:
a) HEADER部分:包含了圖形的通用信息,諸如圖形所處的空間范圍、CAD版本號等,大部分信息對于非CAD應(yīng)用程序沒有什么價值,有時可將其忽略。
b) CLASSES部分:包含了應(yīng)用自定義類的信息,這些類將在BLOCK、ENTITIES和OBJECTS部分被引用。
c) TABLES部分:定義特定的通用常量,如繪圖“層”,觀察角度和距離,坐標(biāo)系以及尺寸風(fēng)格。
d) BLOCKS部分:按名字定義實體組,同時可以包含實體。
e) ENTITIES部分:通過使用點、線、圓、弧等定義實體,圖形的具體信息大部分都位于此部分。
f) OBJECTS部分:包括了圖中的非圖形對象。非實體、非符號表的所有對象都存儲在這部分。
在DXF文件中,每種信息都是通過組碼和緊隨其后的組值一起來表示的。組碼是一些具有特殊意義的數(shù)字,規(guī)定其后組值的類型。組值可以是整數(shù)、浮點數(shù),也可以是字符串,表示某一信息的具體的值。
圖形的具體信息大部分都保存在文件的Entities部分,而該部分又是由一系列Entity(實體)的信息組成的,只要提取到所有Entity的信息,我們就得到了該圖形的所有的幾何信息。
為了從DXF文件中提取工件的幾何信息數(shù)據(jù),我們編寫了DXF文件的語法分析器。首先我們定義Vertice類用于存儲實體的單個頂點的坐標(biāo),定義FaceIndex類用于保存每個面由哪幾個頂點組成的信息。在此基礎(chǔ)上我們又定義Entity類用來存儲整個圖形中某一實體部分的信息,該類包含了一個以Vertice為元素的動態(tài)數(shù)組,并包含一個以FaceIndex為元素的動態(tài)數(shù)組,因此,該類包含了圖形中該實體部分的所有頂點的坐標(biāo)信息以及組成該實體部分的所有面的頂點的順序信息。在研究中,我們建立了一個以Entity類為節(jié)點的鏈表,每完成一個實體部分幾何信息的提取后就把在信息提取過程中生成的該實體部分對應(yīng)的Entity類的對象加入鏈表中,這樣,當(dāng)整個圖形的幾何信息提取完畢時所有的信息都已存入到了該鏈表中,我們只要遍歷鏈表并按其中的信息進(jìn)行繪制,就能在仿真環(huán)境中得到工件模型。
4.結(jié)論
本文介紹了基于預(yù)測/預(yù)演策略的遠(yuǎn)程測量系統(tǒng)中仿真三坐標(biāo)測量機幾何建模、運動學(xué)建模方法及其實現(xiàn)方法,還介紹了從DXF格式文件中讀取幾何信息在仿真環(huán)境中生成仿真工件的實現(xiàn)方法。在仿真環(huán)境下,操作者可以隨意調(diào)整觀察角度,在一定范圍內(nèi)調(diào)整觀察的距離。仿真三坐標(biāo)測量機可以實時接受并響應(yīng)操作者的指令,模仿真實的三坐標(biāo)測量機運動,給操作者以視覺上的參考,并能輸出預(yù)演后的指令,達(dá)到了仿真的目的。