劉維孟 , 盧偉源 ,尹秉奎 ,彭海堅(jiān) ,付祥華
(1.廣東省現(xiàn)代農(nóng)業(yè)裝備研究所,廣東 廣州 510630;2.廣東弘科農(nóng)業(yè)機(jī)械研究開發(fā)有限公司,廣東 廣州 510630;3.珠海城市職業(yè)技術(shù)學(xué)院,廣東 珠海 519090;4.珠海眾華智能科技有限公司,廣東 珠海 519090)
番茄作為營養(yǎng)的蔬菜水果,深受人們的喜愛,而溫室栽培的串收小番茄[1-2],憑借其口感、營養(yǎng)價(jià)值等而成為餐桌上的零食,也因其溫室培養(yǎng)不受季節(jié)影響,近年來得到大規(guī)模推廣。而番茄的采摘采用人工方式費(fèi)時(shí)費(fèi)力,是設(shè)施農(nóng)業(yè)自動(dòng)化的瓶頸,研發(fā)番茄采摘機(jī)器人是適應(yīng)設(shè)施農(nóng)業(yè)自動(dòng)化發(fā)展趨勢的。
目前采摘機(jī)器人多是利用現(xiàn)成的服務(wù)機(jī)器人或者協(xié)作機(jī)器人,然后配上一定的行走裝置以及升降裝置構(gòu)成采摘機(jī)器人的機(jī)械機(jī)構(gòu)部分;而控制系統(tǒng)則采用了視覺識(shí)別,加上運(yùn)動(dòng)控制方式,實(shí)現(xiàn)對番茄等果蔬的視覺定位,實(shí)現(xiàn)對機(jī)械臂采摘作業(yè)以及行走裝置運(yùn)動(dòng)等的控制[3-8]。
通常,采摘機(jī)器人的開發(fā)工作是按照傳統(tǒng)的機(jī)電設(shè)備的開發(fā)過程進(jìn)行的,即機(jī)械結(jié)構(gòu)設(shè)計(jì)—電氣控制設(shè)計(jì)—軟件編程—實(shí)物樣機(jī)—機(jī)電聯(lián)調(diào)這樣一個(gè)流程[9-11]。這個(gè)開發(fā)流程屬于傳統(tǒng)的串行開發(fā)流程,需要制作出來實(shí)物樣機(jī),才能進(jìn)行電氣系統(tǒng)、軟件等的機(jī)電聯(lián)調(diào),如果出現(xiàn)機(jī)械結(jié)構(gòu)設(shè)計(jì)不合理的情況,或者有更好的方案,則需要重新制造樣機(jī),開發(fā)成本較高。
本文提出了一種基于數(shù)字孿生調(diào)試技術(shù)的開發(fā)平臺(tái),能夠?qū)崿F(xiàn)番茄采摘機(jī)器人的并行設(shè)計(jì)。在設(shè)計(jì)階段,就能通過半實(shí)物樣機(jī)實(shí)現(xiàn)機(jī)電聯(lián)調(diào),盡早發(fā)現(xiàn)早期缺陷和錯(cuò)誤,避免大的返工和浪費(fèi),節(jié)約開發(fā)成本。同時(shí),該平臺(tái)也同樣可以應(yīng)用到其他采摘機(jī)器人的開發(fā)上,能夠加快設(shè)施農(nóng)業(yè)采摘自動(dòng)化設(shè)備的開發(fā)進(jìn)度。
數(shù)字孿生技術(shù)[12-15]就是早期西門子提出的數(shù)字化雙胞胎(Digital Twin),是目前智能制造領(lǐng)域的一個(gè)關(guān)鍵技術(shù),它利用數(shù)字化技術(shù),建立與物理樣機(jī)一樣的虛擬樣機(jī)模型,這里的一樣不僅僅是外觀和幾何模型一樣,包括其運(yùn)動(dòng)機(jī)構(gòu)、控制方式等都是一樣的。在機(jī)電設(shè)備當(dāng)中,實(shí)物樣機(jī)中的運(yùn)動(dòng)控制、信號(hào)反饋、運(yùn)行節(jié)拍等,都能在虛擬樣機(jī)中實(shí)現(xiàn)對應(yīng),也就是孿生技術(shù)。通過數(shù)字孿生仿真技術(shù),能夠大幅縮短機(jī)電產(chǎn)品的開發(fā)周期。傳統(tǒng)的串行開發(fā)流程如圖1所示,而并行的機(jī)電聯(lián)合設(shè)計(jì)流程如圖2所示。
圖1 傳統(tǒng)串行開發(fā)流程
圖2 并行機(jī)電聯(lián)合設(shè)計(jì)流程
番茄采摘機(jī)器人的數(shù)字孿生虛擬樣機(jī)的開發(fā),是利用西門子NX軟件進(jìn)行搭建,首先通過軟件對機(jī)械結(jié)構(gòu)進(jìn)行設(shè)計(jì),或者利用其他三維設(shè)計(jì)軟件進(jìn)行結(jié)構(gòu)設(shè)計(jì),然后將設(shè)計(jì)導(dǎo)入NX軟件中。
在NX軟件中利用機(jī)電概念設(shè)計(jì)模塊,對模型進(jìn)行物理屬性設(shè)置、運(yùn)動(dòng)機(jī)構(gòu)和運(yùn)動(dòng)關(guān)系的設(shè)置,定義對應(yīng)的傳感器、時(shí)間序列、運(yùn)動(dòng)控制過程信號(hào)及邏輯關(guān)系等,完成虛擬樣機(jī)的設(shè)置,具體的設(shè)置流程如圖3所示。
圖3 虛擬樣機(jī)設(shè)置流程
物理屬性的設(shè)置,主要是對模型添加剛體和碰撞體屬性,讓模型具有質(zhì)量和重力以及碰撞關(guān)系,使得仿真虛擬模型與現(xiàn)實(shí)的實(shí)物模型更接近,這是數(shù)字孿生仿真的第一步;碰撞體設(shè)置涉及物體的碰撞,以及碰撞之后的反彈,這一項(xiàng)仿真需要耗費(fèi)大量電腦資源,所以一般情況下,如果沒有發(fā)生碰撞關(guān)系的一般不進(jìn)行設(shè)置,以加快仿真的速度,減少資源的消耗。具體物理屬性設(shè)置的過程如圖4所示。番茄采摘機(jī)的虛擬樣機(jī)模型如圖5所示。
圖4 物理屬性設(shè)置
圖5 番茄采摘機(jī)的虛擬樣機(jī)模型
運(yùn)動(dòng)關(guān)系和運(yùn)動(dòng)機(jī)構(gòu)的設(shè)置,主要是給模型添加約束,使虛擬樣機(jī)具備與實(shí)物樣機(jī)一樣的旋轉(zhuǎn)、滑動(dòng)等運(yùn)動(dòng)功能,有點(diǎn)類似一般三維軟件里的運(yùn)動(dòng)仿真。但是數(shù)字孿生虛擬樣機(jī)中的運(yùn)動(dòng)關(guān)系還包含了扭矩、阻尼以及動(dòng)力等。本案例中,給服務(wù)機(jī)器人各個(gè)關(guān)節(jié)添加鉸鏈副,并在鉸鏈副上添加位置控制;而升降臺(tái)添加滑動(dòng)副來模擬電缸升降的滑動(dòng)機(jī)構(gòu);對于四個(gè)行走機(jī)構(gòu)輪,添加鉸鏈副來仿真輪子的轉(zhuǎn)動(dòng)。運(yùn)動(dòng)關(guān)系和運(yùn)動(dòng)機(jī)構(gòu)設(shè)置過程如圖6所示。
圖6 運(yùn)動(dòng)關(guān)系和運(yùn)動(dòng)機(jī)構(gòu)設(shè)置
定義傳感器主要是給模型添加碰撞和拾取的傳感器,在仿真模型中,通過添加碰撞傳感器的方式來觸發(fā)拾取動(dòng)作,該碰撞傳感器可以模擬實(shí)物樣機(jī)中的各類開關(guān)觸發(fā)信號(hào)。本案例是在夾爪位置添加碰撞傳感器,并采取拾取固定副方式,來實(shí)現(xiàn)番茄的拾取動(dòng)作仿真。傳感器的設(shè)置如圖7所示。
圖7 定義傳感器
定義時(shí)間序列主要是設(shè)置動(dòng)作步驟和工序流程,根據(jù)番茄采摘的動(dòng)作步驟,按照時(shí)間先后順序,設(shè)置時(shí)間仿真序列,類似工序流程。在不與外部信號(hào)進(jìn)行通信聯(lián)調(diào)的純仿真動(dòng)作,可以直接通過時(shí)間仿真序列實(shí)現(xiàn)設(shè)備的虛擬調(diào)試,以驗(yàn)證其動(dòng)作步驟的合理性。時(shí)間序列導(dǎo)出XML文件,還可以利用西門子STEP7導(dǎo)入生成西門子GRAPH的PLC程序,對于簡單的流程動(dòng)作,能夠?qū)崿F(xiàn)快速控制程序編寫。時(shí)間序列的設(shè)置如圖8所示。
圖8 定義時(shí)間序列
如果要實(shí)現(xiàn)半實(shí)物樣機(jī)的虛實(shí)聯(lián)調(diào),則需要定義過程信號(hào)及與外部信號(hào)通信的信號(hào)的邏輯關(guān)系,可以通過信號(hào)適配器來進(jìn)行定義。本案例中,主要定義了機(jī)械臂各個(gè)軸的角度控制信號(hào),以及卡爪、升降臺(tái)電缸的電機(jī)位置信號(hào)和開關(guān)信號(hào)等。信號(hào)適配器的設(shè)置如圖9所示。
圖9 信號(hào)適配器設(shè)置
在虛擬樣機(jī)模型搭建和設(shè)置完畢之后,接下來就是控制程序的編制,在智能制造產(chǎn)線設(shè)備中,主要通過PLC對設(shè)備進(jìn)行程序控制。一般流程就是利用西門子博途軟件編寫PLC控制程序,然后將程序下載到西門子1500PLC中,利用西門子OPC UA的通信模塊,實(shí)現(xiàn)實(shí)物PLC與虛擬數(shù)字孿生模型的通信,達(dá)到實(shí)物PLC控制虛擬模型的數(shù)字孿生調(diào)試。該方案由于PLC成本較高,且PLC程序編制相對來說有一定的門檻,不利于推廣。并且由于控制器主要是國外產(chǎn)品,不利于農(nóng)業(yè)機(jī)械的國產(chǎn)替代和自主可控。
本文所介紹的方案,主要以珠海眾華智能開發(fā)的SmartACS運(yùn)動(dòng)控制軟件為基礎(chǔ),通過基于PC的運(yùn)動(dòng)控制,實(shí)現(xiàn)對數(shù)字孿生虛擬樣機(jī)模型的運(yùn)動(dòng)控制編程和調(diào)試;該軟件通過拖拽功能塊的方式編程,取代了傳統(tǒng)的寫程序代碼的方式,實(shí)現(xiàn)了對PC運(yùn)動(dòng)控制卡的編程,大大降低了編程人員的入門門檻,而且目前基于PC的國產(chǎn)運(yùn)動(dòng)控制卡的性能和市場普及率相比國外品牌毫不遜色。本案例采用國產(chǎn)Zmotion運(yùn)動(dòng)控制卡,該運(yùn)動(dòng)控制卡除了可以實(shí)現(xiàn)常規(guī)的I/O信號(hào)和運(yùn)動(dòng)控制外,還集成視覺識(shí)別功能,配合低代碼的SmartACS編程軟件,能夠很好地應(yīng)用到采摘機(jī)的視覺定位編程上,不必額外再配套視覺識(shí)別系統(tǒng),有效降低了開發(fā)成本。該軟件的程序編制界面如圖10所示。
圖10 SmartACS軟件界面
數(shù)字孿生虛擬樣機(jī)搭建完畢,控制程序編制完成后,則可以開始進(jìn)行虛擬調(diào)試。在這里需要運(yùn)動(dòng)控制板卡的控制信號(hào)通過OPC UA的通信方式,利用數(shù)字孿生模型的信號(hào)映射,實(shí)現(xiàn)實(shí)物信號(hào)與虛擬模型的信號(hào)對應(yīng),實(shí)現(xiàn)實(shí)物控制卡控制虛擬模型的虛擬調(diào)試,能夠在實(shí)物樣機(jī)制造前,對程序和機(jī)械結(jié)構(gòu)實(shí)現(xiàn)虛擬的機(jī)電聯(lián)調(diào),提前發(fā)現(xiàn)問題,優(yōu)化結(jié)構(gòu)設(shè)計(jì)和控制程序。數(shù)字孿生虛擬調(diào)試信號(hào)交互原理圖如圖11所示。搭建好的軟硬件數(shù)字孿生虛擬調(diào)試平臺(tái)如圖12所示。
圖11 信號(hào)交互原理圖
圖12 虛擬調(diào)試平臺(tái)
課題組開發(fā)搭建了一種基于運(yùn)動(dòng)控制卡的番茄采摘機(jī)器人數(shù)字孿生虛擬調(diào)試平臺(tái),采用低代碼運(yùn)動(dòng)控制和視覺識(shí)別編程軟件,對番茄采摘機(jī)器人數(shù)字孿生虛擬模型進(jìn)行虛擬調(diào)試,可以在開發(fā)階段對設(shè)計(jì)樣機(jī)模型進(jìn)行機(jī)電聯(lián)調(diào)和程序驗(yàn)證,大大提高了開發(fā)的速度并降低了開發(fā)成本,同時(shí)采用了低代碼編程的國產(chǎn)自主知識(shí)產(chǎn)權(quán)編程軟件以及PC運(yùn)動(dòng)控制卡,降低了開發(fā)者和使用者的門檻,有利于后續(xù)設(shè)施農(nóng)業(yè)自動(dòng)化水平的提高。