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