1 引言
我們生活的世界是三維世界,所見、所用、所接觸的物體都是以三維形式存在的。以往,我們只能將三維的物體,以不同視角作平面投影,用二維方式表達,從而得到二維的設計圖紙;隨著計算機技術的飛速發(fā)展,出現了計算機輔助二維設計:然而工藝部門必須要對其作規(guī)劃,以便加工者按指令用某個設備將其實現為實物。然后我們還需要將成千上萬個零件裝配成部件、產品。
要實現實際的裝配,我們還須描述各零部件的裝配關系、裝配順序、可視性、可達性及用何種工具、工裝、或借助何種設備,這樣才能為生產制造部門提供所需的指令。
當今全球制造企業(yè)之間的競爭越來越激烈,各企業(yè)不斷將各種先進的設計、制造手段應用于產品的開發(fā)制造。隨著計算機網絡和虛擬現實等先進技術的出現,虛擬制造(VM,Virtual Manufacturing)應運而生,它是現代制造技術與系統發(fā)展的趨勢。
達索公司作為“數字工程”解決方案的技術領導者,在產品設計階段并行考慮產品全生命周期中的各種因素,在產品設計階段考慮產品的可加工性、可裝配性和可服務性,在滿足產品性能與功能的條件下改進產品的結構,為制造業(yè)提供了世界最先進的數字工程模型。
但是其在操作程度上還是依賴鼠標,鍵盤等二維操作手段,不能直接將人在日常生活中獲得的經驗技能直接運用到人機交互中,同時也限制了計算機去完成更加復雜的任務。
本實驗就是計劃在虛擬世界中生成虛擬手,配合數據手套采集自然狀態(tài)下人手的各種動作數據,將這些數據映射到虛擬手使其模擬數據手套佩戴者的手部動作,對虛擬環(huán)境中的操作對象進行直接操縱。
這種方法與傳統方法中人手通過鍵盤、鼠標進行驅動的間接操縱相比更加符合人類的認知習慣,大大提高了人機交互的自然性和高效性,同時也使計算機能夠完成更加復雜的任務,真正意義上去操作虛擬零件進行設計、裝配、制造及生產。
2 虛擬手幾何模型
人手的運動過程中只有微小的形狀變化,因此在手模型中我們將其簡化成剛體。除拇指僅有兩節(jié)指骨外,其余各指都有三節(jié)指骨,分別稱為近指骨、中指骨和遠指骨(如圖1所示)。
圖1 人手的結構圖
根據對人手的運動特點以及外形特征,本模型每個手指關節(jié)以及手掌都采用橢球形單元合成(如圖2所示)。
圖2 虛擬手幾何模型
這種模型結構模型表面相對光滑,可伸展性強,適用于虛擬手的實時變化.一個橢球形單元由三條軸線控制,表面光滑,尤其對于手掌不規(guī)則的弧形表面。虛擬手運動的時候只需要改變相應橢球形單元的三條軸線的位置和方向即可。
每個橢球形單元的構造方程可表示為:
●a,b和c分別為相應二次曲面對應X,Y,Z坐標軸的軸線,也是控制橢球形單元位置形狀的主要參數,決定橢球形單元的邊界;
●n是一個常數,隨著n的增減,橢球形單元的形狀也發(fā)生變化,n增大則形狀趨于圓角立方體,反之則趨于球形。
虛擬手的幾何模型設計是一種典型的對象設計范例,可以將數據以及對數據的操作放在一起處理。對應虛擬手的類設計如下:
通過對這些橢球形單元的合理布置,調整它們的形狀和方向就能很容易的構造出封閉的,表面光滑的虛擬手模型。
3 虛擬手運動模型
3.1 數據手套數據采集
本實驗采用的數據手套為5DT公司開發(fā)的第二代高端數據手套5DT Data Glove 14 Ultra。該款數據手套采用光電彎曲傳感器,可以檢測手指關節(jié)彎曲角度和指縫間延展角度。每只手套有14個光電傳感器,可測量手指的近指骨和掌骨間關節(jié)之間的彎曲角度,中指骨和遠指骨間之間的彎曲角度以及相鄰手指間的外展角度,共計14個數據(如圖3所示)。
圖3 數據手套傳感器分布圖及編號
在手套開啟和每次更換用戶后,需要重新設置并實時更新各傳感器原始數據。通過線性的數學公式,根據原始數據的最大值和最小值,以及設定的數據取值范圍來得到獲取數據。其公式為:
其中:
●Raw(max)表示傳感器輸出原始數據的最大值:
●Raw(min)表示傳感器輸出原始數據的最小值;
●Max表示按照人體工學原理的該關節(jié)處的最大角度,即校正數據的范圍為[0,Max];
●Raw(val)表示當前測量的傳感器輸出原始數據;
●out表示經計算之后的數據即該關節(jié)彎曲角度。
為了精確計算出手指關節(jié)的彎曲以及伸展角度,傳感器輸出數據的最大值Raw(max)和最小值Raw(min)也需要進一步處理。每個傳感器得到的原始數據的最大值Raw(max)分別存儲在數組Upper[nSensor]內,對應最小值Raw(min)存儲在數Lower[nSensor]內。
例如:數據手套食指根部傳感器輸出數據為Value,其彎曲角度數據:
經過計算后,各個傳感器的輸出數據對應的角度數據可以直接應用于虛擬手模型。
3.2 虛擬手手勢合成
手指的運動可由不斷連續(xù)的、不同方向的環(huán)轉運動說明,即指體的圓周運動。運動時手指形成一個底端在近指骨、尖端在遠指骨的圓錐形軌跡。環(huán)轉運動是屈、展、伸、收依次連續(xù)的動作。
為了清晰表示虛擬手的運動狀態(tài),我們需要設置合理的坐標系。全局坐標系原點固定在中指根部,X軸指向小指并排的一側,Y軸與伸直狀態(tài)下食指基關節(jié)重合,Z軸由右手法則確定為垂直子手掌,并由手背指向手心(如圖4所示)。
圖4 環(huán)轉運動與三維坐標系關系
●MP,PIP和DIP分別為對應手指關節(jié)在基部、中間關節(jié)和末端關節(jié)處Z方向上測得的角度值。其中按照人體工學原理,DIP=0.67*PIP。
●P為對應手指基部在X方向上測得的角度值。
●根據計算的各傳感器角度數據,各手指的狀態(tài)可通過得出的角度數據合成(SO表示5DT數據手套第0號傳感器,以此類推)。
大拇指:
(1)繞著大拇指基關節(jié)的屈伸運動(S2)即繞Z軸轉動。
(2)繞著大拇指基關節(jié)的內折運動(SO)即繞X軸轉動。
(3)繞著指中關節(jié)的的屈伸運動(S1)即繞Z軸轉動。其余四指的運動十分相似,所以我們可以建立同一種運動模型,以食指為例:
(1)繞著指根關節(jié)的外展運動(S5)即繞Z軸轉動。
(2)繞著指根關節(jié)的屈伸運動(S3)即繞X軸轉動。
(3)繞著指中關節(jié)的屈伸運動(S4)即繞X軸轉動。
本虛擬手運動模型不涉及坐標軸變換,只是移動虛擬手的手指關節(jié),得到在世界坐標系中的各個關節(jié)關鍵點坐標,為虛擬制造過程中的碰撞檢測奠定基礎。其實現過程為:
①移動該關節(jié)底端至新定位位置origin。
②得到X方向上測得的角度值P,利用旋轉變換函數計算該關節(jié)在X方向旋轉后的空間位置。
③在②中得到的空間位置基礎上,得到Z方向上測得的角度值MP,利用旋轉變換函數計算該關節(jié)在Z方向旋轉后的空間位置。
④記錄③中得到的該關節(jié)頂端位置重,作為向上關節(jié)的底端位置origin。
4 虛擬手的包圍盒模型
層次包圍盒算法(Bounding Volume Hierarchy)是解決碰撞檢測問題固有時間復雜性的一種有效的方法。在進行碰撞檢測時首先進行包圍盒之間的相交測試;如果包圍盒相交,需要不斷地對每個節(jié)點中的幾何元素集合進行劃分,再進行劃分對象之間的碰撞檢測。
如果上述條件不滿足,則作為第二步:對被檢測幾何模型的包圍盒進行劃分,再做如上判斷。直到對包圍盒的劃分到達某一精度要求時候,確認是否發(fā)生碰撞。
層次包圍盒樹的建立過程中,對幾何模型進行劃分最常見的是采取二分的策略,以縮小并確定碰撞范圍或者碰撞點。以下是四面體在某一方向上的包圍盒劃分(如圖5所示)。
圖5 包圍盒的分割
虛擬手與虛擬物體的碰撞多發(fā)生在手指部位,所以只對各個手指關節(jié)生成包圍盒。在空間圖形實時變換的同時根據手指關節(jié)生成包圍盒,再進行碰撞檢測。空間圖形變換實現手勢合成的同時,每個關節(jié)的矩形包圍盒也按照相應規(guī)則實時更形變換,始終圍繞在手指關節(jié)周圍(如圖6所示)。
圖6 虛擬手的包圍盒模型
虛擬手模型與虛擬物體利用包圍盒方法碰撞檢測的具體步驟如下:
①根據數據手套狀態(tài),確定虛擬手和檢測對象的狀態(tài);
②求出第i個手指的第j個指節(jié),確定它的坐標;
③計算當前區(qū)域的邊界框,生成包圍盒;
④與虛擬物體進行矩形包圍盒比較算法判斷,對虛擬物體的包圍盒進行分割。
5 結束語
本文設計了一種面向虛擬制造的虛擬手交互控制模塊,并給出了虛擬手勢合成和碰撞檢測的實現方法。
我們用虛擬手去抓取虛擬物體,當發(fā)生接觸時,可以看到手指的包圍盒顏色發(fā)生了變化(如圖7所示),起到了較好的提示效果。
圖7 虛擬手與虛擬物體的碰撞檢測效果圖
本文的主要工作如下:研究了人手的解剖結構和運動特點,結合虛擬制造的需求,在Windows環(huán)境下,采用面向對象技術,運用C++語言構建了基于數據手套的虛擬手模型,建立了從人手到虛擬手的動作映射,實現了用戶對虛擬手運動的控制;研究了碰撞檢測的理論和方法,運用層次包圍盒方法實現了虛擬場景中虛擬手與虛擬物體的碰撞檢測,以此為基礎,對進一步進行實際虛擬操作奠定基礎。
目前的虛擬手模型是經過簡化的,基于簡單的幾何形體,與真實的人手存在一定的差異,在運動的跟蹤和映射方面不可能做到完全對應,因此對虛擬操作的準確性和靈活性構成了一定的障礙。
如何使其操作進程盡可能地與現實生活中的動作相接近,是我們進一步研究的目標。我們將考慮建立更加自然逼真的虛擬手模型以代替日前的基于簡單幾何形體的虛擬手模型,使其能更好地模擬手的運動規(guī)律,進行更多更精確的虛擬操作,取得更好的效果,廣泛應用于虛擬裝配、仿真模擬等虛擬制造領域。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.ezxoed.cn/
本文標題:一種面向虛擬制造的虛擬手設計與應用