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