朱文華 陶 涵 蔡 寶 顧鴻良 王 佳
(上海第二工業(yè)大學(xué)工程訓(xùn)練中心,上海 201209)
近年來(lái),隨著數(shù)字技術(shù)的更新迭代,傳統(tǒng)制造業(yè)受到了全球范圍內(nèi)的挑戰(zhàn)。工業(yè)4.0已被國(guó)際認(rèn)可為傳統(tǒng)制造業(yè)應(yīng)對(duì)數(shù)字技術(shù)的戰(zhàn)略反應(yīng)之一。信息物理融合作為工業(yè)4.0中數(shù)字孿生主要概念之一,廣泛應(yīng)用于工業(yè)和研究活動(dòng)。數(shù)字孿生與信息物理融合最初出現(xiàn)在航天航空領(lǐng)域,用于航空航天飛行器的健康維護(hù)與保障[1];2013年首次出現(xiàn)制造業(yè)信息物理融合的報(bào)道,揭示虛擬模型可代替物理實(shí)體,作為生產(chǎn)資源應(yīng)用于先進(jìn)生產(chǎn)制造中。2016年西門(mén)子工業(yè)論壇上,信息物理融合在制造業(yè)中正式被定義為制造業(yè)數(shù)字孿生,信息物理融合完整再現(xiàn)了整個(gè)制造業(yè)流水線[2]。
本文結(jié)合虛擬現(xiàn)實(shí)技術(shù),工業(yè)互聯(lián)網(wǎng)技術(shù)等先進(jìn)技術(shù),將數(shù)字孿生、虛擬仿真應(yīng)用于工業(yè)機(jī)器人。研發(fā)孿生數(shù)據(jù)驅(qū)動(dòng)的虛擬工業(yè)機(jī)器人系統(tǒng),通過(guò)建立實(shí)體工業(yè)機(jī)器人和虛擬工業(yè)機(jī)器人之間的通信信道,為實(shí)體工業(yè)機(jī)器人操作提供可視化控制和支撐,提高操作安全指數(shù)和工業(yè)生產(chǎn)可視化操作,對(duì)于工業(yè)機(jī)器人的應(yīng)用與教學(xué)領(lǐng)域,具有重要意義。
工業(yè)機(jī)器人信息物理融合系統(tǒng)框架中,通過(guò)整理實(shí)體工業(yè)機(jī)器人和虛擬工業(yè)機(jī)器人實(shí)時(shí)數(shù)據(jù),實(shí)時(shí)數(shù)據(jù)與虛擬工業(yè)機(jī)器人儲(chǔ)存于電腦中,形成基于信息物理融合為核心的工業(yè)機(jī)器人智能交互系統(tǒng)[3]。如圖1所示,系統(tǒng)中采用OPC UA協(xié)議進(jìn)行數(shù)據(jù)傳輸,采用博途軟件進(jìn)行通訊編程,以實(shí)現(xiàn)傳輸來(lái)的數(shù)據(jù)驅(qū)動(dòng)虛擬機(jī)器人。對(duì)實(shí)體機(jī)器人PLC采用博途提供的TCP/IP協(xié)議,保證數(shù)據(jù)的雙向傳輸和準(zhǔn)確返回。

