李旭紅,王佳佳,張泉東,潘欣宇,曾曉文
(1.江蘇省生產力促進中心,南京 210042;2.江蘇科技大學 機械工程學院,鎮江 212003;3.江蘇湯辰機械裝備制造股份有限公司,鎮江 212413)
建筑工業化已成為國際建筑行業發展的主流,混凝土預制件的工業化生產是建筑工業化的一個重要環節,目前大多數國內混泥土預制件生產線的智能化和信息化水平不高,響應我國頒布的《中國制造2025》和“兩化融合”戰略[1~3],本文以PC構件(預制混凝土構件)生產線為研究對象,對基于多智能體(Multi-Agent)的PC構件生產線智能調度系統進行研究。
PC構件自動化生產線是由配料系統、配模系統、輸送系統、堆垛養護系統等系統模塊所組成,如圖1所示,PC構件生產線爆炸圖。
實現PC構件生產線設備的智能調度,首先要重點解決設備的三大問題:聾、啞、傻。治聾,要求PC構件生產設備具有較強的感知外部信息的能力和允許外部信息輸入的功能;治啞,則要求PC構件生產設備具有較強主動發送自身狀態信息的能力;治傻,則要求PC構件生產設備具有邏輯處理和分析判斷能力[4,5]。

圖1 PC構件生產線爆炸圖
在PC構件生產線的Multi-Agent控制系統中,根據工作內容可分為4大模塊,分別為配料、配模、輸送、養護。各個模塊的工作都由其下的各個設備Agent共同完成,然而任何一個設備Agent都沒有全局信息,只具備局部信息和知識,并且PC構件生產線存在大量的協作關系,因此各個設備Agent之間的信息交換是協同工作的基本保障。
考慮協作的需要,在各工作模塊中設立代理Agent,其可以是該工作模塊下的一臺資源設備,也可以是外加的一個獨立Agent。代理Agent將其下各個設備智能體信息包括:工作狀態、故障信息、健康狀態等,進行收集匯總,然后與其他工作模塊的代理Agent進行信息交換,實現PC構件生產線全部設備的互相感知,最終保證協同運作的實現。具體模型如圖2所示,代理Agent分別為:配料Agent、配料Agent、輸送Agent、養護Agent,代理Agent的設備Agent通過對幾乎擁有全局信息的代理Agent進行信息讀寫,從而實現對全局設備信息的認知[6]。

圖2 PC構件生產線多智能體調度系統模型
綜合考慮上述PC構件生產線多智能體調度系統模型,本文建立以黑板會話機制為基礎的雙層黑板會話模型[7,8],如圖3、圖4所示,在雙層黑板會話模型中,第一層為代理Agent與子設備Agent之間的黑板模型,第二層為最高管理層Agent與代理Agent之間的黑板模型。

圖3 雙層會話第一層模型
其中,代理Agent(包括配料Agent、配模Agent、輸送Agent、養護Agent)的部分數據存儲區,作為其子設備Agent的公共訪問區,即共享數據存儲區,任何子設備Agent都可以對其代理Agent的共享數據存儲區讀寫數據。代理Agent的公共數據訪問區就是第一層黑板,作為數據交換的一個樞紐。

圖4 雙層會話第二層模型
其中,最高管理層Agent的部分數據存儲區,作為代理Agent的公共訪問區,即共享數據存儲區,任何代理Agent都可以對最高管理層Agent的共享數據存儲區進行讀寫數據。最高管理層的公共數據訪問區就是第二層黑板,作為數據交換的另一個樞紐。
當今主流的協商機制包括:協作規劃機制、合同網機制、FA/C法機制等,雖然合同網機制與Multi-Agent系統契合度較高,但因為PC構件生產線為典型的流水線生產方式,各個工作模塊相對獨立和唯一,工作模塊之間不可彼此代替,所以合同網機制在Multi-Agent系統中不完全適用。
綜合考慮Multi-Agent系統的自適應適需求,再結合PC構件生產線的協作控制具體情況和控制要求,本文采用協作規劃機制與合同網機制相結合的混合協商機制[9~12]。在管理Agent與代理Agent之間采用協作規劃機制,代理Agent與其子設備Agent之間采用合同網機制?;旌蠀f商機制如圖5所示。

