文生平,陳端平,劉其信
(1.華南理工大學 聚合物新型成型裝備國家工程研究中心 聚合物成型加工工程教育部重點實驗室,廣州510640;2.廣州市井源機電設備有限公司,廣州 511400)
自動導引車AGV作為移動機器人的重要組成,在替代人工搬運方面具有效率高、靈活性強、智能化等優勢,已經在諸多行業與領域得到大范圍應用。AGV系統集精密化、柔性化、智能化、軟件應用開發等先進制造技術于一體,不僅能夠實現生產制造的自動化、網絡化及智能化,而且也是一個國家工業自動化水平的重要體現。隨著生產產品更新換代周期時間的縮短,激光導引AGV作為一種適應柔性生產的移動機器人得到了更加廣泛的應用[1]。國內有關激光導引AGV上位監控管理系統的研究還比較少[2-3],本文基于Qt開發的激光導引AGV監控系統能實現對AGV的監控管理及跨平臺安裝,為實現激光導引AGV的地面一體化智能管理提供了比較好的應用測試平臺。
本論文研究的是激光導引AGV,一個完整的AGV系統由上位機監控系統及下位機控制系統兩部分組成,其系統結構組成如圖1所示。

圖1 激光導引AGV系統構造Fig.1 System construction of laser guided AGV
AGV的激光導引系統是由激光掃描儀和激光反射板構成的。激光掃描儀安裝在AGV車身的合適位置,預先按照一定規律在AGV行駛的路徑上放置能夠精確確定AGV當前坐標位置的專用反射板,反射板的放置坐標是已知的并事先儲存在計算機中。
當AGV進入指定的工作區域時,AGV首先停止不動,依據車身上的激光掃描儀掃描到的激光反射板,AGV將掃描到的信息經過無線通信方式傳輸給上位機的計算機系統,其經過全局定位算法對信息進行計算和分析,能夠準確得出AGV的當前位置坐標及運動方向,然后上位機系統再通過無線通信設備將導引信息和車載控制器系統中的參數進行對比調整,車載控制器則將運動參數發送給電機驅動器,由電機驅動器控制電機帶動AGV車身按照命令行駛。AGV行駛過程中車載控制器還要向上位機監控系統實時反饋當前運行狀態直到到達目的地。為了確保安全生產,AGV的車身上還安裝了相關的安全檢測設備,用來保護AGV運行區域內人、設備及AGV的安全。
Qt在軟件開發領域是十分有名的C++可視化平臺,與微軟的Visual C++相比,Qt平臺具有簡單方便、跨平臺、擴展能力強等優點,在嵌入式開發領域得到了廣泛應用。Qt是跨平臺的C++圖形用戶界面應用程序框架(C++GUI),它具有完全面向對象、易擴展及支持組件編程的特性[4]。
Qt通過信號和槽(Signal&Slot)機制響應界面操作,信號和槽是Qt對象之間的一種通信機理。信號(Signal)在某個特定情況或按鈕動作時被觸發,而槽(Slot)是接收并處理發送過信號的相應函數。Qt對象系統支持對象之間的通信機制(信號與槽)及動態屬性系統,是一個標準C++擴展,方便GUI圖形用戶界面編程。本論文的軟件系統是在Qt5開發環境中進行軟件開發的。其具有的主要功能塊如表1所示。

表1 Qt的基礎類Tab.1 Base class of Qt
軟件系統按功能及行為分解為模塊的方式稱為設計原則,有6個主要的設計原則:模塊化、接口、信息隱藏、增量式開發、抽象及通用性[5]。按照軟件設計原則進行激光導引AGV監控系統開發。
激光導引AGV的監控系統通過人機交互界面的形式實現,系統主要是對激光導引式自動導引車工作狀態進行在線監控及運動控制,根據功能將監控軟件系統劃分成運動路徑編輯功能模塊、AGV參數初始設置功能模塊、操作模式及運動控制功能模塊、ModBus通信功能模塊、數據采集功能模塊、實時數據顯示功能模塊、速度曲線功能模塊、報警及幫助功能模塊。根據模塊化設計,能夠減少軟件開發工作量及提高系統可靠性。系統組成如圖2所示。