本文中實(shí)體工業(yè)機(jī)器人采用的是ABB公司的IRB120工業(yè)機(jī)器人[4]。IRB120是ABB迄今最小的多用途機(jī)器人,有效載荷為3 kg,工作范圍達(dá)580 mm,主要由示教器、控制器和機(jī)器人本體等部件構(gòu)成。
示教器是實(shí)體工業(yè)機(jī)器人人機(jī)交互接口,機(jī)器人的示教和操作基本都是由示教器完成。
控制器用來(lái)控制機(jī)器人完成規(guī)定的動(dòng)作,主要可實(shí)現(xiàn)倉(cāng)儲(chǔ)、碼垛、打磨、裝配和視覺(jué)5大動(dòng)作。
機(jī)器人本體是實(shí)體工業(yè)機(jī)器人機(jī)械主體,是用來(lái)完成控制器規(guī)定動(dòng)作任務(wù)的執(zhí)行機(jī)構(gòu),所以又稱(chēng)為操作機(jī),主要由機(jī)械臂、驅(qū)動(dòng)裝置、傳動(dòng)裝置和內(nèi)部傳感器等部分組成。
機(jī)器人具體的功能作業(yè)流程為:
(1)倉(cāng)儲(chǔ)任務(wù):機(jī)器人安裝夾具,光電傳感器檢測(cè)傳送帶傳送過(guò)來(lái)的輪子,機(jī)器人通過(guò)夾具夾取輪子并依次放入庫(kù)區(qū)。之后放回夾具,機(jī)器人回到初始位置。
(2)碼垛任務(wù):機(jī)器人安裝吸盤(pán),從庫(kù)區(qū)將梯形玻璃物料分揀至檢測(cè)區(qū)域,按照程序判斷分揀入左右兩個(gè)不同分揀區(qū)。完成任務(wù)后放回吸盤(pán),回到初始位置。
(3)打磨任務(wù):機(jī)器人安裝夾具運(yùn)動(dòng)至磨砂紙對(duì)螺母進(jìn)行打磨,打磨結(jié)束后放回夾具,磨砂紙停止轉(zhuǎn)動(dòng),機(jī)器人回到初始位置。
(4)裝配任務(wù):機(jī)器人安裝夾具,通過(guò)夾具將底座、軸承、墊塊和螺母按順序放置裝配臺(tái)中,啟動(dòng)電批夾具連續(xù)運(yùn)動(dòng)90°將螺母擰緊。動(dòng)作完成后機(jī)器人放回夾具,回到初始位置。
(5)視覺(jué)任務(wù):由機(jī)器人攝像頭判斷七色板模具所在位置,由機(jī)器人外圍設(shè)備吸盤(pán)固定七色板模具,再依次在右邊的拼盤(pán)上完成七色板拼圖。完成拼圖后機(jī)器人放回吸盤(pán),回到初始位置。
1.2.1三維模型建立
為了能夠精準(zhǔn)地展現(xiàn)虛擬工業(yè)機(jī)器人模型,本文使用NX、SolidWorks和Maya等工程軟件進(jìn)行建模[7],主要包括幾何建模和物理建模兩個(gè)部分:(1)幾何建模:應(yīng)用NX和SolidWorks等軟件將實(shí)體工業(yè)機(jī)器人按比例建立出其幾何形狀。為了保證模型的準(zhǔn)確性,模型參數(shù)均來(lái)自于實(shí)體機(jī)器人實(shí)際測(cè)量出的等比例數(shù)據(jù)。(2)物理建模:通過(guò)3DMaxs對(duì)幾何建模進(jìn)行貼圖渲染,使其更加立體化、真實(shí)化[8]。

1.2.2虛擬工業(yè)機(jī)器人動(dòng)作設(shè)計(jì)
將已經(jīng)完成的工業(yè)機(jī)器人三維模型導(dǎo)入Process Simulate(下文簡(jiǎn)稱(chēng)PS)中。在導(dǎo)入之前,需要定義工業(yè)機(jī)器人類(lèi)型,在新建文件夾中選擇機(jī)器人類(lèi)型,便可導(dǎo)入在NX軟件中已經(jīng)做好的機(jī)器人模型,利用PS組件功能直接使用已經(jīng)定義好的零部件模型。選中已經(jīng)導(dǎo)入的工業(yè)機(jī)器人模型,通過(guò)選擇集合建模范圍命令可以查看所有轉(zhuǎn)入的零部件類(lèi)型。
以裝配站動(dòng)作設(shè)計(jì)為例,將需要拆分的機(jī)器人抓手工具拖入新建的資源類(lèi)型中,創(chuàng)建坐標(biāo),坐標(biāo)定位抓手中心,坐標(biāo)朝向需與機(jī)器人朝向一致完成資源拆分。
以創(chuàng)建零部件命令創(chuàng)造軸承、螺栓、裝配隔套和螺帽等零部件,把相對(duì)應(yīng)的零部件拖動(dòng)至部件命令下完成零件拆分。
選中機(jī)器人右擊Mount Tool,Mount Tool選擇抓手,通過(guò)創(chuàng)建路徑操作選擇對(duì)應(yīng)的零部件完成對(duì)點(diǎn)軌跡操作,其中包括抓取軸承、螺栓、裝配隔套和螺帽等操作,根據(jù)實(shí)際物料尺寸調(diào)整姿態(tài),在裝配槽通過(guò)電批完成零部件的擰緊裝配。最后加載到路徑編輯器中完成虛擬工業(yè)機(jī)器人裝配動(dòng)作設(shè)計(jì)。

