肖文磊,曹 憲,趙 罡,邢宏文,鄭 湃
(1.北京航空航天大學機械工程及自動化學院,北京 100191;2. 上海飛機制造有限公司,上海 200436;3. 香港理工大學,香港 999077)
數(shù)字孿生在學術界和工業(yè)界已經引起了廣泛的研究和應用探索,作為物理世界的數(shù)字化映射,數(shù)字孿生應該如何助力智能制造的發(fā)展是當前該技術發(fā)展的關鍵。在某一項技術的廣泛應用之前,需要經過嚴謹?shù)母拍疃x與確定的實踐驗證過程。但是,在近幾年數(shù)字孿生的發(fā)展過程中,卻存在概念不統(tǒng)一、解讀不一致、實現(xiàn)有偏差等問題。其原因在于盡管現(xiàn)有研究對數(shù)字孿生的架構和組成做了一些抽象的描述,但數(shù)字孿生的內涵及其潛在思想并未被論證清楚。2003年,Michael Grieves教授首次提出“鏡像空間模型”的概念,隨后由美國國家航空航天局(NASA)正式命名為“數(shù)字孿生”。但這個定義僅說明了數(shù)字孿生的表現(xiàn)形式,對其內涵思想、實現(xiàn)方法、適用范圍都未作明確的規(guī)定和解釋。造成了后人在解讀數(shù)字孿生時,產生了莫衷一是且較為混亂的表達定義。
2017年,Rikard S?derberg等指出數(shù)字孿生的作用在于將設計與預生產階段常用的仿真能力拓展到實時運行端,并對產品與生產系統(tǒng)進行優(yōu)化,這一觀點較為忠實的反映了數(shù)字孿生的原始目的;劉檢華、熊輝等在回顧研究Michael Grieves教授的研究中總結了數(shù)字孿生體的概念模型的組成主要包括:實體產品、虛擬產品和數(shù)據(jù)信息交互接口;陶飛等提出數(shù)字孿生車間由物理車間、虛擬車間、車間孿生數(shù)據(jù)和車間服務系統(tǒng)組成,以實現(xiàn)物理融合、模型融合、數(shù)據(jù)融合與服務融合;Benjamin Schleich和Nabil Anwer等提出采用增強容差表達能力的皮膚模型來加強數(shù)字孿生的模型表達能力。2018年,戴盛等針對數(shù)字化從產品定義,對從數(shù)字樣機到數(shù)字孿生的發(fā)展過程進行了綜述,強調了高保真的建模仿真、高置信度的仿真預測、高實時的數(shù)據(jù)交互以及大數(shù)據(jù)應用是數(shù)字孿生的支撐技術。2019年,陶飛等又提出了數(shù)字孿生的五維模型,包括物理實體、虛擬實體、服務、數(shù)據(jù)以及連接。上述研究對數(shù)字孿生概念的推廣起到積極的作用,使得研究與產業(yè)界逐漸開始重視數(shù)字孿生在智能制造中的價值與地位。但很多概念研究只是對如何實現(xiàn)數(shù)字孿生進行總結,并未解釋清楚數(shù)字孿生所要解決的具體問題,也并未辯證與其他現(xiàn)有技術的區(qū)別。有些定義還存在一定爭議,比如數(shù)字孿生是否包括物理實體?服務是否為數(shù)字孿生必要的組成部分?連接是否越實時越好?仿真的保真性與實時性如何并存?數(shù)字孿生與其他概念(數(shù)字樣機、硬件在環(huán)仿真、多物理場仿真)的區(qū)別與聯(lián)系?2020年,張霖提出了對模糊的數(shù)字孿生概念定義的冷思考,并強調了建模和仿真是實現(xiàn)數(shù)字孿生的關鍵技術;Xun Xu等對數(shù)字孿生的基本概念、與CPS和IoT的區(qū)別與聯(lián)系、關聯(lián)技術、研究趨勢等做了系統(tǒng)性的綜述。過去三年內,關于數(shù)字孿生的論文發(fā)表數(shù)量在顯著遞增,但將近40%的論文都集中來自于少數(shù)幾個小組或機構的研究學者,同時也存在著內涵理解不清、缺乏參考模型、研究案例較為初級等問題。
缺乏對實際案例的抽象和總結是數(shù)字孿生的另一個問題。盡管數(shù)字孿生的概念引發(fā)了眾多國內外制造業(yè)的關注,但各企業(yè)對數(shù)字孿生的理解卻不同。自2004年開始,工業(yè)界的許多國外大型公司都開始采用數(shù)字孿生技術在產品設計、制造、服務等方面針對具體問題進行很多有益的嘗試。法國達索公司研發(fā)的3D EXPERIENCE平臺,支持通過和用戶交互反饋信息不斷改進信息世界中的產品設計模型,并反饋到物理實體產品改進中。德國西門子公司基于數(shù)字孿生理念構建了整合制造流程的生產系統(tǒng)模型,形成了基于模型的虛擬企業(yè)和基于自動化技術的企業(yè)鏡像。美國ANSYS公司利用其強大的有限元仿真能力開發(fā)了數(shù)字孿生解決方案,注重分析運行時(As Operated)的數(shù)據(jù)并將其反饋至設計時(As Designed),從而實現(xiàn)優(yōu)化。美國的STEP Tools公司開發(fā)了可以對加工質量進行實時監(jiān)控的數(shù)字孿生機加系統(tǒng),集成了STEP、STEP-NC、MTConnect和QIF等工業(yè)標準,是目前面向數(shù)控加工全要素建模數(shù)字孿生方向開發(fā)時間最長,以及技術完整度最高的系統(tǒng),2019年波音應用該系統(tǒng)的STEP-NC數(shù)據(jù)流生產了100萬左右的工件。英國的Emulate3D公司開發(fā)了Demo3D/Emulate3D/Sim3D系統(tǒng),可以在車間級仿真的基礎上實現(xiàn)與PLC系統(tǒng)的通信對接,從而達到對虛擬工廠進行柔性配置和動態(tài)開發(fā)和模擬控制的目的。這些研發(fā)工作引起人們的高度關注,并在很大程度上加速推進了數(shù)字孿生的發(fā)展進程。但與其他技術類比,在工業(yè)界依然缺乏對數(shù)字孿生的統(tǒng)一理解和標準定義,各個公司的數(shù)字孿生系統(tǒng)的定位、重點以及要解決的具體問題也不盡相同。
為了理清數(shù)字孿生的真正內涵,本文參照歷史上存在及成功過的經典概念的特性,對數(shù)字孿生的抽象概念進行重新解讀。對照面向對象編程的動態(tài)綁定及多態(tài)特性,分析與數(shù)字孿生的內在關聯(lián)。提出與討論了軟件危機與制造危機的相似之處與可借鑒的解決方案。論證了數(shù)字孿生的運行時多態(tài)仿真是有別于現(xiàn)有技術框架的重要特點。綜合比較與討論了數(shù)字孿生與數(shù)字樣機、硬件在環(huán)仿真、多物理場分析的區(qū)別與聯(lián)系。采用UML類圖確定了數(shù)字孿生與其他系統(tǒng)之間的關系模型,以發(fā)展出邏輯自洽的區(qū)分一個系統(tǒng)是否為數(shù)字孿生的關鍵原則??偨Y與分析了數(shù)字孿生發(fā)展的主要問題與瓶頸,以形成可行的數(shù)字孿生實施準則。最后,以面向數(shù)控加工的數(shù)字孿生系統(tǒng)為案例,對本文提出的“面向孿生的制造”的新模式進行原理闡述與理念驗證。
一般經典的概念都會經歷從抽象到具象的過程。但當下引起廣泛關注的數(shù)字孿生則有所不同。自數(shù)字孿生的概念被提出以來,其內涵反而變得越來越模糊。這種情況,與一個具有大影響力和長生命力的概念相比,有很大不同。舉例而言,制造業(yè)在歷史上產生了很多抽象概念,都成為了解決具體問題的經典方法;比如,JIT、精益制造、參數(shù)化設計、數(shù)字樣機等,開始都是源于某一概念。在計算機領域的發(fā)展歷程中,類似具有影響力的抽象概念更為普遍;比如,面向對象、泛型編程、面向切面編程等。根據(jù)歷史的概念總結,可以推論,一個可能經典的概念應該具有以下幾個特點:
1)內涵抽象、方法普適而問題具體;
2)與現(xiàn)有方法存在排他性的維度區(qū)分;
3)能夠產生較大的社會經濟效益。
例如,面向對象的概念是抽象的,但是面向對象解決了設計大型程序時規(guī)范的架構思想和工具,這個優(yōu)點是面向過程語言難以逾越的,因此C++和Java等面向對象語言獲得成功,成C/S架構與B/S架構的主流語言;參數(shù)化設計思想規(guī)范了CAD的設計過程,以及提供了模塊化修改的可能,因此,發(fā)明了參數(shù)化設計概念的PTC公司(PTC即參數(shù)化設計的縮寫)在歷史上使得“其他CAD軟件在一夜間變得落伍”。因此,要使數(shù)字孿生的概念產生經典的效果,完全滿足以上三條特點,還需解決以下疑問:
1)數(shù)字孿生通常被解釋為“連接物理世界的數(shù)字化鏡像”,物理世界的數(shù)字化鏡像是一種方法或手段,而不是具體要解決的問題。通過定義,可以合理推論,數(shù)字孿生與數(shù)字樣機、硬件在環(huán)仿真、多物理場分析等已經形成了一定應用效應和成熟商業(yè)軟件的歷史概念存在很強的關聯(lián)性,或者可以推論數(shù)字孿生是上述三類概念之和,這三類概念所要解決的問題都是“更為全面的表達與更為精確的仿真”,那么是否可以認為數(shù)字孿生也是要解決“更為全面的表達與更為精確的仿真”的問題呢?
2)數(shù)字樣機重在模型,硬件在環(huán)仿真重在連接,多物理場分析重在仿真,這幾乎涵蓋了一般的數(shù)字孿生概念研究中所強調絕大多數(shù)要素。但數(shù)字孿生并不等于數(shù)字樣機+硬件在環(huán)+多物理場分析;因為,如果是這樣的話,就違背了第二條原則“與現(xiàn)有方法存在維度區(qū)別”。維度是不能對已有方法進行簡單的加法來實現(xiàn)的。例如,采用面向對象方法,無論花多少時間,都是無法達成泛型編程(模板元編程)的效果。
3)數(shù)字孿生能夠產生較大的經濟效益。例如,現(xiàn)在國內許多工廠都在開展數(shù)字孿生的項目(大部分采用的是Unity3D+數(shù)據(jù)庫的解決方案)。那么,這些數(shù)字孿生系統(tǒng)具體在解決企業(yè)與工廠的故障診斷、數(shù)據(jù)監(jiān)控、智能排產等問題。不過這些問題與MES、ERP等系統(tǒng)的目標又有些趨同,而不具有技術性的排他性。此外,難以發(fā)展出內涵抽象、方法普適而問題具體的效果。
正因為如此,數(shù)字孿生的概念在當前的發(fā)展過程中變得越來越模糊。企業(yè)對數(shù)字孿生的解釋也莫衷一是,重點各有不同。為了解決上述問題,本文試圖用參照性分析的方法,對照面向對象與數(shù)字孿生兩種概念,來獲得具有一定嚴謹性的解釋。
面向對象是一個成功的概念,對應的方法包括繼承、重載和多態(tài)。其中,繼承解決了is-a的耦合關系,重載提供了函數(shù)參數(shù)決定行為的運行模式,多態(tài)使得統(tǒng)一的接口可以綁定不同的行為。這三種方法提供了對同一族類進行批處理的可能,提升了大型程序的開發(fā)效率,這對面向過程語言來說是維度性的提高。其中,C++的多態(tài)是通過虛函數(shù)來實現(xiàn)的,而虛函數(shù)是通過函數(shù)指針的功能完成的。函數(shù)和虛函數(shù)非常像,但是體現(xiàn)的思想截然相反。數(shù)字孿生與仿真也存在類似的比較問題,他們很像,但體現(xiàn)的思想?yún)s截然不同。事實上,函數(shù)和虛函數(shù)體現(xiàn)的思想與仿真和數(shù)字孿生體現(xiàn)的思想是可以參照對應的。函數(shù)與仿真類似,體現(xiàn)的是靜態(tài)綁定的思想;虛函數(shù)與數(shù)字孿生類似,體現(xiàn)的是動態(tài)綁定的思想。以下給出編程語言中,靜態(tài)與動態(tài)綁定的定義與對比:
1)靜態(tài)綁定:函數(shù)的行為在編譯時決定,而且在運行時不能變;
2)動態(tài)綁定:函數(shù)的行為在運行時決定,而且在運行時可以變。
套用類似的思想,傳統(tǒng)仿真可以理解是靜態(tài)綁定的:仿真的行為在仿真階段確定,數(shù)字孿生是動態(tài)綁定的:仿真的行為在執(zhí)行階段確定。就如同虛函數(shù)本質還是函數(shù)(通過函數(shù)指針來實現(xiàn))一樣,數(shù)字孿生的本質還是仿真,只不過是動態(tài)綁定的仿真。這就可以解釋,為何數(shù)字孿生與仿真如此相像,卻又存在相互對立的關系的原因。動態(tài)綁定是面向對象的前提,沒有動態(tài)綁定就無法實現(xiàn)多態(tài),也就是無法實現(xiàn)面向對象;因此,動態(tài)綁定意義重大。而面向對象對比于面向過程的高維優(yōu)勢是顯而易見,這就可以滿足一個經典概念的三條特性。以下給出制造仿真的靜態(tài)綁定與動態(tài)綁定的定義:
1)靜態(tài)綁定:仿真的行為在制造前決定,而且在制造時不會變;
2)動態(tài)綁定:仿真的行為在制造時決定,而且在制造時可以變。
根據(jù)數(shù)字孿生是動態(tài)綁定的仿真這一定義,繼續(xù)分析與拓展。
首先,由于需要實現(xiàn)動態(tài)綁定,就必須與物理端通過一定的頻率進行數(shù)據(jù)同步。數(shù)據(jù)同步可以通過連接來實現(xiàn),但是不一定必須通過連接完成。例如,在數(shù)據(jù)采樣頻率要求比較低的裝配場景,人工輸入誤差數(shù)據(jù)完全可以滿足操作要求,溫度可以通過連接采集,同樣也可以通過紅外視覺采集,形式并不重要,關鍵是數(shù)據(jù)的實時獲取。從數(shù)據(jù)到仿真模型的傳輸過程中,還需要關注一個重要的問題:數(shù)據(jù)如何轉換為信息,因為只有有效的信息對仿真模型才有意義,具體結合業(yè)務的信息才是有作用的。
其次,數(shù)字孿生需要建模與仿真技術作為支撐。這就如同虛函數(shù)需要函數(shù)作為支撐一樣,脫離仿真技術談數(shù)字孿生是無意義的,也只能形成虛的概念,或者與已有技術趨同,或者毫無實際用處。在討論仿真技術時,需要注意,不同領域的建模與仿真技術有很大區(qū)別的。只有深入理解了不同仿真技術的基本思路與優(yōu)缺點,才能確定需要動態(tài)綁定的數(shù)據(jù)與信息,實現(xiàn)解決具體業(yè)務問題的升維方法。例如,機器人的模型重在運動學與動力學,而制造模型重在幾何與工藝的表達,差異性很大,不能單以建模進行簡單統(tǒng)稱;運動規(guī)劃的仿真重在實時性,而有限元仿真重在計算精度,不能用仿真一言以蔽之。
再次,數(shù)字孿生的動態(tài)綁定的最終目標是為了實現(xiàn)多態(tài)式的仿真。多態(tài)可以統(tǒng)一控制接口,以及自適應決定仿真與決策的行為,從而為頂層系統(tǒng)提供批處理的可能。在產品的加工階段,多態(tài)仿真可以單個加工工件與加工設備進行個性化的仿真分析,從而采集大量的有用信息并進行統(tǒng)計分析;在產品的裝配階段,多態(tài)仿真可以記錄單個產品在整體裝配流程中產生的大量誤差數(shù)據(jù),形成個性化的裝配產品樣機,為數(shù)據(jù)分析、質量回溯、容差預測等提供依據(jù);在產品的使用階段,各個產品可以擁有自己的數(shù)字樣機,記錄在整個產品生命周期中的各類運行數(shù)據(jù),提供各類運行服務,且可以進行整體統(tǒng)計與分析。
動態(tài)綁定本身并不是C++面向對象特有的,早在C語言的函數(shù)指針就產生了類似的概念。但是,動態(tài)綁定可以催生面向對象,而面向對象就是C++/Java等語言區(qū)別于C語言的最重要特點之一。從這個角度來看,動態(tài)綁定的仿真極有可能催生面向孿生的制造。而面向孿生的制造則可以有無限的遐想空間,且不必擔心落入與傳統(tǒng)技術的“趨同陷阱”。面向對象與面向孿生的相關概念對比見表1,由此可知,面向對象編程與面向孿生制造是很有可能產生較強的對偶關系。當前的產品制造流程幾乎都是面向過程的,就如同上世紀70~90年代的C語言一樣,一旦面向孿生的制造模式可以實施,極有可能再現(xiàn)類似面向對象的成功模式,從而引發(fā)新一輪的制造革命。
表1 面向對象與面向孿生的相關概念定義的對比
特性概念定義面向對象 面向孿生屬性 類變量 數(shù)字模型行為 函數(shù) 仿真靜態(tài)綁定 普通函數(shù) 運行(制造)前仿真動態(tài)綁定 虛函數(shù) 運行(制造)時仿真數(shù)字孿生={數(shù)字模型;運行前仿真;運行時仿真}模式 面向對象編程 面向孿生制造類 類對象={類變量;普通函數(shù);虛函數(shù)}
從上述分析來看,數(shù)字孿生的意義非常明確,就如同類定義是實現(xiàn)面向對象編程的重要基礎一樣,數(shù)字孿生也是實現(xiàn)面向孿生制造的重要基礎。因此,為了明確數(shù)字孿生的最終目的以及規(guī)范數(shù)字孿生的內涵定義,有必要對Michael Gieves教授提出的概念進行補充:數(shù)字孿生是連接物理世界的數(shù)字化鏡像,以實現(xiàn)動態(tài)綁定的同步仿真。之所以需要在數(shù)字化鏡像的基礎上進一步強調數(shù)字孿生仿真的動態(tài)綁定特性,是因為在計算機技術的發(fā)展歷史上,動態(tài)綁定起到了從結構化編程轉變?yōu)槊嫦驅ο缶幊痰臉蛄旱淖饔?,這一變化在歷史上是革命性的,而那場革命使得軟件危機問題得以有效解決。例如,C++語言用以實現(xiàn)多態(tài)的虛函數(shù)是通過函數(shù)指針來實現(xiàn)的,所以動態(tài)綁定可以催生多態(tài),而多態(tài)又是類與面向對象的重要基礎。C/C++從動態(tài)綁定、多態(tài)到面向對象的演變過程如圖1所示。
圖1 從動態(tài)綁定到面向對象的演變過程
上世紀70年代前后,計算機行業(yè)爆發(fā)了著名的軟件危機(Software Crisis)問題。所謂軟件危機,指的是落后的軟件生產方式無法滿足迅速增長的計算機軟件需求的矛盾;也就是說,并不是軟件開發(fā)的可行性問題,而是軟件開發(fā)的效率問題掣肘了計算機軟件的發(fā)展。當前生產制造環(huán)節(jié)中的自動化裝備(數(shù)控機床、工業(yè)機器人等)主要還在執(zhí)行與硬件綁定的結構化語言(G代碼、機器人代碼等),這種工作模式與上世紀60~70年代計算機普遍使用的匯編語言本質上并無差異,如圖2所示。相比而言,當下的智能制造行業(yè)是否也存在類似的制造危機(Manufacture Crisis)的問題呢? 既然落后的計算機編程方式(匯編語言)是導致軟件危機的根源,那么落后的數(shù)控機床編程方式(G代碼)是不是導致制造危機的根源呢?
圖2 1970年代的計算機與當今的工廠自動化設備
本文認為,當前的制造業(yè)確實存在類似的制造危機——落后的產品生產方式無法滿足迅速變化的個性化產品制造需求。在工業(yè)4.0與智能制造的提出之時,單件小批量產品的制造是一個典型的目標問題,反應了個性化(多樣化)產品的制造需求。隨著認識的深入,可以發(fā)現(xiàn),多樣化的產品制造需求不僅僅存在于單件小批量的生產過程中,大批量生產的產品同樣可能需要根據(jù)實時數(shù)據(jù)進行動態(tài)工藝調整,這時每個產品的制造過程也可以呈現(xiàn)出程序的多樣性。這種多樣化的編程方式給工藝人員帶來了巨大的編程壓力,使得柔性制造的方法很難大規(guī)模實施。具體而言,CAD/CAM的工藝員需要針對每臺機床設備的配置進行G代碼的后置,造成即使加工同一零件,也需要進行適應不同機床硬件配置的編程與仿真。車間生產線為此必須固化所有的加工流程,任何的狀態(tài)變化都很難被原有的生產流程所兼容。在這種情況下,加工程序的多樣化需求就會給現(xiàn)有的生產模式帶來巨大的挑戰(zhàn)。
1975年,F(xiàn)rederick P. Brooks在其所著的對軟件工程產生深遠影響的著作《人月神話》中提出:面向對象是當時可能解決軟件危機的最富希望的方案。迄今為止,事實證明了這一論斷是正確的。通過類的抽象封裝與繼承、多態(tài)的模塊化設計,面向對象可以有效地對抗軟件需求的多樣性,從而極大地提高編程效率。既然面向對象是解決軟件危機的有效方案,那么面向孿生是不是解決制造危機的有效方案呢?數(shù)字孿生組合的運行時仿真能力能夠給制造危機的解決提供一種可能,利用孿生體的封裝性和多態(tài)性可以類似于面向對象,為制造裝備、工件、資源建立孿生對象。CPS組合數(shù)字孿生的架構為這種新型的制造模式提供了支撐條件,從而可以創(chuàng)造出“一切皆孿生,孿生即服務”的新概念。一切皆孿生(Everything is a Digital Twin)的意思是,任何需要參與到任務協(xié)作的對象(如機床、工件、刀具等)都可以是孿生體;孿生即服務(Digital Twin As a Service)指的是,在具體實施數(shù)字孿生時可以采用CPS的微服務架構,讓孿生體的表現(xiàn)行為與微服務并無二致,從而可以更好的與其他服務相互融合。體現(xiàn)這一思想的具體案例將在本文的第5章給出。
發(fā)揮出數(shù)字孿生的作用的前提是建立相應的使用與開發(fā)原則。在面向對象理念的長期發(fā)展過程中,總結了許多非常經典的應用原則,如單一責任、里氏替換、接口隔離、迪米特原則、依賴倒置和開閉原則等。不按正確的原則構建的面向對象軟件程序往往達不到好的效果,同樣不按正確的原則構建的面向孿生的制造系統(tǒng)也可能難以面臨多樣性制造需求的挑戰(zhàn)。面向孿生的結構化模型與開發(fā)原則如圖3所示。
圖3 面向孿生的結構化模型與開發(fā)原則
從數(shù)字孿生的概念提出伊始,就與很多技術產生了不可分割的關聯(lián)。其中,仿真技術與數(shù)字孿生的聯(lián)系最為緊密。在解釋數(shù)字孿生概念時會提到:數(shù)字孿生是物理世界的數(shù)字鏡像,這很像仿真,但數(shù)字孿生比仿真更多。其實,可以大膽的定義,數(shù)字孿生是一種廣義的仿真,是傳統(tǒng)仿真技術的拓展和延伸。虛函數(shù)當然還是函數(shù),只不過是動態(tài)綁定的函數(shù);數(shù)字孿生也是仿真,只不過是動態(tài)綁定的仿真?;谶@個觀點出發(fā),重點闡述數(shù)字孿生與其他技術的差異與聯(lián)系。
數(shù)字樣機,指在計算機上表達的機械產品整機或子系統(tǒng)的數(shù)字化模型,其作用是用數(shù)字樣機驗證物理樣機的功能和性能。從定義看出,數(shù)字樣機重點在于數(shù)字化模型。這一定義與數(shù)字孿生幾乎一致,只要將數(shù)字樣機連接到物理端,就是目前研究與應用界翹首以盼的數(shù)字孿生。但是,事實并非如此。如果真這樣理解,完全可以將數(shù)字孿生等效為數(shù)字樣機的一個拓展應用,不可作為一個獨立的概念進行發(fā)展。借助靜態(tài)綁定和動態(tài)綁定的定義,可以這樣理解數(shù)字樣機和數(shù)字孿生的聯(lián)系與區(qū)別。數(shù)字孿生可以借助數(shù)字樣機作為基礎,就如同仿真也可以用數(shù)字樣機作為對象一樣。在這個角度上,無需對兩個概念進行對立分析,或者說,數(shù)字孿生就是數(shù)字樣機的一種派生。
但是,數(shù)字樣機卻不是數(shù)字孿生。根據(jù)數(shù)字樣機的作用可以看出,數(shù)字樣機重視對物理對象的數(shù)字化,以達到在數(shù)字環(huán)境下對產品或設備進行數(shù)字化表達與仿真實驗的目的。一般,這種數(shù)字化表達與仿真實驗都是在產品或設備的研制階段完成,之后就幾乎不再改變了。同一批次的產品和同一型號的設備都將遵循數(shù)字樣機的設計與分析結果,來獲得統(tǒng)一的生產質量和較高的生產效率。不過,當產品或設備內部存在差異時,數(shù)字樣機是無法完成最優(yōu)規(guī)劃的。例如:在數(shù)控加工中,由于刀具磨損、機床老化造成的對同一零件的最優(yōu)工藝的差異;發(fā)動機裝配中,復雜裝配誤差的累積造成了同一批次的發(fā)動機的壽命和一致性存在顯著區(qū)別。這時,采用統(tǒng)一的數(shù)字樣機模型是難以反映不同產品與設備的差異性的。針對上述問題,就需要采用數(shù)字孿生的動態(tài)綁定功能來組合多樣與時變的設備狀態(tài)以及產品偏差。經過動態(tài)綁定時變多樣數(shù)據(jù)的數(shù)字孿生系統(tǒng)就可以根據(jù)靜態(tài)的數(shù)字樣機與動態(tài)的運行數(shù)據(jù)來進行綜合預測分析,從而推理出動態(tài)調優(yōu)的控制策略,達到產品質量最優(yōu)和成本最低的目的。這時,盡管產品、設備、工藝是一致的,在具體生產過程,每個數(shù)控工件、每臺發(fā)動機使用的工藝參數(shù)卻都可能不一樣,但整體效果卻是最優(yōu)的。這種制造模式很像面向對象設計的多態(tài)(同一接口綁定不同的行為),因此可以將這一模式稱為多態(tài)制造。由于多態(tài)在執(zhí)行時不需要腦力干預,所以這一做法將極大地減輕或取代腦力成本。更進一步,這一原理如果可行,同樣可以應用于單件小批量的生產當中,實現(xiàn)減低成本與提高效率的目的,從而部分達成智能制造的個性化制造的目標。
從上述分析可以看出,數(shù)字孿生的推崇者并不需要急于摘清數(shù)字孿生與數(shù)字樣機的區(qū)別,甚至可以大膽的承認數(shù)字孿生就是is-a數(shù)字樣機,即數(shù)字孿生與數(shù)字樣機之間的關系是繼承。但是,數(shù)字孿生繼承于數(shù)字樣機,又組合了時變多樣的運行數(shù)據(jù),因此數(shù)字樣機并不是數(shù)字孿生。這一關系,如果畫成UML類圖,就如圖4所示。
圖4 數(shù)字孿生與數(shù)字樣機之間的繼承關系
根據(jù)面向對象中繼承的里氏替換原則:父類能夠存在的地方,子類一定能存在;子類能夠存在的地方,父類不一定能存在。這就說明,數(shù)字樣機存在的地方,數(shù)字孿生就一定能存在;數(shù)字樣機所需要實現(xiàn)的目的,數(shù)字孿生一定能滿足(前提是這是一個完善的數(shù)字孿生系統(tǒng)),因為“A digital twin is-a digital mock-up”。一旦意識到數(shù)字樣機與數(shù)字孿生的這種關系與計算機科學存在等效關系時,需要非常謹慎的對待數(shù)字孿生的概念定義了。因為,計算機科學是非常嚴謹?shù)?,對?guī)則的定義非常嚴苛,對邏輯的反例零容忍,不容隨意對數(shù)字孿生冠以各種虛無的定義,否則極其容易在實踐中陷入自相矛盾的境地。歷史上,不能形成嚴謹定義以及邏輯自洽的編程語言幾乎全被淘汰了,這就是數(shù)字孿生技術目前所面臨的最大威脅。
C++的發(fā)明者Bjarne Stroustrup曾說明,面向對象的邏輯關系非常容易讓人在具體執(zhí)行過程中陷入誤區(qū)。is-a的耦合關系是非常嚴謹、嚴苛和殘酷的,現(xiàn)存的數(shù)字孿生研究中有很多都不符合is-a digital mock-up的定義,不能實現(xiàn)數(shù)字樣機的功能的系統(tǒng)不能被稱之為數(shù)字孿生。原因很直接,不如此定義將難以辨別數(shù)字孿生與其他現(xiàn)有系統(tǒng)的區(qū)別;例如,示波器不是數(shù)字孿生,盡管示波器可以實現(xiàn)對電信號進行實時采集與分析的功能。
硬件在環(huán)仿真(HIL)指的是以實時處理器運行仿真模型來模擬受控對象的運行狀態(tài),通過I/0接口與被測對象相連接。根據(jù)定義,可以看出硬件在環(huán)仿真的重點在于仿真系統(tǒng)與物理對象的連接。顯然,數(shù)字樣機并不是硬件在環(huán)仿真的關注重點,所以可以確信硬件在環(huán)仿真不是數(shù)字孿生。但是,仿真、連接這些元素又是數(shù)字孿生所需要的。其中,仿真能力是數(shù)字樣機本就具備的功能,由于缺乏多樣數(shù)據(jù)作為支撐,其更大的意義在于運行前的準備階段。正因為如此,這兩種仿真其實存在很大區(qū)別:由于硬件在環(huán)仿真系統(tǒng)需要對現(xiàn)場數(shù)據(jù)進行跟隨,對實時處理能力要求更強,所以可能會損失仿真精度;數(shù)字樣機的仿真偏向于準備階段,對時間效率要求并不高,而更追求仿真的保真性。硬件在環(huán)仿真的實時性恰恰是數(shù)字孿生所期望的,許多研究對此產生了極大的興趣,不過也會因此產生“只要實現(xiàn)了硬件連接和仿真分析就實現(xiàn)了數(shù)字孿生”的誤解。不能忘記數(shù)字孿生是數(shù)字樣機這一定義。如果將數(shù)字孿生看成傳統(tǒng)數(shù)字樣機的升級版,數(shù)字孿生將承擔著向下兼容的義務:數(shù)字孿生系統(tǒng)在與物理系統(tǒng)連接之前,首先應該滿足數(shù)字樣機的功能,即數(shù)字化模型是必不可少的。
由于缺乏模型的支撐,使得硬件在環(huán)仿真所針對的仿真對象是確定固化的,其結構與參數(shù)無法隨著時變與多樣數(shù)據(jù)的變化而變化。這使其在面對多態(tài)式仿真的需求時無所適從。為了滿足仿真的實時性,硬件在環(huán)仿真系統(tǒng)(如圖5所示)會將確定的模型用上位機開發(fā)好,然后以機器碼的方式燒錄到高性能控制模擬器。這種方式雖然盡最大可能獲得了高效性,但是代價是損失了仿真系統(tǒng)對模型的理解和多態(tài)的柔性。沒有模型,將失去時變多樣數(shù)據(jù)的載體,因此只能應用于確定性的場景當中,無法獲得運行時多態(tài)仿真的效果——綁定不同物理對象時具有不同的仿真效果。仿真模型的建立與修改主要在上位機完成,這時開發(fā)系統(tǒng)對模型是理解的,對修改也是柔性的,將這種柔性稱之為開發(fā)時多態(tài)。
圖5 硬件在環(huán)仿真的軟硬件架構及工作原理[19]
然而,缺乏模型并不意味著硬件在環(huán)仿真系統(tǒng)的技術落后。正因為硬件在環(huán)仿真舍棄了對模型的理解,才能夠用二進制的計算方式實現(xiàn)對硬件系統(tǒng)實時模擬。這一優(yōu)點是數(shù)字孿生系統(tǒng)無法比擬的。這也就暗示著,不同的技術有其不同的適用范圍,數(shù)字孿生也有其缺點,并不能一統(tǒng)天下,取代所有其他相關技術的地位。考慮到當前計算機架構的計算極限,需要認清:fast/good/cheap,三者取其二,不可取其三。不同的問題需要采取不同的技術思路解決,盡管有些應用看起來類似,但是響應的最優(yōu)解決方案卻存在著根本的區(qū)別。
由上述分析可以看出,數(shù)字孿生與硬件在環(huán)仿真的關系在于組合,如圖6所示,即數(shù)字孿生并不等同于HIL,只是利用了HIL的部分功能——“A digital twin is implemented in-terms-of a HIL”。數(shù)字孿生期望借助硬件在環(huán)仿真的數(shù)據(jù)采集能力和實時仿真能力來實現(xiàn)運行時仿真的目的。由于動態(tài)綁定是多態(tài)的前提,只有實現(xiàn)了運行時仿真,才有可能實現(xiàn)多態(tài)式仿真。然而,數(shù)字孿生仿真與硬件在環(huán)仿真又有所區(qū)別。由于數(shù)字孿生需要關注對歷史數(shù)據(jù)的關聯(lián)以及將來趨勢的預測,數(shù)字孿生的仿真需要理解與更新模型。相比而言,硬件在環(huán)的仿真不需要關注模型隨時間的變化,所以并不需要關心模型本身,而盡可能多的將計算資源放在對物理對象的實時模擬方面。但是硬件在環(huán)仿真的開發(fā)調試階段是需要了解模型本身的,也需要能夠柔性動態(tài)修改模型的結構和參數(shù)來獲得開發(fā)柔性。因此,數(shù)字孿生真正組合的是硬件在環(huán)仿真開發(fā)時的仿真能力。這一做法類似于計算機語言中運行時多態(tài)和編譯時多態(tài)的區(qū)別。硬件在環(huán)仿真只能支持開發(fā)時多態(tài),理想的數(shù)字孿生系統(tǒng)既可以實現(xiàn)開發(fā)時多態(tài),又可以實現(xiàn)運行時多態(tài)。運行時多態(tài)是面向對象的基石,編譯時多態(tài)是泛型編程的基石。盡管這些專業(yè)的計算機概念在理解上有點晦澀,但確實是影響當今主流技術的思想根源。
圖6 數(shù)字孿生與硬件在環(huán)仿真之間的組合關系
還有一點需要引起重視的是,實時的連接對于數(shù)字孿生系統(tǒng)是相對的。由于數(shù)字孿生并不像硬件在環(huán)仿真那樣,需要極致地追求對物理系統(tǒng)的仿真模擬速度與數(shù)據(jù)采樣的速度和容量,數(shù)字孿生對數(shù)據(jù)通信速度和實時性的要求并不是那么苛刻。一方面,盡管開放式系統(tǒng)和網(wǎng)絡技術的普及讓我們對設備與產品數(shù)據(jù)的索取能力得到了大幅提升,但是不容忽視的事實是,對數(shù)據(jù)通信的實時能力和信息能力永遠應該持謹慎態(tài)度。實時能力,指的是以最小周期準時地獲取物理對象的數(shù)據(jù);信息能力指的是物理對象在數(shù)據(jù)中提供真正所需信息的能力。以西門子的數(shù)控系統(tǒng)840Dsl為例,用OPC-UA接口以小于100ms的速度進行數(shù)據(jù)采集時,有可能會顯著影響數(shù)控系統(tǒng)的插補速度。這一影響對數(shù)控系統(tǒng)來說是極為嚴重的,因為可能因此而直接影響加工質量和生產安全。此外,由于數(shù)控系統(tǒng)運行的是G代碼,其本身并不了解具體的加工對象,因此數(shù)控系統(tǒng)的信息能力也大打折扣。另一方面,應該仔細分析數(shù)字孿生模型對數(shù)據(jù)的具體需求。原則上,數(shù)字孿生系統(tǒng)對實時數(shù)據(jù)的采樣應該周期越長越好,數(shù)量越少越好,而非盡可能的快和多。盲目而密集的數(shù)據(jù)采集一方面極大占用了控制系統(tǒng)的計算通信資源,另一方面消耗了數(shù)字孿生端海量的存儲空間。在缺乏具體的業(yè)務需求的前提下,這些消耗是極不明智的。這也就意味著,只要能夠滿足信息獲取能力,甚至物理連接也不一定是必須的。例如,在發(fā)動機裝配過程中,由于裝配工藝本身和誤差數(shù)據(jù)的采樣都相對非常緩慢,此外有些測量設備一般缺乏數(shù)據(jù)接口。這時,甚至可以依賴于人工輸入來完成數(shù)據(jù)采集的工作。這一方式顛覆了人們對數(shù)字孿生必須要與物理模型進行數(shù)據(jù)連接的初步認知,其實信息索取和模型同步才是最終目的。一個嚴謹?shù)母拍疃x,往往懼怕反例的存在,所以一般的原則是“依賴于抽象,而不要依賴于具體實現(xiàn)”。從這個角度看,數(shù)字孿生與硬件在環(huán)仿真的組合關系應該修改為如圖7所示。
圖7 修改的數(shù)字孿生與硬件在環(huán)仿真的組合關系
多物理場仿真給了數(shù)字孿生無限的遐想空間。如果能夠將這種多物理場仿真能力遷移到數(shù)字孿生系統(tǒng)中,將極大提升數(shù)字孿生的分析計算能力。但多物理場仿真的概念來源于有限元分析,有限元分析的關注點在于仿真的精度而非速度。一般高保真的仿真與實時仿真是相悖的,不可輕易同時要求。仿真精度與仿真速度的關系是成指數(shù)曲線關系的。與通信速度一樣,數(shù)字孿生對仿真精度和速度的要求需要調和出一個平衡的狀態(tài),或者損失仿真精度,或者損失仿真速度。所謂的多物理場,也與具體業(yè)務相關,理性的原則是能不仿真的則不仿真,亦或是采取分時復用的機制。正因為如此,面向數(shù)字孿生的多物理仿真機制存在大量的變形。以機器人動力學仿真為例,如果追求保真性,就如同ADAMS類型的軟件,盡可能保證模型精度,以及執(zhí)行通用而高精度的仿真,因此仿真速度就難以實時。另一個思路更多存在于一些專業(yè)的機器人仿真器中,如在V-Rep(已更名為CoppeliaSim)的仿真環(huán)境中,幾何模型與動力學模型是分開建模的。動力學模型并不需要嚴格遵循機器人的幾何形狀,轉而采用一些簡單的方塊、圓柱、球體等多個單元體組合而成(如圖8所示)。采用這種策略,雖然損失了一定的保真度,卻極大地提升了仿真速度,使得機器人的準實時仿真成為可能。類似的策略也存在于基于CAE與基于CAM的加工仿真算法中。這一策略再次提醒了“三者取其二”的理性原則。如同程序的時間復雜度與空間復雜度不能兼得一樣,數(shù)字孿生也必須在仿真的精度與速度方面做一些取舍,而不同的取舍方案可能帶來在實現(xiàn)原理上的根本的不同。理性的選擇應該在滿足需求的前提下,不強求數(shù)字孿生系統(tǒng)的保真性,相反應該盡可能降低仿真的復雜性,以換取數(shù)字孿生所需的實時性。所以,在有些研究當中提及的高保真、高實時、高動態(tài)的要求,在實踐中是很難同時滿足的。如果勉強而為之,反而得不到最優(yōu)的性能平衡,從而違背了多態(tài)仿真的初衷。
圖8 實時機器人仿真平臺CoppeliaSim使用的幾何模型與動力學模型
由于數(shù)字孿生關注運行時多態(tài)的仿真行為,因此這種精度換速度的策略還是很值得推崇的。即使運行時仿真不能完全滿足精度要求,還可以采用數(shù)字樣機提供的運行前仿真(無需關注實時性)來實現(xiàn)對基本趨勢的保證。運行前仿真不需要消耗運行時的計算資源,所以可以在一定程度上換取運行時仿真的速度和精度。這種策略在模板編程中大量使用,用編譯時間來換取運行時間和空間。借助這個思路和策略,甚至有可能如模板元編程一樣,衍生出元仿真的新型概念(元仿真指的是將可以泛化的仿真對象在初始化階段編譯成不同的實時仿真模塊,再通過運行時多態(tài)進行反射組合)。精度換來的不僅是速度,更能夠為數(shù)字孿生帶來多物理場的可能,在有限的計算資源與實時性要求的前提下,犧牲精度成為仿真的唯一選擇。正因為這些限定條件,造成了數(shù)字孿生的多物理場仿真與有限元多物理場仿真存在很大的不同,更為研究仿真新原理提出了更多的需求。新原理同樣需要與具體的業(yè)務結合,不同的物理特性催發(fā)的仿真方法可能大有不同。這些細節(jié)的區(qū)別不可用仿真一詞涵蓋。C++在模板編程的基礎上,進一步拓展出STL模板的編程范式。這說明,仿真算法的原理性改變有可能產生數(shù)字孿生運行的新模式。
綜合上述分析,數(shù)字孿生與多物理場仿真的關系可以較為明確了。數(shù)字孿生期望借用多物理仿真的概念,但實際的仿真原理卻可能存在根本性不同,這就是數(shù)字孿生對多物理場仿真的排他性體現(xiàn)——離線仿真代替不了在線仿真。這是一種典型的私有繼承的利用關系(implemented in-terms-of)。所以,數(shù)字孿生與多物理場仿真的UML類圖如圖9所示。
圖9 數(shù)字孿生與多物理場仿真之間的私有繼承關系
綜上所述,基本可以看清數(shù)字孿生的全貌了,數(shù)字孿生的綜合關系類圖如圖7所示。數(shù)字孿生,作為物理端的數(shù)字化鏡像,從一開始就不是一個包羅萬象的概念,所以如何衡量數(shù)字孿生的界限非常重要。雖然面向對象的概念也非常抽像,借助繼承、重載、多態(tài)的關系定義,但是可以迅速而準確地判斷哪些語言是面向對象的,哪些不是。同樣,借助面向對象的定義方式,可以理清各種相關概念之間的區(qū)別與聯(lián)系。進一步,就可以準確地判斷哪些系統(tǒng)屬于數(shù)字孿生,哪些系統(tǒng)不屬于數(shù)字孿生。數(shù)字孿生的綜合關系模型如圖10所示。
圖10 數(shù)字孿生的綜合關系模型
根據(jù)本節(jié)的論述分析,可以總結出界定數(shù)字孿生的基本原則:
1)數(shù)字孿生首先是數(shù)字樣機,不能實現(xiàn)數(shù)字樣機的系統(tǒng)就不是數(shù)字孿生;
2)數(shù)字孿生組合了信息同步接口,可以實現(xiàn)運行時的動態(tài)綁定仿真;
3)數(shù)字孿生借用了多物理場仿真的概念,但其實施原理有很大不同。
近兩年來,隨著數(shù)字孿生的普及和深入,人們越來越期望數(shù)字孿生與CPS、云制造、云計算、大數(shù)據(jù)、IoT、AI等產生緊密的關聯(lián)。事實上,不同系統(tǒng)之間的松耦合才是應該追求的目標。不同系統(tǒng)的概念耦合不但會引發(fā)宏系統(tǒng)的資源枯竭問題,而且會使得本就模糊的數(shù)字孿生概念更加難以讓人理解。
首先,不可用數(shù)字孿生的概念去外衍或對偶CPS、云制造等技術,數(shù)字孿生關注于運行時仿真,CPS關注于架構,二者定位不同。CPS可以組合數(shù)字孿生,但數(shù)字孿生卻不可組合CPS。存在兩種方式實現(xiàn)CPS對數(shù)字孿生的組合:①可以通過接口進行平等的對接,讓數(shù)字孿生關注于邊緣端,而CPS關注于服務端,形成邊云協(xié)同的綜合系統(tǒng)。這樣做的原因在于當物理端或控制端難以支持CPS所需的信息支撐時,數(shù)字孿生系統(tǒng)可以借助其信息同步的數(shù)字樣機優(yōu)勢實現(xiàn)物理端的智能代理的目的。②將數(shù)字孿生作為計算模塊組合到CPS系統(tǒng)中,利用云計算強大的算力和一切皆服務(XaaS)的解耦機制,形成微服務架構和多個數(shù)字孿生鏡像。讓數(shù)字孿生鏡像在云端動態(tài)組合,更有利于實現(xiàn)多態(tài)式仿真的目的??梢詫⒌谝环N組合方式稱為邊緣孿生(注重于實時),第二種組合方式稱為云孿生(注重于繼承與多態(tài))。邊云協(xié)同的CPS系統(tǒng)可以體現(xiàn)在邊緣孿生與云孿生的動態(tài)交互上。
其次,需要確保數(shù)字孿生系統(tǒng)的獨立性。封裝性是一個復雜系統(tǒng)需要堅持的必要原則,過度地擴展又會違背單一責任原則。數(shù)字化鏡像是數(shù)字孿生的表現(xiàn)形式,動態(tài)綁定的仿真是數(shù)字孿生的核心目標。在明確的目標作為導引之下,數(shù)字孿生無法也不需要去涵蓋與取代其他成熟概念及其技術地位。這一現(xiàn)象就如同面向對象一樣,盡管可以在自身維度形成良好的邏輯自洽已經和廣泛的應用場景,但是仍然無法涵蓋模板編程與動態(tài)語言的應用范圍。此外,認清數(shù)字孿生系統(tǒng)的獨立性更有利于其實現(xiàn)與開發(fā),只有邊界清晰的目標才能得出合理的開發(fā)步驟?!跋饶P汀⒃俜抡?、后連接”的實現(xiàn)順序至關重要,本末倒置的開發(fā)方式將很有可能陷入“趨同陷阱”或“無用論”的泥潭。
再次,應當注意數(shù)字孿生系統(tǒng)的兼容性。所謂智能代理,應當盡可能模擬智能體的行為。智能手機APP接入AI、大數(shù)據(jù)、云計算等服務技術已經日趨成熟,將數(shù)字孿生兼容到服務架構中才是最有價值的發(fā)展目標。與其他服務與智能系統(tǒng)之間的兼容性越好,就能更好地實現(xiàn)松耦合,數(shù)字孿生系統(tǒng)的發(fā)展生命力就越強。這種松耦合形成于數(shù)字孿生的運行階段,而非定義階段。一個數(shù)字孿生可以利用AI、大數(shù)據(jù)來增強動態(tài)仿真分析的能力,但是不意味數(shù)字孿生的定義中必須存在AI、大數(shù)據(jù)或云計算。不必過分強調數(shù)字孿生與其他技術結合的特殊性,良好的數(shù)字孿生系統(tǒng)應當提供數(shù)據(jù)接入與接出的標準接口,以及遵循服務與被服務的統(tǒng)一機制,以“潤物細無聲”的方式融合到智能制造大框架的整體運行中。
當前,在數(shù)字孿生的實現(xiàn)中,存在的問題還有很多。有些屬于對概念的理解問題,有些屬于在當前技術框架下的瓶頸問題。只有對現(xiàn)存問題進行正確的理解和有效的分析,才能形成可行的實施原則與理性的規(guī)范標準。
由于數(shù)字孿生繼承于數(shù)字樣機,所以首先要保證數(shù)字樣機的可用性,才能夠探討數(shù)字孿生的派生特性。數(shù)字樣機的核心內容在于建模。具體的模型需要由具體的制造目標決定。例如,對數(shù)控加工而言,基礎模型包括幾何與工藝模型。STEP-NC即直接符合這些模型定義的需求,完全可以復用于加工的數(shù)字孿生系統(tǒng),從而減少了大量的建模工作。STEP-NC定義加工操作(operation)的EXPRESS定義如圖11所示。由該例可以看出,STEP的模型定義使用了大量的面向對象設計方法,以保證模型具有嚴謹性和唯一性,因此不會引起歧義。正因為這種建模方法的普適性和通用性,所以STEP標準(ISO 10303)是ISO標準化組織定義的最大標準,具有最多的子標準。AP203、AP214業(yè)已成為不同CAD系統(tǒng)之間交換數(shù)據(jù)的最完善的標準格式。標準化的目的就在于:提供一套無歧義,具有唯一解釋的標準實現(xiàn)模板,以保證兩套或多套不同系統(tǒng)之間相互兼容。所以,如果在其他業(yè)務領域存在類似的建模需求,又沒有現(xiàn)成的模型定義時,也需要對具體業(yè)務進行嚴謹?shù)慕Ec設計,必要時也可采用面向對象的設計理念進行定義。建模過程最忌無目的虛化,即隨意采用抽象組合抽象的定義方式,因為此類模型很容易被大量的反例推翻。缺乏細節(jié)、未經辯證思考的模型也有很大隱患,因此可能造成在執(zhí)行時可行性與排他性的悖論。模型的內涵在于思想,模型的精髓在于細節(jié)。只有兩者兼具并且經過反復論證無誤的模型才可作為數(shù)字樣機的基礎使用。在此基礎之上,發(fā)展出的靜態(tài)與動態(tài)仿真技術才能得以順利實施。
圖11 STEP-NC采用面向對象對加工操作(machining_operation)的模型定義
實時與高速的數(shù)據(jù)采樣能力是當前數(shù)字孿生所期待的,從而產生了越實時越有利的數(shù)據(jù)采集評價標準。然而,數(shù)據(jù)采集需要從終端的控制器中獲得,過于頻繁的數(shù)據(jù)采集將大量占用終端控制的計算資源以及有限的實時帶寬。由于控制器的硬件架構不期望過多的資源消耗在通信層面,實時控制任務一般會占據(jù)較高的優(yōu)先級。所以,與高速數(shù)據(jù)采樣的一般認知相反,作為物理端智能代理的數(shù)字孿生系統(tǒng)應該在滿足信息同步的需求的前提下,盡可能的降低采樣率。
即使保證了數(shù)據(jù)采樣的安全周期,如果需要利用好有限的數(shù)據(jù)帶寬,還需要針對數(shù)據(jù)采集的緩沖機制進行完善的設計。有些數(shù)據(jù)是周期性的,有些數(shù)據(jù)是易失的(volatile),有些數(shù)據(jù)是非易失(non-volatile)的。此外,在控制器繁忙與空閑狀態(tài)的采樣速度也會不同,也就是說存在速度波動的現(xiàn)象。這些問題如果不進行妥善設計,或者會因采樣數(shù)據(jù)造成控制端的帶寬浪費,或者容易造成數(shù)字孿生程序的堵塞情況。所以,絕對的實時是不可能達到的,有時需要合理的設計數(shù)據(jù)索取機制才能保證系統(tǒng)的同步工作。
數(shù)據(jù)采樣的另一個風險在于兼容性。盡管OPC-UA、MTConnect、SCADA等技術正在逐漸深化數(shù)據(jù)索取的標準化工作,但是由于版本不同和生產設備較長的使用壽命,現(xiàn)存的控制器接口及協(xié)議存在很大的不一致性。標準化工作永遠是工業(yè)界的一個難題。例如,在世界上只有一種TCP/IP以太網(wǎng)協(xié)議的情況下,工業(yè)以太網(wǎng)的協(xié)議竟然存在20多種之多。不一致的數(shù)據(jù)采樣接口和協(xié)議很容易“穿透”數(shù)字孿生的邏輯變量層,造成運行時多態(tài)仿真的兼容性風險。如何搭建一個隔離硬件的數(shù)據(jù)索取層,對于數(shù)字孿生系統(tǒng)來說,既是一個技術問題,也可能由此產生靈活的運行機制。
真正的多物理場仿真是一個非常消耗計算時間的問題。仿真的規(guī)模不可能無限擴張,實時性與高保真性也是天然的對立。早在十幾年前,計算機剛進入到后摩爾時代,免費的性能午餐已經結束了(即不可能簡單的通過提升硬件來加速軟件)。在這種情況下,數(shù)字孿生的運行時仿真只能在保真、實時與多態(tài)之中,三者取其二。如果優(yōu)先保證實時與多態(tài),那么數(shù)字孿生系統(tǒng)必須運行在邊緣端,其保真度或者仿真規(guī)模就必須有所收斂;如果優(yōu)先保證實時與保真,那么元仿真模式將變得非常有用,但同時損失了運行時多態(tài);如果優(yōu)先保證保真與多態(tài),那么可以在云端生成多個不同的數(shù)字孿生鏡像來實現(xiàn),但受制于通信與數(shù)據(jù)分發(fā)的延時,實時性將大打折扣。
數(shù)據(jù)采樣在實時與兼容性方面的瓶頸,也預示著數(shù)字孿生技術似乎并不是最完美的解決方案。盡管與物理端絕對實時同步是一個美好的愿望,但是這也是一個永遠無法達成的愿望。一般控制器內部總線的通信周期也僅達到(或者只需要)毫秒級。數(shù)控機床結合數(shù)字孿生的CPS架構如圖12所示,其中邊緣孿生系統(tǒng)起到了數(shù)控機床的智能代理的角色。最為實時的信息同步方式是內存交換,這也就意味著控制器與邊緣數(shù)字孿生系統(tǒng)合而為一。這樣的控制系統(tǒng)稱之為智能控制系統(tǒng)。由此可以看出,數(shù)控加工的數(shù)字孿生系統(tǒng)本質上是為了適配現(xiàn)有非智能CNC的接口的過渡解決方案。真正的智能CNC不但具有更快的數(shù)據(jù)索取能力,而且數(shù)據(jù)中的信息量也會大很多。
圖12 非智能機床結合數(shù)字孿生的CPS架構(Cyber-Agent-Physics)
根據(jù)多態(tài)式仿真的內涵,機器人操作系統(tǒng)ROS就是一種符合定義的數(shù)字孿生系統(tǒng)。借助機器人仿真與控制組件MoveIt!和Gazebo,ROS控制的機器人可以完成一些智能的規(guī)劃任務,這種規(guī)劃能力有別于一般的工業(yè)機器人,在每次執(zhí)行任務的時候軌跡規(guī)劃都有可能不同(運行時多態(tài))。但是,由于仿真系統(tǒng)與控制器綁定在一起,不存在實時數(shù)據(jù)通信的難題。因此,數(shù)字孿生的現(xiàn)有研究中很少提及這個標志性的案例。然而,這種模式卻是數(shù)字孿生技術發(fā)展的未來。一旦兼容的智能控制系統(tǒng)成為了主流,狹義的邊緣孿生的地位將被取代,而廣義的云孿生系統(tǒng)將會成為主要的存在形式。如圖13所示,采用ROS系統(tǒng)控制的物理對象可以無需邊緣孿生系統(tǒng)而直接連接到云端。
圖13 智能ROS機器人的CPS架構(Cyber-Physics)
基于對數(shù)字孿生內涵的研究分析,以智能數(shù)控加工為研究對象,通過有機組合數(shù)字孿生系統(tǒng)的必要元素,構建了數(shù)控系統(tǒng)的邊緣孿生系統(tǒng)GrapeSim及云孿生系統(tǒng)GrapeServer,論證數(shù)字孿生的實現(xiàn)方案和技術定位。該系統(tǒng)通過多個案例進行測試驗證,并且在上海商飛試驗生產線得到了應用與驗證,如圖14所示。
圖14 GrapeSim軟件在上海商飛車間測試驗證
首先,根據(jù)“A digital twin is-a digital mock-up”的原則,GrapeSim需要實現(xiàn)數(shù)控加工的數(shù)字樣機功能。當前,面向數(shù)控加工最完善的樣機模型定義就是STEP-NC標準,例如:描述加工工藝的ISO 14649-11,描述加工刀具的ISO 14649-111,描述加工機床的ISO 14649-201。當前主流的CAD/CAM系統(tǒng)還不能直接輸出STEP-NC文件,通過應用成熟的二次開發(fā)技術來解決這個問題,實現(xiàn)了針對UG和CATIA平臺的STEP-NC后置插件系統(tǒng),可以自動化地導出STEP-NC文件。如圖15(a)所示,該文件包含全面的幾何與工藝信息。以STEP-NC文件作為輸入的GrapeSim軟件系統(tǒng),通過內部語義化的解析工具獲取文件中包含的全部工藝數(shù)據(jù),包括工件、刀具、刀軌、工步等。所有工藝信息可以在邊緣孿生中集中呈現(xiàn),如圖15(b)所示,方便數(shù)控機床端快速瀏覽。同時GrapeSim系統(tǒng)中還集成了參數(shù)化幾何建模內核,可以根據(jù)工藝信息自動構建工件、刀具、刀軌的三維模型,如圖15(c)所示,用于加工過程可視化展示和初步校驗加工程序。
圖15 CAD/CAM系統(tǒng)與邊緣孿生系統(tǒng)的STEP-NC數(shù)據(jù)交互
有效的加工工藝模型還可以促進仿真更為精細化。例如,STEP-NC的特征信息可以大幅減少切削仿真預處理單元的分割數(shù)量。刀具和毛坯的布爾計算被限制在加工特征所定義的范圍內,減少了計算量而提高了仿真效率。由STEP-NC定義的一個多加工特征組合而成的零件如圖16所示。該零件的加工過程可以分解成三個特征,并針對不同的特征開發(fā)專用算法。
圖16 加工特征、毛坯和零件的幾何模型關系
在加工特征內部,可以根據(jù)加工工藝信息更精細地劃分。例如粗加工和精加工的去除材料是不同的,而且材料被去除的過程存在差異。如圖17所示,給出了一個槽特征的分割實例,針對粗銑和精銑可以采用不同的預分割模型。粗加工根據(jù)切深進行分層建立四叉樹離散模型,精加工采用分層體素建立鏈表離散模型。這種過程中根據(jù)不同的加工特征與操作采取不同算法的仿真方式,兼顧了效率和精度,體現(xiàn)了多態(tài)式仿真的優(yōu)勢及數(shù)字樣機模型(STEP-NC)對運行時仿真的重要性。
圖17 加工工藝對被去除材料的影響
為了組合信息同步能力,GrapeSim支持與不同數(shù)控系統(tǒng)的通信接口與協(xié)議,包括OPC-UA、OPC-DA、ADS等。需要指出的是,相比于現(xiàn)場總線工業(yè)以太網(wǎng)級的實時通信能力,這些基于TCP/IP協(xié)議的通信機制的實時能力受到了很大制約。在有限的帶寬和采樣周期的條件下,必然會存在缺失關鍵數(shù)據(jù)的現(xiàn)象。反映在仿真系統(tǒng)中,就造成了仿真結果與真實加工過程不一致的情況。如圖18所示,加工仿真中獲取的刀位點是通過機床通信技術實時獲取的,而理論刀軌在p1點和p2點之間并不是一條直線。由于樣周期的限制,刀軌的關鍵轉折點可能會丟失,而加工仿真如果直接使用p1,p2作為輸入,會造成虛擬工件的過切現(xiàn)象。
為了避免上述問題,需要開發(fā)工步搜索和刀位點插值算法,根據(jù)STEP-NC存儲的理論刀軌補全原始的機床通信數(shù)據(jù)。其中工步搜索是指根據(jù)從數(shù)控系統(tǒng)獲取的一系列相鄰刀位點,搜索正在執(zhí)行的加工工步。由于系統(tǒng)已經包含了STEP-NC表達的完整工藝信息,可以通過工步得到當前的理論刀具軌跡,因此這項功能是刀位點插值算法的基礎。對于插值算法,根據(jù)刀位采樣點正確對應到刀軌部分區(qū)段,并將兩次相鄰刀位點之間缺失的關鍵點進行插值,并調用仿真算法使得虛擬工件能正確地反應真實加工狀態(tài),圖18中對比了是否應用插值算法的不同。
圖18 缺失刀位點對仿真結果的影響以及插值的重要性
運行時仿真能力是GrapeSim系統(tǒng)追求的核心價值之一。為此,系統(tǒng)針對實時切削仿真算法進行了深入的研發(fā),在實現(xiàn)傳統(tǒng)的切削仿真算法的同時,結合運行時仿真的問題與數(shù)字樣機模型的支撐,進一步研究了特定條件的高效實時切削仿真算法。加工仿真算法可以分為幾何仿真和物理仿真兩大類。由于核心需求的變化,這兩類仿真算法的原理存在巨大差異。動態(tài)綁定的仿真系統(tǒng)就體現(xiàn)在將這兩類仿真計算結合在一個系統(tǒng),并實現(xiàn)與真實加工過程的同步。
幾何仿真算法關注的是毛坯幾何形狀在加工過程中的變化過程,并通過三維渲染技術提供可交互的零件模型瀏覽,如圖19 (a)所示。對于常見的基于離散模型的加工仿真方法,布爾計算所占用的資源遠小于毛坯三維模型的動態(tài)建立。受限于巨大計算量,毛坯的離散精度不能設置太精細,以保證仿真過程的實時性。而物理仿真關注的是刀具切削過程的受力情況,是一種物理度量,其原理如圖19 (b)所示。物理仿真的計算核心是刀具和毛坯之間的接觸區(qū)域,包括切入角、切出角等。毛坯模型的離散精度是決定物理仿真結果可靠性的關鍵因素,因此需要盡可能地提高毛坯離散精度。不同于幾何仿真,沒有三維模型重建負擔的物理仿真可以使用高精度的毛坯離散模型。
圖19 實時加工過程幾何物理聯(lián)合仿真原理
加工過程的幾何仿真與物理仿真的結合,驗證了GrapeSim的虛擬系統(tǒng)的多態(tài)仿真特性,使得虛擬仿真可以從多個方面反應真實加工過程?,F(xiàn)有的功能包括:被加工零件幾何形狀的同步跟蹤顯示,切削力計算,刀具磨損評估等多項數(shù)控加工過程評估。而同樣使用數(shù)控系統(tǒng)的采樣數(shù)據(jù)作為輸入,幾何仿真和物理仿真由于計算原理和結果輸出的不同,表現(xiàn)出了多態(tài)的特性。多態(tài)的仿真一方面可以幫助數(shù)字孿生系統(tǒng)記錄下每個零件的幾何物理加工過程,便于未來追溯;另一方面又可以為動態(tài)自適應優(yōu)化控制提供重要的分析依據(jù),使得相同的加工工件產生多態(tài)的加工行為。
如前所述,數(shù)字孿生與CPS的結合可以倍增其效能,前提是必須認清CPS與數(shù)字孿生之間的組合與被組合的關系。為了說明這一點,在此介紹GrapeSim與GrapeServer的基本架構與運行原理。對于GrapeServer而言,GrapeSim是一個邊緣數(shù)字孿生系統(tǒng),如圖20所示。GrapeServer是運行在云端的CPS系統(tǒng),管理了不同機床的4D云端鏡像,每一個4D云端鏡像都會通過賬號系統(tǒng)與指定的邊緣端GrapeSim建立長連接。所謂4D,指的是云端的機床鏡像維護了機床信息的時間軸,而邊緣端GrapeSim所呈現(xiàn)的可以被認為是這個4D鏡像的當前時間切片。云端機床鏡像具有很強的數(shù)據(jù)封裝性,其目的旨在全面代理機床物理端。對鏡像端的信息查詢可以等同于對邊緣端的查詢;派發(fā)到鏡像端的加工任務,會自動同步到GrapeSim;GrapeSim產生的實時數(shù)據(jù)與語義信息會自動同步到鏡像端。比較直觀的應用包括GrapeSim可以根據(jù)STEP-NC的刀軌定義與實時的數(shù)控位置信息推理出當前的加工零件與工步驟,而用戶在任何時候都可以通過云端觀察到當前工件的實時加工狀態(tài);同步到邊緣孿生系統(tǒng)的STEP-NC文件可以根據(jù)當前機床的硬件狀態(tài)(數(shù)控系統(tǒng)、刀庫等)自動后置出匹配當前硬件的G代碼,并DNC到數(shù)控系統(tǒng)中,由此實現(xiàn)屏蔽機床硬件以及“一次設計,到處執(zhí)行”的多態(tài)加工模式;APP可以通過與4D機床鏡像的連接,對機床加工狀態(tài)進行實時監(jiān)控。
圖20 邊云協(xié)同的數(shù)控加工數(shù)字孿生系統(tǒng)
以上述的基本架構為基礎,未來的機床數(shù)字孿生鏡像可以向CPS系統(tǒng)提供數(shù)據(jù)服務,而CPS系統(tǒng)可以為數(shù)字孿生鏡像提供智能服務。例如,CPS可以根據(jù)機床的能力、成本與任務繁忙程度,實現(xiàn)自動加工任務(STEP-NC文件)派發(fā),GrapeSim再根據(jù)個性化的配置實現(xiàn)多態(tài)式的后置處理。CPS系統(tǒng)可以針對不同機床鏡像的面向特征的加工過程數(shù)據(jù)進行工藝分析,并將總結優(yōu)化后的工藝信息廣播配置到其他類似的機床鏡像中。機床鏡像可以根據(jù)GrapeSim推理的刀具磨損狀態(tài)信息向CPS系統(tǒng)發(fā)出換刀請求,而CPS則根據(jù)統(tǒng)計的鏡像需求完成最優(yōu)的換刀規(guī)劃。
本文從面向對象編程的理念出發(fā),分析了數(shù)字孿生的動態(tài)綁定仿真的特性,探討了面向孿生制造的未來智能制造運行模式。采用面向對象的建模思想,推理出動態(tài)綁定仿真的最終意義在于實現(xiàn)多態(tài)式仿真與分析。通過面向對象編程與面向孿生制造的對偶關系,推導出界定數(shù)字孿生的原則與規(guī)范。將數(shù)字孿生與數(shù)字樣機、硬件在環(huán)仿真、多物理場仿真等技術進行對比,分析了數(shù)字孿生與各概念之間的區(qū)別與聯(lián)系。提出“先模型、再仿真、后連接”的數(shù)字孿生實施原則。針對數(shù)字孿生的當前問題與瓶頸進行了討論,以幫助梳理數(shù)字孿生系統(tǒng)實施的關鍵。最后,結合一個面向數(shù)控加工的數(shù)字孿生及CPS系統(tǒng)的開發(fā)案例,闡述本文所述的數(shù)字孿生內涵在具體實施案例的應用與體現(xiàn)。該系統(tǒng)已在上海商飛制造廠試驗車間得到了應用與驗證,部分驗證了本文提出的數(shù)字孿生實施原則的實用性。需要指出的是,目前本文介紹的數(shù)字孿生系統(tǒng)還處于發(fā)展的初級階段,未來還有大量的問題需要解決。不過,本文提出的組合數(shù)字孿生鏡像的CPS系統(tǒng)將有助于實現(xiàn)把智能終端連成網(wǎng)絡的階段性目標,從而推動智能制造與工業(yè)互聯(lián)網(wǎng)相關技術的發(fā)展。