圖2 軟件系統架構組成Fig.2 Architecture of the software system
在程序開發過程中,依據不同功能模塊,將其封裝成類,進行接口及抽象設計,完成相關界面布局及具體功能實現。
路徑編輯功能模塊主要功能就是實現AGV在工業現場運動范圍的電子地圖的編輯功能。運動路徑實時顯示是AGV運行狀態監控的重要組成部分,在繪制AGV運動車間布局時,需要繪制出車間各種運動通道,市場上已經有許多繪制二維圖形的軟件,美國Autodesk公司推出的AutoCAD繪圖軟件則是在市場份額占有率最高的,為了增加激光導引AGV監控軟件的通用性及與其他繪圖軟件相互交換數據,本文設計了激光導引AGV監控軟件的DXF接口軟件模塊,在該模塊中,能夠繪制直線、圓、圓弧、點及矩形等基本幾何形狀,并對其進行移動、復制、刪除等編輯。也能夠在AutoCAD軟件中繪制AGV運動車間布局圖,保存成一種通用的圖形數據交互格式(DXF格式)[6-7],因此在激光導引監控軟件上添加一個DXF格式接口與轉化接口,就能在監控軟件系統中識別AGV運動車間布局路線圖。該模塊的顯示主要封裝在EntityGraphicView類中。
AGV操作模式及運動控制功能模塊主要實現對AGV運動模式及常量參數設置,能夠控制激光導引AGV前進、停止、后退及左右轉向,進行AGV行走速度及距離等參數的設置,該模塊主要封裝在ManualContrl類中。
Modbus 是 OSI(open system interconnection,開放式通信系統互聯)模型的一種應用層報文傳輸格式[8],能夠為不同總線及網絡類型的設備進行客戶機/服務器的通信,Modbus在工業現場自動化設備之間的通信上得到了廣泛應用。工廠的實際通信方式是無線通信,即上位機監控系統通過串口轉無線模塊將串口通信轉換成無線通信,下位機再用無線轉串口模塊將無線通信變成串口通信。為了簡化研究,本文只介紹Modbus串口通信部分。
串口通信的基本流程:1)設置串口參數、如波特率、數據位、奇偶校驗、停止位、數據流控制等;2)初始化并選擇打開串口,選擇相應的串口號,設置輸入及輸出緩沖區大小,設置輸入方式及數據傳輸速率等;3)串口的讀寫操作;4)關閉串口。該模塊主要封裝在ComComm類中。
該模塊的主要功能是完成變量值的實時采集,并將實時采集的AGV狀態數據保存到指定位置。該模塊能采集多個變量值,能對采樣頻率與時間進行設置。實時數據采集模塊主要封裝在DataAcquisition類中。數據顯示模塊則實時顯示AGV速度及傳感器數據,實時數據顯示模塊主要封裝在ParameterShow類中。
整個監控軟件系統的布局由菜單欄、工具欄、工具箱及各功能模塊組成。在軟件系統進行測試運行過程中,對其各功能模塊能否正常工作進行了測試,上位機監控系統能夠對AGV運行狀態下進行實時通信和控制。系統運行界面如圖3所示。

圖3 監控系統運行界面Fig.3 Operation interface of monitoring system
本文介紹了基于Qt5進行激光導引式AGV監控系統設計過程,實現了對DXF文件的接口設計及實時數據顯示等功能,監控系統具備良好的圖形界面,操作方便、通用性高、跨平臺,具有較好的實用價值。
[1]馬新露,趙林度,魯德·舒爾茲.AGVS在中國的應用與發展[J].物流技術,2006(12):27-30.
[2]張智勇.AGV地面系統設計及開發[D].陜西:西北工業大學,2002.
[3]陳順平.激光導引AGV的控制系統設計[D].浙江:浙江大學,2004.
[4]陸文周.Qt 5開發及實例[M].北京:電子工業出版社,2015.
[5]Shari Lawarence Pfleeger,Joanne M.Atlee.軟件工程[M].楊衛東,譯.北京:人民郵電出版社,2014.
[6]呂志亮,嚴殊,李駒光.基于Qt/Embedded的DXF文件操作軟件[J].軟件導刊,2012,11(9):81-83.
[7]劉傳亮,陸建德.AutoCAD DXF文件格式與二次開發圖形軟件編程[J].微機發展,2004,9(14):101-104.
[8]李喜東,劉波濤,劉剛.Modbus RTU串行通訊協議在工業現場的應用[J].自動化技術與應用,2005,24(7):37-40.