孿生數(shù)據(jù)是指從物理實(shí)體實(shí)時(shí)傳輸?shù)乃惴〝?shù)據(jù),幫助并指導(dǎo)虛擬體完成精準(zhǔn)的反饋操作和動(dòng)作改進(jìn)。以實(shí)體工業(yè)機(jī)器人與PS平臺(tái)作為仿真基礎(chǔ),建立實(shí)體機(jī)器人PLC與PS的通信連接,運(yùn)用算法程序?qū)Σ杉瘉?lái)的孿生數(shù)據(jù)進(jìn)行整理,分析及傳輸,從而使虛擬工業(yè)機(jī)器人實(shí)時(shí)完成實(shí)體機(jī)器人相應(yīng)動(dòng)作,在PS仿真平臺(tái)進(jìn)行控制和操作。
本文通信連接需要準(zhǔn)備一臺(tái)能夠運(yùn)行博途V13的計(jì)算機(jī)。在博途V13加入常規(guī)IE網(wǎng)卡,設(shè)置組態(tài)網(wǎng)卡與計(jì)算機(jī)IP地址一致,完成軟硬件環(huán)境搭建。
完成IP地址分配后與同一網(wǎng)段的PLC建立通信通道。在博途OPC_ES中選擇S7連接,設(shè)置本地ID為OPC_ES_PLC,通過(guò)此接口與同一網(wǎng)段的PLC硬件建立通信通道。
選擇博途OPC_ES中OPC Server進(jìn)行編譯。OPC是針對(duì)現(xiàn)場(chǎng)控制系統(tǒng)的工業(yè)標(biāo)準(zhǔn)接口,專(zhuān)門(mén)作用于硬件與軟件的接口連接。OPC搭建完成后,PLC與博途通過(guò)OPC服務(wù)器傳輸數(shù)據(jù)。

OPC服務(wù)器搭建完成后,需要在博途上編寫(xiě)邏輯塊,進(jìn)而制作機(jī)器人啟動(dòng)運(yùn)動(dòng)的邏輯塊。由于機(jī)器人多個(gè)動(dòng)作連續(xù)運(yùn)行,自動(dòng)運(yùn)行等功能涉及到多個(gè)信號(hào)的關(guān)聯(lián)動(dòng)作,因此需要制作邏輯塊來(lái)實(shí)現(xiàn)。
PLC離線程序未完成時(shí),使用CEE程序模擬線體運(yùn)動(dòng),檢驗(yàn)機(jī)器人程序設(shè)置是否正確。CEE-Cyclic event evaluation,是PS的邏輯控制單元,可通過(guò)制作module來(lái)實(shí)現(xiàn)整線運(yùn)行。
最后按照工藝設(shè)計(jì),對(duì)PLC離線程序進(jìn)行完善,完成整線控制。PLC程序除了保持虛擬機(jī)器人實(shí)時(shí)跟蹤實(shí)體機(jī)器人外,還包括虛擬機(jī)器人對(duì)實(shí)體機(jī)器人的啟停控制,模式調(diào)試等雙向傳輸程序。當(dāng)實(shí)體機(jī)器人出現(xiàn)故障停止運(yùn)行時(shí),可以通過(guò)虛擬機(jī)器人界面切換手動(dòng)模式,操縱實(shí)體機(jī)器人進(jìn)入急停狀態(tài)啟動(dòng)報(bào)警信號(hào)并停止運(yùn)行相關(guān)動(dòng)作,待排除相關(guān)故障后再啟動(dòng)運(yùn)行。
當(dāng)機(jī)器人在手動(dòng)模式、自動(dòng)模式和空運(yùn)行等模式下程序都正常運(yùn)行時(shí),調(diào)試結(jié)束,PS與PLC通信連接搭建完成。

