李瓏

摘要:在現代產品開發設計過程中,經常會用到虛擬運動仿真技術,該技術已經成為了現代化產品設計制造中的一項關鍵技術。本文以采摘機械手的設計開發為例,對基于Jave3D和VRML的虛擬運動仿真技術的應用進行了探究,希望對相關工作能夠有所借鑒。
關鍵詞:采摘機械手;虛擬運動仿真;Java3D;VRML
DOI:10.16640/j.cnki.37-1222/t.2018.02.088
1引言
在現代產品開發設計過程中,經常會用到虛擬運動仿真技術,該技術已經成為了現代化產品設計制造中的一項關鍵技術。對采摘機械手的設計開發來說,傳統方法是先形成設計方案,然后再依據方案將機械手的所有組成零部件都試制出來,最后進行裝配。這種方式具有一個明顯的缺點,即設計中的不合理之處只有在試制出成品后才能被發現,一旦需要進行修改,那么就需要不斷重復試制過程,進而導致產品的開發成本和耗時都大幅度提升。在這種情況下,越來越多的人開始重視對虛擬運動仿真技術的運用。在方案形成環節就可以應用該技術對設計中的潛在不合理之處進行驗證,然后就可以在沒有制出實物的情況下就完成產品的修改和優化,進而就能有效保障最終制造出來的產品與設計目標相一致。本文以采摘機械手的設計開發為例,對基于Jave3D和VRML的運動仿真技術進行了研究,希望對相關產品的設計開發工作能夠有所借鑒。
2虛擬場景生成
要進行虛擬運動仿真,首先要做的就是生成虛擬場景,而當前應用最為廣泛的虛擬場景生成工具主要包括四種:OpenGL、Dkect3D、Jave3D和VRML。以上這四種工具都可以實現三維可視化建模,而且每個工具都有各自的特點,下面將對這四種工具進行分別介紹:(1)OpenGL。OpenGL是一種底層的三維圖形建模工具,具有兼容性好、開放性好、接口通用、性能穩定以及運行效率較高等優勢。采用OpenGL進行三維建模時可以借助編程實現,但編程語言較為復雜,所以會拖慢開發耗時。(2)Direct3D。Direct3D是一種基于應用對象的三維圖形編程工具,采用該工具可以繞開圖形的顯示接口,進而就極大的提升了系統的運行效率,但該工具的開發難度較大,一般主要用在游戲的建模和開發上。(3)VRML。VRML是一種虛擬化的建模語言,可以直接使用瀏覽器對建模文件進行解釋并生成三維圖形,還可以借助網絡平臺構建一個覆蓋全球的虛擬世界。這種語言的優勢是便于和其他工具聯合使用,進而使得其虛擬建模的效果得到更大提升。(4)Java3D。Java3D是一種跨平臺的圖形開發工具,它是在Java的基礎形成的,可以提供比較完善的三維編程語言,這種語言的優勢是形式簡單,利于很快上手,因此被廣泛用作虛擬環境的開發工具。
比較以上虛擬開發工具后發現:OpenGL圖形的顯示速度較快,而且其建模效果也非常逼真,但因為編程語言較為復雜和不易掌握的緣故,所以開發耗時比較大;Direct3D主要被用在游戲開發中;VRML文件格式較小,可以借助傳感器來進行虛擬環境的交互,但場景在改變時需要執行解釋操作,交互性較差。根據對這些虛擬場景生成技術的優劣點進行綜合比較后決定,本研究采用Java3D為主、VRML為輔的方法,對采摘機械手(如圖1所示)作業的虛擬環境進行建模。
采摘機械手的虛擬交互系統是根據農業操作人員的需求開發的,借助瀏覽器來將用戶的需求進行顯示并進行實時交互。
3軌跡規劃和碰撞仿真模型
當對機械手的作業場景完成虛擬建模后,就需要對機械手的運動軌跡進行仿真計算,以驗證機械手是否可以按照設計軌跡動作。如果機械手是通過連續的位置點,那么就可以用逆運動學原理將中間點轉為期望的關節角度,然后計算每個關節的三次多項式,最后再依據新的路徑約束條件來求解多項式。
對于采摘機械手的運動仿真來說,碰撞檢測是其中非常重要的一項內容,是保障采摘機械手在作業時可以成功規避障礙物的基礎。Java3D提供了碰撞仿真的兩個類,即Wake on CollisionEntry和Wake on CollisionExit。當發現虛擬場景中的兩個檢測對象出現碰撞問題時,Wake on CollisionEntry被喚醒,而當碰撞結束后,Wake on CollisionExit被喚醒。
用戶在使用過程中,可以根據采摘機械手的實際應用情景創設虛擬場景,然后將其傳送到服務器端。VRML場景中的虛擬模型位置和方向可以被轉換成便于碰撞檢測的文件。同時,還可以利用Sweep and Prune算法對相隔很遠的物體進行剔除,然后在應用相交原理進行精確的碰撞檢測。當仿真檢測到碰撞后,系統會將相關信息反饋給用戶端,然后由用戶端進行相應的操作,最后再對模型的位置和方向信息進行更新。
4運動仿真
上文對基于Jave3D和VRML技術的采摘機械手運動仿真的可行性進行了探究,并討論了用三次多項式來表示運動軌跡模型的方法。根據這一理論,采用Java軟件并結合VRML技術,可以采用面向對象的方式對機械手進行建模。在此基礎上,通過對機械手的運動軌跡進行仿真來達到優化設計的目的。在仿真過程,可以利用Java3D提供的API來對虛擬場景進行交互式仿真,并根據軌跡規劃來實現對運動軌跡的追蹤。最后,使用該理論進行運動仿真還可以對機械手的運動性能參數進行捕捉,從而實現對仿真結果可靠性的驗證。