前言
在制造業中,裝配技術旨在采用快速,可靠,低成本的裝配方法來提高產品設計質量,縮短產品開發周期,節約成本。傳統的原型裝配方法就是制造出零件的原型。零件原型雖然能夠給操作者提供真實的裝配操作體驗,但零件原型的開發成本非常高,如果發現產品設計不足,無法在零件原型上直接修改,必須重新制造原型來改進,反復這個過程直到得到滿意的產品設計。這種開發方式導致產品設計周期長,成本高。隨著計算機輔助設計技術的發展,裝配操作變得越來越自動化,虛擬裝配極大地推動了裝配技術的進步。虛擬裝配技術采用計算機生成的虛擬三維零件模型來代替零件原型,不需要加工出樣品原型,可以大幅度降低生產成本,而且零件的改進只需要修改對應的虛擬模型,大大縮短了設計時間。然而虛擬裝配也有其不足之處,就是其將設計人員完全浸入在虛擬的環境中,沒有任何真實裝配空間的信息,導致操作環境真實感不足,操作不夠直觀高效。如果將增強現實技術應用到裝配設計中,就可以利用增強現實的虛實結合的特點,將真實的裝配空間和虛擬的零件模型操作結合到一起,使裝配環境更加真實,交互方式更加自然,裝配操作更加直觀高效,裝配效果更加可靠。
本文提出了一個基于增強現實的協同式裝配系統的框架結構并詳細闡述了系統中注冊跟蹤、遮擋處理、碰撞檢測、人機交互、運動仿真等幾個關鍵模塊的設計和實現方法。系統包含了增強現實和裝配設計上的諸多關鍵技術:為支持多用戶協同設計,系統采用c/s體系結構;遮擋處理是用于計算虛擬模型和真實物體正確的遮擋關系;碰撞檢測用來判斷零件之間是否發生碰撞,進而判斷零件之間的約束關系和輔助交互工具與零件的交互過程;在人機交互設計上,系統不是采用傳統的二維鼠標和菜單,而是設計了一系列針對增強現實裝配操作的交互工具,用以模擬真實環境下的三維交互。這些交互工具是虛擬面板、虛擬筆和虛擬手套。本文還提出了一個全新的基于增強現實的裝配體運動仿真方法,探討了虛擬零件與真實零件相互驅動的可能性。當產品零件裝配完畢后,系統可以根據裝配體零件的約束關系和裝配特征,計算運動過程中零件的運動方位信息,實現運動仿真,用來輔助設計人員驗證裝配體安裝可行性,發現產品設計的缺陷和衡量產品的性能。根據系統的框架結構和技術細節,本文開發了一個原型系統并通過實例給出了各技術模塊的實現結果,驗證了系統的可行性。
1、增強現實在裝配技術上的應用
本文主要探討增強現實在裝配領域中的應用開發。裝配技術是現代制造業中一項非常重要的領域,已經被證明為對早期階段的產品設計有重大的意義(Nof et a1.1997)。裝配過程一般在產品的整個設計制造過程中占用約40%-60%的人時數。如何找到高效、可靠,能夠保證產品質量,同時又能夠減少生產成本,提高產品競爭力的裝配技術對整個制造業都有著重要意義(Yan et a1.2003)。傳統的裝配方式就是加工出產品的物理原型零件(PhysicalPrototyping),通過零件裝配過程幫助用戶發現設計的不足和漏洞,進而改進產品設計,這種裝配方式由于是制造出產品原型,能夠給用戶提供真實的視覺、聽覺和觸覺反饋,在過去二十多年中得到非常廣泛的應用,但是原型方式是一個非常耗時耗資源的過程,加工出產品的原型后如果發現出產品設計缺陷,無法在原型上直接修改,需要重新設計,重新制造,反復整個過程直到得到滿意的設計結果,因此導致整個設計開發周期長,成本高。
隨著計算機輔助技術和虛擬現實技術的發展,虛擬原型(VirtualPrototyping)技術逐漸發展成熟并得到應用,被稱之為虛擬裝配(VirtualAssembly)。虛擬裝配采用虛擬現實技術,通過計算機生成一個全虛擬的三維裝配環境,虛擬裝配系統通過運動跟蹤和力反饋等技術給用戶提供在裝配環境中的操作手段,仿真整個裝配過程。Jayaram et al(1997)開發了一個稱為VADE(Virtual Assembly Design Environment)的虛擬裝配設計環境系統,提供一個完全浸入式的虛擬環境,來幫助設計人員從設計初期就考慮到零件裝配、拆卸的過程,輔助分析產品設計。圖1.3為德國A.R.T.GmbH公司的全身定位系統在虛擬裝配的應用示例。操作人員先將在CAD系統建立的零件模型導入到虛擬裝配系統中,然后佩戴定位系統和力反饋設備,在虛擬裝配環境中直接操作虛擬零件進行裝配,通過虛擬的裝配過程檢驗產品的可裝配性,獲得裝配體驗,評估和改進產品設計。
(a)操作人員佩戴全身定位系統進行裝配操作
(B)對應的虛擬裝配環境和操作
圖1 A.R.I虛擬裝配
由此可見,虛擬裝配不需要加工出產品原型,而只是操作虛擬的CAD模型.可以反復設計修改,因此能夠大幅度的縮短開發周期和降低開發成本,使裝配過程變得更加快速、高效、經濟。然而虛擬裝配技術同樣存在一定的缺陷,那就是操作人員處在一個完全由計算機圖形組成的虛擬的裝配環境中,沒有包含真實環境中的信息.僅僅是通過虛擬場景來模擬出真實的工作環境,其通過視覺,力反饋等技術所虛擬出來的真實感是有限的。雖然現在的計算機軟硬件性能已經越來越強,但是要開發能夠滿足生成有足夠真實感的場景,能夠處理復雜的裝配操作.同時又達到實時性要求的系統往往還是很困難的(Pang et al2005)。
增強現實由于其虛實結臺的特性,恰恰能夠解執虛擬現實的場景真實感不足的問題,如果將增強現實技術應用到裝配領域中,則能夠給操作者提供一個即包含周圍真實裝配環境又同時有虛擬信息的混臺環境,大大增強用戶的真實感。在這樣的裝配系統中,一部分零件是加工出來的原型,另一部分是虛擬的CAD模型,操作者既可以操作真實的零件也可以同虛擬的模型交互,從而將物理原型(Physical prototyping)和虛擬原型(Virtual prototyping)的優點結合起來。
許多學者不斷研究探索增強現實在裝配技術中的關鍵技術和應用。Haniffet al(1999)提出了基于增強現實的裝配訓練系統,通過將零件名稱、裝配信息、正確的裝配位置以圖形的形式疊加到真實裝配環境中來,使得訓練者能夠較快的獲得裝配體驗,熟練掌握裝配過程。Yuan et al(2008)采用RCE神經網絡模型設計了一個交互工具來輔助裝配操作。Shen et a1.(2008)詳細的闡述了如何將虛擬的信息,如注釋、高亮顯示的模型特征等.無遮擋的顯示給用戶,以指導用戶進行裝配。在汽車制造業,已經出現采用增強現實技術指導車門裝配的應用(Reiners et a1.1998)。.隨著基予增強現實的裝配技術不斷發展,一些學者開始對這種裝配技術的性能進行評估(Tang et a1.2003,1|I『iedenmaier et al。2003)。
隨著裝配技術的復雜化,協同式裝配系統逐漸成為進一步的研究方向。協同式系統采用客戶/服務器(Client/Server)式架構,能夠同時支持多入協同式工作,用戶可以從不同焦度觀察和操作共同的裝配體,通過交流合作完成裝配任務。Billinghurst et al。(1998)開發了TransVision系統,利用虛擬物體的信息作為提示輔助多用戶的合作決策過程。Broll et a1.(2000)展示了~個虛擬圓桌(Virtual Round Table),能夠將力、載荷等抽象信息用可視化的圖形表達出來,支持多用戶協同操饞。Amin Hammad et a1.(2009)采用分布式協同結構,通過增強現實技術模擬起重機作業,并提出一個增強現實分布式協同建設的方法(DARCC)。
作為一個新興的領域,基于增強現實的裝配技術還遠來成熟,還需要更多的研究和探索。然而增強現實技術虛實結合的特性必將使其得到越來越廣泛的應用,甚至成為新一代的制造技術(Pang et a1.2005)。
2 、系統框架
與虛擬裝配相比,基于增強現實的裝配由于其虛實結合的特性能夠提供更加真實的裝配環境和更加直觀的交互方式。本文提出的系統的設計目的是使裝配操作變得更加真實、直觀、簡單、快速和節約成本。協同式設計是為了使系統能支持多用戶同時進行裝配操作,用戶可咀從不同角度觀察產品設計,通過交流合作完成裝配設計。圖1給出該系統的框架結構。下文將介紹系統框架中的各個模塊。
圖1系統的框架圖
為支持多用戶操作,系統采用技術成熟的客戶/服務器(c/s)軟件體系結構??蛻簦掌鹘Y構是20世紀90年代逐步發展成熟的技術。該結構將軟件應用一分為二,服務器作為后臺管理數據,處理客戶請求;客戶端為前臺顯示數據,完成用于客戶交互和預處理。該結構利用客戶機和服務器各自的硬件環境處理能力,將任務合理的分配到兩端。客戶端接收客戶輸入和前期處理后提交給服務器,服務器負責處理客戶端請求。這樣一方面減輕了服務器端的數據負荷同時保證了數據存儲管理的一致性。
在本文的裝配系統中客戶端主要包含客戶信息(C1ient Information)、本地數據庫(Local Database)、注冊跟蹤、顯示和修改更新等子模塊。其中客戶信息是指當前客戶端的名稱、用戶類型、當前工作狀態等信息。不同類型的用戶擁有不同的權限等級,對應不同的觀察和修改權限,后面將詳細介紹用戶權限管理。本地數據庫用來保存和管理本地模型。本地模型是指組成當前裝配體的模型以及用戶從服務器端調出的臨時模型。在裝配過程中,服務器端模型庫保存全部的零件模型,但客戶端并不需要將所有這些模型調入到本地數據庫中,而只需將當前裝配體的組成模型和候選零件模型等調入,當某些零件從裝配體中移走后,客戶端數據庫將刪除這些零件模型。由于每一個客戶端用戶處于不同的觀察角度,所以每一個客戶端都需要單獨注冊跟蹤模塊來注冊裝配空間坐標系,實時獲取自己當前的所處位置信息。顯示模塊主要采用OpenGL為圖形接口繪制虛擬模型并將其與攝像機獲得的真實場景圖像融合,最終輸出到用戶的監視器或頭盔顯示器上顯示。在圖像融合過程中會涉及到遮擋處理等技術,達到虛實融合的目的。當用戶使用交互工具執行裝配操作時,需要將裝配體的修改請求提交給服務器端,服務器將根據用戶權限和修改命令來更改數據,并更新到所有客戶端數據庫中,使所有用戶能夠看到統一的修改后的裝配體,保持裝配體的一致性。
服務器端用來管理數據和處理客戶端請求。其中模型庫(Model Library)保存所有裝配設計所需的零件模型,這些模型由商用的CAD軟件創建并導入到系統中。零件模型不但包含用于顯示的幾何信息,還包括實體信息、裝配特征和約束特征等。裝配樹(assembly tree)是用來管理裝配體零件的組成關系,用戶修改裝配體的過程實際就是對裝配樹的修改,具體細節將在后文描述。當用戶完成一個裝配體的初步設計后,運動仿真模塊可以對裝配體的運動進行仿真,用以幫助用戶發現設計不足,評估設計效果,進而改進設計。在運動仿真的過程中,服務器端實時的將裝配體各個零件的位置信息更新給客戶端,客戶端根據新的零件位置信息顯示相應的裝配體運動姿態。同客戶端一樣,服務器端也包含服務器信息,用于保存當前服務器狀態。命令列表(Command List)
用來保存和調度客戶的命令請求,由服務器端依次執行相應的命令。注釋(Annotation)模塊是保存模型庫中零件的名稱、裝配特征、幫助信息等內容,這些內容會在裝配操作過程中根據需要調入到客戶端并顯示出來,作為提示信息,輔勘用戶操作。權限控制(Authority Contr01)是用來管理不同類型用戶的操作權限。比如離級用戶對裝配體的修改請求可以得到確認,觀察者的修改請求則不能通過,兩只能查看數據庫,觀察當前裝配體。由于多個客戶端都扶服務器端載入當前裝配樹所對應的模型到本地數據庫中,麗不同用戶還可以對其進行修改,系統必須保證裝配體襁關數據的一致性。也就是說每個客戶端除了當前操作需要高亮顯示的裝配特征、注釋和臨時操作的模型外,其他裝配體模型都要相同,這也就是裝配體的一致性。當某個用戶提出修改,服務器端驗證通過了其權限,并對裝配樹做出了相應修改后,服務器將立刻更新所有客戶端的數據庫,使得最新的修改能夠即時的顯示給所有用戶,保證數據一致性。
本文所提出的協同式裝配系統應用到了增強現實中的許多關鍵技術,如注髓跟蹤、遮擋處理、交互設計和本文提出的一種新的運動仿真技術。這些技術模塊將在后續章節詳纓討論。下面先介紹系統框架中其他的一些技術模塊。
3、顯示方式
簡單地說,增強現實就是將計算機生成的虛擬模型與真實場景結合到一起,達到增強現實世界的效果(Azuma,1997)。這個結合過程一般采用兩種方式:光學透視(optical)和視頻(video),兩種方式有各自的優點和缺點,每種方式都對應一種透過式頭盔顯示器(see-through腿D)。透過式頭盔顯示器與封閉式頭盔顯示器不同,它可以讓觀察者看到周圍真實環境,同時又能看到疊掘在上面的虛擬物體。麗封閉式頭盔顯示器不能看到周圍真實環境,只有顯示器上的虛擬物體。透過式頭盔顯示器又分為兩種。光學透視頭盔顯示器(Opticalsee-through HMD)可以讓觀察者直接看到真實場景,系統將虛擬的圖片同時顯示到顯示器上,實現虛實結合。圖2.2給出光學透視顯示方法的原理圖。圖3為Hughes電子公司生產的光學透視頭盔顯示器。
圖2 光學透視顯示原理
圖3 Trivisio LCD29 增強現實頭盔
視頻透過式頭盔顯示器(video see—through HMD)為封閉式的咖D并在上方加一到二個攝像頭,代替雙眼。攝像頭用于采集真實場景的視頻圖像,這些視頻同計算機生成的虛擬場景的圖像結臺到一起,形成虛實結合后的視頻輸入到頭盔顯示器上顯示。圖4為視頻透視顯示方法的原理圖。
圖4 視頻透視顯示原理圖
頭盔顯示器由于佩戴在頭部,能夠隨著觀察者的方位變化而移動,頭盔上的頭部傳感器用來跟蹤觀察者頭部位置,使系統能夠根據觀察者當前視場來將虛擬模型繪制到正確的位置上。這樣觀察者就可以一邊觀察虛實結合的場景一邊操作,而不需要去看固定位置的顯示器,使得觀察和操作更加方便,真實感更強。頭盔顯示器的主要缺點是其比較笨重,價格高,另外顯示器的刷新率和分辨率還不夠高,佩戴久了容易引起觀察者的眼部和頸部疲勞。
當然,除了采用頭盔顯示器.增強現實系統還可以采用一般的監視器.如電腦顯示器、投影儀、手機屏幕等等。圖2 5為電腦監視器顯示方法的原理圖。本文的原型系統就是采用這種顯示方式。Azuma(1997)在其文章中詳細的分析以上幾種顯示方式的各自優缺點。
圖5監視器顯示原理圖
3、裝配樹
在基于虛擬現實的虛擬裝配系統中,所有零件模型都是虛擬的,多是由CAD軟件生成并導入到系統中來,裝配系統維護一個虛擬零件庫。與虛擬裝配不同的是,基于增強現實的裝配系統不僅包含虛擬零件庫,同時還有一些已經加工出來的主要產品零件原型,也就是說虛擬和真實的零件同時存在。在一般的裝配任務中,特別是對現有產品設計改進和裝配訓練中,往往先將一些主要的零件加工出原型,操作者通過操作雕屬的虛擬零件裝配到主體零件的過程,來發現設計不足,衡量設計效果。這些主體零件原型可以作為裝配環境的基本參照,并且一般在裝配任務中是不變動位置,甚至是固定在工作臺上的。
裝配系統一般采用裝配樹(Assembly Tree)的數據結構來表達零件之間的裝配組織關系。圖2 6為一個典型的裝配樹結構,圖中每個節點代表一個零件或者子裝配樹。一個零件節點包含其索引號、模型幾何信息、模型實體信息、裝配特征、約束狀態、空間變換矩陣、以及是虛擬還是真實的零件等信息。在裝酉己設計(Assembly Design)過程中,裝配序列是靠操作人員的專業知識和經驗來生成的;在裝配指導(Assembly Guidance)中,裝配序列是預先定義好的,并以注釋等形式顯示出來,輔助操作者逐步執行裝配操作。
圖6裝配樹示意圖
4、本文小結
本文提出了系統框架并對客戶/服務器架構、模型庫、權限管理等模塊給出詳細的說明。討論了框架中有代表性的兩個子模塊:顯示技術和裝配樹。顯示技術體現了增強現實系統中虛擬模型和真實場景的結合方式和輸出方式。裝配樹用來表達和管理裝配體中各種零件的組成關系。本章提出整個系統的架構和主要的關鍵技術,后續章節將詳細介紹這些關鍵技術的細節和實現方法。