吳悠, 潘建剛, 廖明潮, 張亮
(1. 武漢輕工大學(xué),武漢430023;2. 西安石油大學(xué),西安 710065; 3. 深圳職業(yè)技術(shù)學(xué)院,智能制造技術(shù)研究院,廣東 深圳 518055)
電弧熔絲增材制造工藝是一種基于實(shí)體3D模型,采用逐層沉積方式“從無到有”制造實(shí)體工件的技術(shù),其應(yīng)用涉及航空航天、機(jī)械制造、土木工程等眾多領(lǐng)域。電弧熔絲增材制造工藝是基于傳統(tǒng)的電弧焊接技術(shù)而發(fā)展起來的一種3D打印技術(shù),具有熱輸入高、成形速度快、材料利用率高等特點(diǎn),尤其適合中等復(fù)雜程度、大型工件的快速制造。在電弧熔絲增材制造分層沉積過程中,單道焊縫的幾何形狀對(duì)金屬零件的層厚、表面質(zhì)量和尺寸精度有關(guān)鍵影響[1]。焊絲成分、保護(hù)氣體、工藝參數(shù)(電流、電壓、掃描速度)等因素對(duì)單道焊縫成形有至關(guān)重要的影響。因此,在探索不同金屬材料的成形參數(shù)的過程中,必然會(huì)產(chǎn)生大量的試驗(yàn)數(shù)據(jù),針對(duì)這些試驗(yàn)數(shù)據(jù)的分析、管理及應(yīng)用,并基于少量試驗(yàn)數(shù)據(jù)的工藝—成形預(yù)測(cè),對(duì)于獲得較優(yōu)的工藝參數(shù)及成形構(gòu)件尤其重要。因此,開發(fā)一款針對(duì)電弧增材制造技術(shù)的數(shù)據(jù)庫(kù)系統(tǒng)顯得十分必要。
許多研究者針對(duì)焊接數(shù)據(jù)庫(kù)系統(tǒng)做了大量的工作,這些焊接數(shù)據(jù)庫(kù)的設(shè)計(jì)開發(fā)一般可分為兩類,第一類是數(shù)據(jù)庫(kù)對(duì)焊接工藝參數(shù)、焊接流程、人員等基本信息進(jìn)行分類儲(chǔ)存,操作人員在數(shù)據(jù)庫(kù)中可直接定位檢索目的信息,如胡志鵬[2]設(shè)計(jì)的焊接工藝數(shù)據(jù)庫(kù),可以將焊接的工藝參數(shù)錄入到數(shù)據(jù)庫(kù)系統(tǒng)中并對(duì)數(shù)據(jù)進(jìn)行基本的增刪改查,榮佑珍等人[3]開發(fā)的航空專用焊接數(shù)據(jù)庫(kù)及專家系統(tǒng),可輔助焊接工藝文件的管理,陳振林等人[4]采用B/S架構(gòu)開發(fā)了應(yīng)用于航空發(fā)動(dòng)機(jī)焊接零件的焊接工藝資源數(shù)據(jù)庫(kù)系統(tǒng),焊接數(shù)據(jù)庫(kù)系統(tǒng)涵蓋了焊接基礎(chǔ)數(shù)據(jù)庫(kù)、焊接參數(shù)數(shù)據(jù)庫(kù)、材料焊接性能數(shù)據(jù)庫(kù)和典型零件案例庫(kù),促進(jìn)了焊接知識(shí)自動(dòng)化水平的提高;第二類是在傳統(tǒng)數(shù)據(jù)庫(kù)的基本信息儲(chǔ)存功能上加入了推理、經(jīng)驗(yàn)公式、回歸模型等方法對(duì)數(shù)據(jù)庫(kù)中沒有錄入的位置參數(shù)進(jìn)行預(yù)測(cè),如馮允宣等人[5-6]設(shè)計(jì)的中厚板焊接數(shù)據(jù)庫(kù),不僅能夠?qū)崿F(xiàn)參數(shù)信息的基本增刪改查操作,還引入了BP神經(jīng)網(wǎng)絡(luò)建立了板材厚度與焊接參數(shù)之間的映射關(guān)系。BP神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的非線性映射能力,一些學(xué)者將BP神經(jīng)網(wǎng)絡(luò)引入到電弧增材制造工藝的開發(fā)中[7-8],然而目前關(guān)于電弧增材參數(shù)數(shù)據(jù)庫(kù)的相關(guān)研究仍然相對(duì)匱乏。
文中開發(fā)的數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)了對(duì)試驗(yàn)數(shù)據(jù)的基本管理,主要用于儲(chǔ)存金屬材料種類,氣體種類,基板種類,打印工藝方法及打印工藝參數(shù),單道焊縫形貌等基本信息,針對(duì)電弧熔絲增材試驗(yàn)中使用的各類焊接工藝,引入BP神經(jīng)網(wǎng)絡(luò)建立打印參數(shù)與單道焊縫形貌的映射關(guān)系,實(shí)現(xiàn)對(duì)未錄入打印參數(shù)下焊縫形貌的預(yù)測(cè),并賦予模型實(shí)時(shí)更新功能,即使后續(xù)修改了數(shù)據(jù)庫(kù)中的試驗(yàn)數(shù)據(jù)信息,也確保了模型預(yù)測(cè)能力的準(zhǔn)確性。用戶只需選擇材料、基板種類、保護(hù)氣種類、打印工藝方式及打印工藝參數(shù)即可自動(dòng)調(diào)用算法模型預(yù)測(cè)出該參數(shù)下的焊縫形貌。該數(shù)據(jù)庫(kù)系統(tǒng)不僅將已有試驗(yàn)數(shù)據(jù)進(jìn)行完整備份,并進(jìn)一步開發(fā)了已有試驗(yàn)數(shù)據(jù)的預(yù)測(cè)價(jià)值,大大節(jié)省了工藝開發(fā)的周期和成本。
文中所開發(fā)的電弧熔絲增材制造數(shù)據(jù)庫(kù)系統(tǒng)擁有三大功能模塊:用戶權(quán)限管理模塊,基礎(chǔ)數(shù)據(jù)信息模塊,焊縫形貌預(yù)測(cè)模塊。用戶權(quán)限管理模塊將管理員用戶和普通用戶進(jìn)行分級(jí)管理以賦予不同權(quán)限。基礎(chǔ)數(shù)據(jù)信息模塊用于分類管理已有的試驗(yàn)數(shù)據(jù)信息,并將試驗(yàn)數(shù)據(jù)分類型實(shí)時(shí)地傳遞到焊縫形貌預(yù)測(cè)模塊。焊縫形貌預(yù)測(cè)模塊將基礎(chǔ)數(shù)據(jù)信息模塊傳遞的試驗(yàn)數(shù)據(jù)自動(dòng)進(jìn)行BP神經(jīng)網(wǎng)絡(luò)建模并預(yù)測(cè)單道焊縫形貌的熔寬和余高。電弧熔絲增材制造數(shù)據(jù)庫(kù)系統(tǒng)的總體結(jié)構(gòu)及相互依賴關(guān)系如圖1所示。文中基于前期試驗(yàn)獲得的低碳鋼,不銹鋼和鋁合金等單道成形試驗(yàn)數(shù)據(jù),通過開發(fā)電弧熔絲增材制造數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和焊縫形貌(熔寬和余高)預(yù)測(cè)。
圖1 電弧熔絲增材制造數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)示意圖
電弧熔絲增材制造數(shù)據(jù)庫(kù)系統(tǒng)采用B/S架構(gòu),開發(fā)過程使用前后端分離模式,后端使用python編程語言下的Django框架進(jìn)行開發(fā),前端使用Vue框架進(jìn)行頁面UI搭建,數(shù)據(jù)庫(kù)使用MySQL作為主要關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)基礎(chǔ)數(shù)據(jù)模塊的試驗(yàn)數(shù)據(jù)信息,采用Redis作為緩存數(shù)據(jù)庫(kù)用于存儲(chǔ)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及權(quán)重等信息。Django引入了ORM的概念,可以連接到MySQL數(shù)據(jù)庫(kù)中操作數(shù)據(jù)。用戶從前端發(fā)來對(duì)數(shù)據(jù)的操作請(qǐng)求后,由Django后端接受到請(qǐng)求,后端選擇先到緩存中獲取數(shù)據(jù)并進(jìn)行處理,若是緩存沒有獲得數(shù)據(jù)再到數(shù)據(jù)庫(kù)中對(duì)數(shù)據(jù)進(jìn)行操作,最后將處理好的數(shù)據(jù)封裝傳遞回前端,由前端動(dòng)態(tài)的渲染到用戶頁面上。
用戶的權(quán)限分級(jí)分為管理員用戶與普通用戶,普通用戶可以根據(jù)前端注冊(cè),管理員權(quán)限只能夠通過后臺(tái)系統(tǒng)賦予。該系統(tǒng)賦予管理員用戶最高權(quán)限,可以對(duì)整個(gè)數(shù)據(jù)庫(kù)的所有信息、模型預(yù)測(cè)算法內(nèi)容等進(jìn)行增刪修改;僅賦予普通用戶對(duì)庫(kù)內(nèi)試驗(yàn)數(shù)據(jù)的檢索權(quán)以及焊縫形貌的預(yù)測(cè)權(quán)。
基礎(chǔ)數(shù)據(jù)信息模塊主要由絲材、基板、保護(hù)氣體、工藝方法及打印參數(shù)、焊縫形貌等基本信息組成,用于存儲(chǔ)試驗(yàn)數(shù)據(jù),如圖2所示。后臺(tái)數(shù)據(jù)儲(chǔ)存是依靠關(guān)系型數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)模式的表格制成,通過表格中字節(jié)之型間進(jìn)行關(guān)聯(lián)。由于電弧熔絲增材制造涉及多種工藝,每種工藝設(shè)置的打印參數(shù)種類也不甚相同。因此,對(duì)于打印工藝表的設(shè)計(jì),需要引入“多態(tài)”的概念[9],具體設(shè)計(jì)過程:每種工藝方法及該工藝方法下設(shè)置的工藝參數(shù)標(biāo)簽及數(shù)據(jù)都單獨(dú)地創(chuàng)建成一張表;另外建立一個(gè)中間關(guān)聯(lián)表將工藝方法和該工藝方法下的具體某一組參數(shù)關(guān)聯(lián)起來,就可實(shí)現(xiàn)用戶界面工藝方法及打印參數(shù)展示的簡(jiǎn)潔,在此基礎(chǔ)上進(jìn)一步設(shè)置了工藝方法增加擴(kuò)展功能,需要添加新的工藝只需再創(chuàng)建一張表,表中存儲(chǔ)該工藝對(duì)應(yīng)的參數(shù)即可,這樣的設(shè)計(jì)極大地節(jié)省了存儲(chǔ)空間,并增加了該數(shù)據(jù)庫(kù)系統(tǒng)的擴(kuò)展性。該模塊關(guān)系表實(shí)體聯(lián)系圖(E-R圖)如圖3所示,E-R圖描述本數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)各項(xiàng)數(shù)據(jù)實(shí)體之間的關(guān)系以及每張數(shù)據(jù)表的具體表字段。
圖2 基礎(chǔ)數(shù)據(jù)信息模塊設(shè)計(jì)示意圖
圖3 電弧熔絲增材制造數(shù)據(jù)庫(kù)系統(tǒng)E-R圖
基于基礎(chǔ)數(shù)據(jù)信息模塊已錄入的試驗(yàn)數(shù)據(jù),焊縫形貌預(yù)測(cè)模塊結(jié)合BP神經(jīng)網(wǎng)絡(luò)算法模型對(duì)焊縫形貌進(jìn)行了預(yù)測(cè),設(shè)計(jì)示意圖如圖4所示。不同工藝方法下設(shè)置的打印參數(shù)種類也不相同,相應(yīng)地,BP神經(jīng)網(wǎng)絡(luò)算法的模型結(jié)構(gòu)也不相同。在預(yù)測(cè)過程中,根據(jù)已有的試驗(yàn)數(shù)據(jù),選擇對(duì)焊縫形貌影響較大的參數(shù)用于算法預(yù)測(cè),而不是將所有參數(shù)都用于模型預(yù)測(cè),避免影響模型的預(yù)測(cè)準(zhǔn)確度。文中所涉及到的焊接工藝均基于SKS焊機(jī)系統(tǒng)研發(fā),但數(shù)據(jù)庫(kù)系統(tǒng)仍可適用于其他焊機(jī)下的焊接工藝,針對(duì)該焊機(jī)系統(tǒng)的MIG工藝及MIG-CC工藝,焊縫形貌預(yù)測(cè)模塊使用的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖4 焊縫形貌預(yù)測(cè)模塊設(shè)計(jì)示意圖
圖5 BP神經(jīng)網(wǎng)絡(luò)模型
MIG工藝的熔滴過渡為脈沖熔滴過渡與短路熔滴過渡相結(jié)合的方式,其對(duì)應(yīng)的工藝參數(shù)中脈沖序列決定了單位時(shí)間內(nèi)的脈沖數(shù),每一次脈沖都會(huì)產(chǎn)生熔滴過渡,效率更高,MIG-CC工藝為SKS焊機(jī)特有的工藝,其熔滴過渡方式為短路熔滴過渡,因此只用通過調(diào)整電流即會(huì)較大程度的改變?nèi)鄣芜^度的速度。由于只選出了對(duì)焊縫形貌影響程度較大的參數(shù)用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元不多,不需要使用復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),因此所有的神經(jīng)網(wǎng)絡(luò)都由一個(gè)輸入層、一個(gè)隱藏層和一個(gè)包含兩個(gè)神經(jīng)元的輸出層組成。
將數(shù)據(jù)庫(kù)的數(shù)據(jù)放入神經(jīng)網(wǎng)絡(luò)訓(xùn)練之前,需要將數(shù)據(jù)進(jìn)行歸一化處理, 這樣做的目的是將一個(gè)數(shù)據(jù)范圍轉(zhuǎn)換為表示數(shù)據(jù)特征的另一個(gè)數(shù)據(jù)范圍,以確保每個(gè)焊接參數(shù)對(duì)網(wǎng)絡(luò)的影響相同,并適應(yīng)由神經(jīng)網(wǎng)絡(luò)輸出層的激活函數(shù)計(jì)算的值。數(shù)據(jù)處理后,所有的訓(xùn)練數(shù)據(jù)歸一化到閉合區(qū)間[0,1]內(nèi),即
(1)
式中:x為各個(gè)工藝參數(shù)的值,通過式(1)將所有輸入工藝參數(shù)在訓(xùn)練前歸一化到[0,1]內(nèi)。
隱藏層神經(jīng)元是神經(jīng)網(wǎng)絡(luò)擬合任何非線性關(guān)系的關(guān)鍵點(diǎn)。神經(jīng)元中的激活函數(shù)會(huì)扭曲輸入和輸出之間的線性關(guān)系,從而使網(wǎng)絡(luò)模型能夠逼近任何復(fù)雜的映射關(guān)系。訓(xùn)練過程中,所有神經(jīng)元的激活函數(shù)選擇sigmoid函數(shù),反向傳播過程中使用Adam作為優(yōu)化器,相較于使用隨機(jī)梯度下降,Adam優(yōu)化器不容易陷入局部最小值[10],損失值函數(shù)選擇平均絕對(duì)誤差公式用于評(píng)定神經(jīng)網(wǎng)絡(luò)的性能,即
(2)
式中:ypred表示神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值;ytrue表示數(shù)據(jù)的原始值。之后基于Tensorflow框架進(jìn)行BP神經(jīng)網(wǎng)絡(luò)模型的搭建,以MIG工藝為例,使用一層循環(huán)調(diào)整隱藏層的神經(jīng)元個(gè)數(shù),最后確定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為3-12-2時(shí)損失值最小。
神經(jīng)網(wǎng)絡(luò)模型會(huì)根據(jù)數(shù)據(jù)庫(kù)中的信息, 將不同條件下的工藝參數(shù)數(shù)據(jù)進(jìn)行模型訓(xùn)練,并將訓(xùn)練過后神經(jīng)網(wǎng)絡(luò)的參數(shù)存儲(chǔ)記錄在服務(wù)器端的緩存數(shù)據(jù)庫(kù),當(dāng)普通用戶使用預(yù)測(cè)功能時(shí),不需要等待神經(jīng)網(wǎng)絡(luò)重新訓(xùn)練,直接加載對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)模型與模型參數(shù)即可,當(dāng)數(shù)據(jù)庫(kù)中原始數(shù)據(jù)發(fā)生較大變化時(shí),系統(tǒng)內(nèi)部會(huì)重新對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并重新記錄緩存模型參數(shù)。
為驗(yàn)證焊縫形貌預(yù)測(cè)功能的準(zhǔn)確度,額外進(jìn)行驗(yàn)證試驗(yàn),驗(yàn)證試驗(yàn)的具體打印參數(shù)見表1。使用數(shù)據(jù)庫(kù)系統(tǒng)預(yù)測(cè)功能得出的結(jié)果是焊縫寬度的預(yù)測(cè)誤差為1.3%,焊縫余高的誤差為1.5%。結(jié)果表明,BP神經(jīng)網(wǎng)絡(luò)算法可以很好地?cái)M合焊接工藝參數(shù)與焊縫形貌之間的關(guān)系,并且可以實(shí)現(xiàn)高精度的焊縫形貌預(yù)測(cè)效果。
表1 驗(yàn)證試驗(yàn)-焊縫形貌的打印參數(shù)及實(shí)際尺寸
(1)文中開發(fā)的電弧熔絲增材制造數(shù)據(jù)庫(kù)系統(tǒng),實(shí)現(xiàn)了不同工藝方法下工藝方法與焊縫形貌的試驗(yàn)數(shù)據(jù)分類管理以及預(yù)測(cè)功能,并保留了數(shù)據(jù)庫(kù)的擴(kuò)展功能,降低試驗(yàn)成本,實(shí)現(xiàn)了電弧增材試驗(yàn)數(shù)據(jù)的信息化管理。
(2)引入BP神經(jīng)網(wǎng)絡(luò)算法,賦予焊縫形貌預(yù)測(cè)模型實(shí)時(shí)更新功能,充分開發(fā)已有試驗(yàn)數(shù)據(jù)的信息價(jià)值,實(shí)現(xiàn)對(duì)未知工藝參數(shù)下焊縫形貌的高精度預(yù)測(cè),驗(yàn)證試驗(yàn)焊縫寬度的預(yù)測(cè)誤差為1.5%,焊縫余高的誤差為5%。