一種用于計(jì)算機(jī)虛擬裝配的隱式交互系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提供了一種用于計(jì)算機(jī)虛擬裝配的隱式交互系統(tǒng),屬于虛擬裝配領(lǐng)域。該系統(tǒng)建立場(chǎng)景知識(shí)模型和用戶(hù)知識(shí)模型,結(jié)合場(chǎng)景知識(shí)模型和用戶(hù)知識(shí)模型分別構(gòu)建顯式交互知識(shí)庫(kù)和隱式交互知識(shí)庫(kù);基于場(chǎng)景任務(wù)進(jìn)行用戶(hù)隱式意圖感知,根據(jù)場(chǎng)景物體和虛擬手位置關(guān)系的進(jìn)行場(chǎng)景感知拉近,以及基于物體方向包圍盒的特征面和虛擬手的方向關(guān)系的進(jìn)行場(chǎng)景物體旋轉(zhuǎn)。本發(fā)明增強(qiáng)了虛擬裝配系統(tǒng)的感知能力,降低了用戶(hù)的操作負(fù)擔(dān)和認(rèn)知負(fù)擔(dān)。
【專(zhuān)利說(shuō)明】
一種用于計(jì)算機(jī)虛擬裝配的隱式交互系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于虛擬裝配領(lǐng)域,具體涉及一種用于計(jì)算機(jī)虛擬裝配的隱式交互系統(tǒng)。
【背景技術(shù)】
[0002] 隨著信息技術(shù)的發(fā)展,人機(jī)交互由以機(jī)器為中心向以人為中心發(fā)展,即機(jī)器要協(xié) 同用戶(hù)進(jìn)行交互。隱式人機(jī)交互是以人為中心的新型人機(jī)交互,在隱式交互模式下,用戶(hù)只 需考慮交互任務(wù)本身,無(wú)需關(guān)注任務(wù)的執(zhí)行方式和過(guò)程,場(chǎng)景和用戶(hù)能夠相向互動(dòng)。
[0003] 在現(xiàn)有虛擬裝配系統(tǒng)中,人機(jī)交互多以顯式交互方式進(jìn)行,比如,裝配中的碰撞檢 測(cè)都是場(chǎng)景物體被動(dòng)等待用戶(hù)的靠近,同樣地,物體位姿方向的調(diào)整也需要通過(guò)用戶(hù)施加 操作命令將旋轉(zhuǎn)物體到合適的方向。顯然,這些過(guò)程都是單向交互,影響了交互效率和交互 的自然性。因此,有必要將隱式交互融入顯式的虛擬裝配系統(tǒng)中,使系統(tǒng)中場(chǎng)景物體能主動(dòng) 的根據(jù)用戶(hù)操作協(xié)助用戶(hù)完成交互任務(wù)。
[0004] 目前隱式人機(jī)交互已經(jīng)有了一定進(jìn)展。文獻(xiàn)(徐光祐,陶霖密,史元春,張翔.普適 計(jì)算模式下的人機(jī)交互[J].計(jì)算機(jī)學(xué)報(bào),2007,07:1041-1053)提出了普適計(jì)算模式下,用 戶(hù)和環(huán)境的物理因素將成為交互的重要因素,并將物理空間人機(jī)交互分為人機(jī)交互接口和 隱式人機(jī)交互兩個(gè)層次。文獻(xiàn)(田豐,鄧昌智,周明駿,徐禮爽.Post-W頂P界面隱式交互特征 研究[J].計(jì)算機(jī)科學(xué)與探索,2007,02:160-169)從認(rèn)知心理學(xué)的角度對(duì)Post-WMP界面下 的隱式交互特征進(jìn)行分析和描述,提出了利用識(shí)別技術(shù)、上下文感知技術(shù)和用戶(hù)修正技術(shù) 相結(jié)合的方法來(lái)支持Post-WMP界面的隱式交互,并構(gòu)造了 Post-WMP界面的交互任務(wù)生 成框架。文獻(xiàn)(王巍,黃曉丹,趙繼軍,申艷光.隱式人機(jī)交互[J].信息與控制,2014,01:101 -109.)根據(jù)設(shè)備主動(dòng)性和用戶(hù)注意力兩個(gè)維度將隱式交互分為提醒式交互、自動(dòng)式交互和 環(huán)境代理式交互,全面地總結(jié)了隱式人機(jī)交互的研究現(xiàn)狀和進(jìn)展。
[0005] 虛擬裝配是人機(jī)交互的典型應(yīng)用場(chǎng)景,雖然不少相關(guān)研究都提高了用戶(hù)操作的自 然性和裝配的智能性,但現(xiàn)有虛擬裝配系統(tǒng)仍然以機(jī)器為中心進(jìn)行交互,需要用戶(hù)配合機(jī) 器來(lái)完成交互。文獻(xiàn)(程成,趙東坡,盧保安.虛擬環(huán)境的用戶(hù)意圖捕獲[J].中國(guó)圖象圖形學(xué) 報(bào),2015,02:271-279.)提出了用戶(hù)意圖理解多通道模型和算法,提高了虛擬環(huán)境中機(jī)器的 認(rèn)知能力和系統(tǒng)的交互效率,但在意圖表達(dá)的準(zhǔn)確性方面還有待完善。文獻(xiàn)(馬延周.虛擬 場(chǎng)景中協(xié)同感知技術(shù)研究[D].解放軍信息工程大學(xué),2008:39-46)提出了虛擬場(chǎng)景中的用 戶(hù)替身模型和可視化的多用戶(hù)協(xié)同感知模型,實(shí)現(xiàn)了虛擬場(chǎng)景中協(xié)同用戶(hù)間感知與交互的 共享。但存在由于網(wǎng)絡(luò)延遲及用戶(hù)間不一致導(dǎo)致的交互問(wèn)題。文獻(xiàn)(張丹,左敦穩(wěn),焦光明, 閆靜,李建平,劉玉廣.面向虛擬裝配的約束建模與裝配意圖捕捉技術(shù)[J].計(jì)算機(jī)集成制造 系統(tǒng),2010,06:1208-1214)給出了約束元素包圍盒的構(gòu)建原則和方法,并基于約束元素包 圍盒的相交測(cè)試提出了裝配意圖的層次識(shí)別規(guī)則,提高了虛擬裝配操作的精度和效率。文 獻(xiàn)(曹兆元,劉惠義,楊戰(zhàn)軍,鄭源.基于情境上下文的智能虛擬裝配動(dòng)作預(yù)測(cè)模型[J].計(jì)算 機(jī)工程與設(shè)計(jì),2013,04:1366-1370)提出了基于任務(wù)的裝配模型實(shí)現(xiàn)用戶(hù)的活動(dòng)感知。文 南犬(Yuanyuan Su,Zhiquan Feng.Research on the Objects Selection Method of 3D Interactive Interface.International Conference on Intelligent System Design and Engineering Applications .Volume 1,2013,p537_540)提出一種虛擬裝配平臺(tái)下的 基于導(dǎo)航信息模型,并基于此導(dǎo)航信息模型提出了新的物體選擇和碰撞檢測(cè)算法。文獻(xiàn) (Aehnelt M,Gutzeit E,Urban B.Using Activity Recognition for the Tracking of Assembly Processes:Challenges and Requirements[J].WOAR,2014:12-21)通過(guò)對(duì)虛擬 裝配動(dòng)作模式的分析,建立了智能虛擬裝配動(dòng)作預(yù)測(cè)模型,并進(jìn)行基于實(shí)例的動(dòng)作意圖預(yù) 測(cè)。以上研究雖然一定程度上提高了系統(tǒng)的感知能力,但都存在場(chǎng)景不能主動(dòng)感知用戶(hù)的 操作意圖,場(chǎng)景主動(dòng)性低的問(wèn)題,降低了用戶(hù)的交互體驗(yàn)。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于解決上述現(xiàn)有技術(shù)中存在的難題,提供一種用于計(jì)算機(jī)虛擬裝 配的隱式交互系統(tǒng),基于現(xiàn)有虛擬裝配系統(tǒng)中存在場(chǎng)景不能感知用戶(hù)意圖和用戶(hù)相向互動(dòng) 的問(wèn)題,通過(guò)建立顯式交互知識(shí)庫(kù)和隱式知識(shí)交互庫(kù),并利用專(zhuān)家系統(tǒng)推理用戶(hù)的操作意 圖,提高了場(chǎng)景的主動(dòng)性,方便用戶(hù)完成交互任務(wù)。
[0007] 本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
[0008] -種用于計(jì)算機(jī)虛擬裝配的隱式交互系統(tǒng),其特征在于,包括:
[0009] 建立場(chǎng)景知識(shí)模型模塊:場(chǎng)景知識(shí)隨著交互任務(wù)進(jìn)行而變化,包括顯式場(chǎng)景知識(shí) 庫(kù)和隱式場(chǎng)景知識(shí)庫(kù);所述顯式場(chǎng)景知識(shí)庫(kù)由物體知識(shí)庫(kù)和虛擬手知識(shí)庫(kù)組成,物體知識(shí) 庫(kù)包含物體編號(hào)、物體位置、物體角度、物體的選擇標(biāo)志、物體的操作屬性、物體的狀態(tài)和物 體操作完成標(biāo)志;所述物體角度是用物體0BB包圍盒特征面的法向量表示;所述物體的選擇 標(biāo)志表示物體被選中并對(duì)物體進(jìn)行任務(wù)操作;所述物體的操作屬性是指在場(chǎng)景任務(wù)中對(duì)已 選物體能夠進(jìn)行的操作,包括裝配物體的抓取、平移、釋放;所述物體的狀態(tài)是指物體的操 作屬性對(duì)應(yīng)的操作是否執(zhí)行;所述物體操作完成是指物體的操作屬性對(duì)應(yīng)的操作都執(zhí)行完 畢;所述虛擬手知識(shí)庫(kù)包含虛擬手的位置和虛擬手的向上法向量的角度;所述隱式場(chǎng)景知 識(shí)為場(chǎng)景中物體間和物體與虛擬手的特征關(guān)系,包括物體和虛擬手的位置關(guān)系、物體和虛 擬手的角度關(guān)系、物體的關(guān)聯(lián)物體、關(guān)聯(lián)物體的高光顯示標(biāo)志、關(guān)聯(lián)物體的高光顯示次數(shù)、 物體的拉近標(biāo)志、物體的旋轉(zhuǎn)標(biāo)志、物體和虛擬手的位置關(guān)系閾值、關(guān)聯(lián)物體和虛擬手的位 置關(guān)系閾值、物體和虛擬手的方向關(guān)系閾值、關(guān)聯(lián)物體和虛擬手的方向關(guān)系閾值;所述物體 的拉近包括:根據(jù)當(dāng)前物體,場(chǎng)景向虛擬手靠近和根據(jù)當(dāng)前物體的關(guān)聯(lián)物體,場(chǎng)景向虛擬 手靠近;所述物體的旋轉(zhuǎn)包括物體順時(shí)針向虛擬手旋轉(zhuǎn)、物體逆時(shí)針向虛擬手旋轉(zhuǎn)、當(dāng)前物 體的關(guān)聯(lián)物體順時(shí)針向當(dāng)前物體旋轉(zhuǎn)和當(dāng)前物體的關(guān)聯(lián)物體逆時(shí)針向當(dāng)前物體旋轉(zhuǎn);
[0010] 建立用戶(hù)知識(shí)模型模塊:用戶(hù)知識(shí)包括用戶(hù)的手部位置變化和手勢(shì);所述用戶(hù)的 手部位置變化包括X變化和y變化,并把用戶(hù)手部的X變化或y變化超過(guò)50mm定義為位置變 化;所述手勢(shì)包含12指抓手勢(shì)和12指放手勢(shì);所述位置變化包括位置向上變化、位置向下變 化和其他方向變化;
[0011]構(gòu)建顯式交互知識(shí)庫(kù)模塊:顯式交互是系統(tǒng)把顯式場(chǎng)景信息和用戶(hù)的動(dòng)作當(dāng)作輸 入,感知用戶(hù)的直接交互意圖,根據(jù)用戶(hù)的意圖語(yǔ)義產(chǎn)生顯式輸出;所述顯式交互知識(shí)庫(kù)包 括顯式場(chǎng)景知識(shí)庫(kù)和用戶(hù)動(dòng)作知識(shí)庫(kù);所述顯式場(chǎng)景知識(shí)庫(kù)中的前提包括上一次推理的意 圖、物體的操作屬性、手部位置是否變化、手勢(shì)和規(guī)則數(shù)目;結(jié)論包括手部動(dòng)作和用戶(hù)意圖; 所述手部動(dòng)作包括手向上移動(dòng)、手向下移動(dòng)、手向其他方向移動(dòng)、手握緊和手張開(kāi);所述用 戶(hù)意圖包括休息、操作、選擇、抓取、平移和釋放;
[0012] 構(gòu)建隱式交互知識(shí)庫(kù)模塊:隱式交互是把用戶(hù)顯式意圖和情境隱含知識(shí)當(dāng)作隱式 輸入,環(huán)境主動(dòng)配合用戶(hù)的顯式意圖產(chǎn)生隱式輸出,協(xié)助用戶(hù)完成交互任務(wù);所述隱式交互 知識(shí)庫(kù)包括隱式場(chǎng)景知識(shí)和用戶(hù)意圖;所述隱式交互知識(shí)庫(kù)中的前提包括當(dāng)前用戶(hù)意圖和 當(dāng)前用戶(hù)意圖的關(guān)聯(lián)類(lèi)型,結(jié)論包括用戶(hù)的隱式意圖;所述當(dāng)前用戶(hù)意圖的關(guān)聯(lián)類(lèi)型包括 當(dāng)前物體和虛擬手的位置關(guān)系、當(dāng)前物體的關(guān)聯(lián)物體顯示、當(dāng)前物體和關(guān)聯(lián)物體的位置關(guān) 系、當(dāng)前物體和虛擬手的角度關(guān)系和當(dāng)前物體和關(guān)聯(lián)物體的角度關(guān)系;所述用戶(hù)的隱式意 圖包括根據(jù)當(dāng)前物體,場(chǎng)景向虛擬手靠近、根據(jù)當(dāng)前物體的關(guān)聯(lián)物體,場(chǎng)景向虛擬手靠近、 物體向虛擬手順時(shí)針旋轉(zhuǎn)、關(guān)聯(lián)物體向物體順時(shí)針旋轉(zhuǎn)、物體向虛擬手逆時(shí)針旋轉(zhuǎn)、關(guān)聯(lián)物 體向物體逆時(shí)針旋轉(zhuǎn)。
[0013] 用戶(hù)隱式意圖感知模塊:基于場(chǎng)景任務(wù)進(jìn)行用戶(hù)隱式意圖感知;
[0014] 場(chǎng)景感知拉近模塊:根據(jù)場(chǎng)景物體和虛擬手位置關(guān)系的進(jìn)行場(chǎng)景感知拉近;
[0015] 場(chǎng)景物體旋轉(zhuǎn)模塊:基于物體方向包圍盒的特征面和虛擬手的方向關(guān)系的進(jìn)行場(chǎng) 景物體旋轉(zhuǎn)。
[0016] 作為對(duì)本技術(shù)方案的進(jìn)一步限定,所述用戶(hù)隱式意圖感知模塊是這樣實(shí)現(xiàn)的:
[0017] S1:建立并讀取物體知識(shí)庫(kù)、用戶(hù)知識(shí)模型和顯式交互知識(shí)庫(kù)、隱式交互知識(shí)庫(kù)和 綜合數(shù)據(jù)庫(kù),當(dāng)前任務(wù)編號(hào)初始化為0,當(dāng)前任務(wù)完成標(biāo)志初始化為假;
[0018] S 2:根據(jù)顯式場(chǎng)景知識(shí)庫(kù)中的物體操作屬性確定可操作的物體數(shù)目,確定場(chǎng)景任 務(wù)最大編號(hào);
[0019] S3:判斷當(dāng)前任務(wù)編號(hào)是否超過(guò)場(chǎng)景任務(wù)最大編號(hào),如果是,退出;如果否,轉(zhuǎn)S4;
[0020] S4:判斷當(dāng)前物體操作狀態(tài)與場(chǎng)景庫(kù)里物體操作狀態(tài)是否相同,如果是,當(dāng)前任務(wù) 完成,當(dāng)肖U任務(wù)完成標(biāo)志變?yōu)檎妫?br>[0021] S5:當(dāng)開(kāi)始檢測(cè)標(biāo)志記錄為假時(shí),記錄手的初始位置及手的當(dāng)前位置,當(dāng)手的當(dāng)前 位置與初始位置的差值大于50mm時(shí),開(kāi)始檢測(cè);
[0022] S6:當(dāng)用戶(hù)操作意圖為選中裝配物體時(shí),將物體的操作屬性和當(dāng)前任務(wù)完成標(biāo)志 存入綜合數(shù)據(jù)庫(kù),當(dāng)前任務(wù)編號(hào)加1;
[0023] S7:判斷用戶(hù)操作標(biāo)志是否為真,如果是,執(zhí)行操作,并將用戶(hù)操作標(biāo)記變?yōu)榧?如 果否,轉(zhuǎn)S8;
[0024] S8:利用膚色模型進(jìn)行手部分割,獲取從開(kāi)始檢測(cè)之后的十幀用戶(hù)的手勢(shì)主方向 特征和手部位置,選取第一幀和第十幀的手勢(shì)特征,與模板庫(kù)特征進(jìn)行類(lèi)-Hausdorff?距離 模板匹配;選取第一幀和第十幀的手部位置判斷手勢(shì)位置變化;將手勢(shì)識(shí)別結(jié)果和手部位 置變化存入綜合數(shù)據(jù)庫(kù)中;
[0025] S9:將綜合數(shù)據(jù)庫(kù)中的物體的操作屬性、手勢(shì)識(shí)別結(jié)果和手部位置變化作為當(dāng)前 事實(shí),遍歷顯式交互知識(shí)庫(kù),推理出最終結(jié)論,存入綜合數(shù)據(jù)庫(kù)中;
[0026] S10:根據(jù)推理的最終結(jié)論,確定用戶(hù)動(dòng)作的顯式意圖;如果當(dāng)前任務(wù)完成標(biāo)志為 未完成,則將最終結(jié)論作為下一次推理的前提:上一次推理的意圖,否則,不把最終結(jié)論作 為下一次推理的如提,并更改當(dāng)如任務(wù)完成標(biāo)志為未完成;
[0027] S11:把用戶(hù)的顯式意圖和隱式場(chǎng)景知識(shí)當(dāng)作隱式輸入,遍歷隱式交互知識(shí)庫(kù),推 理出最終結(jié)論,并存入綜合數(shù)據(jù)庫(kù)中;
[0028] S12:根據(jù)用戶(hù)的顯式意圖和隱式意圖將對(duì)應(yīng)操作標(biāo)志變?yōu)檎妫瑘?zhí)行相應(yīng)操作,更 改對(duì)應(yīng)的物體的操作狀態(tài),之后將開(kāi)始檢測(cè)標(biāo)志和對(duì)應(yīng)操作標(biāo)志變?yōu)榧?,轉(zhuǎn)S3。
[0029] 作為對(duì)本技術(shù)方案的進(jìn)一步限定,所述場(chǎng)景感知拉近模塊是這樣實(shí)現(xiàn)的:
[0030] P1:判斷當(dāng)前用戶(hù)的操作意圖,如果操作意圖是平移,轉(zhuǎn)P2;
[0031] P2:根據(jù)實(shí)際手和粒子濾波跟蹤算法得到虛擬手的位置,根據(jù)式(1)計(jì)算虛擬手的 移動(dòng)速度V;
(1)
[0033] 其中,loci表示虛擬手的末位置,loco表示虛擬手的初位置,t為虛擬手運(yùn)動(dòng)的幀 數(shù);
[0034] P3:如果當(dāng)前物體狀態(tài)為沒(méi)有被抓取,根據(jù)式(2)計(jì)算虛擬手的末位置和當(dāng)前操作 物體位置的距離d1;
(2)
[0036]其中,〇1表示第i個(gè)場(chǎng)景物體的位置;
[0037] P4:如果cU大于距離閾值,則當(dāng)前操作物體主動(dòng)向虛擬手靠近。根據(jù)式(3)求取場(chǎng) 景拉近的幀數(shù)f rame;
(:3)
[0039] 其中,thre_dl表示距離閾值;
[0040] P5:如果當(dāng)前物體狀態(tài)為已被抓取,根據(jù)式(4)計(jì)算當(dāng)前操作物體的位置和關(guān)聯(lián)物 體位置的距離d2;
(4)
[0042]其中,c/ i表示第i個(gè)場(chǎng)景物體關(guān)聯(lián)物體的位置。
[0043] P6:如果d2大于距離閾值,則當(dāng)前操作物體的關(guān)聯(lián)物體主動(dòng)向虛擬手靠近,根據(jù)公 式(5)求取場(chǎng)景拉近的幀數(shù)f rame;
(5)
[0045] 其中,thre_d2表示距離閾值;
[0046] P7:場(chǎng)景中各物體逐幀向虛擬手靠近距離V,逐幀更新場(chǎng)景中各物體的位置。
[0047] 作為對(duì)本技術(shù)方案的進(jìn)一步限定,所述場(chǎng)景物體旋轉(zhuǎn)模塊是這樣實(shí)現(xiàn)的:
[0048] T1:判斷當(dāng)前用戶(hù)的操作意圖,如果是抓取或釋放,轉(zhuǎn)T2;
[0049] T2:求出場(chǎng)景中物體的中心和協(xié)方差矩陣,計(jì)算協(xié)方差矩陣的特征向量,計(jì)算物體 的0BB長(zhǎng)方體包圍盒;
[0050] T3:求取并記錄0BB包圍盒各面的面積si及其法向量禮:;:
[0051 ] T4:當(dāng)用戶(hù)操作意圖為抓取時(shí),物體方向?yàn)樽ト∶娴姆较?,選擇最小面的法向量 ^作為抓取時(shí)物體的方向向量;
[0052] T5:如果虛擬手的向上法向量f和當(dāng)前物體的方向向量^^的夾角滿(mǎn)足式(6 ),則 物體繞虛擬手的法向量旋轉(zhuǎn);
(6)
[0054] T6:計(jì)算虛擬手的向上法向量和當(dāng)前物體的方向向量;^在X0Y平面的投影向量 心和*^,計(jì)算兩個(gè)向量與X軸的夾角angelv和angeli;
[0055] T7:如果angelv和angeli滿(mǎn)足式(7),則物體繞虛擬手順時(shí)針旋轉(zhuǎn)(anglel_thre_ anglel);
[0056] angelv^;angeli^;(angelv+180°) (7)
[0057] 如果angelv和angeli滿(mǎn)足式(8),物體繞虛擬手逆時(shí)針旋轉(zhuǎn)(anglel_thre_ anglel);
[0058] (angelv+180。)<angeli< (angelv+360。) (8)
[0059] T8:根據(jù)式(9)更新當(dāng)前操作物體各面的法向量;
[0060] S 9 =. 〇. ^ (9) Su Su Su 0 r n - S2, S2, 0
[0061 ]丨=..... n 53t 53lu -0 0 〇 ij (10) 切s 沒(méi)十沒(méi)' * (1 - eos (9) t? % * (1 - cos - c * sin 沒(méi) fl * c * (1 - cos (9)十辦* sin 沒(méi) 0 " /?*(7*(l-cos^) + r*sin 汐 cos 沒(méi)+ cos:6*) - cos 沒(méi))一(?*sin 沒(méi) 0
[0062] "二 ' a ^ c ^ (1 - cos(9) - ^^sia c ^ Z? * (1 - cos+ a * sin 8 cos j9+e_*(l-coS(9) 0 - 0 0 0 d ui)
[0063] 其中9 = -(anglel_thre_anglel) 〇
[0064] T9:當(dāng)用戶(hù)操作意圖為釋放時(shí),物體方向?yàn)檠b配面的方向,選擇最大面的法向量 S作為釋放時(shí)物體的方向向量;
[0065] T10 :如果當(dāng)前物體方向向量^;和關(guān)聯(lián)物體裝配面的法向量^的夾角滿(mǎn)足式 (12 ),則關(guān)聯(lián)物體繞當(dāng)前物體旋轉(zhuǎn);
(12)
[0067] T11:計(jì)算當(dāng)前物體的方向向量^和當(dāng)前物體關(guān)聯(lián)物體裝配面的法向量^在 X0Y平面的投影向量$mm和.s,計(jì)算兩個(gè)向量與X軸的夾角ange 1 i和ange 1' i;
[0068] T12:如果angeli和angel、滿(mǎn)足式(13),則關(guān)聯(lián)物體繞當(dāng)前物體順時(shí)針旋轉(zhuǎn) (angle2_thre_angle2);
[0069] angeliMangel7 (angeli+180°) (13)
[0070]如果angeli和angel/ i滿(mǎn)足式(14),則關(guān)聯(lián)物體繞當(dāng)前物體逆時(shí)針旋轉(zhuǎn)(angle2_ thre_angle2);
[0071] (angeli+180。Xangel/(angeli+360。) (14)
[0072] T13:根據(jù)式(9)更新當(dāng)前操作物體關(guān)聯(lián)物體各面的法向量,0 = (anglel_thre_ anglel)〇
[0073] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:。
[0074] 本發(fā)明針對(duì)現(xiàn)有虛擬裝配系統(tǒng)不能感知用戶(hù)操作意圖和用戶(hù)相向互動(dòng)的問(wèn)題,提 出了基于場(chǎng)景任務(wù)的用戶(hù)隱式意圖感知算法,增強(qiáng)了虛擬裝配系統(tǒng)的感知能力;并提出了 場(chǎng)景物體感知拉近算法和場(chǎng)景物體旋轉(zhuǎn)算法,降低了用戶(hù)的操作負(fù)擔(dān)和認(rèn)知負(fù)擔(dān)。
【附圖說(shuō)明】
[0075] 圖1本發(fā)明方法的步驟框圖 [0076]圖2-次碰撞檢測(cè)的平均時(shí)間 [0077]圖3-次碰撞檢測(cè)手的平均移動(dòng)距離 [0078]圖4總裝配任務(wù)平均操作時(shí)間 [0079]圖5總裝配任務(wù)平均移動(dòng)距離
[0080] 圖6用戶(hù)評(píng)價(jià)。
【具體實(shí)施方式】
[0081] 下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述:
[0082] 針對(duì)現(xiàn)有虛擬裝配系統(tǒng)中存在場(chǎng)景不能感知用戶(hù)意圖和用戶(hù)相向互動(dòng)的問(wèn)題, 本發(fā)明將隱式人機(jī)交互引入虛擬裝配系統(tǒng),通過(guò)建立顯式交互知識(shí)庫(kù)和隱式交互知識(shí)庫(kù), 并利用專(zhuān)家系統(tǒng)推理用戶(hù)動(dòng)作的顯式語(yǔ)義及其隱式語(yǔ)義,增加了場(chǎng)景的主動(dòng)感知能力,從 而使用戶(hù)使用較少地手勢(shì)命令完成交互任務(wù),降低了用戶(hù)的操作負(fù)擔(dān)和認(rèn)知負(fù)擔(dān)。本發(fā)明 的特點(diǎn)主要體現(xiàn)在:(1)建立場(chǎng)景知識(shí)模型和用戶(hù)知識(shí)模型,結(jié)合場(chǎng)景知識(shí)模型和用戶(hù)知識(shí) 模型分別構(gòu)建顯式交互知識(shí)庫(kù)和隱式交互知識(shí)庫(kù),實(shí)現(xiàn)虛擬裝配交互界面的隱式交互;(2) 本發(fā)明提出了根據(jù)場(chǎng)景物體和虛擬手位置關(guān)系的場(chǎng)景感知拉近算法和基于物體方向包圍 盒(0BB)的特征面和虛擬手的方向關(guān)系的場(chǎng)景物體旋轉(zhuǎn)算法。實(shí)驗(yàn)表明,本發(fā)明的算法減少 了虛擬裝配交互的時(shí)間和移動(dòng)距離,降低了用戶(hù)的操作負(fù)擔(dān),提高了交互的自然性。
[0083]本發(fā)明中的知識(shí)庫(kù)設(shè)計(jì)如下:
[0084]本發(fā)明的知識(shí)模型包括場(chǎng)景知識(shí)模型和用戶(hù)知識(shí)模型,場(chǎng)景知識(shí)模型和用戶(hù)知識(shí) 模型都用結(jié)構(gòu)體定義。
[0085]場(chǎng)景知識(shí)模型如下:
[0086] 場(chǎng)景知識(shí)隨著交互任務(wù)進(jìn)行而變化,包括顯式場(chǎng)景知識(shí)(Explicit Scene knowledge)和隱式場(chǎng)景知識(shí)(Implicit Scene knowledge),。
[0087]顯式場(chǎng)景知識(shí)(Explicit Scene knowledge)由物體(Object)和虛擬手(Virtual Hand)組成,物體包含物體編號(hào)(number)、物體位置(1 ocat ion)、物體角度(ange 1)、物體的 選擇標(biāo)志(select)、物體的操作屬性(type)、物體的狀態(tài)(status)和物體操作完成標(biāo)志 (flag)。本發(fā)明中的物體的角度由物體OBB包圍盒(Oriented Bounding Box)特征面的法向 量表示。
[0088] 物體的選擇標(biāo)志表示物體被選中并對(duì)物體進(jìn)行任務(wù)操作。物體的操作屬性是指在 場(chǎng)景任務(wù)中對(duì)已選物體可以進(jìn)行的操作,包括裝配物體的抓取平移釋放。物體的狀態(tài)是指 物體的操作屬性對(duì)應(yīng)的操作是否執(zhí)行,任務(wù)完成是指物體的操作屬性對(duì)應(yīng)的操作都執(zhí)行。 虛擬手包含虛擬手的位置(location)和虛擬手的向上法向量的角度(angle)。
[0089] 隱式場(chǎng)景知識(shí)為場(chǎng)景中物體間和物體與虛擬手的特征關(guān)系,主要包括物體和虛擬 手的位置關(guān)系(location realtion)、物體和虛擬手的角度關(guān)系(angle relation)、物體的 關(guān)聯(lián)物體(relation object)、關(guān)聯(lián)物體的高光顯示標(biāo)志(light flag)、關(guān)聯(lián)物體的高光顯 示次數(shù)(light number)物體的拉近標(biāo)志(near flag)、物體的旋轉(zhuǎn)標(biāo)志(rotation flag)、 物體和虛擬手的位置關(guān)系閾值(location thresholdl)、關(guān)聯(lián)物體和虛擬手的位置關(guān)系閾 值(location threshold2)、物體和虛擬手的方向關(guān)系閾值(angel thresholdl)、關(guān)聯(lián)物體 和虛擬手的方向關(guān)系閾值(ange 1 thresho 1 d2)。物體的拉近包括:根據(jù)當(dāng)前物體,場(chǎng)景向虛 擬手靠近和根據(jù)當(dāng)前物體的關(guān)聯(lián)物體,場(chǎng)景向虛擬手靠近。物體的旋轉(zhuǎn)包括物體順時(shí)針向 虛擬手旋轉(zhuǎn)、物體逆時(shí)針向虛擬手旋轉(zhuǎn)、當(dāng)前物體的關(guān)聯(lián)物體順時(shí)針向當(dāng)前物體旋轉(zhuǎn)和當(dāng) 前物體的關(guān)聯(lián)物體逆時(shí)針向當(dāng)前物體旋轉(zhuǎn)。
[0090]場(chǎng)景知識(shí)形式化定義為:
[0091] Struct SKM= {Struct EX-SK,Struct IM-SK}〇
[0092] Struct EX_SK= {Struct 0BJ[N],Struct Virhand},N為物體的個(gè)數(shù)。
[0093] 其中,Struct 0BJ= {int number,double location[3],double angel[3],int type,bool select,bool status[3],bool flag};
[0094] Struct Virhand={double location[3],double angel[3]}〇
[0095] Struct IM_SK={double re_location[N],double re_angel[N],int relation [N][N],int near[N],int rotation[N],bool bLight,int lightnum,bool bNear,bool bRotate,double LocationThresholdl,double LocationThreshold2,double AngelThresholdl,double AngelThreshold2}〇
[0096]本發(fā)明顯式場(chǎng)景物體知識(shí)庫(kù)如表1所示。
[0099]表 1
[0100]用戶(hù)知識(shí)模型如下:
[0101 ] 用戶(hù)知識(shí)包括用戶(hù)的手部位置變化(handchange)和手勢(shì)(handgesture)。用戶(hù)的 手部位置變化包括x變化(Xchange)和y變化(Ychange),并把用戶(hù)手部的x變化或y變化超過(guò) 50mm定義為位置變化。手勢(shì)包含12指抓手勢(shì)和12指放手勢(shì)。位置變化包括位置向上變化、位 置向下變化和其他方向變化。用戶(hù)知識(shí)形式化表示為:
[0102] Struct UKM{
[0103] double Xchange;
[0104] double Ychange;
[0105] int handgesture用戶(hù)知識(shí)庫(kù)如表2所示。
[0107]表2
[0108] 顯式交互知識(shí)庫(kù)如下:
[0109]顯式交互是系統(tǒng)把顯式場(chǎng)景信息和用戶(hù)的動(dòng)作當(dāng)作輸入,感知用戶(hù)的直接交互意 圖,根據(jù)用戶(hù)的意圖語(yǔ)義產(chǎn)生顯式輸出。顯式交互知識(shí)庫(kù)包括顯式場(chǎng)景知識(shí)庫(kù)和用戶(hù)動(dòng)作 知識(shí)庫(kù)。
[0110]本發(fā)明中顯式交互知識(shí)庫(kù)由產(chǎn)生式規(guī)則組成,即"IF前提,TNEN結(jié)論"的形式。
[0111 ] 顯式交互知識(shí)庫(kù)前提包括上一次推理的意圖(preintention)、物體的操作屬性 (type)、手部位置是否變化(Xchange和Ychange)、手勢(shì)(handgesture)和規(guī)則數(shù)目(num)。結(jié) 論包括手部動(dòng)作(action)和用戶(hù)思圖(intention)。手部動(dòng)作包括手向上移動(dòng)、手向下移 動(dòng)、手向其他方向移動(dòng)、手握緊和手張開(kāi)。用戶(hù)意圖包括休息、操作、選擇、抓取、平移和釋 放。根據(jù)虛擬裝配平臺(tái)任務(wù)和功能,包括16條規(guī)則。
[0112] 規(guī)則RL1:如果 Ychange〉= Threshold,
[0113] 那么手部動(dòng)作為"手向上移動(dòng)"。
[0114] 規(guī)則RL2:如果 Ychange〈 = _Threshold,
[0115] 那么手部動(dòng)作為"手向下移動(dòng)"。
[0116]規(guī)則RL3:如果 Xchange〈 = Threshold且Ychange〈 = Threshold,
[0117] 那么手部動(dòng)作為"手移動(dòng)"。
[0118] 規(guī)則RL4:如果手勢(shì)為"12指抓",
[0119] 那么手部動(dòng)作為"手握緊"。
[0120]規(guī)則RL5:如果手勢(shì)為"12指放",
[0121]那么手部動(dòng)作為"手張開(kāi)"。
[0122] 規(guī)則RL6:如果手部動(dòng)作為"手向上移動(dòng)",
[0123] 那么用戶(hù)意圖為"操作"。
[0124] 規(guī)則RL7:如果手部動(dòng)作為"手向下移動(dòng)",
[0125] 那么用戶(hù)意圖為"休息"。
[0126] 規(guī)則RL8:如果物體的選擇標(biāo)志為假且手部動(dòng)作為手移動(dòng)且"用戶(hù)操作",
[0127] 那么用戶(hù)意圖為"選擇物體"。
[0128] 規(guī)則RL9:如果上一次推理的意圖為"選擇"且物體的操作屬性為抓取平移釋放 且手部動(dòng)作為"手移動(dòng)",
[0129] 那么用戶(hù)意圖為"平移"。
[0130]規(guī)則RL10:如果上一次推理的意圖為"抓取"且物體的操作屬性為抓取平移釋放 且手部動(dòng)作為"手張開(kāi)",
[0131]那么用戶(hù)意圖為"釋放"。
[0132] 規(guī)則RL11:如果上一次推理的意圖為"抓取"且物體的操作屬性為抓取平移釋放 且手部動(dòng)作為"手移動(dòng)",
[0133] 那么用戶(hù)意圖為"平移"。
[0134] 規(guī)則RL12:如果上一次推理的意圖為"平移"且物體的操作屬性為抓取平移釋放 且手部動(dòng)作為"手握緊",
[0135] 那么用戶(hù)意圖為"抓取"。
[0136] 規(guī)則RL13:如果上一次推理的意圖為"平移"且物體的操作屬性為抓取平移釋放 且手部動(dòng)作為"手移動(dòng)"
[0137] 那么用戶(hù)意圖為"平移"
[0138] 規(guī)則RL14:如果上一次推理的意圖為"平移"且物體的操作屬性為抓取平移釋放 且手部動(dòng)作為"手張開(kāi)",
[0139] 那么用戶(hù)意圖為"釋放"。
[0140]規(guī)則RL15:如果上一次推理的意圖為"釋放"且物體的操作屬性為抓取平移釋放 且手部動(dòng)作為"手握緊",
[0141] 那么用戶(hù)意圖為"抓取"。
[0142] 規(guī)則RL16:如果上一次推理的意圖為"釋放"且物體的操作屬性為抓取平移釋放 且手部動(dòng)作為"手移動(dòng)",
[0143] 那么用戶(hù)意圖為"平移"。
[0144] 隱式交互知識(shí)庫(kù)如下:
[0145] 隱式交互把用戶(hù)顯式意圖和情境隱含知識(shí)當(dāng)作隱式輸入,環(huán)境主動(dòng)配合用戶(hù)的顯 式意圖產(chǎn)生隱式輸出,協(xié)助用戶(hù)完成交互任務(wù)。隱式交互知識(shí)庫(kù)由隱式場(chǎng)景知識(shí)和用戶(hù)意 圖組成。
[0146] 本發(fā)明中隱式交互知識(shí)庫(kù)由產(chǎn)生式規(guī)則組成,8卩"IF前提,TNEN結(jié)論"的形式。
[0147] 隱式交互知識(shí)庫(kù)前提包括:當(dāng)前用戶(hù)意圖和當(dāng)前用戶(hù)意圖的關(guān)聯(lián)類(lèi)型,結(jié)論包括 用戶(hù)的隱式意圖。當(dāng)前用戶(hù)意圖的關(guān)聯(lián)類(lèi)型包括當(dāng)前物體和虛擬手的位置關(guān)系、當(dāng)前物體 的關(guān)聯(lián)物體顯示、當(dāng)前物體和關(guān)聯(lián)物體的位置關(guān)系、當(dāng)前物體和虛擬手的角度關(guān)系和當(dāng)前 物體和關(guān)聯(lián)物體的角度關(guān)系。用戶(hù)的隱式意圖包括根據(jù)當(dāng)前物體,場(chǎng)景向虛擬手靠近、根據(jù) 當(dāng)前物體的關(guān)聯(lián)物體,場(chǎng)景向虛擬手靠近、物體向虛擬手順時(shí)針旋轉(zhuǎn)、關(guān)聯(lián)物體向物體順時(shí) 針旋轉(zhuǎn)、物體向虛擬手逆時(shí)針旋轉(zhuǎn)、關(guān)聯(lián)物體向物體逆時(shí)針旋轉(zhuǎn)。隱式交互知識(shí)庫(kù)包括7條 規(guī)則。
[0148] 規(guī)則 1:如果顯式意圖為"平移"且 re_location[K]> = LocationThresholdl,
[0149] 那么隱式意圖為"根據(jù)當(dāng)前物體,場(chǎng)景向虛擬手靠近"。
[0150] 規(guī)則2:如果顯式意圖為"平移"且re_location[K_relation]> = LocationThreshold2,
[0151]那么隱式意圖為"根據(jù)當(dāng)前物體的關(guān)聯(lián)物體,場(chǎng)景向虛擬手靠近"。
[0152] 規(guī)則3:如果顯式意圖為"抓取"且lightnum = 0,
[0153]那么隱式意圖為"當(dāng)前物體的關(guān)聯(lián)物體高光顯示"。
[0154] 規(guī)則4:如果顯式意圖為"抓取"且re_angel[K]> = angel thresholdl且物體的 旋轉(zhuǎn)標(biāo)志為順時(shí)針,
[0155] 那么隱式意圖為"物體順時(shí)針旋轉(zhuǎn)夾角減去角度閾值"。
[0156] 規(guī)則5:如果顯式意圖為"抓取"且re_angel[K]> = angel thresholdl且物體的 旋轉(zhuǎn)標(biāo)志為逆時(shí)針
[0157] 那么隱式意圖為"物體逆時(shí)針旋轉(zhuǎn)夾角減去角度閾值"。
[0158] 規(guī)則6:如果顯式意圖為"釋放"且 re_angel[K_relation]> = angelthreshold2 且物體的旋轉(zhuǎn)標(biāo)志為順時(shí)針
[0159] 那么隱式意圖為"關(guān)聯(lián)物體順時(shí)針旋轉(zhuǎn)夾角減去角度閾值"。
[0160] 規(guī)則7:如果顯式意圖為"釋放"且 re_angel[K_relation]> = angel threshold〗 且物體的旋轉(zhuǎn)標(biāo)志為逆時(shí)針
[0161]那么隱式意圖為"關(guān)聯(lián)物體逆時(shí)針旋轉(zhuǎn)夾角減去角度閾值"。
[0162] 本發(fā)明基于場(chǎng)景任務(wù)的用戶(hù)隱式意圖感知算法如下:
[0163] 本發(fā)明提出了基于場(chǎng)景任務(wù)的用戶(hù)隱式意圖感知算法(Implicit Intention Perception algorithm based on Scene Task, IIP-ST),算法框圖如圖 1 所不.
[0164] 算法步驟為:
[0165] S1:建立并讀取顯式場(chǎng)景物體知識(shí)庫(kù)、用戶(hù)手勢(shì)庫(kù)和顯式交互知識(shí)庫(kù)、隱式交互知 識(shí)庫(kù)和綜合數(shù)據(jù)庫(kù),當(dāng)前任務(wù)編號(hào)初始化為〇,當(dāng)前任務(wù)完成標(biāo)志初始化為假;
[0166] S 2:根據(jù)顯式場(chǎng)景知識(shí)庫(kù)中的物體操作屬性確定可操作的物體數(shù)目,確定場(chǎng)景任 務(wù)最大編號(hào);
[0167] S3:判斷當(dāng)前任務(wù)編號(hào)是否超過(guò)場(chǎng)景任務(wù)最大編號(hào),如果是,退出;如果否,轉(zhuǎn)S4;
[0168] S4:判斷當(dāng)前物體操作狀態(tài)與場(chǎng)景庫(kù)里物體操作狀態(tài)是否相同,如果是,當(dāng)前任務(wù) 完成,當(dāng)肖U任務(wù)完成標(biāo)志變?yōu)檎妫?br>[0169] S5:當(dāng)開(kāi)始檢測(cè)標(biāo)志記錄為假時(shí),記錄手的初始位置及手的當(dāng)前位置,當(dāng)手的當(dāng)前 位置與初始位置的差值大于50mm時(shí),開(kāi)始檢測(cè);
[0170] S6:當(dāng)用戶(hù)操作意圖為選中裝配物體時(shí),將物體的操作屬性和當(dāng)前任務(wù)完成標(biāo)志 存入綜合數(shù)據(jù)庫(kù),當(dāng)前任務(wù)編號(hào)加1;
[0171] S7:判斷用戶(hù)操作標(biāo)志是否為真,如果是,執(zhí)行操作,并將用戶(hù)操作標(biāo)記變?yōu)榧?如 果否,轉(zhuǎn)S8;
[0172] S8:利用膚色模型進(jìn)行手部分割,獲取從開(kāi)始檢測(cè)之后的十幀用戶(hù)的手勢(shì)主方向 特征和手部位置。選取第一幀和第十幀的手勢(shì)特征,與模板庫(kù)特征進(jìn)行類(lèi)-Hausdorff?距離 模板匹配;選取第一幀和第十幀的手部位置判斷手勢(shì)位置變化;將手勢(shì)識(shí)別結(jié)果和手部位 置變化存入綜合數(shù)據(jù)庫(kù)中;
[0173] S9:將綜合數(shù)據(jù)庫(kù)中的物體的操作屬性、手勢(shì)識(shí)別結(jié)果和手部位置變化作為當(dāng)前 事實(shí),遍歷顯式交互知識(shí)庫(kù),推理(請(qǐng)參考王亞南.專(zhuān)家系統(tǒng)中推理機(jī)制的研究與應(yīng)用[D]. 武漢理工大學(xué),2006:7-13.)出最終結(jié)論,存入綜合數(shù)據(jù)庫(kù)中;
[0174] S10:根據(jù)推理的最終結(jié)論,確定用戶(hù)動(dòng)作的顯式意圖;如果當(dāng)前任務(wù)完成標(biāo)志為 未完成,則將最終結(jié)論作為下一次推理的前提:上一次推理的意圖,否則,不把最終結(jié)論作 為下一次推理的如提,并更改當(dāng)如任務(wù)完成標(biāo)志為未完成;
[0175] S11:把用戶(hù)的顯式意圖和隱式場(chǎng)景知識(shí)當(dāng)作隱式輸入,遍歷隱式交互知識(shí)庫(kù),推 理出最終結(jié)論,并存入綜合數(shù)據(jù)庫(kù)中;
[0176] S12:根據(jù)用戶(hù)的顯式意圖和隱式意圖將對(duì)應(yīng)操作標(biāo)志變?yōu)檎?,?zhí)行相應(yīng)操作,更 改對(duì)應(yīng)的物體的操作狀態(tài),之后將開(kāi)始檢測(cè)標(biāo)志和對(duì)應(yīng)操作標(biāo)志變?yōu)榧伲D(zhuǎn)S3;
[0177] 本發(fā)明場(chǎng)景物體感知拉近算法如下:
[0178] 在虛擬裝配系統(tǒng)中,碰撞檢測(cè)是不可缺少的過(guò)程,但現(xiàn)有研究大都需要用戶(hù)主動(dòng) 不斷操作,直到系統(tǒng)檢測(cè)到滿(mǎn)足碰撞檢測(cè)條件為止,影響了交互的效率。為此,本發(fā)明提出 了根據(jù)場(chǎng)景物體和虛擬手位置關(guān)系的場(chǎng)景物體感知拉近算法,步驟為:
[0179] S1:判斷當(dāng)前用戶(hù)的操作意圖,如果操作意圖是平移,轉(zhuǎn)S2;
[0180] S2:根據(jù)實(shí)際手和粒子濾波跟蹤算法得到虛擬手的位置,根據(jù)式(1)計(jì)算虛擬手的 移動(dòng)速度V;
(1)
[0182] 其中,loci表示虛擬手的末位置,loco表示虛擬手的初位置,t為虛擬手運(yùn)動(dòng)的幀 數(shù)。
[0183] S3:如果當(dāng)前物體狀態(tài)為沒(méi)有被抓取,根據(jù)式(2)計(jì)算虛擬手的末位置和當(dāng)前操作 物體位置的距離d1;
(2)
[0185] 其中,〇1表示第i個(gè)場(chǎng)景物體的位置。
[0186] S4:如果cU大于距離閾值,則當(dāng)前操作物體(場(chǎng)景)主動(dòng)向虛擬手靠近。根據(jù)式(3) 求取場(chǎng)景拉近的幀數(shù)frame;
(3)
[0188] 其中,thre_dl表示距離閾值。
[0189] S5:如果當(dāng)前物體狀態(tài)為已被抓取,根據(jù)式(4)計(jì)算當(dāng)前操作物體的位置和關(guān)聯(lián)物 體位置的距離d2;
⑷
[0191]其中,c/ i表示第i個(gè)場(chǎng)景物體關(guān)聯(lián)物體的位置。
[0192] S6:如果d2大于距離閾值,則當(dāng)前操作物體的關(guān)聯(lián)物體(場(chǎng)景)主動(dòng)向虛擬手靠近。 根據(jù)公式(5)求取場(chǎng)景拉近的幀數(shù)f rame;
(5)
[0194] 其中,thre_d2表示距離閾值。
[0195] S7:場(chǎng)景中各物體逐幀向虛擬手靠近距離V,逐幀更新場(chǎng)景中各物體的位置。
[0196] 本發(fā)明中的場(chǎng)景物體旋轉(zhuǎn)算法如下:
[0197] 在進(jìn)行抓取和釋放物體的過(guò)程中,需要檢查物體的位姿是否匹配,本發(fā)明提出了 基于物體0BB包圍盒方向特征面和虛擬手方向關(guān)系的場(chǎng)景物體旋轉(zhuǎn)算法,使物體能夠感知 用戶(hù)的位姿,并主動(dòng)調(diào)整自身位姿以適應(yīng)用戶(hù)。算法步驟為:
[0198] S1:判斷當(dāng)前用戶(hù)的操作意圖,如果是抓取或釋放,轉(zhuǎn)S2;
[0199] S2:根據(jù)文獻(xiàn)(吳強(qiáng).基于0BB碰撞檢測(cè)及其算法改進(jìn)研究[D].鄭州大學(xué),2007:14-16)的方法求出場(chǎng)景中物體的中心和協(xié)方差矩陣,計(jì)算協(xié)方差矩陣的特征向量,計(jì)算物體的 0BB長(zhǎng)方體包圍盒;
[0200] S3:求取并記錄0BB包圍盒各面的面積Si及其法向量洗;
[0201] S4:當(dāng)用戶(hù)操作意圖為抓取時(shí),物體方向?yàn)樽ト∶娴姆较?,本發(fā)明選擇最小面的 '法贈(zèng) E作力臟日寸雛白勺加贈(zèng);
[0202] S5:如果虛擬手的向上法向量f和當(dāng)前物體的方向向量^的夾角滿(mǎn)足式(6 ),則 物體繞虛擬手的法向量旋轉(zhuǎn);
(6)
[0204] S6:計(jì)算虛擬手的向上法向量^和當(dāng)前物體的方向向量^;在乂(^平面的投影向量 5V和義?,計(jì)算兩個(gè)向量與X軸的夾角angelv和angeli;
[0205] S7:如果angelv和angeli滿(mǎn)足式(7),則物體繞虛擬手順時(shí)針旋轉(zhuǎn)(anglel_thre_ anglel);
[0206] angelv^;angeli^;(angelv+180°) (7)
[0207]
[0208] 如果angelv和angeli滿(mǎn)足式(8),物體繞虛擬手逆時(shí)針旋轉(zhuǎn)(anglel_thre_ anglel);
[0209] (angelv+180。)<angeli< (angelv+360。) (8)
[0210] S8:根據(jù)式(9)更新當(dāng)前操作物體各面的法向量;
[0211] ^ ? r = ^ (9) ^1, 0 r , - S2, S2, S2:〇
[0212]《.= n Up ^3: 0 - 000]_」 (10) eos ^ ^^ (1 -eos^) a ^ Z? * (1 - cos $)-c^ sin 0 a*r*(l-eos 沒(méi))+為本 sin 沒(méi) 0
[0213] p: _ ^ ^ a ^ (1 - cos 0) + c * sin ^ eos 0 ^ - 〇〇& &) d* (1 -cos沒(méi))一u 中 sin 沒(méi) 0 eas B)- B c^'b^{\ -eos^) + a^sin^ ^(1 -cosi9j 0 - 0 0 0 !J (11)
[0214] 其中9 = -(anglel_thre_anglel) 〇
[0215] S9:當(dāng)用戶(hù)操作意圖為釋放時(shí),物體方向?yàn)檠b配面的方向,本發(fā)明選擇最大面的法 向量作為釋放時(shí)物體的方向向量:;
[0216] S10 :如果當(dāng)前物體方向向量t和關(guān)聯(lián)物體裝配面的法向量Z的夾角滿(mǎn)足式 (12 ),則關(guān)聯(lián)物體繞當(dāng)前物體旋轉(zhuǎn);
(12 )
[0218] SI 1:計(jì)算當(dāng)前物體的方向向量^;和當(dāng)前物體關(guān)聯(lián)物體裝配面的法向量;^在 X0Y平面的投影向量和計(jì)算兩個(gè)向量與X軸的夾角ange 1 i和ange 1' i;
[0219] S12:如果angeli和angel、滿(mǎn)足式(13),則關(guān)聯(lián)物體繞當(dāng)前物體順時(shí)針旋轉(zhuǎn) (angle2_thre_angle2);
[0220] angeliMangel7 i^; (angeli+180°) (13)
[0221 ]如果angeli和angel/ i滿(mǎn)足式(14),則關(guān)聯(lián)物體繞當(dāng)前物體逆時(shí)針旋轉(zhuǎn)(angle2_ thre_angle2);
[0222] (angeli+180。Xangel/(angeli+360。) (14)
[0223] S13:根據(jù)式(9)更新當(dāng)前操作物體關(guān)聯(lián)物體各面的法向量,0 = (anglel_thre_ anglel)〇
[0224] 下面通過(guò)實(shí)驗(yàn)來(lái)說(shuō)明本發(fā)明方法的技術(shù)效果:
[0225] 手勢(shì)識(shí)別是三維手勢(shì)交互的關(guān)鍵。本發(fā)明采用基于kinect的手勢(shì)識(shí)別(請(qǐng)參考鄭 斌玨.基于Kinect深度信息的手勢(shì)識(shí)別[D].杭州電子科技大學(xué),2014:7-11)。本發(fā)明采用文 南犬(Yang Xuewen,Feng Zhiquan,Huang Zhongzhu,He Nana.A Ges ture Recognition Algorithm Using Hausdorff-Like Distance Tempi ate Matching Based on the Main Direction of Gesture[C]//Appl ied Mechanics and Materials.2015,713:2156-2159) 提出的基于手勢(shì)主方向及空間手勢(shì)坐標(biāo)點(diǎn)分布特征匹配的識(shí)別方法。
[0226] 本發(fā)明虛擬裝配場(chǎng)景任務(wù)包括選擇物體,并對(duì)物體進(jìn)行平移一抓取一平移一釋放 操作,最終將物體放置到裝配位置。
[0227] 本發(fā)明虛擬裝配平臺(tái)用OpenGL構(gòu)建。
[0228] 對(duì)比實(shí)驗(yàn)如下
[0229] 文南犬(Yuanyuan Su , Zhiquan Feng . Research on the Objects Selection Method of 3D Interactive Interface.International Conference on Intelligent System Design and Engineering Applications.Volume 1,2013,p537_540)提出的基于 導(dǎo)航信息模型的碰撞檢測(cè)算法(Collision Detection algorithm based on Navigation Information Model,CD-OTM),可以降低用戶(hù)的認(rèn)知和操作負(fù)擔(dān)。本發(fā)明隱式交互IIP-SC算 法意在降低用戶(hù)的操作和認(rèn)知負(fù)擔(dān),因此和⑶-N頂算法進(jìn)行對(duì)比。
[0230] 本發(fā)明實(shí)驗(yàn)是在距離kinectl. 2米的位置進(jìn)行,10名操作熟練的實(shí)驗(yàn)者分別進(jìn)行 10次實(shí)驗(yàn),每次實(shí)驗(yàn)都是連貫地完成,并讓操作者對(duì)完成裝配任務(wù)過(guò)程進(jìn)行NASA(請(qǐng)參考高 思華.飛行員飛行操控訓(xùn)練系統(tǒng)的研究與實(shí)現(xiàn)[D].吉林大學(xué),2013:46)評(píng)價(jià)打分。分別統(tǒng)計(jì) 了兩種算法的一次碰撞檢測(cè)的時(shí)間、一次碰撞檢測(cè)手的移動(dòng)距離、總裝配任務(wù)操作時(shí)間和 總裝配任務(wù)移動(dòng)距離,并求出每個(gè)操作者的平均值。本發(fā)明中一次碰撞檢測(cè)是指從選中物 體開(kāi)始到與發(fā)生物體碰撞檢測(cè)的過(guò)程,總裝配任務(wù)是指將場(chǎng)景中的所有可裝配物體裝配完 成。
[0231 ] -次碰撞檢測(cè)的平均時(shí)間如圖2所示。IIP-ST算法一次碰撞檢測(cè)平均時(shí)間為2000- 3000ms,CD-N頂算法一次碰撞檢測(cè)平均時(shí)間為3000-3500ms。
[0232] -次碰撞檢測(cè)手的平均移動(dòng)距離如圖3所示。IIP-ST算法一次碰撞檢測(cè)平均移動(dòng) 距離為20CK350mm,Q)-NIM算法一次碰撞檢測(cè)平均移動(dòng)距離為300-400mm。
[0233] 總裝配任務(wù)平均操作時(shí)間如圖4所示。IIP-ST算法總裝配任務(wù)平均操作時(shí)間為 5500-7000ms,CD-N頂算法總裝配任務(wù)平均操作時(shí)間為8000-9000ms。
[0234] 總裝配任務(wù)平均移動(dòng)距離如圖5所示。IIP-ST算法總裝配任務(wù)平均移動(dòng)距離為 3000-4000mm,CD-NIM算法總裝配任務(wù)平均移動(dòng)距離為5000-6000mm.
[0235] 從實(shí)驗(yàn)結(jié)果可以看出,IIP-ST算法相比僅采用顯式交互的⑶-NIM算法,由于融入 了隱式交互,使人機(jī)能雙向互動(dòng),減少了用戶(hù)操作的時(shí)間和移動(dòng)距離,提高了操作效率。
[0236] 本發(fā)明NASA用戶(hù)評(píng)價(jià)指標(biāo)分為腦力要求(mental demand)、體力要求(physical demand)、操作績(jī)效(performance)、努力程度(effort)和受挫程度(frustration)。其中,腦 力要求描述了用戶(hù)操作記憶負(fù)荷,體力要求描述了用戶(hù)操作吃力程度,操作績(jī)效表示用戶(hù) 操作的順利程度,努力程度描述了用戶(hù)在操作過(guò)程中是否感到輕松,受挫程度描述了用戶(hù) 在操作過(guò)程中產(chǎn)生的消極程度。NASA評(píng)價(jià)指標(biāo)采用5分制,每個(gè)指標(biāo)分為5個(gè)等級(jí),0-1分表 不認(rèn)知負(fù)擔(dān)微小,1-2分表不認(rèn)知負(fù)擔(dān)比較小,2-3分表不認(rèn)知負(fù)擔(dān)一般,3-4分表不認(rèn)知負(fù) 擔(dān)比較大,4-5分表示認(rèn)知負(fù)擔(dān)很大。從圖6可以看出,本發(fā)明算法的各項(xiàng)指標(biāo)都在2分以?xún)?nèi), 用戶(hù)認(rèn)知負(fù)荷較低,用戶(hù)評(píng)價(jià)較高。
[0237] 上述技術(shù)方案只是本發(fā)明的一種實(shí)施方式,對(duì)于本領(lǐng)域內(nèi)的技術(shù)人員而言,在本 發(fā)明公開(kāi)了應(yīng)用方法和原理的基礎(chǔ)上,很容易做出各種類(lèi)型的改進(jìn)或變形,而不僅限于本 發(fā)明上述【具體實(shí)施方式】所描述的方法,因此前面描述的方式只是優(yōu)選的,而并不具有限制 性的意義。
【主權(quán)項(xiàng)】
1. 一種用于計(jì)算機(jī)虛擬裝配的隱式交互系統(tǒng),其特征在于,包括: 建立場(chǎng)景知識(shí)模型模塊:場(chǎng)景知識(shí)隨著交互任務(wù)進(jìn)行而變化,包括顯式場(chǎng)景知識(shí)庫(kù)和 隱式場(chǎng)景知識(shí)庫(kù);所述顯式場(chǎng)景知識(shí)庫(kù)由物體知識(shí)庫(kù)和虛擬手知識(shí)庫(kù)組成,物體知識(shí)庫(kù)包 含物體編號(hào)、物體位置、物體角度、物體的選擇標(biāo)志、物體的操作屬性、物體的狀態(tài)和物體操 作完成標(biāo)志;所述物體角度是用物體OBB包圍盒特征面的法向量表示;所述物體的選擇標(biāo)志 表示物體被選中并對(duì)物體進(jìn)行任務(wù)操作;所述物體的操作屬性是指在場(chǎng)景任務(wù)中對(duì)已選物 體能夠進(jìn)行的操作,包括裝配物體的抓取、平移、釋放;所述物體的狀態(tài)是指物體的操作屬 性對(duì)應(yīng)的操作是否執(zhí)行;所述物體操作完成是指物體的操作屬性對(duì)應(yīng)的操作都執(zhí)行完畢; 所述虛擬手知識(shí)庫(kù)包含虛擬手的位置和虛擬手的向上法向量的角度;所述隱式場(chǎng)景知識(shí)為 場(chǎng)景中物體間和物體與虛擬手的特征關(guān)系,包括物體和虛擬手的位置關(guān)系、物體和虛擬手 的角度關(guān)系、物體的關(guān)聯(lián)物體、關(guān)聯(lián)物體的高光顯示標(biāo)志、關(guān)聯(lián)物體的高光顯示次數(shù)、物體 的拉近標(biāo)志、物體的旋轉(zhuǎn)標(biāo)志、物體和虛擬手的位置關(guān)系閾值、關(guān)聯(lián)物體和虛擬手的位置關(guān) 系閾值、物體和虛擬手的方向關(guān)系閾值、關(guān)聯(lián)物體和虛擬手的方向關(guān)系閾值;所述物體的拉 近包括:根據(jù)當(dāng)前物體,場(chǎng)景向虛擬手靠近和根據(jù)當(dāng)前物體的關(guān)聯(lián)物體,場(chǎng)景向虛擬手靠 近;所述物體的旋轉(zhuǎn)包括物體順時(shí)針向虛擬手旋轉(zhuǎn)、物體逆時(shí)針向虛擬手旋轉(zhuǎn)、當(dāng)前物體的 關(guān)聯(lián)物體順時(shí)針向當(dāng)前物體旋轉(zhuǎn)和當(dāng)前物體的關(guān)聯(lián)物體逆時(shí)針向當(dāng)前物體旋轉(zhuǎn); 建立用戶(hù)知識(shí)模型模塊:用戶(hù)知識(shí)包括用戶(hù)的手部位置變化和手勢(shì);所述用戶(hù)的手部 位置變化包括X變化和y變化,并把用戶(hù)手部的X變化或y變化超過(guò)50mm定義為位置變化;所 述手勢(shì)包含12指抓手勢(shì)和12指放手勢(shì);所述位置變化包括位置向上變化、位置向下變化和 其他方向變化; 構(gòu)建顯式交互知識(shí)庫(kù)模塊:顯式交互是系統(tǒng)把顯式場(chǎng)景信息和用戶(hù)的動(dòng)作當(dāng)作輸入, 感知用戶(hù)的直接交互意圖,根據(jù)用戶(hù)的意圖語(yǔ)義產(chǎn)生顯式輸出;所述顯式交互知識(shí)庫(kù)包括 顯式場(chǎng)景知識(shí)庫(kù)和用戶(hù)動(dòng)作知識(shí)庫(kù);所述顯式場(chǎng)景知識(shí)庫(kù)中的前提包括上一次推理的意 圖、物體的操作屬性、手部位置是否變化、手勢(shì)和規(guī)則數(shù)目;結(jié)論包括手部動(dòng)作和用戶(hù)意圖; 所述手部動(dòng)作包括手向上移動(dòng)、手向下移動(dòng)、手向其他方向移動(dòng)、手握緊和手張開(kāi);所述用 戶(hù)意圖包括休息、操作、選擇、抓取、平移和釋放; 構(gòu)建隱式交互知識(shí)庫(kù)模塊:隱式交互是把用戶(hù)顯式意圖和情境隱含知識(shí)當(dāng)作隱式輸 入,環(huán)境主動(dòng)配合用戶(hù)的顯式意圖產(chǎn)生隱式輸出,協(xié)助用戶(hù)完成交互任務(wù);所述隱式交互知 識(shí)庫(kù)包括隱式場(chǎng)景知識(shí)和用戶(hù)意圖;所述隱式交互知識(shí)庫(kù)中的前提包括當(dāng)前用戶(hù)意圖和當(dāng) 前用戶(hù)意圖的關(guān)聯(lián)類(lèi)型,結(jié)論包括用戶(hù)的隱式意圖;所述當(dāng)前用戶(hù)意圖的關(guān)聯(lián)類(lèi)型包括當(dāng) 前物體和虛擬手的位置關(guān)系、當(dāng)前物體的關(guān)聯(lián)物體顯示、當(dāng)前物體和關(guān)聯(lián)物體的位置關(guān)系、 當(dāng)前物體和虛擬手的角度關(guān)系和當(dāng)前物體和關(guān)聯(lián)物體的角度關(guān)系;所述用戶(hù)的隱式意圖包 括根據(jù)當(dāng)前物體,場(chǎng)景向虛擬手靠近、根據(jù)當(dāng)前物體的關(guān)聯(lián)物體,場(chǎng)景向虛擬手靠近、物體 向虛擬手順時(shí)針旋轉(zhuǎn)、關(guān)聯(lián)物體向物體順時(shí)針旋轉(zhuǎn)、物體向虛擬手逆時(shí)針旋轉(zhuǎn)、關(guān)聯(lián)物體向 物體逆時(shí)針旋轉(zhuǎn)。 用戶(hù)隱式意圖感知模塊:基于場(chǎng)景任務(wù)進(jìn)行用戶(hù)隱式意圖感知; 場(chǎng)景感知拉近模塊:根據(jù)場(chǎng)景物體和虛擬手位置關(guān)系的進(jìn)行場(chǎng)景感知拉近; 場(chǎng)景物體旋轉(zhuǎn)模塊:基于物體方向包圍盒的特征面和虛擬手的方向關(guān)系的進(jìn)行場(chǎng)景物 體旋轉(zhuǎn)。2. 根據(jù)權(quán)利要求1所述的用于計(jì)算機(jī)虛擬裝配的隱式交互系統(tǒng),其特征在于:所述用戶(hù) 隱式意圖感知模塊是這樣實(shí)現(xiàn)的: S1:建立并讀取物體知識(shí)庫(kù)、用戶(hù)知識(shí)模型和顯式交互知識(shí)庫(kù)、隱式交互知識(shí)庫(kù)和綜合 數(shù)據(jù)庫(kù),當(dāng)前任務(wù)編號(hào)初始化為〇,當(dāng)前任務(wù)完成標(biāo)志初始化為假; S2:根據(jù)顯式場(chǎng)景知識(shí)庫(kù)中的物體操作屬性確定可操作的物體數(shù)目,確定場(chǎng)景任務(wù)最 大編號(hào); S3:判斷當(dāng)前任務(wù)編號(hào)是否超過(guò)場(chǎng)景任務(wù)最大編號(hào),如果是,退出;如果否,轉(zhuǎn)S4; S4:判斷當(dāng)前物體操作狀態(tài)與場(chǎng)景庫(kù)里物體操作狀態(tài)是否相同,如果是,當(dāng)前任務(wù)完 成,當(dāng)如任務(wù)完成標(biāo)志變?yōu)檎妫? S5:當(dāng)開(kāi)始檢測(cè)標(biāo)志記錄為假時(shí),記錄手的初始位置及手的當(dāng)前位置,當(dāng)手的當(dāng)前位置 與初始位置的差值大于50mm時(shí),開(kāi)始檢測(cè); S6:當(dāng)用戶(hù)操作意圖為選中裝配物體時(shí),將物體的操作屬性和當(dāng)前任務(wù)完成標(biāo)志存入 綜合數(shù)據(jù)庫(kù),當(dāng)前任務(wù)編號(hào)加1; S7:判斷用戶(hù)操作標(biāo)志是否為真,如果是,執(zhí)行操作,并將用戶(hù)操作標(biāo)記變?yōu)榧伲蝗绻?否,轉(zhuǎn)S8; S8:利用膚色模型進(jìn)行手部分割,獲取從開(kāi)始檢測(cè)之后的十幀用戶(hù)的手勢(shì)主方向特征 和手部位置,選取第一幀和第十幀的手勢(shì)特征,與模板庫(kù)特征進(jìn)行類(lèi)-Hausdorff距離模板 匹配;選取第一幀和第十幀的手部位置判斷手勢(shì)位置變化;將手勢(shì)識(shí)別結(jié)果和手部位置變 化存入綜合數(shù)據(jù)庫(kù)中; S9:將綜合數(shù)據(jù)庫(kù)中的物體的操作屬性、手勢(shì)識(shí)別結(jié)果和手部位置變化作為當(dāng)前事實(shí), 遍歷顯式交互知識(shí)庫(kù),推理出最終結(jié)論,存入綜合數(shù)據(jù)庫(kù)中; S10:根據(jù)推理的最終結(jié)論,確定用戶(hù)動(dòng)作的顯式意圖;如果當(dāng)前任務(wù)完成標(biāo)志為未完 成,則將最終結(jié)論作為下一次推理的前提:上一次推理的意圖,否則,不把最終結(jié)論作為下 一次推理的如提,并更改當(dāng)如任務(wù)完成標(biāo)志為未完成; S11:把用戶(hù)的顯式意圖和隱式場(chǎng)景知識(shí)當(dāng)作隱式輸入,遍歷隱式交互知識(shí)庫(kù),推理出 最終結(jié)論,并存入綜合數(shù)據(jù)庫(kù)中; S12:根據(jù)用戶(hù)的顯式意圖和隱式意圖將對(duì)應(yīng)操作標(biāo)志變?yōu)檎?,?zhí)行相應(yīng)操作,更改對(duì) 應(yīng)的物體的操作狀態(tài),之后將開(kāi)始檢測(cè)標(biāo)志和對(duì)應(yīng)操作標(biāo)志變?yōu)榧?,轉(zhuǎn)S3。3. 根據(jù)權(quán)利要求1所述的用于計(jì)算機(jī)虛擬裝配的隱式交互系統(tǒng),其特征在于:所述場(chǎng)景 感知拉近模塊是這樣實(shí)現(xiàn)的: P1:判斷當(dāng)前用戶(hù)的操作意圖,如果操作意圖是平移,轉(zhuǎn)P2; P2:根據(jù)實(shí)際手和粒子濾波跟蹤算法得到虛擬手的位置,根據(jù)式(1)計(jì)算虛擬手的移動(dòng) 速度v;其中,loci表示虛擬手的末位置,loco表示虛擬手的初位置,t為虛擬手運(yùn)動(dòng)的幀數(shù); P3:如果當(dāng)前物體狀態(tài)為沒(méi)有被抓取,根據(jù)式(2)計(jì)算虛擬手的末位置和當(dāng)前操作物體 位置的距離d1;其中,01表示第i個(gè)場(chǎng)景物體的位置; P4:如果cU大于距離閾值,則當(dāng)前操作物體主動(dòng)向虛擬手靠近。根據(jù)式(3)求取場(chǎng)景拉近 的幀數(shù)frame;其中,thre_dl表示距離閾值; P5:如果當(dāng)前物體狀態(tài)為已被抓取,根據(jù)式(4)計(jì)算當(dāng)前操作物體的位置和關(guān)聯(lián)物體位 置的距離d2;其中,c/ i表示第i個(gè)場(chǎng)景物體關(guān)聯(lián)物體的位置。 P6:如果d2大于距離閾值,則當(dāng)前操作物體的關(guān)聯(lián)物體主動(dòng)向虛擬手靠近,根據(jù)公式(5) 求取場(chǎng)景拉近的幀數(shù)frame;其中,thre_d2表示距離閾值; P7:場(chǎng)景中各物體逐幀向虛擬手靠近距離v,逐幀更新場(chǎng)景中各物體的位置。4.根據(jù)權(quán)利要求1所述的用于計(jì)算機(jī)虛擬裝配的隱式交互系統(tǒng),其特征在于:所述場(chǎng)景 物體旋轉(zhuǎn)模塊是這樣實(shí)現(xiàn)的: T1:判斷當(dāng)前用戶(hù)的操作意圖,如果是抓取或釋放,轉(zhuǎn)T2; T2:求出場(chǎng)景中物體的中心和協(xié)方差矩陣,計(jì)算協(xié)方差矩陣的特征向量,計(jì)算物體的 OBB長(zhǎng)方體包圍盒; T3:求取并記錄OBB包圍盒各面的面積Si及其法向量?。? T4:當(dāng)用戶(hù)操作意圖為抓取時(shí),物體方向?yàn)樽ト∶娴姆较颍x擇最小面的法向量^作 為抓取時(shí)物體的方向向量; T5:如果虛擬手的向上法向量^和當(dāng)前物體的方向向量&的夾角滿(mǎn)足式(6 ),則物體 繞虛擬手的法向量旋轉(zhuǎn);T6:計(jì)算虛擬手的向上法向量$和當(dāng)前物體的方向向量?在XOY平面的投影向量i和 :,計(jì)算兩個(gè)向量與x軸的夾 T7 :如果angelv和angeli滿(mǎn)足式(7),則物體繞虛擬手順時(shí)針旋轉(zhuǎn)(anglel_thre_ anglel); angelv^iangeli^; (angelv+180°) (7) 如果3即6]^和311〖6]^滿(mǎn)足式(8),物體繞虛擬手逆時(shí)針旋轉(zhuǎn)(311〖161-1:1^6_311〖161); (angelv+180。)<angeli<(angelv+360。) (8) T8:根據(jù)式(9)更新當(dāng)前操作物體各面的法向量;其中0 = -(anglel_thre_anglel) 〇 T9:當(dāng)用戶(hù)操作意圖為釋放時(shí),物體方向?yàn)檠b配面的方向,選擇最大面的法向量^作 為釋放時(shí)物體的方向向量; Τ10:如果當(dāng)前物體方向向量^和關(guān)聯(lián)物體裝配面的法向量;^的夾角滿(mǎn)足式(12 ),則 關(guān)聯(lián)物體繞當(dāng)前物體旋轉(zhuǎn);Τ11:計(jì)算當(dāng)前物體的方向向量?和當(dāng)前物體關(guān)聯(lián)物體裝配面的法向量^在ΧΟΥ平 面的投影向量計(jì)算兩個(gè)向量與X軸的夾角angeli和angel/ i; T12:如果angeli和angel/ i滿(mǎn)足式(13),則關(guān)聯(lián)物體繞當(dāng)前物體順時(shí)針旋轉(zhuǎn)(angle2-thre_angle2); angeliMangel7 (angeli+180°) (13) 如果angeli和angel/ i滿(mǎn)足式(14),則關(guān)聯(lián)物體繞當(dāng)前物體逆時(shí)針旋轉(zhuǎn)(angle2_thre_ angle2); (angeli+180°) Mangel7 (angeli+360〇) (14) T13 :根據(jù)式(9)更新當(dāng)前操作物體關(guān)聯(lián)物體各面的法向量,Θ = (anglel-thre_ anglel)〇
【文檔編號(hào)】G06F3/01GK105929943SQ201610236176
【公開(kāi)日】2016年9月7日
【申請(qǐng)日】2016年4月15日
【發(fā)明人】郭清鎖
【申請(qǐng)人】郭清鎖