圖5 混合協商機制
首先,管理Agent將任務信息分配給各個代理Agent,任務信息包括任務描述、任務截止日前、任務質量要求等。代理Agent將來自管理Agent的任務通過招標的方式傳達給其設備Agent,設備Agent通過各自的評估模塊進行任務評估和自我能力評估,設備Agent根據評估結果來決定是否要進行投標。自我評估滿足要求的設備Agent會向代理Agent發送投標申請,代理Agent接受到來自設備Agent的投標請求時,進行二次評估篩選,最終將任務下達給指定設備Agent進行執行。
此外,系統具有動態調整特性。當有緊急任務插入時,代理Agent會將該任務的優先級設為最高,優先進行任務招標。當生產線中出現設備故障時,設備Agent會馬上將自身設置為故障狀態,在系統進行任務招標時,會自動避開對該設備的任務招標。當該設備Agent故障解除后,又會重新將自己恢復為任務待命狀態,并告知其代理Agent,等待任務招標的到來。
K近鄰(k-Nearest Neighbor,KNN)算法,是一種理論上比較成熟的算法,也是最常用機器學習算法之一。該算法的思路是:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別[13~15]。
由于PC構件重量的不同、設備運行速度的不同、設備運動加減速時間等生產工藝參數的不同,導致生產能耗不同,生產能耗難以通過直接計算得到。下面以清掃機、劃線機1、劃線機2和擺渡平車組成的h調度模型為例,如圖6所示,進行具體的KNN機器學習能耗評估算法設計。

圖6 h評估調度模型
目標為劃線機1時:
PC構件完成清掃工序后,運動到達劃線機1耗能記為,energy1;能耗enery1=加速階段能耗+恒速階段能耗+制動階段能耗。
其中,加速階段和減速階段的具體能耗不方便直接計算,恒速運動距離難以確定而導致恒速運動能耗難以計算。由于運動構件重量是PC構件重量與模臺重量之和,其中模臺的重量固定,地滾驅動輪的運送方式固定,又因為能耗不會產生躍變,定為連續變化,上述特征滿足KNN機器學習算法的基本條件,因此,本系統從理論上講,可以采用KNN機器學習算法進行生產能耗的評估。
首先,通過手動或者默認經驗值進行生產線的初步運作,產線設備將每一種狀態信息(PC板的重量、加速時間、減速時間、最高速度等參數),所對應的生產能耗記錄下來,可以存儲在SQL等數據庫中,也可以存儲在云端。原始數據如表1所示,目標數據如表2所示。多條相同生產線可以將各自的狀態信息都存儲到一個云端中,實現信息數據資源共享。

表1 原始數據

表2 目標數據
對原始數據和目標數據進行標準化處理后,轉化成服從標準正太分N(0,1)的數據,通過KNN算法,求解目標數據與原始數據歐式距離d最近的5條數據,如式(1)所示。

求解出最近鄰5條數據能耗分別為:E1、E2、E3、E4、E5,目標數據能耗取5個數據的平均值,如式(2)所示。

目標為劃線機2時:
PC構件完成清掃工序后,運動到達劃線機2的耗能記為,energy2。能耗energy2=地滾驅動輪能耗+擺渡平車能耗。
其中地滾驅動輪能耗=2個加速階段能耗+2個恒速階段能耗+2個制動階段能耗;其中擺渡平車能耗=空載能耗+載板能耗,空載與載板能耗皆包括:加速階段能耗、恒速階段能耗、制動階段能耗。如同目標為劃線機1,本系統從理論上講,可以通過KNN機器學習算法進行生產能耗的評估計算。計算過程與目標為劃線機1時類似,具體過程此處不再鰲述。
KNN機器學習算法好壞的評判標準是通過均方根誤差來進行評判的,具體方法是將樣本分類成訓練集TRAIN_LIST和測試集TEST_LIST。其中,訓練集占樣本比例為75%,測試集占樣本比例為25%(比例值可以隨具體情況進行調整)。
首先,將測試集TEST_LIST中的數據進行KNN計算,并得到預測值predicted_1~predicted_N。然后求解預測值和真實值(actual_1~actual_N)的均方根誤差RMSE。很明顯,預測值與真實值的均方根誤差RMSE的值越小表示誤差越小,算法模型效果越好。

式中,RMSE為均方根誤差;
act_1~act_N為真實值;
pred_1~pred_N為預測值。
在PC構件生產過程中,對于生產速度的要求會隨著訂單堆積度而有所不同。訂單堆積度的數學表達式,如式(4)所示。

式中,LN為產線待生產產品數量;
VN為產線平均生產速度;
綜合考慮產線評估得分,求解綜合評估得分,如式(5)所示。

