劉 勝,蘇 宇,吳 若,蘇亞輝
(1.安徽大學(xué) 電氣工程與自動化學(xué)院,合肥 230601;2.合肥市煜仁科技發(fā)展有限責(zé)任公司,合肥 230088;3.安徽大學(xué) 電子信息工程學(xué)院,合肥 230601)
AGV具備自動搬運和高效便捷的優(yōu)點,能夠有效解決企業(yè)在生產(chǎn)過程中產(chǎn)品的運輸過程耗費大量的人力資源,因此在汽車工業(yè)、家電制造、煙草、物流、3C電子、醫(yī)藥、食品等行業(yè)得到了大量的應(yīng)用[1~3]。隨著工廠生產(chǎn)流水線的高速運轉(zhuǎn),用戶對于AGV系統(tǒng)的實時運行狀況和安全性提出了更高要求,AGV管理監(jiān)控調(diào)度系統(tǒng)能夠?qū)GV進(jìn)行實時狀態(tài)監(jiān)控和任務(wù)信息的下達(dá)與接收,是AGV系統(tǒng)重要核心技術(shù)之一[4]?,F(xiàn)有的AGV管理監(jiān)控系統(tǒng)大多是采用桌面軟件系統(tǒng),需要用戶安裝相應(yīng)的軟件才能使用,存在缺乏資源共享、難以維護(hù)、使用不便捷的問題,針對該問題,設(shè)計了一種基于Web應(yīng)用程序的AGV實時狀態(tài)監(jiān)控與任務(wù)管理軟件系統(tǒng)。
該系統(tǒng)主要功能是對車輛進(jìn)行實時狀態(tài)監(jiān)控并對任務(wù)進(jìn)行管理,用戶可通過Web端獲取車輛的相關(guān)信息、控制車輛的運行狀態(tài)、下達(dá)相應(yīng)的任務(wù)、查看相關(guān)歷史信息等,從而達(dá)到人機(jī)交互、滿足復(fù)雜生產(chǎn)環(huán)境運行、高效便捷的特點,為企業(yè)生產(chǎn)提供了一個智能化、信息化、便捷化的管理平臺。本文將從需求分析、業(yè)務(wù)流程與技術(shù)結(jié)構(gòu)、功能模塊的實現(xiàn)三個方面介紹系統(tǒng)的設(shè)計思想和實現(xiàn)方法。
為了體現(xiàn)軟件系統(tǒng)設(shè)計的規(guī)范化、科學(xué)化,將系統(tǒng)需求分析分為功能需求和非功能需求。
1.1.1 AGV實時狀態(tài)監(jiān)控
用戶通過瀏覽器在Web頁面上登錄系統(tǒng)后進(jìn)入系統(tǒng)主控界面,主控界面具有總覽AGV集群運行狀態(tài)的作用,在Web頁面上可實時顯示每個AGV的運行狀態(tài),并可以通過頁面上的按鍵進(jìn)行手動控制AGV的運動。
1.1.2 AGV任務(wù)管理
用戶通過Web頁面上的任務(wù)管理界面對AGV集群進(jìn)行任務(wù)下達(dá),系統(tǒng)能夠自動進(jìn)行任務(wù)調(diào)度,并且可以實時觀測任務(wù)執(zhí)行的狀態(tài)。
1.1.3 路徑規(guī)劃
系統(tǒng)在接收到用戶下達(dá)的特定任務(wù)后,能夠自動規(guī)劃一條由目標(biāo)起點至目標(biāo)終點的最優(yōu)路徑。
1.2.1 可用性
考慮不同用戶對于軟件平臺的操作能力不同,系統(tǒng)需要對必填項實行控制,讓用戶可以確保完整的錄入相關(guān)信息,同時對必填項進(jìn)行統(tǒng)一規(guī)范的提示,提供統(tǒng)一規(guī)范的操作提示,降低用戶的使用難度,并有足夠的提示信息幫助用戶有效正確地完成任務(wù),站在用戶的立場考慮問題,確保流程運作的合理性,使用戶便于使用本系統(tǒng)。
1.2.2 高性能
對車輛的數(shù)量、用戶與管理員數(shù)量、站點數(shù)量進(jìn)行規(guī)劃,分析同時在線用戶及Web端響應(yīng)時間,確保系統(tǒng)能夠適用一定規(guī)模的應(yīng)用群體和進(jìn)行高效的運行,確保軟件之間能夠進(jìn)行正確的數(shù)據(jù)交換和共享。系統(tǒng)需要具備較高的容錯和抵抗干擾的能力,能夠保證在硬件和通訊系統(tǒng)正常的情況下進(jìn)行高效的運行。
1.2.3 安全性
本系統(tǒng)應(yīng)對用戶口令按一定的算法進(jìn)行加密,提供數(shù)據(jù)庫的自動備份機(jī)制,并允許用戶進(jìn)行手工的數(shù)據(jù)的備份和恢復(fù),以彌補數(shù)據(jù)的破壞和丟失,能夠記錄系統(tǒng)運行時發(fā)生的所有錯誤,這些錯誤記錄便于查找錯誤的原因。用戶的重要操作都做相應(yīng)的日志記錄以備查看,同時記錄用戶的關(guān)鍵性操作信息。
本系統(tǒng)主要有兩部分業(yè)務(wù),管理員業(yè)務(wù)和普通用戶業(yè)務(wù),普通用戶通過瀏覽器在Web網(wǎng)頁上進(jìn)行系統(tǒng)登錄后,進(jìn)入主控界面,可以通過主控界面查看各個AGV的實時狀態(tài)和任務(wù)信息,并且可以下達(dá)任務(wù),使收到任務(wù)的AGV進(jìn)行相應(yīng)任務(wù)的完成。管理員除了可以執(zhí)行普通用戶業(yè)務(wù)之外,還可以對系統(tǒng)的相關(guān)基礎(chǔ)數(shù)據(jù)進(jìn)行管理,包括用戶的查看、修改、增加、刪除,賦予不同用戶的不同權(quán)限,設(shè)置系統(tǒng)相關(guān)的選項,并且可以對地圖和車輛進(jìn)行管理。如圖1所示。
圖1 系統(tǒng)業(yè)務(wù)流程圖
本系統(tǒng)采用B/S結(jié)構(gòu)即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu)[5,6]。整個系統(tǒng)由4部分組成:Web客戶端、應(yīng)用服務(wù)器、通訊子系統(tǒng)、任務(wù)調(diào)度和路徑規(guī)劃服務(wù)。如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)示意圖
1)Web客戶端是運行在PC機(jī)上的Web應(yīng)用,要求安裝有瀏覽器,通過瀏覽器就可以使用服務(wù)器提供的各種功能,用戶可以在Web客戶端上查看AGV的運行狀態(tài),下達(dá)運行任務(wù)等。
2)應(yīng)用服務(wù)器實現(xiàn)Web客戶端對應(yīng)的數(shù)據(jù)存儲和業(yè)務(wù)邏輯。實現(xiàn)了AGV狀態(tài)監(jiān)控、AGV狀態(tài)查詢、任務(wù)管理、地圖編輯、用戶管理、系統(tǒng)管理等業(yè)務(wù)邏輯。
3)通訊子系統(tǒng)主要實現(xiàn)與AGV的雙向通訊,通訊子系統(tǒng)架構(gòu)于OPC-UA協(xié)議之上[8]。
實現(xiàn)實時接收AGV的狀態(tài)信息,實時發(fā)送控制信息給AGV。
4)任務(wù)調(diào)度負(fù)責(zé)接受Web客戶端下達(dá)的任務(wù),通過任務(wù)調(diào)度算法協(xié)調(diào)系統(tǒng)中的AGV完成給定任務(wù)。路徑規(guī)劃針對某一特定任務(wù),計算出從源位置到目的位置的最佳路徑。
為了實現(xiàn)“高內(nèi)聚,低耦合”的思想,系統(tǒng)結(jié)構(gòu)按功能從下到上主要分為5層:運行環(huán)境、持久層、數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表現(xiàn)層[7]。如圖3所示。
圖3 軟件技術(shù)架構(gòu)圖
運行環(huán)境:主要包括軟硬件的基礎(chǔ)設(shè)施。
持久層:主要是數(shù)據(jù)庫,用以保存系統(tǒng)數(shù)據(jù)。
數(shù)據(jù)訪問層:主要功能是提供對數(shù)據(jù)庫訪問的統(tǒng)一的接口。
業(yè)務(wù)邏輯層:主要負(fù)責(zé)系統(tǒng)業(yè)務(wù)領(lǐng)域的處理,并將結(jié)果在表現(xiàn)層中展示,業(yè)務(wù)邏輯層處于數(shù)據(jù)層和表現(xiàn)層之間,起到了數(shù)據(jù)交換中承上啟下的作用。
表現(xiàn)層:主要功能是界面的展示并接收和傳輸用戶的數(shù)據(jù),為用戶提供與后臺的交互界面。
AGV監(jiān)控與管理系統(tǒng)服務(wù)端選用JAVA語言開發(fā),系統(tǒng)服務(wù)端采用Spring Boot作為開發(fā)框架,數(shù)據(jù)訪問層使用了Spring Data JPA,數(shù)據(jù)庫使用主流的開源關(guān)系數(shù)據(jù)庫MySQL。AGV監(jiān)控與管理系統(tǒng)系統(tǒng)的Web前端采用TypeScript語言和React框架開發(fā),并通過WebSocket與瀏覽器保持長連接,使得用戶可以實時監(jiān)控AGV狀態(tài)變化。AGV監(jiān)控與管理系統(tǒng)通過標(biāo)準(zhǔn)的工業(yè)通信協(xié)議OPC-UA與AGV車輛進(jìn)行數(shù)據(jù)交互[8,9]。
本系統(tǒng)涉及的硬件設(shè)備包括:AGV本體(包含機(jī)械結(jié)構(gòu)、電氣設(shè)備和由于AGV本體控制的工控機(jī))、工業(yè)局域網(wǎng)設(shè)備、軟件系統(tǒng)發(fā)布使用的應(yīng)用服務(wù)器,負(fù)責(zé)數(shù)據(jù)存儲的數(shù)據(jù)庫服務(wù)器,終端用戶完成管理和監(jiān)控的計算機(jī)。工作原理如下:首先AGV本體通過接入工業(yè)無線接入點將信息傳感設(shè)備采集到的感知信息發(fā)送到遠(yuǎn)端的應(yīng)用服務(wù)器,然后應(yīng)用服務(wù)器對數(shù)據(jù)處理成功后存儲到數(shù)據(jù)庫中,最后用戶通過PC客戶端實現(xiàn)對AGV實時狀態(tài)信息的遠(yuǎn)程監(jiān)控。硬件技術(shù)示意圖如圖4所示。
圖4 硬件技術(shù)示意圖
根據(jù)系統(tǒng)需求分析和業(yè)務(wù)流程,以規(guī)范業(yè)務(wù)流程、信息資源共享、提高工作效率、減少人力成本為目標(biāo),將整體系統(tǒng)規(guī)劃為車輛實時狀態(tài)監(jiān)控、地圖管理、車輛管理、任務(wù)調(diào)度與管理、系統(tǒng)管理五大主要功能模塊,系統(tǒng)功能模塊圖如圖5所示。
圖5 系統(tǒng)功能模塊圖
系統(tǒng)可以實時監(jiān)控與之通訊的車輛的狀態(tài),主要狀態(tài)項如:AGV編號、AGV類型、AGV當(dāng)前站點、運行狀態(tài)、裝載狀態(tài)、運行速度、運行方向、通信狀態(tài)、電池電量、結(jié)構(gòu)狀態(tài)。還可以通過手動的方式對車輛的速度及方向進(jìn)行控制。如圖6所示。
圖6 車輛實時狀態(tài)監(jiān)控圖
用戶可以在系統(tǒng)中添加特定任務(wù):工作任務(wù)、停止任務(wù)、充電任務(wù),任務(wù)詳情包括:起始工位,目標(biāo)工位、啟動時間、任務(wù)優(yōu)先級等,當(dāng)任務(wù)下達(dá)之后,系統(tǒng)自動進(jìn)行路徑規(guī)劃、車輛分配和任務(wù)調(diào)度。并可對任務(wù)進(jìn)行查詢、修改、取消、情況匯總等,任務(wù)查詢可以查詢?nèi)缦聝?nèi)容:任務(wù)標(biāo)識、任務(wù)類型、任務(wù)詳情、任務(wù)優(yōu)先級、任務(wù)起始時間、任務(wù)執(zhí)行狀態(tài)等。如圖7所示。
圖7 任務(wù)調(diào)度與管理圖
用戶可以在系統(tǒng)中以圖形化的方式編輯地圖,地圖的主要組件有:站點、路線、區(qū)域。對地圖、站點、路線進(jìn)行創(chuàng)建、編輯、刪除和啟用,保證車輛適用于復(fù)雜的工作環(huán)境。如圖8所示。
圖8 地圖管理圖
用戶可以在系統(tǒng)中查詢車輛的信息,主要包括:歷史運行記錄查詢、當(dāng)前運行時間查詢,還可以在系統(tǒng)中添加、刪除車輛以及設(shè)置車輛的功能,使車輛執(zhí)行各自任務(wù)。如圖9所示。
圖9 車輛管理圖
系統(tǒng)管理主要包含用戶管理、通信管理、權(quán)限設(shè)置、日志管理四個子模塊,其中用戶管理模塊功能主要是系統(tǒng)支持管理員對其個人基本信息與登錄密碼進(jìn)行設(shè)置和修改。超級管理員用戶(有且只有一個)還支持對其他管理員用戶的查詢,增加,刪減與修改操作;分配其他各個管理員用戶的權(quán)限級別,實現(xiàn)完整的RBAC(Role-BasedAccess Control)模式[10];通信管理模塊主要功能是用戶選擇不同的設(shè)置項,對發(fā)送和接收的數(shù)據(jù)進(jìn)行管理。權(quán)限管理通過分配角色給用戶,同一用戶具有不同角色的功能,賦予角色不同權(quán)限,用來管理系統(tǒng),具有靈活性及安全性。日志管理模塊主要功能是記錄并儲存用戶的一些改查增刪操作,當(dāng)用戶進(jìn)行查詢操作時以日志模式展現(xiàn)給用戶。如圖10所示。
圖10 系統(tǒng)管理圖
本文設(shè)計了一種基于Web應(yīng)用程序的AGV實時狀態(tài)監(jiān)控與任務(wù)管理系統(tǒng)。該系統(tǒng)實現(xiàn)了AGV在不同場景下進(jìn)行人機(jī)交互,使用戶能夠?qū)崟r獲取監(jiān)車輛運行狀態(tài)和相關(guān)信息、查看任務(wù)完成情況,實現(xiàn)遠(yuǎn)程調(diào)度與管理的功能,具有操作便捷、性能高、安全性強(qiáng)的優(yōu)點,有效解決車輛在復(fù)雜生產(chǎn)線運作而造成監(jiān)控與管理不便的問題。在當(dāng)今制造業(yè)和物流產(chǎn)業(yè)飛速發(fā)展的潮流中,具有廣泛的應(yīng)用性。