汪 應(yīng),羅元成
(重慶工程職業(yè)技術(shù)學(xué)院,重慶 402260)
基于Java3D和VRML技術(shù)的采摘機(jī)械手運(yùn)動(dòng)仿真研究
汪 應(yīng),羅元成
(重慶工程職業(yè)技術(shù)學(xué)院,重慶 402260)
為了實(shí)現(xiàn)采摘機(jī)器人機(jī)械手臂運(yùn)動(dòng)虛擬仿真過(guò)程的交互性,基于Java3D和VRML虛擬現(xiàn)實(shí)技術(shù),提出了一種機(jī)械臂交互式三維場(chǎng)景生成及運(yùn)動(dòng)仿真系統(tǒng)。為了驗(yàn)證系統(tǒng)的可行性,以采摘機(jī)器人機(jī)械臂為研究對(duì)象,設(shè)計(jì)了基于采摘機(jī)器人機(jī)械臂運(yùn)動(dòng)仿真系統(tǒng),并基于網(wǎng)絡(luò)的特征,通過(guò)接口導(dǎo)入機(jī)械臂關(guān)節(jié)的造型文件,實(shí)現(xiàn)了采摘機(jī)器人機(jī)械臂仿真三維虛擬場(chǎng)景創(chuàng)建。對(duì)仿真系統(tǒng)進(jìn)行了實(shí)驗(yàn),結(jié)果表明:開(kāi)發(fā)的采摘機(jī)器人機(jī)械臂三維運(yùn)動(dòng)仿真系統(tǒng)可以對(duì)采摘路徑進(jìn)行合理的規(guī)劃,得到和實(shí)驗(yàn)基本吻合的軌跡,能夠?qū)崟r(shí)地顯示關(guān)鍵力矩的變化,為關(guān)節(jié)結(jié)構(gòu)的優(yōu)化提供了數(shù)據(jù)參考。將仿真目標(biāo)位置和預(yù)設(shè)位置進(jìn)行對(duì)比發(fā)現(xiàn),最大位置偏差不超過(guò)1mm,從而驗(yàn)證了運(yùn)動(dòng)模型和算法的可靠性。
采摘機(jī)器人;機(jī)械手臂;虛擬現(xiàn)實(shí);VRML技術(shù);Java 3D
虛擬運(yùn)動(dòng)仿真是虛擬產(chǎn)品開(kāi)發(fā)的重要組成部分,在現(xiàn)代制造技術(shù)中發(fā)揮了巨大的作用。對(duì)于采摘機(jī)器人機(jī)械臂的設(shè)計(jì)制造,按照傳統(tǒng)的方法一般是將機(jī)械臂的各個(gè)零部件采用自底向上的方式,將零部件全部制造出來(lái),然后將零部件進(jìn)行裝配組合。這種設(shè)計(jì)制造方式設(shè)計(jì)出來(lái)的機(jī)械臂往往會(huì)發(fā)生零部件干涉,從而導(dǎo)致實(shí)際設(shè)計(jì)出來(lái)的產(chǎn)品和設(shè)計(jì)目標(biāo)不吻合的缺陷。如果反復(fù)修改,會(huì)導(dǎo)致設(shè)計(jì)成本的大幅度上升,延長(zhǎng)開(kāi)發(fā)周期。虛擬運(yùn)動(dòng)仿真可以借助虛擬現(xiàn)實(shí)環(huán)境,在設(shè)計(jì)階段對(duì)產(chǎn)品的缺陷進(jìn)行仿真,對(duì)產(chǎn)品結(jié)構(gòu)進(jìn)行優(yōu)化,設(shè)計(jì)制造出和目標(biāo)需求相吻合的機(jī)械臂產(chǎn)品。
采摘機(jī)器人機(jī)械臂作業(yè)三維場(chǎng)景的生成需要依托于虛擬現(xiàn)實(shí)技術(shù),當(dāng)前應(yīng)用在虛擬系統(tǒng)開(kāi)發(fā)的工具主要有4種,包括OpenGL、Direct3D、Java3D和VRM等。它們可以在網(wǎng)上實(shí)現(xiàn)三維可視化建模,且每個(gè)軟件都有各自的特點(diǎn)。
1)OpenGL圖形庫(kù)。OpenGL的圖形庫(kù)具有開(kāi)放性,是一種屬于底層的三維圖形建模,其兼容性能很好,圖形編程接口應(yīng)用廣泛,并且性能穩(wěn)定,運(yùn)行效率較高。其建模可以通過(guò)編程來(lái)實(shí)現(xiàn),但編程語(yǔ)言較為復(fù)雜,因此開(kāi)發(fā)周期較長(zhǎng)。
2)Direct3D圖形編程。Direct3D是一種基于應(yīng)用對(duì)象的三維圖形編程,利用Direct3D可以不通過(guò)圖形的顯示接口,有效地提高了軟件的運(yùn)行效率,主要使用在游戲的建模和開(kāi)發(fā)上,但其開(kāi)發(fā)難度較大。
3)VRML建模語(yǔ)言。VRML是一種虛擬化的建模語(yǔ)言,可以利用瀏覽器對(duì)建模文件進(jìn)行解釋,從而生成三維圖形,還可以通過(guò)網(wǎng)絡(luò)環(huán)境形成一個(gè)全球互聯(lián)的虛擬世界,一般和其他建模軟件結(jié)合使用,才能發(fā)揮出虛擬建模的強(qiáng)大功能。
4)Java3D技術(shù)。Java3D是SUN開(kāi)發(fā)的一種圖形跨平臺(tái)開(kāi)發(fā)軟件,它以Java為基礎(chǔ),提供了較為完善的三維編程語(yǔ)言,其語(yǔ)言形式簡(jiǎn)單,因此被迅速推廣,本研究選用Java3D軟件作為虛擬環(huán)境的開(kāi)發(fā)工具。
比較以上虛擬建模軟件發(fā)現(xiàn):OpenGL圖形顯示的速度較快,可以達(dá)到非常真實(shí)感的圖形建模,但由于其具有復(fù)雜性而使開(kāi)發(fā)周期過(guò)長(zhǎng);Direct3D圖形編程主要應(yīng)用在游戲開(kāi)發(fā)場(chǎng)合;VRML文件的格式較小,可以通過(guò)腳本和傳感器等實(shí)現(xiàn)虛擬環(huán)境的交互,不過(guò)每次實(shí)現(xiàn)不同場(chǎng)景時(shí)都需要執(zhí)行解釋操作,交互性不好。依據(jù)以上分析,通過(guò)對(duì)比,本次研究采用Java 3D軟件為主、VRML為輔的方法,對(duì)機(jī)械臂作業(yè)的虛擬環(huán)境進(jìn)行建模。
圖1采用Java 3D建模軟件建立的三維虛擬模型實(shí)例。利用Java3D不僅可以實(shí)現(xiàn)三維軟件的建模,而且采用一系列的Interpolator內(nèi)插,與Alpha對(duì)象相結(jié)合,可實(shí)現(xiàn)各種類型的三維動(dòng)畫(huà)程序。利用Alpha對(duì)象可以對(duì)動(dòng)畫(huà)的時(shí)間進(jìn)行操作,利用Interpolator內(nèi)插器可實(shí)現(xiàn)模型在幾何空間內(nèi)的運(yùn)動(dòng)控制,可將其應(yīng)用在采摘機(jī)器人機(jī)械臂三維動(dòng)畫(huà)交互場(chǎng)景中。采摘機(jī)器人機(jī)械手臂虛擬交互原型系統(tǒng)結(jié)構(gòu)如圖2所示。
圖1 Java 3D建模實(shí)例Fig.1 3D Java modeling examples
圖2 采摘機(jī)器人機(jī)械手臂虛擬交互原型系統(tǒng)結(jié)構(gòu)Fig.2 The virtual interactive prototype system of robot arm for picking robot
采摘機(jī)器人機(jī)械手臂的虛擬交互系統(tǒng)是根據(jù)農(nóng)業(yè)操作人員的需求開(kāi)發(fā)的,將技術(shù)員、管理員和客戶需求的結(jié)果顯示在瀏覽器上,實(shí)現(xiàn)實(shí)時(shí)交互功能。為了實(shí)現(xiàn)交互性,使用Web瀏覽器+ VRML插件工具,使用戶可以對(duì)可視化模型進(jìn)行操作,利用Java Applet標(biāo)識(shí)三維虛擬場(chǎng)景中的對(duì)象,實(shí)現(xiàn)了復(fù)雜虛擬環(huán)境系統(tǒng)的網(wǎng)絡(luò)實(shí)時(shí)交互性控制。
采摘機(jī)器人機(jī)械手臂軌跡的規(guī)劃采用三次多項(xiàng)式的方式來(lái)仿真計(jì)算,使機(jī)器人的機(jī)械手臂可以按預(yù)設(shè)目標(biāo)軌跡動(dòng)作。以時(shí)間為變量建立光滑的時(shí)間函數(shù)θ,假設(shè)該函數(shù)為三次多項(xiàng)式,則
θ(t)=C0+C1t+C2t2+C3t3
(1)
由公式(1)可知:三次多項(xiàng)式共包括了4個(gè)待定系數(shù)。為了使采摘機(jī)器人機(jī)械手臂按指定目標(biāo)運(yùn)行,需要加上4個(gè)約束條件,才能確定這4個(gè)系數(shù),利用給定的初始值和目標(biāo)值,可以作為2個(gè)約束條件。為了保證機(jī)械臂關(guān)節(jié)速度函數(shù)的連續(xù)性,使初始和終止關(guān)節(jié)速度為0,關(guān)節(jié)角速度可以由(1)式求導(dǎo)得到,即
(2)
將其實(shí)和目標(biāo)角度與角速度約束條件代入式(1)和式(2)可得
θ(t0)=C0+C1t0+C2t02+C3t03
θ(tf)=C0+C1tf+C2tf2+C3tf3
(3)
(4)
如果采摘機(jī)器人通過(guò)的是連續(xù)的位置點(diǎn),則需要利用逆運(yùn)動(dòng)學(xué)原理把中間點(diǎn)轉(zhuǎn)化為期望的關(guān)節(jié)角度,然后對(duì)每個(gè)關(guān)節(jié)求出三次多項(xiàng)式,再根據(jù)新的路徑約束條件,求解三次多項(xiàng)式。一般描述該三次多項(xiàng)式的4個(gè)方程為
θ(0)=C0
θ(tf)=C0+C1tf+C2tf2+C3tf3
(5)
求解方程的系數(shù)可得
(6)
利用公式(6),可得符號(hào)初始和終止位置及速度的任何三次多項(xiàng)式。除了利用三次多項(xiàng)式對(duì)軌跡進(jìn)行規(guī)劃外,還需考慮機(jī)械手臂關(guān)節(jié)之間的碰撞作用。
碰撞檢測(cè)是采摘機(jī)械臂仿真系統(tǒng)的重要組成部分,是采摘機(jī)械臂動(dòng)作路徑規(guī)劃和規(guī)避障礙物的基礎(chǔ),如圖3所示。Java3D提供了碰撞仿真的兩個(gè)類,其中包括WakeonCollisionEntry和WakeonCollisionExit。當(dāng)虛擬場(chǎng)景中的任何兩個(gè)被檢測(cè)對(duì)象發(fā)生碰撞時(shí),WakeonCollisionEntry被喚醒;當(dāng)場(chǎng)景中的碰撞解除時(shí),WakeonCollisionExit被喚醒?;赩RML的碰撞檢測(cè)系統(tǒng)如圖4所示。
圖3 采摘機(jī)械臂碰撞檢測(cè)仿真Fig.3 Simulation of the collision detection of picking robot arm
圖4 統(tǒng)碰撞檢測(cè)的基本結(jié)構(gòu)Fig.4 The basic structure of system collision detection
客戶在使用過(guò)程中,可以根據(jù)采摘機(jī)械臂的實(shí)際設(shè)計(jì)需求,創(chuàng)建虛擬場(chǎng)景,并將其傳送到服務(wù)器端。VRML場(chǎng)景中的模型位置和方向被轉(zhuǎn)換成便于碰撞檢測(cè)的文件,利用SweepandPrune算法剔除掉相隔很遠(yuǎn)的物體,利用相交原理做精確的碰撞檢測(cè)。當(dāng)發(fā)生碰撞時(shí),將檢測(cè)信息返回到客戶端,客戶端人工或者通過(guò)程序算法做出相應(yīng)的操作,然后更新模型的位置和方向信息。
前述內(nèi)容已經(jīng)驗(yàn)證了Java在機(jī)械手運(yùn)動(dòng)過(guò)程中使用的可行性,并且建立了三次多項(xiàng)式軌跡規(guī)劃模型。依據(jù)以上理論,采用Java軟件,結(jié)合VRML技術(shù),采用面向?qū)ο蟮木幊碳夹g(shù)來(lái)實(shí)現(xiàn)采摘機(jī)器人機(jī)械手的建模。
圖5為本次仿真依據(jù)的黃瓜采摘機(jī)器人實(shí)際的模型??赏ㄟ^(guò)仿真機(jī)器人運(yùn)動(dòng)過(guò)程的力學(xué)性能和運(yùn)動(dòng)軌跡,達(dá)到優(yōu)化設(shè)計(jì)的目的。利用Java3D和VRML建立的采摘機(jī)器人仿真模型如圖6所示。
圖5 黃瓜采摘機(jī)器人實(shí)際模型Fig.5 The practical model of cucumber picking robot
圖6 黃瓜采摘機(jī)器人仿真模型Fig.6 The simulation model of cucumber picking robot
對(duì)黃瓜采摘機(jī)器人機(jī)械手臂的仿真主要是對(duì)其直線末端運(yùn)動(dòng)軌跡的追蹤,以此來(lái)判斷其結(jié)構(gòu)性能的優(yōu)劣;而利用Java3D完善的API可以對(duì)場(chǎng)景進(jìn)行交互式的仿真,利用鼠標(biāo)、鍵盤(pán)和圖形界面實(shí)現(xiàn)人機(jī)交互功能。
利用Java3D可以進(jìn)行圖形和客戶端的交互功能(即可以預(yù)設(shè)目標(biāo)),然后通過(guò)軌跡規(guī)劃來(lái)實(shí)現(xiàn)運(yùn)動(dòng)軌跡的追蹤,仿真得到的軌跡如圖7所示,在運(yùn)動(dòng)過(guò)程中的力矩實(shí)時(shí)曲線如圖8所示。
由圖8可以看出:利用Java3D和VRML技術(shù)可以成功地對(duì)采摘機(jī)器人機(jī)械臂的運(yùn)動(dòng)性能參數(shù)進(jìn)行捕捉,且仿真結(jié)果和實(shí)驗(yàn)結(jié)果吻合程度較高,從而驗(yàn)證了仿真的可靠性。
圖7 目標(biāo)位置追蹤軌跡仿真Fig.7 Simulation of target position tracking
圖8 力矩仿真和實(shí)驗(yàn)結(jié)果對(duì)比Fig.8 Comparison of torque simulation and experimental results表1 期望位置和實(shí)際位置結(jié)果對(duì)比Table 1 Comparison of desired position and actual position
序號(hào)期望位置/mmxyz實(shí)際位置/mmxyz180.52452.11622.3280.33452.38622.25281.13456.13621.3481.11456.22621.33382.25459.19619.2582.38459.33619.28483.38462.22617.3383.45462.78617.27584.24465.25615.1284.28465.56615.18
表1為利用Java3D和VRML搭建的仿真實(shí)驗(yàn)系統(tǒng)對(duì)采摘機(jī)械臂進(jìn)行仿真得到的位置結(jié)果。通過(guò)對(duì)機(jī)械末端期望結(jié)果和實(shí)際到達(dá)結(jié)果的對(duì)比發(fā)現(xiàn),最大位置偏差不超過(guò)1mm。這說(shuō)明,運(yùn)動(dòng)模型和算法是具有可靠性的。
基于Java3D和VRML虛擬現(xiàn)實(shí)技術(shù),提出了一種新的采摘機(jī)器人虛擬仿真交互式系統(tǒng),并基于網(wǎng)絡(luò)特征,采用接口導(dǎo)入造型文件的方法,實(shí)現(xiàn)了采摘機(jī)器人機(jī)械臂仿真三維虛擬場(chǎng)景創(chuàng)建。對(duì)仿真系統(tǒng)進(jìn)行了實(shí)驗(yàn),結(jié)果表明:利用Java3D完善的API可對(duì)場(chǎng)景進(jìn)行交互式的仿真,利用鼠標(biāo)、鍵盤(pán)和圖形界面可實(shí)現(xiàn)人機(jī)交互功能。利用Java3D和VRML技術(shù)可成功地對(duì)采摘機(jī)器人機(jī)械臂的運(yùn)動(dòng)性能參數(shù)進(jìn)行捕捉,并繪制出機(jī)械臂的末端力矩實(shí)時(shí)曲線。通過(guò)對(duì)執(zhí)行末端軌跡的仿真發(fā)現(xiàn),其預(yù)設(shè)目標(biāo)位置和實(shí)際位置誤差低于1mm,從而驗(yàn)證了該仿真系統(tǒng)的可靠性。
[1] 王文慶,張濤,龔娜.基于多傳感器融合的自主移動(dòng)機(jī)器人測(cè)距系統(tǒng)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(2): 343-345.
[2] 韋偉,周凌翱,劉青.一種便攜式的紅外測(cè)距系統(tǒng)[J].電子設(shè)計(jì)工程,2011,19(21):40-42.
[3] 劉金帥,賴惠成,賈振紅.基于YCbCr顏色空間和Fisher判別分析的棉花圖像分割研究[J].作物學(xué)報(bào),2011,37(7):1274-1279.
[4] 魏澤鼎,賈俊國(guó),王占永.基于視覺(jué)傳感器的棉花果實(shí)定位方法[J].農(nóng)機(jī)化研究,2012,34(6):66-68.
[5] 張玲玲,賈元華,曹瑾鑫.基于人工勢(shì)場(chǎng)的交叉口車輛集聚模型[J].北京交通大學(xué)學(xué)報(bào),2012,36(6):117- 121.
[6] 姬偉,程風(fēng)儀.基于改進(jìn)人工勢(shì)場(chǎng)的蘋(píng)果采摘機(jī)器人機(jī)械手避障方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2013,44(11): 253-259.
[7] 王建鑫,楊濤,李文.基于人工勢(shì)場(chǎng)法的虛擬夾具建模技術(shù)研究[J].工業(yè)控制計(jì)算機(jī),2013, 26(9): 103-105.
[8] 裴文祥,唐敦兵,顧文斌,等.基于人工勢(shì)場(chǎng)的車間作業(yè)調(diào)度應(yīng)用與研究[J].中國(guó)制造業(yè)信息化,2012,41 (11):26-30.
[9] 李曉光,姚自強(qiáng),楊旭.基于人工勢(shì)場(chǎng)法的迷宮路徑搜索算法設(shè)計(jì)[J].北京交通大學(xué)學(xué)報(bào),2014,38(5):27- 31.
[10] 王佳.基于人工勢(shì)場(chǎng)方法的WSN傳感覆蓋率提高算法[J].傳感技術(shù)學(xué)報(bào), 2012, 25(6):821-825.
[11] 張得濤,王少軍,楊智利.轉(zhuǎn)爐傾動(dòng)系統(tǒng)電機(jī)同步控制研究[J].自動(dòng)化技術(shù)與應(yīng)用, 2013,32(8): 3-5.
[12] 郭叔增.現(xiàn)代印刷技術(shù)中的無(wú)軸傳動(dòng)系統(tǒng)[J].中國(guó)科技信息,2014(2):109-111.
[13] 曹玲芝,馬躍軍.基于偏差耦合的PMSM滑模變結(jié)構(gòu)同步控制[J].微特電機(jī), 2012,40(9):56-59.
[13] 彭曉燕,劉威,張強(qiáng).基于改進(jìn)型偏差耦合結(jié)構(gòu)的多電機(jī)同步控制[J].湖南大學(xué)學(xué)報(bào),2013,40(11):77-83.
[14] 劉金龍,丁為民,鄧巍.果園對(duì)靶噴霧紅外探測(cè)系統(tǒng)的設(shè)計(jì)與試驗(yàn)[J].江蘇農(nóng)業(yè)科學(xué),2012,40(12):370-372.
[15] 李麗,李恒,何雄奎.紅外靶標(biāo)自動(dòng)探測(cè)器的研制及試驗(yàn)[J].農(nóng)業(yè)工程學(xué)報(bào),2012,28(12):159-162.
[16] 裴文超,陳樹(shù)人,尹東富.基于DSP和單片機(jī)的實(shí)時(shí)對(duì)靶噴施除草系統(tǒng)[J].農(nóng)機(jī)化研究,2012,34(1):149-153.
[17] 張俊雄,馬锃宏,李偉,等.基于土壤基質(zhì)的播種精度檢測(cè)試驗(yàn)研究[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2012,43(12):62-66.
[18] 張姍姍,常德功.VRML和JAVA的結(jié)合及其在聯(lián)軸器設(shè)計(jì)中的應(yīng)用[J].機(jī)械工程師,2006(6):109-110.
[19] 郭筠.基于VRML的虛擬裝配關(guān)鍵技術(shù)研究[J].新疆教育學(xué)院學(xué)報(bào),2006,22(4):113-116.
[20] 李國(guó)軍,鐘志強(qiáng).VRML與JAVA在網(wǎng)絡(luò)課件中交互運(yùn)用分析[J].鞍山師范學(xué)院學(xué)報(bào),2006,8(4):59-62.
[21] 謝紅薇,于曉霞,李三燕,等.Java與VRML結(jié)合實(shí)現(xiàn)煤礦事故救援系統(tǒng)的交互控制[J].電腦開(kāi)發(fā)與應(yīng)用,2007,20(1):44-46.
[22] 任繼文,吳國(guó)棟.面向WEB的齒輪泵虛擬裝配技術(shù)的研究[J].機(jī)床與液壓,2006(11):81-84.
[23] 彭高亮,劉文劍,金天國(guó).支持組合夾具虛擬組裝的快速碰撞檢測(cè)方法[J].系統(tǒng)仿真學(xué)報(bào),2007,19(13): 2979-2983.
[24] 胡茶根,王曉軍,趙剛,等.基于VRML-Java的機(jī)械產(chǎn)品虛擬裝配技術(shù)研究[J].煤礦機(jī)械,2007,28(7): 84-86.
[25] 杜培富,劉衍聰.基于Pro/Engineer的直廓環(huán)面蝸桿齒面建模[J].石油礦場(chǎng)機(jī)械,2008,37(1):40-42.
[26] 高國(guó)琴,李明. 基于K-means算法的溫室移動(dòng)機(jī)器人導(dǎo)航路徑識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2014,30(7):25-33.
Motion Simulation of Picking Manipulator Based on Java 3D and VRML Technology
Wang Ying, Luo Yuancheng
(Chongqing Vocational Institute of Engineering, Chongqing 402260,China)
In order to realize the picking and the interaction of the robot arm motion virtual simulation process, it proposed a mechanical arm interactive 3D scene generation and motion simulation system based on Java3D and VRML virtual reality technology. In order to validate the system feasibility,taking picking robot manipulator as the research object, based on the picking robot manipulator motion simulation system, based on the characteristics of the network, through the interface to import mechanical arm joint shape file, it realized the picking robot manipulator simulation 3D virtual scene creating. Experiments were conducted on the system simulation.And the results of the experiment show that the development of harvesting robot manipulator 3D motion simulation system can the picking path planning reasonable, experiment and consistent trajectory can real-time display torque change of key and provide reference data for joint structure optimization. It is found that the maximum position deviation is not more than 1mm, and the reliability of the motion model and algorithm is verified by comparing the simulation target position and the preset position.
picking robot; robot arm; virtual reality; VRML technology; 3D Java
2016-08-12
重慶市教育委員會(huì)重點(diǎn)項(xiàng)目(1202086)
汪 應(yīng)(1982-),男,重慶人,高級(jí)實(shí)驗(yàn)師,碩士,(E-mail)wangyinghp163@126.com。
S225;TP274.2
A
1003-188X(2017)12-0210-05