式中,β為綜合評估得分;
T為時耗評估得分;
E為能耗評估得分;
θ1為時耗權重系數;
θ2為能耗權重系數;
其中,時耗權重系數θ1、能耗權重系數θ2和訂單堆積度服從一定的函數關系。宏觀而言,時耗權重系數θ1,隨訂單堆積度的增大而增大,能耗權重系數θ2隨訂單堆積度的增大而減少。
本系統采用配方的方式,進行權重參數配定。首先,對訂單堆積度進行區間限定,為了便于處理,可將訂單堆積度映射到區間[0,10]上,然后,進行量化取值,本系統可量化為11個等級{1,2,3,4,5,6,7,8,9,10,11}。配方表如表3所示。
綜合評估得分是調度選擇的重要指標,但是評估的最終結果,仍然需要考慮優先級最高的環境評估和健康評估,當環境評估和健康評估生效時,就會自動屏蔽綜合評估得分β。

表3 配方表
實驗所用歷史數據由江蘇湯辰機械裝備制造有限公司提供,本數據為江蘇湯辰機械裝備制造有限公司與江蘇科技大學合作研發的PC構建自動化生產線的生產數據,本數據具體來自該生產線上位機軟件WINCC的3000多條數據記錄。該歷史數據存儲在CSV文件中,文件名為PC_data.csv,如圖7所示。

圖7 生產線歷史數據
通過調用Python的可視化庫matplotlib,將原始數據、標準化數據和歸一化數據同時顯示在一張圖表中,圖8所示。標準化后的數據被轉換為服從標準正太分布的數據,其均值為0,標準差為1;歸一化后的數據被歸一到區間[0~1]上。


圖8 可視化顯示
基于多變量的KNN機器學習評估調度算法仿真實驗,首先,對全部變量PC構件質量(PC_Wieght),目標運行速度(Aim_V),擺渡平車位置(Car_Position),驅動輪加減速時間(Driving_wheel_accelerate),擺渡平車加減速時間(Car_accelerates),最終能耗(Enery)進行標準化處理,具體程序代碼與程序輸出,如圖9所示。

圖9 數據多變量標準化處理程序
構建多變量歐式距離計算函數forecast_Enery_multivariate(),求解各個變量測試集test_set中全部數據的歐式距離,選擇歐式距離最小的五組數據求均值,從而得到每條數據的預測能耗值forecasted_enery,最后,求解測試集數據的預測能耗值與真實能耗值之間的平方根誤差rmse,具體程序代碼與程序輸出,如圖10所示,rmse=0.85,表明多變量的KNN機器學習評估調度算法對能耗預測的預測精確度比較理想。

圖10 預測評估求解程序
如圖11所示,通過WINCC的Simulation仿真模塊,對訂單堆積度進行隨機變量配置,其中變化范圍為1~11,然后啟動隨機變量仿真。

圖11 訂單堆積度的Simulation配置
如圖12所示,時耗權重系數和能耗權重系數都是與堆積度有一一對應的關系,其中,時耗權重系數隨堆積度的增大而增大,即耗權重系數與堆積度呈正相關關系,其中,能耗權重系數隨堆積度的增大而減少,即能耗權重系數與堆積度呈負相關關系。

圖12 變權重系數仿真圖
在實際的工程應用中,變權重系統有很多種實現方式,其中,配方的方法是工控自動化領域中非常常用的變系數分配法。如圖13所示,在HMI軟件EPRO的配方系統中,通過對堆積度(Plugging_degree)、時耗權重系數(Time_parameter)、能耗權重系數(Enery_parameter)建立配方庫(formula)。系統實際運算時,通過配方索引(堆積度)對配方權重參數進行查找取值。

圖13 變權重系數仿真圖
本文通過分析PC構件生產線調度系統的動態復雜性,提出了一種基于多智能體的PC構件生產線的智能調度系統。結合PC構件生產線工藝流程,劃分配置了多智能體模塊,并重點解決了雙層黑板會話、基于合同網機制的競標、基于KNN機器學習的能耗評估算法和基于配方的綜合評估調度算法等問題。
1)通過Python進行KNN能耗評估算法試驗仿真,證實了該評估算法的準確性較為理想;
2)通過WINCC的Simulation仿真模塊,對訂單堆積度進行隨機變量配置,動態展示了動態權重系數的綜合調度評估算法,并給出了基于HMI配方的可行性方案。
3)本系統很好的將多智能體理論試應用于PC構件自動化生產線的調度系統中,對PC構件工業化生產建立更完善的理論體系具有重要意義。