基于數(shù)字孿生的機(jī)器人虛擬調(diào)試系統(tǒng)設(shè)計及開發(fā)
引言
隨著經(jīng)濟(jì)社會的不斷發(fā)展,未來絕大多數(shù)企業(yè)都將成為數(shù)字化的公司。這不僅只是要求企業(yè)開發(fā)出具備數(shù)字化特征的產(chǎn)品,更要整個企業(yè)逐漸數(shù)字化,通過數(shù)據(jù)驅(qū)動的手段改變整個產(chǎn)品的設(shè)計、開發(fā)、制造和服務(wù)過程,并用數(shù)據(jù)驅(qū)動的方式連接企業(yè)的內(nèi)部和外部環(huán)境,而這一切都是建立在數(shù)字孿生技術(shù)的基礎(chǔ)上。
數(shù)字孿生概念模型主要包括三個部分:物理空間的實(shí)體、虛擬空間的模型、物理空間和虛擬空間之間的數(shù)據(jù)和信息接口。數(shù)字孿生目的是通過數(shù)字化技術(shù),建立物理世界的虛擬模型,借助數(shù)據(jù)模擬實(shí)體在真實(shí)環(huán)境下的行為,通過虛實(shí)交互、數(shù)據(jù)分析、人工智能等技術(shù)手段,改進(jìn)和提升物理實(shí)體的效能。當(dāng)前,大部分自動化設(shè)備的調(diào)試都是實(shí)機(jī)調(diào)試,然而實(shí)機(jī)調(diào)試存在諸多問題:(1)機(jī)械、電氣和控制工程師在實(shí)機(jī)完成前難以進(jìn)行聯(lián)合調(diào)試,只能分開各自調(diào)試,容易出現(xiàn)設(shè)計問題:(2)設(shè)計、制造、調(diào)試及后續(xù)實(shí)際生產(chǎn)過程各環(huán)節(jié)屬于串行式流程,調(diào)試周期會很長:(3)實(shí)機(jī)調(diào)試需要技術(shù)水平較高的工程師才能完成,如果派遣經(jīng)驗(yàn)不足的工程師,反而容易損壞設(shè)備:(4)實(shí)機(jī)調(diào)試需要停機(jī),會影響生產(chǎn)效率,進(jìn)行試生產(chǎn)需要花費(fèi)多余的成本。因此,虛擬調(diào)試技術(shù)為解決以上問題提供了新的方法和途徑。
數(shù)字孿生技術(shù)是虛擬調(diào)試的關(guān)鍵基礎(chǔ),所以本文重點(diǎn)介紹在產(chǎn)品設(shè)計階段,依托數(shù)字孿生技術(shù)開展工作站邏輯性、可靠性仿真和分析,進(jìn)而改進(jìn)設(shè)計和提高可靠性。
1虛擬調(diào)試系統(tǒng)架構(gòu)
虛擬調(diào)試系統(tǒng)需要解決的問題主要有兩個:一是驗(yàn)證設(shè)計邏輯的正確性、可用性,二是確定參數(shù)的合理值或者最佳值。以上下料產(chǎn)線來舉例,虛擬調(diào)試可以分為上下料產(chǎn)線機(jī)械本體和邏輯控制程序兩個方面。機(jī)械本體的虛擬調(diào)試需要進(jìn)行運(yùn)動學(xué)檢查,確保設(shè)備各部件在正常運(yùn)動下不產(chǎn)生碰撞干涉行為。邏輯控制程序方面,需要驗(yàn)證程序設(shè)計的正確性,即程序是否能完成正常的控制功能,能否正確識別傳感器和各I/O變量,執(zhí)行正確的邏輯。另外,還可以通過調(diào)節(jié)生產(chǎn)中合理的工藝參數(shù),確定最佳的生產(chǎn)節(jié)拍。
根據(jù)以上調(diào)試需求,本文設(shè)計虛擬調(diào)試系統(tǒng)架構(gòu)如圖1所示。本虛擬調(diào)試系統(tǒng)由工程師通過人機(jī)交互界面控制產(chǎn)線數(shù)字孿生模型,控制命令由虛擬控制系統(tǒng)交互通信接口到達(dá)模型端,數(shù)字孿生模型接到控制指令后,模擬與實(shí)際設(shè)備相同的行為運(yùn)行,由通信接口將模型運(yùn)行信息反饋回控制系統(tǒng)。數(shù)字孿生模型會模擬實(shí)機(jī)的運(yùn)行狀態(tài),并通過孿生模型的三維仿真動畫展示出來。此外,數(shù)字孿生模型還可以模擬各類傳感器,配合產(chǎn)線在不同狀態(tài)下的I/O量,真實(shí)PLC會跟虛擬控制系統(tǒng)進(jìn)行通信,執(zhí)行PLC程序,方便調(diào)試正確性。
基于數(shù)字孿生的虛擬調(diào)試系統(tǒng)架構(gòu)中,數(shù)字孿生模型構(gòu)建是基礎(chǔ)。本系統(tǒng)是基于Unity引擎開發(fā)的,借助該引擎可快速開發(fā)數(shù)字孿生模型。另外,基于C#面向?qū)ο蟮乃枷?結(jié)合實(shí)際設(shè)備的特點(diǎn),采用多物理領(lǐng)域統(tǒng)一建模的方法構(gòu)建數(shù)字孿生模型。模型構(gòu)建中主要依據(jù)三條指導(dǎo)原則:面向?qū)ο蠓纸庠瓌t、多物理領(lǐng)域統(tǒng)一集成原則和增量式構(gòu)建原則。
2建立數(shù)字孿生模型
由于本系統(tǒng)是基于Unity開發(fā)的,上下料產(chǎn)線等實(shí)體模型都是由通用三維設(shè)計軟件先建立好模型,然后利用格式中轉(zhuǎn)的方式或者購買Pixyz插件,在Unity中快速導(dǎo)入、準(zhǔn)備和優(yōu)化CAD、網(wǎng)格和點(diǎn)云模型,實(shí)現(xiàn)實(shí)時可視化。
數(shù)字孿生模型需要添加剛體屬性才能受到重力或其他作用力的影響。使用Unity的優(yōu)勢在于其自帶的碰撞盒組件(Collider),將物體掛上剛體組件(Rigidbody),如圖2所示,就可以受到重力和其他力的作用,也可以檢測到碰撞。只有掛上了這些組件,才可以用代碼編寫觸發(fā)函數(shù)或者碰撞回調(diào)函數(shù)。如果模型沒有定義剛體,它就會靜止,而且不會參與到任何運(yùn)動中,因此本系統(tǒng)設(shè)計的時候一定要清楚哪些物體需要定義為剛體。
本系統(tǒng)以上下料產(chǎn)線為數(shù)字孿生對象,包含一臺數(shù)控車床、帶手爪的工業(yè)機(jī)器人、上料準(zhǔn)備機(jī)和工件完成區(qū),如圖3所示。由于本系統(tǒng)的目的是進(jìn)行虛擬調(diào)試,所以數(shù)控車床的孿生模型只需要有開關(guān)門的動畫仿真,并不需要仿真切削加工過程。帶手爪的工業(yè)機(jī)器人需要有動作仿真,所以需要在機(jī)器人這個物體上掛上帶有機(jī)器人運(yùn)動學(xué)正逆解的函數(shù),而手爪需要仿真松開和夾緊動作。另外,上料準(zhǔn)備機(jī)和工件完成區(qū)不需要賦予任何運(yùn)動,只需要對每一個工件賦予剛體和碰撞盒,運(yùn)行過程中,在重力作用下自然會逐個進(jìn)入到上料位置。值得注意的是,本例中工件其實(shí)有兩個子物體,共用一個碰撞盒,在加工前會顯示毛坯件,隱藏完成件,加工后會顯示完成件把毛坯件隱藏。以上就是一個簡單上下料產(chǎn)線的數(shù)字孿生模型構(gòu)建方式。
3電氣控制和執(zhí)行機(jī)構(gòu)
要完成上下料產(chǎn)線的正確運(yùn)行,除了每一個設(shè)備可以正常工作以外,還需要它們相互配合,才可以完成上下料。因此,需要在系統(tǒng)中設(shè)置傳感器,常用的傳感器有碰撞傳感器、距離傳感器和位置傳感器。本例中,機(jī)器人手爪的夾緊就用到了碰撞傳感器,在上料位置需要時刻檢測手爪夾緊的程度,利用碰撞傳感器來判斷手爪是否抓緊毛坯工件。同樣地,在數(shù)控車床加工完打開門后,機(jī)器人夾取完成件的時候也需要使用碰撞傳感器。本例中位置傳感器運(yùn)用在上料準(zhǔn)備機(jī)上,上一個工件被夾取后,其他毛坯會自動下移,當(dāng)毛坯到底的時候就會觸發(fā)位置傳感器。位置傳感器就是為了確保上料機(jī)上有毛坯,不會出現(xiàn)沒有毛坯但是機(jī)器人過來空抓的情況。
其實(shí),傳感器就是作為動作觸發(fā)的條件,相當(dāng)于一個信號的輸入,所以本系統(tǒng)還設(shè)置了一個虛擬的輸入/輸出端子,可以仿真實(shí)機(jī)上的I/O端子。本系統(tǒng)通過socket通信,跟機(jī)器人控制器、機(jī)床控制器和PLC進(jìn)行數(shù)據(jù)傳輸。通過系統(tǒng)虛擬模擬傳感器的觸發(fā),修改外部實(shí)機(jī)的輸入信號。舉例說明如下:毛坯工件到位,會觸發(fā)位置傳感器,然后給機(jī)器人控制器一個輸入信號,機(jī)器人接收到信號后會執(zhí)行上料程序,運(yùn)行到上料位置,然后等待;緊接著手爪會進(jìn)行夾緊動作,當(dāng)碰撞傳感器觸發(fā)后,會給手爪和機(jī)器人一個信號,手爪會停止夾緊動作,而機(jī)器人會繼續(xù)執(zhí)行上料程序,把毛坯運(yùn)輸?shù)綌?shù)控機(jī)床的安裝位置。由此可知,虛擬輸入/輸出端子板很重要,對于虛擬調(diào)試不可或缺,因此,本系統(tǒng)還特地準(zhǔn)備了一個虛擬端子板的調(diào)試面板,如圖4所示,用于顯示當(dāng)前的虛擬輸入/輸出的狀態(tài)。
4自動化邏輯
本例上下料產(chǎn)線包括數(shù)控車床、帶手爪機(jī)器人、上料準(zhǔn)備機(jī)等主要模塊。為保證各部分之間的協(xié)調(diào)運(yùn)行,有必要對控制系統(tǒng)建立仿真序列進(jìn)行虛擬自動化邏輯控制仿真。工業(yè)上的產(chǎn)線,一般都是把PLC作為控制系統(tǒng),它與微型計算機(jī)相似,負(fù)責(zé)的工作是根據(jù)輸入來執(zhí)行事前編寫好的程序。因此,虛擬調(diào)試系統(tǒng)最主要的目的就是檢驗(yàn)PLC程序的正確性。本例上下料產(chǎn)線建立仿真序列是基于動作流程,在每一步流程結(jié)束后,需要對應(yīng)地變更虛擬輸入變量,以此條件來檢驗(yàn)PLC程序。
上下料產(chǎn)線的動作流程如下:
(1)機(jī)器人運(yùn)動到毛坯料的側(cè)方;
(2)機(jī)器人手爪中心往毛坯料中心移動:
(3)手爪夾緊毛坯:
(4)機(jī)器人手爪上移,然后夾著毛坯進(jìn)入數(shù)控車床的卡盤正前側(cè):
(5)數(shù)控車床卡盤夾緊毛坯:
(6)機(jī)器人手爪松開毛坯:
(7)機(jī)器人退出數(shù)控車床工作區(qū)域:
(8)數(shù)控車床關(guān)門并進(jìn)行加工:
(9)加工完成后打開門:
(10)機(jī)器人進(jìn)入并夾緊完成件:
(11)數(shù)控車床卡盤松開:
(12)機(jī)器人帶著完成件移動到工件完成區(qū)上方:
(13)機(jī)器人手爪松開工件,使其自行掉落到工件完成區(qū)。
往復(fù)循環(huán)上述步驟,完成所有毛坯的加工。每個動作完成后都設(shè)計了對應(yīng)的傳感器來檢測動作是否完成到位,并通過輸入/輸出監(jiān)控面板的狀態(tài)實(shí)時反映系統(tǒng)的狀態(tài),從而保證了系統(tǒng)運(yùn)行的正確性。在完成數(shù)字孿生模型的相關(guān)設(shè)置以及控制信號的連接后,可以在本系統(tǒng)進(jìn)行基于數(shù)字孿生模型的虛擬調(diào)試,從而達(dá)到高效驗(yàn)證模型、優(yōu)化系統(tǒng)設(shè)計的目的。
5結(jié)語
新系統(tǒng)的設(shè)計和實(shí)施通常是耗時且高成本的過程,完成設(shè)計、采購、安裝后,在客戶現(xiàn)場生產(chǎn)運(yùn)行之前還需要進(jìn)行調(diào)試。通過對設(shè)備虛擬調(diào)試驗(yàn)證其可行性后再進(jìn)行實(shí)物加工和實(shí)施,可以縮短產(chǎn)品從設(shè)計到實(shí)際生產(chǎn)的時間,使現(xiàn)場的調(diào)試速度更快、風(fēng)險更低。
本文結(jié)合數(shù)控車床上下料產(chǎn)線設(shè)計并開發(fā)了虛擬調(diào)試系統(tǒng),闡述了數(shù)字孿生技術(shù)在制造自動化裝備開發(fā)過程中既可以有效縮短新產(chǎn)品開發(fā)周期,又可以降低新產(chǎn)品研發(fā)風(fēng)險和研發(fā)投入的作用。由此可見,基于數(shù)字孿生的虛擬調(diào)試技術(shù)將在智能制造時代發(fā)揮重要作用。