任俠
摘要:在機器人中,機械臂為主要執(zhí)行機構,對機械臂運動仿真進行分析具有重要意義。使用仿真技術實現(xiàn)參數(shù)設置、調試等工作能夠提高效率,有效節(jié)約成本。目前,虛擬技術能夠創(chuàng)建三維環(huán)境,并且和外界實時交互,被廣泛應用到機械臂仿真領域中。以此,本文就對Java 3D虛擬現(xiàn)實技術背景下機械臂運動仿真進行分析。
關鍵詞:Java3D虛擬現(xiàn)實技術;機械臂;運動仿真
虛擬現(xiàn)實VR在機器人系統(tǒng)中使用就是通過三維建模軟件創(chuàng)建機器人和環(huán)境物體三維模型,使用三維圖形仿真技術實現(xiàn)真實三維場景的創(chuàng)建,對機器人環(huán)境和本體進行幾何建模,以此為機器人控制系統(tǒng)提供觀察、研究的平臺。利用虛擬仿真能夠對機器人所達到空間范圍、周圍環(huán)境、運動狀態(tài)的關系進行預知,降低實際運行意外事故,并且使運行效率得到提高。本文通過實驗創(chuàng)建機械臂仿真系統(tǒng),實現(xiàn)機械臂的運動仿真。
1 機械臂三維形體造型
Java3D為三維領域中Java語言的擴展,為純粹面向對象結構。Java3D場景圖為DAC,也就是具備方向性的不對稱圖形。三維形體為Java3D編程過程中的主要對象,包括三種方式生成需求三維形體:通過Java3D所提供用于編寫點線面的類生成點線面對象;利用調用外部其他格式三維圖形文件,實現(xiàn)復雜三維形體對象的生成;利用Utility生成形體geometry classes,Java3D具備基本形體和編寫點線面對象應用,此可用在程序中創(chuàng)建簡單形體,但是無法實現(xiàn)復雜形體。利用調用其他格式三維圖形文件得到復雜形體,比如直接調用Lightwave格式與VRML2.0格式的三維圖形文件,或者利用處理對DXF、DEG、3DS等格式三維圖形文件,此格式三維模型能夠在Ja-va3D程序中使用。
2 機械臂運動仿真的實現(xiàn)
2.1 遙操作VR系統(tǒng)結構
系統(tǒng)使用瀏覽器/服務器(BIS)模式,用戶界面利用WWW瀏覽器實現(xiàn),在前端實現(xiàn)部分事務邏輯,大部分在服務器端實現(xiàn)主要事務邏輯,在服務器中存儲數(shù)據與應用程序,通過瀏覽器軟件登錄服務器實現(xiàn)客戶端運行程序。服務器和機器人相互連接,機器人通過單片機進行控制,單片機利用串行口RS-232通信對數(shù)據發(fā)送和接收,對機械臂運動控制。
在瀏覽器客戶端,瀏覽器對操作者提供文字、圖像等提示信息的操作環(huán)境與良好界面,操作界面使用切換方式實現(xiàn)不同顯示模式。在預顯示模式中,虛擬機器人將機械臂各關節(jié)理想運行軌跡演示;在遙現(xiàn)模式中,操作員能夠監(jiān)控操作現(xiàn)場,并且實現(xiàn)意外誤差診斷。
2.2 機械臂運動學建模
機械臂是通過一系列關節(jié)連接連桿構成,為了對末端執(zhí)行器位姿描述,能夠在每個連桿中固連的坐標系,對連桿坐標系關系進行描述。要想知道目標物體在第i個連桿坐標系中位置ip,物體在基坐標系中位置op的表達式為:
i-1Ai指的是第i個連桿相對于第i-1個連桿位姿。
以此表示,兩桿之間位姿矩陣能夠得到手部位姿矩陣,并且和兩桿的結構參數(shù)、運動參數(shù)、運動方式相關。每個連桿都通過四個變量進行描述,連桿長度為ai,連桿轉角為ai,關節(jié)角為θi,連桿偏距為di。
常用確定機械臂連桿位姿矩陣的方法為D-H法,相鄰兩個坐標系Xn-zn和xn+1和xn+1-zn+1的變換矩陣表示為:
機械臂運動學方程就是創(chuàng)建機械臂末端手爪相當于基坐標位姿,也就是將上述連桿間距位姿矩陣通過基坐標系乘以末端連桿坐標系順序,從而得到運動學方程。機械臂使用關節(jié)型結構保證結構的布局合理、輕巧簡單。
2.3 機械臂運動仿真分析
實現(xiàn)機械臂運動學分析之后,能夠在Java中開展四自由度機械臂正逆運動學的仿真。使用Java Swing技術所開發(fā)運動學仿真界面和具體運動學仿真模塊。在機械臂末端位置為(800,0,349)的時候,仿真能夠得到四個關節(jié)角度值為0.000,-45.007,-67.229,22.236。圖3為機械臂運動學仿真分析,以下為運動學仿真的實現(xiàn)代碼。
public class Joint_move{
public Point3f Forwardkinematics(float L[],float Angle[],float n[],float o[],float a[],float RPY[]){
Point3f P=new Point3f();
P.x=c1*(L[1]*c2+L[2]*c23+L[3]*c234);
P.y=s1*(L[1]*c2+L[2]*c23+L[3]*c234);
P.z=L[1]*s2+L[2]*s23+L[3]*s234;
return P;}}
3 結束語
機械臂為機器人主要執(zhí)行機構,在應用領域不斷擴大的過程中,其所承擔的任務復雜性也不斷增加,對于其要求不斷提高。機器人仿真研究為機器人學界重點領域,機械臂三維運動仿真為機器人仿真中的主要部分。通過本文分析表示,利用虛擬現(xiàn)實技術與Java技術生成機械臂實體和仿真環(huán)境,在此虛擬環(huán)境中實現(xiàn)修改和實驗,能夠對機器人工作原理、碰撞檢測與軌跡策劃,有效節(jié)約成本和時間,對于機器人技術的開發(fā)具有指導性的建議。
參考文獻
[1]王亞平,姚春梅,張永.虛擬現(xiàn)實技術對機械臂的操控性研究[J].商情,2018(14):197.
[2]高國雪,高輝,焦向東,等.墓于 Unity3D的焊接機器人虛擬現(xiàn)實仿真技術研究[J].組合機床與自動化加工技術,2018(03):19-22.
[3]程伯文,鄭一力,黃青青,等.基于Unity3D的林木聯(lián)合采育機虛擬訓練系統(tǒng)研究[J].系統(tǒng)仿真學報,2018,30(04):106-114.
[4]羅立宏,譚夏梅.基于外部Flash的Web3D虛擬場景二維導航[J].計算機應用與軟件,2018,35(02):163-167.