中航工業(yè)成都飛機工業(yè)(集團)有限責(zé)任公司 邱世廣 周 勇
上海交通大學(xué)機械與動力工程學(xué)院 范秀敏 何其昌
盡管裝配工藝仿真技術(shù)在飛機裝配過程中已有相當?shù)难芯颗c應(yīng)用成果,但工程實際使用過程中存在仿真效率低的問題,工藝人員通常只能根據(jù)個人經(jīng)驗,對容易出現(xiàn)問題的部分裝配工藝或者裝配流程的某個階段進行仿真分析與評估,裝配工藝仿真效率已成為制約虛擬裝配仿真技術(shù)深度應(yīng)用的主要瓶頸。導(dǎo)致仿真效率低的主要原因是虛擬人的裝配操作姿態(tài)與動作需要工藝人員手工調(diào)整,動作參數(shù)設(shè)置過程十分繁瑣,不僅工作量大,且要求工藝人員對人體生理結(jié)構(gòu)及動作行為規(guī)律具有深刻的理解和掌握。目前飛機裝配仿真普遍采用DELMIA,該軟件仍舊依賴于直接使用FK、IK方法來編輯虛擬人行為,實際應(yīng)用效果并不理想[1]。因此,這種直接由底層的控制函數(shù)(人體關(guān)節(jié)和運動鏈的控制)來實現(xiàn)裝配操作過程仿真的方式亟待改變。
為提高裝配工藝的仿真效率,國內(nèi)外學(xué)者對其進行了大量研究。研究人員通過使用運動跟蹤系統(tǒng)Kinect、ShapeWrap、Vicon等捕獲動作數(shù)據(jù),以實現(xiàn)真人實時驅(qū)動虛擬人進行操作仿真,但其交互性能受到硬件性能和虛擬人驅(qū)動精度的制約[2]。另一類方法是基于運動跟蹤系統(tǒng)采集真實動作來建立相應(yīng)的參數(shù)化模型,通過調(diào)節(jié)參數(shù)生成逼真的人體動作以實現(xiàn)拆裝操作仿真[3-4];然而在實際拆裝操作過程中,虛擬人拆裝動作受到操作對象的約束,例如擰緊動作,需要根據(jù)擰緊對象的位置和軸線確定,故完全基于運動捕捉的真實動作數(shù)據(jù)庫來建立精確的交互模型非常困難。
第三類方法是對底層的控制函數(shù)進行封裝來建立參數(shù)化裝配動作模型。Badler等研究了虛擬人參數(shù)化建模方法(PAR),給出了虛擬人動作參數(shù)化描述,然而PAR方法描述的動作范圍比較寬泛,缺乏對具體裝配動作的定義,因此動作參數(shù)設(shè)置非常復(fù)雜,增加了應(yīng)用的難度。王豐產(chǎn)等人在PAR方法的基礎(chǔ)上,對動作模型進行了進一步的組合[5];KUO等采用語義邏輯來組織虛擬人作業(yè)行為以實現(xiàn)裝配動作自動生成[6-7],但上述研究缺乏對動作仿真過程中相關(guān)功能約束的考慮。裝配作業(yè)過程中,裝配動作受到零部件拆裝特點、工具使用特點、操作空間、人體生理條件、人因工程法則等多個方面的約束,例如擰緊動作,擰緊對象的螺距、擰緊深度等工程屬性,操作過程中擰緊對象、工具的空間位姿變化、作業(yè)空間、操作者視野等都對擰緊動作產(chǎn)生直接影響。
為提高裝配工藝仿真效率,提出面向飛機裝配的裝配動作混合仿真方法,首先面向飛機裝配仿真對裝配作業(yè)過程進行分解;隨后對裝配動作進行歸納和仿真特性分析,總結(jié)出不同裝配動作類型的快速仿真方法,即充分利用虛擬現(xiàn)實(VR)外設(shè)驅(qū)動虛擬人和算法驅(qū)動虛擬人的優(yōu)點,來仿真不同特性的裝配動作;建立典型的裝配動作模型;最后以油泵裝配為例對所提方法進行應(yīng)用驗證。
裝配作業(yè)分解是實現(xiàn)裝配操作仿真的前提,即如何根據(jù)裝配任務(wù),分解并歸納出既易于裝配仿真、又能完整表達裝配作業(yè)的裝配動作。人因工程中常見的動作分析方法,如MTM法、模特排時法,主要是面向動作時間的測定與分析,分解層次較低且缺乏特定的裝配語義,因此不適用于裝配仿真的實現(xiàn)。
借鑒維修工程中維修分解思想,將飛機裝配活動分解為裝配事件、裝配作業(yè)(Assembly Task, AT)和基本裝配作業(yè)(Elementary Assembly Activity, EAA)3個層次。裝配事件指一項具體的裝配任務(wù),比如中機身裝配、機翼裝配等;裝配作業(yè)是操作工人按照裝配大綱(AO)執(zhí)行裝配工藝的活動過程;EAA指一項裝配活動可以分解成的工作單元,它是裝配作業(yè)分解的最低層次,例如擰緊螺釘、鉆孔、鉚接等。
為實現(xiàn)在虛擬環(huán)境下對裝配作業(yè)過程進行仿真,需要對EAA繼續(xù)分解,如圖1所示。目前裝配動作分類方法通常將操作者姿態(tài)調(diào)整視為獨立的裝配動作來對待,與基本裝配動作并列,層次關(guān)系不夠清晰。實際上,任何裝配動作都需要操作人員進行姿態(tài)調(diào)整,因此人體姿態(tài)調(diào)整應(yīng)當隸屬于裝配動作,是裝配動作的下一層次。
圖1 面向仿真的裝配作業(yè)分解Fig.1 Assembly task deposition for assembly simulation
EAA中除了操作者本身的動作,同時還包括操作對象本身的動作,如零部件的動作、工具設(shè)備的動作。操作對象的動作行為由裝配約束、環(huán)境約束以及操作者共同決定,操作對象的動作反過來也會影響操作者動作(圖1中虛線框)。裝配動作的自動仿真方法本質(zhì)即通過數(shù)學(xué)方法正確描述和處理操作者、零部件、工具設(shè)備以及環(huán)境之間相互作用關(guān)系,需要考慮到具體裝配動作中包含的零部件裝配特點、工具使用特點、環(huán)境影響以及操作者本身的生理約束等因素。
操作者是裝配行為的發(fā)起者,支配其他裝配要素的動作,操作者動作的仿真效率直接決定了整個裝配過程的仿真效率,進而決定了裝配工藝仿真效率。依據(jù)不同裝配動作的仿真特性,采用不同驅(qū)動方式對裝配動作進行混合仿真,包括采用VR外設(shè)實時驅(qū)動虛擬人的方式和基于虛擬人自適應(yīng)行為模型的方式。
裝配動作的集合形成裝配動作庫,它具有完備性的特點,即任何裝配作業(yè)都可以通過裝配動作庫中的裝配動作有序組合得到。裝配動作庫的設(shè)計直接關(guān)系到裝配仿真實現(xiàn)的難易程度,單個裝配動作還應(yīng)具備以下特點:
(1)獨立性:裝配動作是從EAA過程中抽象出來的,它能夠獨立于產(chǎn)品的具體結(jié)構(gòu);裝配動作之間在語義上是相互獨立的,不存在相互包含關(guān)系。
(2)參數(shù)性:通過修改模型參數(shù)生成不同的裝配動作,以適應(yīng)不同約束條件的裝配操作仿真。
(3)語義性:裝配動作應(yīng)當具備一定的裝配語義,便于用戶理解和使用。
本文通過對EAA的業(yè)務(wù)流程進行分段描述,在綜合考慮裝配動作庫及單個裝配動作設(shè)計需要滿足上述特點基礎(chǔ)上,總結(jié)和歸納基本裝配作業(yè)各個階段所需要的裝配動作。EAA的完整業(yè)務(wù)流程可劃分為3個階段:裝配操作準備階段、裝配操作執(zhí)行階段和裝配操作結(jié)束階段,各個階段的含義如圖2所示。
“擰緊螺釘”是裝配作業(yè)過程中最常見的常見裝配活動,根據(jù)上述劃分方法對該作業(yè)流程進行分析。首先,裝配作業(yè)準備階段,操作者拾取工具并移動至裝配操作位置,調(diào)整到準備擰緊操作的姿態(tài);然后,裝配操作執(zhí)行階段,操作者使用工具開始進行擰緊操作,直至螺釘完全擰到位置;最后,裝配操作結(jié)束階段,即螺釘擰緊之后,操作者需要將工具移動至合適的位置,以便進行下一次裝配操作。操作者按照上述過程逐條執(zhí)行裝配工序,最終完成整個裝配作業(yè)。
圖2 基本裝配作業(yè)過程分段描述Fig.2 General work process of elementary assembly activity
通過對EAA各個階段完整的業(yè)務(wù)流程分析,并充分考慮裝配仿真的實現(xiàn)特點,歸納出各個階段包括的裝配動作。裝配作業(yè)準備階段各個動作的含義如表1所示。裝配作業(yè)結(jié)束階段的裝配動作同準備階段的動作類似。裝配操作執(zhí)行階段即操作者開始進行操作,各個裝配動作的基本含義如表2所示。
表1 EAA準備與結(jié)束階段的裝配動作
表2 EAA執(zhí)行階段基本裝配動作
表1中,抓取和釋放指手指的動作。準備動作具有兩種含義,在“準備階段”的含義為“當前姿態(tài)到裝配操作初始姿態(tài)的動作過程,包括操作對象的動作過程”,在“結(jié)束階段”的含義為:“裝配操作終了姿態(tài)到最終結(jié)束姿態(tài)的動作過程,包括操作對象的動作過程”。過渡動作主要指人體方位轉(zhuǎn)換,同時包含轉(zhuǎn)換過程中姿態(tài)的調(diào)整。例如操作者抓取零件,如果零件距離操作者較近,則操作者站在原地不動,通過彎腰、伸手、扭轉(zhuǎn)等姿態(tài)調(diào)整就可以觸及零件實現(xiàn)抓取,上述過程包含了準備、抓取兩種動作;如果零件本身距離操作者很遠,則操作者需要通過轉(zhuǎn)身、步行等方位變換操作才能到達零件附近,再通過姿態(tài)調(diào)整才能抓取零件,除了準備、抓取,還包括過渡裝配動作。
為提高裝配工藝仿真效率,分析裝配動作的實際作業(yè)過程,根據(jù)其作業(yè)過程中操作者的動作特點,結(jié)合虛擬人常用驅(qū)動方式的優(yōu)點,提出不同裝配動作采用相適應(yīng)的虛擬人驅(qū)動方式來實現(xiàn)其快速仿真。 裝配動作的分類及其采用的仿真方法如圖3所示,劃分為精細裝配動作(Fine Assembly Motion, FAM)、普通裝配動作(General Assembly Motion, GAM)和過渡裝配動作(Transitional Assembly Motion, TAM)3種類型,各種類型定義及所采用的仿真方法如下。
部分裝配動作具有如下特征: (1)需要依賴于操作者的實際感知才能夠正確完成的裝配動作,且動作本身與零件的工程屬性緊密相關(guān),擰緊(出)、旋入(出)、敲打等均屬于這一類動作,比如使用扳手擰緊螺釘,擰緊動作與螺紋長度、螺距等螺釘?shù)墓こ虒傩悦芮邢嚓P(guān),操作是否完成需要操作者通過感知擰緊力的大小來最終確定。(2)具有精度要求的裝配動作,例如精確插入動作,對插入深度有準確的要求。本文將局部操作區(qū)域具備上述特點的一類裝配動作稱之為精細裝配動作。
由于基于VR外設(shè)在線仿真方式目前存在的局限性,使得這種仿真方式對裝配操作過程中精細動作支持不足,操作者難以根據(jù)自身的實際經(jīng)驗去控制虛擬人完成上述精細動作,進而造成緊固件如螺釘、螺母等的交互式拆裝操作十分困難。因此,采用包含零部件工程屬性的參數(shù)化裝配動作模型方法來自動仿真精細動作。
局部操作區(qū)域除了精細裝配動作之外,還有一類不需要依賴于操作者的實際感知,僅通過操作者自身經(jīng)驗或者僅借助于幾何約束定位就能夠正確完成的裝配動作,將這一類裝配動作稱之為普通裝配動作。例如在局部操作區(qū)域中,操作者憑借經(jīng)驗伸手抓取目標對象;抓取以后,憑借經(jīng)驗將其移動至裝配操作位置,然后繼續(xù)進行放上、插入、裝上、卸下等操作,操作過程具有一定的位置約束,比如螺釘插入螺孔的過程中,操作者須保證螺釘沿著二者軸線方向插入。
采用VR外設(shè)在線仿真的方法具有如下優(yōu)點:首先,可以有效避免復(fù)雜的路徑規(guī)劃問題;其次,更加逼真和高效地生成虛擬人裝配動作。因此,對于普通裝配動作,采用VR外設(shè)驅(qū)動虛擬人的方法快速生成,即通過運動捕捉設(shè)備來捕捉操作者的真實運動數(shù)據(jù)以控制虛擬環(huán)境中的虛擬人,通過數(shù)據(jù)手套捕捉手的真實運動數(shù)據(jù)來控制虛擬手的運動,從而實現(xiàn)對虛擬對象的抓取、移動、裝上、卸下等裝配操作。普通裝配動作中對部分具有位置約束的裝配動作,采用幾何約束自動處理的方法來解決完全依賴經(jīng)驗無法正確完成的問題,例如插入操作過程中通過軸線約束來引導(dǎo)和保證操作者正確的插入路徑。
過渡裝配動作是指需要借助于人體方位轉(zhuǎn)換才能正確完成的動作。如圖3所示,操作者在A位置局部區(qū)域內(nèi)的操作結(jié)束后,需要到B位置局部區(qū)域繼續(xù)進行操作,此時需要的人體方位轉(zhuǎn)換動作,包括步行,轉(zhuǎn)身等動作。實際裝配過程中,經(jīng)常需要在不同的區(qū)域執(zhí)行不同的操作,例如工具或零部件一般擺放在工具小車或物料架上,從裝配位置到達工具小車或物料架,裝配人員常常需要轉(zhuǎn)身,步行等一系列動作才能到達。由于運動捕捉系統(tǒng)跟蹤范圍、精度以及仿真試驗環(huán)境大小等限制因素,操作者難以像在真實裝配環(huán)境中一樣的自由轉(zhuǎn)移,故基于VR外設(shè)的在線仿真方式目前仍主要是局部區(qū)域內(nèi)的裝配操作仿真。因此,過渡裝配動作亦采用參數(shù)化模型的方法自動仿真。
表3 常見裝配動作分類及其仿真方法
綜上所述,裝配動作分類及其仿真方法總結(jié)如表3所示。根據(jù)操作精度要求,插入動作可分為一般插入和精確插入兩種類型。當插入過程通過面約束進行定位就可完成,此時屬于普通裝配動作;當對插入深度有明確要求的時候,且無法通過約束來實現(xiàn)精確定位的情形,則屬于精細裝配動作。
由于上述裝配動作采用不同的虛擬人驅(qū)動方式進行仿真,因此裝配操作混合驅(qū)動過程中必然涉及到不同仿真方式之間的轉(zhuǎn)換,包括從外設(shè)控制到模型控制以及從模型控制到外設(shè)控制的轉(zhuǎn)換。從外設(shè)控制到模型控制轉(zhuǎn)換有在線和離線兩種方法,在線方法是指根據(jù)虛擬場景中操作姿態(tài)、操作對象、工具的工程屬性等信息,識別操作意圖,判斷裝配動作類型,獲取裝配動作參數(shù),實現(xiàn)外設(shè)控制與模型控制的自動轉(zhuǎn)換。離線方法是指提供用戶停止外設(shè)控制裝配仿真的方法, 用戶通過停止外設(shè)控制以進行模型控制。本文采用第二種方法進行轉(zhuǎn)換。從模型控制到外設(shè)控制的轉(zhuǎn)換相對簡單,裝配動作仿真結(jié)束后自動轉(zhuǎn)換為外設(shè)控制即可。
螺釘?shù)臄Q緊是最常見的裝配動作之一,本文以擰緊動作來說明裝配動作參數(shù)化建模及自動仿真的實現(xiàn)過程。擰緊操作一般流程如下:首先,操作者VO按照預(yù)定的旋入深度l1將P旋入到對應(yīng)的螺紋孔中,然后使用擰緊工具T,沿著緊固件的中心軸線AS,將P完全擰緊,擰緊深度l2等于P的螺紋長度l0減去已旋入深度l1。擰緊動作參數(shù)化模型表示如下:
式中:VH&T表示操作過程中虛擬手已抓取工具,v表示裝配動作仿真速度,通過設(shè)置它的大小可調(diào)節(jié)動作的快慢。擰緊動作的自動仿真過程可分為以下步驟:
Step1:確定擰緊工具T的初始操作位置。通過處理T與被操作緊固件之間的幾何約束關(guān)系,實現(xiàn)擰緊工具的準確定位;同時,擰緊工具與被擰緊緊固件的固聯(lián)矩陣MT-P自動記錄,且擰緊過程中MT-P保持不變。關(guān)于幾何約束處理的詳細過程可參考文獻[8]。
Step2:計算緊固件的旋轉(zhuǎn)和平移增量矩陣。P的增量矩陣由下式計算:
其中,makeTrans和makeRotation為生成平移和旋轉(zhuǎn)矩陣數(shù)學(xué)方法;ΔMtran和ΔMrot分別表示位置和旋轉(zhuǎn)增量矩陣。
Step3:計算緊固件終了位姿矩陣。可在初始位姿狀態(tài)的基礎(chǔ)上疊加增量矩陣獲得:= ΔMrot× ΔMtran。
Step4:計算擰緊工具的終了位姿矩陣。根據(jù)緊固件的終了位姿矩陣以及二者存在的固聯(lián)關(guān)系,可通過下式計算:
Step5:計算虛擬手的終了位姿矩陣。根據(jù)虛擬手與擰緊工具之間的位姿關(guān)系,由下式計算:
Step6:自動解算虛擬人操作姿態(tài)。將和輸入到虛擬人自適應(yīng)行為模型中,解算出當前子操作的虛擬人操作姿態(tài)序列,即上一次終了姿態(tài){到下一次初始操作姿態(tài)}的中間姿態(tài),并同步記錄操作工具及緊固件的裝配關(guān)鍵點序列,解算結(jié)果自動追加至 中。,···,}=VHAAM(),式中,VHAAM表示虛擬人自適應(yīng)行為模型,即已知虛擬人兩種姿態(tài),自動解算虛擬人中間姿態(tài)的方法,具體原理參考文獻[9]。
Step7:判斷當前操作是否結(jié)束。判斷操作者、操作對象是否與周圍環(huán)境發(fā)生干涉,如果發(fā)生干涉,則提示修改裝配動作模型參數(shù),重新生成裝配動作;如果沒有發(fā)生干涉,比較P總的擰緊深度lc和預(yù)定義擰緊深度l2。lc≥l2表明已完全安裝到位,進入Step10;lc<l2表明P尚未到達正確的裝配位置,進入Step8。
Step8:計算擰緊工具T下一次操作初始位姿矩陣。
其中,是工具在當前操作初始位姿矩陣的旋轉(zhuǎn)信息則表示本次操作終了狀態(tài)工具的空間位置分量。由虛擬手與工具之間的位姿關(guān)系,計算虛擬手下一次操作的初始位姿矩陣
Step9:自動解算虛擬人上一次終了姿態(tài)到下一次初始操作姿態(tài)的中間姿態(tài),解算結(jié)果追加至中;然后返回Step2,繼續(xù)進行子操作的循環(huán)。
Step10:結(jié)束擰緊動作仿真流程。首先解除擰緊工具與被操作緊固件之間的約束關(guān)系;虛擬人抓取工具由操作終了姿態(tài)回到初始操作姿態(tài),中間操作姿態(tài)序列通過虛擬人自適應(yīng)行為模型解算。至此,擰緊動作所包含的虛擬人裝配姿態(tài)序列、操作對象(P、T)的關(guān)鍵點序列生成完畢。
采用上海交通大學(xué)自主研發(fā)的虛擬裝配軟件VESP,以油泵安裝過程為案例,對所提的方法進行驗證。采用VR外設(shè)跟蹤人體動作,操作者實時驅(qū)動虛擬人將油泵放置在基座上,然后左手從安裝孔中伸入拖起油泵,左右手協(xié)同逐漸將其移動至基座附近。移動過程中實時計算約束識別精度,當滿足識別精度要求后,油泵和裝配基座之間的軸線約束自動識別,約束確認后通過約束導(dǎo)航實現(xiàn)油泵的正確定位,安裝過程如圖4所示。
圖4 基于VR外設(shè)的安裝動作仿真Fig.4 Installing hydraulic motor through VR devices
使用專用扳手擰緊螺釘?shù)倪^程(精細裝配動作)如圖5所示,首先輸入擰緊動作的相關(guān)參數(shù),包括選擇虛擬人,虛擬手的類型以及螺釘相關(guān)參數(shù),如圖5(a)所示。圖5(b)為虛擬人擰緊操作的初始狀態(tài),第一次擰緊操作后,虛擬人將扳手沿著螺釘軸線方向移動,扳手與螺釘脫離,虛擬人移動扳手至初始的旋入姿態(tài),然后虛擬人移動扳手重新與螺釘定位,準備下一次擰緊操作,如此重復(fù),直到完全擰緊,最終狀態(tài)如圖5(c)所示。
圖5 擰緊動作自動仿真Fig.5 Tightening motion automatic generation
上述操作過程中,實時記錄裝配過程的關(guān)鍵幀,形成裝配關(guān)鍵幀序列,通過對不同方法獲得的裝配動作關(guān)鍵幀序列進行合并和編輯,最終形成與裝配工藝映射的完整裝配操作關(guān)鍵幀序列。
針對現(xiàn)階段裝配工藝仿真與效率低的問題,本文圍繞裝配動作混合仿真相關(guān)關(guān)鍵技術(shù)進行了研究與實踐,提出了混合驅(qū)動虛擬人進行裝配操作仿真的方法,在對基本裝配作業(yè)過程分段分析的基礎(chǔ)上,總結(jié)和歸納了裝配作業(yè)中的基本裝配動作,通過對裝配動作特性分析,將裝配動作具體分解為普通裝配動作、精細裝配動作和過渡裝配動作。針對前者,采用VR外設(shè)實時驅(qū)動虛擬人進行裝配動作仿真;針對后兩者,采用自適應(yīng)行為模型驅(qū)動虛擬人進行裝配動作仿真。最后通過油泵裝配過程仿真驗證了所提出的虛擬人裝配動作混合仿真方法的正確性與有效性。下一步工作將研究虛擬人裝配操作混合驅(qū)動的自動轉(zhuǎn)換機制,以減少仿真過程中的人工干預(yù)。
[1] 王朝暉, 陳懇, 朱心雄. 一種虛擬人作業(yè)行為的自主優(yōu)化模型. 軟件學(xué)報, 2012, 23(9): 2358-2373.
[2] LI Y, LV C, ZHOU D, et al. An application of immersive virtual simulation technology in maintenance. Chemical Engineering, 2013, 33(1):313-318.
[3] HAN G, WU Song. Motion capture of maintenance personnel based on multi-Kinect//2013 IEEE International Conference on Quality,Reliability, Risk, Maintenance, and Safety Engineering. IEEE,2013:1297-1299.
[4] ZONG D, LI C, XIA S, et al. Instruction level motion control of virtual human for maintenance process simulation//Proceedings of the 2010 IEEE International Conference on Audio Language and Image Processing.IEEE,2010:1289-1294.
[5] DENG G, HUANG X, GAO Q, et al. A real–time interaction strategy for virtual maintenance based on motion capture. International Journal of Computer Applications in Technology, 2014, 49(3):332-339.
[6] 王豐產(chǎn),孫有朝. 基于參數(shù)化動作描述的虛擬維修過程仿真. 圖學(xué)學(xué)報, 2013, 34 (2): 119-124.
[7] KUO CF, Wang MJJ. Motion generation and virtual simulation in a digital environment. International Journal of Production Research, 2012,50(22):6519-6529.
[8] QIU S, FAN X, WU D, et al. Virtual human modeling for interactive assembly and disassembly operation in virtual reality environment. The International Journal of Advanced Manufacturing Technology, 2013, 69(9-12):2355-2372.
[9] QIU S, HE Q, FAN X, et al. Virtual human hybrid control in virtual assembly and maintenance simulation. International Journal of Production Research, 2014, 52(3):867-887.