因此,整個(gè)機(jī)器人數(shù)據(jù)采集過(guò)程可以簡(jiǎn)單概括為三步:第一步實(shí)現(xiàn)IRB120工業(yè)機(jī)器人的數(shù)據(jù)采集,包括機(jī)器人的動(dòng)作、初始位置和作業(yè)位置等數(shù)據(jù);第二步將采集到的動(dòng)態(tài)數(shù)據(jù)和靜態(tài)數(shù)據(jù)分類(lèi)整理,獲得孿生數(shù)據(jù)[9];第三步將獲得的孿生數(shù)據(jù)驅(qū)動(dòng)電腦端的虛擬工業(yè)機(jī)器人,實(shí)現(xiàn)工業(yè)機(jī)器人與虛擬工業(yè)機(jī)器人的實(shí)時(shí)同步運(yùn)動(dòng)(圖7),同時(shí)獲得虛擬機(jī)器人部分?jǐn)?shù)據(jù)反饋。


在虛擬調(diào)試過(guò)程中,虛擬機(jī)器人是按照預(yù)設(shè)的點(diǎn)對(duì)點(diǎn)的運(yùn)動(dòng)軌跡進(jìn)行運(yùn)動(dòng)。而我們所創(chuàng)建的信息物理融合系統(tǒng)是基于所有由程序執(zhí)行的運(yùn)動(dòng)軌跡,所以我們需要阻止虛擬機(jī)器人動(dòng)作從操作序列本身執(zhí)行。我們?cè)赑S仿真平臺(tái)中選擇虛擬機(jī)器人,打開(kāi)MAIN操作的的OLP命令字段,設(shè)置循環(huán)操作,等待時(shí)間和停止?fàn)顟B(tài),確保虛擬機(jī)器人每個(gè)動(dòng)作是由程序執(zhí)行運(yùn)行。對(duì)整個(gè)工藝仿真來(lái)說(shuō),循環(huán)操作意味著一個(gè)工藝結(jié)束,可以直接進(jìn)行下一個(gè)動(dòng)作。
# While ( NOT STOP ) Do
# if ( CONTINUE_1 ) Then
# CallPath R1 LOAD PART
# Elsif ( CONTINUE_2 ) Then
# CallPath R1 REMOVE PART
# SetSignal CycleDone= 1
# WaitTime 0.3
# SetSignal
# CycleDone= 0
# Endif
# Endwhile

表1 虛擬機(jī)器人默認(rèn)信號(hào)
采集數(shù)據(jù)具體過(guò)程,我們以裝配站為例,實(shí)體機(jī)器人開(kāi)始裝配動(dòng)作時(shí),虛擬機(jī)器人系統(tǒng)程序初始化。
當(dāng)實(shí)體機(jī)器人安裝裝配握爪時(shí),實(shí)體機(jī)器人將安裝信號(hào)通過(guò)PLC中OPC傳輸給PS平臺(tái)中,通過(guò)PS平臺(tái)中OLP編寫(xiě)程序使虛擬工業(yè)機(jī)器人同時(shí)安裝裝配握爪。在實(shí)體機(jī)器人抓取軸承,螺帽等零部件時(shí),實(shí)體機(jī)器人通過(guò)傳感器將零部件抓取的信號(hào)傳輸給PS平臺(tái)中,虛擬機(jī)器人通過(guò)采集到的點(diǎn)位數(shù)據(jù)判斷抓取零部件。
實(shí)體機(jī)器人通過(guò)博途中TCP/IP協(xié)議與虛擬機(jī)器人進(jìn)行數(shù)據(jù)交換,接收虛擬機(jī)器人工作狀態(tài)數(shù)據(jù),進(jìn)行虛實(shí)融合。由于工業(yè)機(jī)器人與虛擬機(jī)器人關(guān)節(jié)角度數(shù)據(jù)格式不同,因此需要將實(shí)體機(jī)器人與虛擬機(jī)器人各個(gè)關(guān)節(jié)進(jìn)行標(biāo)定,實(shí)現(xiàn)機(jī)器人六軸數(shù)據(jù)可視化監(jiān)測(cè)(圖8)。

