許晨旸, 張瑞秋, 劉 林, 熊 巍
(華南理工大學機械與汽車工程學院,廣東 廣州 510641)
集成幾何約束與物性仿真技術(shù)的虛擬裝配
許晨旸, 張瑞秋, 劉 林, 熊 巍
(華南理工大學機械與汽車工程學院,廣東 廣州 510641)
針對傳統(tǒng)裝配定位導航中零部件位姿的突變問題,利用線性插值與四元數(shù)球形插值的方法,求解零部件約束定位變換過程的漸變運動;同時利用導納式力覺交互控制模式,解決了約束定位變換后的控制信號分離問題;在裝配運動導航階段,將約束幾何元素具象化為力覺約束模型,以滿足虛擬裝配對力覺反饋的需求。針對虛擬裝配對物性仿真的需求,將開源物理引擎Bullet集成到仿真系統(tǒng)中,提出幾何約束與物性仿真技術(shù)相結(jié)合的裝配流程,最后在自主研發(fā)的虛擬裝配原型系統(tǒng)中進行了應(yīng)用實例驗證。
插值方法;導納控制;力覺約束模型;虛擬裝配;物理引擎
近年來,虛擬現(xiàn)實技術(shù)的發(fā)展取得了長足的進步,已廣泛應(yīng)用于醫(yī)學、制造、教育等領(lǐng)域。虛擬裝配是虛擬現(xiàn)實技術(shù)在產(chǎn)品設(shè)計制造領(lǐng)域的一個重要應(yīng)用[1-2]。對于虛擬裝配過程仿真技術(shù)的研究,主要趨于兩個方向:基于幾何約束的與基于物理屬性的仿真方法。國外的Rajan和Kevin[3]、Ram等[4]在約束歸約算法、裝配運動導航方面進行了一定的研究;國內(nèi)的高瞻等[5]、張丹等[6]在裝配定位導航與裝配意圖識別方面取得了相應(yīng)成果;清華大學的張林鍹和童秉樞[7]提出了一種11元組表示法,有效地表示了零部件的裝/拆運動與變換;華南理工大學的盧麗婷等[8]結(jié)合單點式力反饋器,研究了基于軸線約束的裝配引導力。但在以往的研究中,裝配定位導航過程基本都存在零件位姿突變的情形,且添加完成裝配約束后,存在控制信號分離問題。另外,在幾何約束結(jié)合力反饋設(shè)備方面的研究也略顯不足。
在基于物性的裝配仿真方法方面,華盛頓州立大學Wang等[9]通過綜合應(yīng)用基于物理屬性的建模方法以及約束運動仿真,研究了與裝配模型相關(guān)的三種運動過程。北京理工大學的張志賢等[10]提出虛擬裝配中基于多剛體動力學的物性裝配仿真方法,實現(xiàn)了以力為輸入?yún)?shù)的零部件裝配過程仿真。但是大部分研究在仿真系統(tǒng)的實時性、效率方面存在不足,且缺乏裝配交互力的輸出。另外,由于計算機軟硬件技術(shù)及交互設(shè)備精度的限制,單純基于物性的裝配仿真難以實現(xiàn)小間隙與高精度裝配。
針對上述問題,在借鑒前人研究成果并分析當前技術(shù)能力后,本文給出了對于零部件添加裝配約束過程的漸變處理方法,并在此基礎(chǔ)上結(jié)合導納式力覺交互控制模式,解決了控制信號分離問題;在裝配運動導航階段將幾何約束具象化為力覺約束模型,提供了力覺導航指導;然后將Bullet物理引擎集成到虛擬裝配系統(tǒng)中,結(jié)合虛擬匹配的方法來實現(xiàn)實時性較好的物性裝配仿真;最后將上述技術(shù)應(yīng)用到一個完整的裝配流程中,并通過實例對所述理論進行了驗證與應(yīng)用。
虛擬裝配中的導航分為裝配定位導航與裝配運動導航,基于幾何約束的裝配技術(shù)需要根據(jù)零部件間的約束幾何元素進行裝配導航。
1.1 裝配定位導航
針對傳統(tǒng)裝配定位導航中的零部件位姿突變現(xiàn)象,本文利用插值的方法,對零部件的約束定位變換過程進行漸變處理。
當主動體(待裝零部件)和基體之間滿足約束添加條件時,開始約束定位變換,主動體此時的位姿用4×4的矩陣M0表示,用主動體局部坐標系原點的初始位置向量右乘矩陣M,
0可得主動體變換的位置初始值 V0=M0Vori;利用矩陣分解理論,可得對應(yīng)矩陣M0的姿態(tài)四元數(shù)Q0=[η,(x,y,z )],其中(x,y,z)表示一空間向量,η表示繞向量(x,y,z)的轉(zhuǎn)角。另外,根據(jù)預(yù)定義的基體上的約束定位信息,可得約束定位變換的目標位置向量 VT和目標姿態(tài)四元數(shù)QT。
根據(jù)仿真程序運行的幀率為50 fps左右,擬定約束定位變換過程需要 60幀。設(shè)定一個計步器gTick,從變換開始,仿真程序每運行一幀gTick+1,直到gTick累加到60變換結(jié)束。取gTick與60的比值作為對主動體的位置向量和姿態(tài)四元數(shù)進行插值運算的插值參數(shù)。對于位置向量,根據(jù)求得的變換初始值 V0和變換目標值VT,利用向量的線性插值法計算每幀對應(yīng)的主動體位置向量:
對于姿態(tài)四元數(shù),同理利用四元數(shù)的球形插值法計算每幀對應(yīng)的主動體姿態(tài)四元數(shù):
主動體經(jīng)過約束定位變換,產(chǎn)生了一個位姿差ΔM,而此時力覺交互接口還處于變換前的位姿,從而產(chǎn)生了控制信號分離問題。對此,本文將操作者主動控制的模式改變?yōu)槌绦蛑鲃涌刂频哪J剑M導納式力覺交互控制模式(主動輸出交互接口的位置)。以力反饋器PhantomDesktop為例,約束定位變換開始時,停止設(shè)備對代理點(力覺交互接口)位姿的更新維護方案;利用設(shè)備對代理點位置的主動控制解決方案PROXY ROUTINE,并以上文求得的 Vi作為代理點位置輸出的控制指令序列,可以使設(shè)備隨著主動體約束定位變換的漸變運動,同步的每幀變換對應(yīng)的代理點位置。這樣,約束定位變換結(jié)束時,代理點即位于主動體的變換目標位置,不存在空間位姿差,交互接口和主動體的運動空間位置始終具有一致性,并且可在真實環(huán)境中產(chǎn)生沿著操作端變換軌跡的引導力,給予操作者在視覺和觸覺上的雙通道協(xié)同指導作用。
1.2 裝配運動導航
零部件添加完成裝配約束后,進入裝配運動導航階段,此時將設(shè)備代理點與被操縱零部件的運動空間位姿綁定,即代理點的位姿增量矩陣ΔMp映射為零部件的位姿增量矩陣ΔMA=ΔMp。根據(jù)零部件添加的幾何約束條件,將約束幾何元素具象化為力覺約束模型,用以限制代理點的空間運動,從而限制了零部件在約束空間下的運動,且能夠給予操作者在力覺感知上的導航指導。
將約束幾何元素中的點、線、面分別具象化為以約束點為中心的重力井模型、以約束線為軸線的圓柱約束模型和以約束面為基準的虛擬墻模型。如圖1(a)所示,在以約束點為球心的球體內(nèi),代理點都將受到指向球心的吸引力FPt=kPtxPt,其中,xPt為代理點與約束點的空間距離;如圖1(b)所示,在以約束線為軸線的圓柱體內(nèi),代理點都將被約束在軸線上運動,一旦偏離,將受到徑向的約束力FL=kLxL,其中,xL為代理點偏離約束線的徑向距離;如圖1(c)所示,以約束面為基準構(gòu)造虛擬墻,代理點無法沿著約束面內(nèi)法線方向平移,否則將受到阻擋力FPl=kPlxPl,其中,xPl為代理點穿透虛擬墻的深度。
圖1 力覺約束模型
開源物理引擎Bullet具有碰撞檢測、碰撞響應(yīng)仿真及剛體運動仿真等功能,本文將其集成到裝配系統(tǒng)中以實現(xiàn)所需的物理仿真。在零部件幾何信息的基礎(chǔ)上,添加基本的物理屬性信息如質(zhì)量、轉(zhuǎn)動慣量、彈性恢復(fù)系數(shù)等以及運動狀態(tài)量如線速度、角速度、線動量、角動量等。根據(jù)這些信息,在Bullet物理引擎構(gòu)造出的虛擬物理世界中添加對應(yīng)每個零部件的虛擬剛體。之后將力覺交互設(shè)備的操作信息輸入物理引擎模塊,仿真運算出各零部件剛體在操作者作用下的運動狀態(tài)變化。其中的零部件位姿信息通過圖形引擎顯示輸出,而零部件間的交互作用力通過力反饋設(shè)備輸出。
集成Bullet物理引擎,需要設(shè)計一個Bullet物理引擎類BulletWrapper,且考慮到物理仿真的效率問題,在BulletWrapper類中集成OpenGL的開源圖形工具庫廣義線性模型(general liner model, GLM)用以作為通用且高效的圖形讀取接口。將最精細的三維模型用于圖形顯示;而用于構(gòu)造剛體碰撞形體的模型,需要對精細模型進行減面處理并去除含有過多頂點、面片數(shù)的特征如螺紋等,最后通過GLM讀取接口讀入模型信息。精細的三維模型和處理后的三維模型如圖2所示。
圖2 軸零件兩種模型對比
仿真程序要不斷調(diào)用 BulletWrapper類中的stepPhysics成員函數(shù)以迭代更新各零部件的運動狀態(tài)。物理引擎需要讀取力反饋設(shè)備的操作信息,還要將交互作用力通過力反饋設(shè)備輸出;而力反饋設(shè)備以至少1 000 Hz的幀率更新交互信息,故物理引擎也必須以盡可能高的幀率進行仿真運算,否則可能由于對操作信息的處理不夠及時,而引起被操縱零部件運動狀態(tài)的階躍變化或反饋力的振蕩問題。因此,選擇在設(shè)備的 ServoLoop線程中調(diào)用stepPhysics函數(shù),雖然Bullet物理引擎默認的仿真幀率為60 Hz,但其內(nèi)在的自動仿真插值機制彌補了與ServoLoop 1 000 Hz幀率的差異,能達到良好平滑的仿真效果。
對于零部件的操控問題,基于物性的仿真方法必須獲得裝配操作力/力矩信息,而所用力反饋設(shè)備只能輸入位姿信息,故利用虛擬匹配的方法在設(shè)備代理點和被操縱零部件質(zhì)心之間建立彈簧阻尼連結(jié)系統(tǒng)如圖3所示(其中K表示連結(jié)系統(tǒng)剛度系數(shù),B表示連結(jié)系統(tǒng)阻尼系數(shù)),將輸入的位姿信息映射為對零部件施加的裝配操作力/力矩信息。
每次仿真首先通過物理引擎獲取被操縱零部件最新更新的位置向量VR、姿態(tài)四元數(shù)QR以及運動線速度VR、運動角速度ωR,并通過力反饋設(shè)備獲取代理點實時的位置向量Vp和姿態(tài)四元數(shù)Qp。在ServoLoop線程中獲得代理點空間位置信息是基于設(shè)備坐標的,必須經(jīng)過坐標變換轉(zhuǎn)換成虛擬場景中對應(yīng)的空間位置:
圖3 利用虛擬匹配施加裝配操作力
其中,MD-W為設(shè)備坐標到世界坐標的變換矩陣。之后根據(jù)代理點與剛體質(zhì)心之間連結(jié)的彈簧阻尼系統(tǒng)計算施加給剛體的裝配操作力:
通過BulletWrapper類的applyCentralForce函數(shù)將求得的力F作用于剛體,使零部件跟隨代理點移動;同理計算施加給剛體的裝配操作力矩:
通過BulletWrapper類的applyTorque函數(shù)將求得的力矩T作用于剛體,使零部件跟隨代理點轉(zhuǎn)動。在仿真過程中,被操縱零部件發(fā)生碰撞后,其質(zhì)心位置不再和代理點的空間位置保持一致,由連結(jié)的彈簧阻尼系統(tǒng)將產(chǎn)生碰撞后的裝配操作力:
其中,Xc、 vc分別為碰撞后零部件質(zhì)心與代理點間的位置差以及零部件的速度。利用作用力與反作用力原理,取Fo=-Fc(需要限制 Fo的值不超過力反饋設(shè)備的名義最大連續(xù)輸出力值)作為交互碰撞力,可以直接在ServoLoop線程中通過設(shè)備反饋輸出,給予操作者在力覺感知上的零部件碰撞提示,增強虛擬裝配的沉浸感。
將上述的基于幾何約束的裝配技術(shù)和基于物理屬性的仿真技術(shù)集成到虛擬裝配系統(tǒng)中:一方面,基于幾何約束的裝配技術(shù)利用幾何元素的匹配與力覺約束模型實現(xiàn)了精確的裝配定位與導航,能解決單純物理仿真中由零件結(jié)構(gòu)的復(fù)雜性、數(shù)值計算的誤差性等引起的裝配效率低的問題;另一方面,基于物性的仿真技術(shù)能避免穿透等的不真實現(xiàn)象發(fā)生,且能通過力反饋設(shè)備輸出裝配交互力,彌補了基于幾何約束技術(shù)的缺陷。
結(jié)合兩種技術(shù)到裝配仿真中,將整個裝配操作過程分為3個階段:①自由操控階段;②智能約束添加階段;③力覺約束導航階段。自由操控階段以Bullet物理引擎仿真為核心,操作者可自由操縱零部件進行裝配運動;力覺約束導航階段在裝配定位導航結(jié)束后,通過綁定力覺交互接口與零部件的位姿并結(jié)合力覺約束模型來進行裝配運動導航。自由操控階段和力覺約束導航階段是相對獨立的兩個階段,分別在兩個線程(物理線程與圖形線程)中實現(xiàn),它們通過智能約束添加階段過渡,即智能約束添加階段實現(xiàn)了裝配定位導航的功能。在自主研發(fā)的虛擬裝配原型系統(tǒng)中,將上述集成過程進行了實現(xiàn),整個虛擬裝配實現(xiàn)流程如圖4所示。
圖4 裝配實現(xiàn)流程
按上述裝配流程,以力反饋器PhantomDesktop作為力覺交互設(shè)備,進行典型的軸孔裝配仿真。虛擬裝配場景如圖5所示,欲將軸裝入軸承座中。首先操作者通過設(shè)備代理點拾取待裝配軸,仿真程序進入自由操控階段,操作者自由操縱軸運動,過程期間軸與軸承座發(fā)生兩次碰撞,Bullet物理引擎進行碰撞響應(yīng)仿真,操作者感受到相應(yīng)的碰撞反饋力。該階段中的交互作用力如圖6所示。
按照裝配意圖,操作者操縱軸的一端靠近軸承座孔中心,當滿足約束添加條件時,進入智能約束添加階段,停止物理引擎的仿真,零部件位姿信息不再由物理引擎提供,軸開始智能地約束定位變換漸變運動,其過程如圖7所示。
約束定位變換到位后,軸與軸承座孔間的軸線對齊約束添加完成,進入最終的力覺約束導航階段。首先操作者感受到線約束力覺模型產(chǎn)生的約束力將軸約束在軸線上運動,相應(yīng)的反饋力如圖8“線約束效果”段所示;操作者操縱軸沿著軸線推進,當運動到最終的面貼合約束位置,面約束力覺模型將產(chǎn)生阻擋力提示操作者裝配到位,相應(yīng)的反饋力如圖8“面約束效果”段所示。
圖5 軸孔裝配場景
圖6 交互作用力輸出
圖7 約束定位變換漸變過程
圖8 力覺約束模型產(chǎn)生的反饋力
虛擬裝配技術(shù)既要求仿真真實感強,又要求裝配的高精度與高效率。本文首先在裝配定位導航階段,對零部件添加裝配約束的過程進行插值漸變處理,同時使力覺交互接口按照零部件漸變軌跡進行同步的位置變換,增強了仿真系統(tǒng)的真實感與沉浸感;在裝配運動導航階段,將幾何約束具象化為力覺約束模型,增加了在力覺感知上的反饋信息;然后將Bullet物理引擎集成到虛擬裝配系統(tǒng)中,通過力反饋設(shè)備輸出零部件間的交互作用力;最后將幾何約束與物性裝配技術(shù)結(jié)合到一個完整的裝配流程中,既增強了虛擬裝配的擬實性,又保證了裝配交互的高效率與高精度。在自主研發(fā)的虛擬裝配原型系統(tǒng)中,應(yīng)用了所提出的理論并驗證了其正確性。
[1] Jayaram S, Jayaram U, Wang Y, et al. VADE: a virtual assembly design environment [J]. IEEE Computer Graphics and Applications, 1999, 19(6): 44-50.
[2] Gomes de Sá A, Zachmann G. Virtual reality as a tool for verification of assembly and maintenance processes [J]. Computers and Graphics, 1999, 23(3): 389-403.
[3] Rajan V N, Kevin W L. Assembly representations for capturing mating constraints and component kinematics [C]// Proceedings of the 1997 IEEE International Symposium on Assembly and Task Planning, California, 1997: 206-211.
[4] Ram A, Glenn A K, Richard H C. Assembly modeling by geometric constraint satisfaction [J]. Computer-Aided Design, 1996, 28(9): 707-722.
[5] 高 瞻, 張樹有, 顧嘉溉, 等. 虛擬現(xiàn)實環(huán)境下產(chǎn)品裝配定位導航技術(shù)研究[J]. 中國機械工程, 2002, 13(11): 901-904.
[6] 張 丹, 左敦穩(wěn), 焦光明, 等. 面向虛擬裝配的約束建模與裝配意圖捕捉技術(shù)[J]. 計算機集成制造系統(tǒng), 2010, 18(6): 1208-1214.
[7] 張林鍹, 童秉樞. 并行工程中的裝配仿真系統(tǒng)及其關(guān)鍵技術(shù)研究[J]. 計算機輔助設(shè)計與圖形學學報, 1999, 11(2): 163-167.
[8] 盧麗婷, 劉 林, 熊 巍. 基于單點式力反饋器的虛擬裝配研究[J]. 圖學學報, 2014, 35(2): 280-284.
[9] Wang Yong, Jayaram S, Jayaram U, et al. Physically based modeling in virtual assembly [J]. The International Journal of Virtual Reality, 2001, 5(1): 1-14.
[10] 張志賢, 劉檢華, 寧汝新. 虛擬裝配中基于多剛體動力學的物性裝配過程仿真[J]. 機械工程學報, 2013, 49(5): 90-99.
Virtual Assembly Combining Geometric Constraint with Physical Simulation Techniques
Xu Chenyang, Zhang Ruiqiu, Liu Lin, Xiong Wei
(School of Mechanical and Automotive Engineering, South China University of Technology, Guangzhou Guangdong 510641, China)
In order to solve the problem of sudden change of components′ position and orientation during conventional assembly allocation navigation, an algorithm based on linear interpolation and spherical linear interpolation is proposed. A method of admittance control mode is presented to solve the problem of control signal separation after assembly allocation navigation. During assembly motion navigation, force sensing constraint models are created to meet the requirement of feedback force in virtual assembly. The Bullet physics engine is integrated into virtual assembly system for physical simulation. A virtual assembly process combining geometric constraint with physically-based techniques is given and implemented in the virtual assembly prototype system.
interpolation method; admittance control; force sensing constraint model; virtual assembly; physics engine
TP 391
A
2095-302X(2015)03-0392-05
2014-09-14;定稿日期:2014-12-13
許晨旸(1990-),男,廣西桂林人,碩士研究生。主要研究方向為虛擬現(xiàn)實技術(shù)。E-mail:124725783@qq.com
劉 林(1960-),男,湖南株洲人,教授,碩士,研究生導師。主要研究方向為計算機圖形學、虛擬現(xiàn)實技術(shù)。E-mail:liuling@scut.edu.cn