當(dāng)零部件全部完成抓取后,啟動(dòng)電批對(duì)零部件進(jìn)行旋轉(zhuǎn)擰緊操作,啟動(dòng)的同時(shí)電批傳感器將信號(hào)實(shí)時(shí)傳輸給虛擬機(jī)器人。若信號(hào)傳輸出現(xiàn)問(wèn)題,則虛擬機(jī)器人停止接受數(shù)據(jù)傳輸,并啟動(dòng)延時(shí)動(dòng)作,采集數(shù)據(jù)流程圖如圖9所示。

在PS平臺(tái)中,數(shù)據(jù)傳輸需要將虛擬環(huán)境與PLC程序采集的數(shù)據(jù)進(jìn)行對(duì)接。通過(guò)機(jī)器人程序清單中的上傳程序,將采集來(lái)的信號(hào)數(shù)據(jù)導(dǎo)入虛擬工業(yè)機(jī)器人中,為接下來(lái)實(shí)時(shí)同步控制虛擬工業(yè)機(jī)器人提供數(shù)據(jù)支持,同時(shí)也可以通過(guò)PS平臺(tái)中的虛擬機(jī)器人界面在線監(jiān)控實(shí)體機(jī)器人。
以裝配站為例,經(jīng)測(cè)試,PS軟件中的虛擬工業(yè)機(jī)器人的裝配動(dòng)作與實(shí)體機(jī)器人會(huì)有100 ms以?xún)?nèi)的誤差,裝配零部件誤差如圖10所示。橫坐標(biāo)為機(jī)器人運(yùn)動(dòng)至各個(gè)零部件位置,縱坐標(biāo)為虛擬機(jī)器人與實(shí)體機(jī)器人運(yùn)動(dòng)至位置點(diǎn)的時(shí)間差,螺栓代表虛擬機(jī)器人和實(shí)體機(jī)器人運(yùn)動(dòng)至裝配站螺栓位置,軸承代表虛擬機(jī)器人和實(shí)體機(jī)器人運(yùn)動(dòng)至裝配站軸承位置,裝配隔套代表虛擬機(jī)器人和實(shí)體機(jī)器人運(yùn)動(dòng)至裝配站裝配隔套位置,螺帽代表虛擬機(jī)器人和實(shí)體機(jī)器人運(yùn)動(dòng)至裝配站螺帽位置。

本文基于PS軟件開(kāi)發(fā)了工業(yè)機(jī)器人信息物理融合系統(tǒng),該系統(tǒng)可用于工業(yè)機(jī)器人在虛擬空間中的線上調(diào)試,不需要真實(shí)的機(jī)器人硬件。通過(guò)實(shí)現(xiàn)實(shí)體工業(yè)機(jī)器人與虛擬工業(yè)機(jī)器人的實(shí)時(shí)同步運(yùn)動(dòng),改進(jìn)了工業(yè)機(jī)器人的操作方式。該系統(tǒng)可用于開(kāi)發(fā)工業(yè)機(jī)器人新工藝,能夠縮短其工藝開(kāi)發(fā)周期,具有較大的工程應(yīng)用價(jià)值[10]。后續(xù)研究將針對(duì)復(fù)雜的工業(yè)機(jī)器人任務(wù)功能,應(yīng)用數(shù)字孿生技術(shù)進(jìn)行調(diào)試與開(kāi)發(fā)。