鄭炳坤,賴乙宗,葉 峰
(華南理工大學 機械與汽車工程學院,廣州 510640)
自動導向車AGV[1]是現代物流系統自動化、柔性化及智能化的關鍵設備,研究AGV的相關技術意義重大。導航系統為AGV核心組成部分,目前常見的AGV導航方式主要有視覺導航、激光導航與磁導航[2],視覺導航由于易受環境影響其適應性差,激光導航的硬件成本較高,磁導航則不僅控制簡單[3]、成本低、且抗干擾能力強,可在各種環境下工作,應用最為廣泛。
AGV的導航控制系統根據其控制核心不同主要有采用單片機、可編程控制器PLC與嵌入式工控機等方案[4]。單片機與PLC控制系統具有低功耗且控制簡單等優點,但可擴展性較差[5]。相比之下,嵌入式工控機帶有多種硬件接口,有利于系統功能擴展,方便產品的升級換代。
鑒于此,本文提出一種基于CAN總線的磁導航AGV控制系統,其硬件架構以嵌入式工控機為核心,通過CAN總線掛接多個控制外圍設備的ARM處理器,以中斷任務調度模式來協調系統運動控制器的各個任務單元,通過適時掛起線程與逐步匹配報文方式來協作完成監控管理系統的通信過程,實現系統的實時控制,此外,采用模糊自整定PD調節器來保證磁導航的控制精度和適應性,經實際測試,系統運行穩定可靠,取得良好的控制效果。
文中AGV的本體結構如圖1所示,AGV本體由前左右差速驅動輪及后萬向輪組成,導航傳感器安裝在車載前端底部,用于檢測AGV中心與磁帶軌道的偏距;命令傳感器則固定在車載右后側,用于檢測特殊命令觸發信號。導航軌道由連續磁帶組成,離散的三磁帶段組合成一特殊命令觸發單元。

圖1 AGV本體結構簡圖Fig.1 Sketch of AGV
系統架構是AGV控制系統的關鍵,本文提出的控制方案自上而下分為監控管理層、通信層、控制層、功能層及傳感器層五大層,如圖2所示。

圖2 系統總體架構Fig.2 Overall system architecture
監控管理層:在AGV上裝載研華工控機POD-6552,用于實現對控制系統的監控管理等。通過建立無線局域網,可實現用戶端PC與監控管理終端數據的共享,有助于控制系統的調試、開發與管理;在通信層采用CAN現場總線來完成監控管理層與控制層之間的命令控制發送與報告反饋。現場總線適于后期控制節點的擴展,是系統走向復雜化及智能化等的保證;控制層使用STM32F103RBT6 ARM7處理器來協調完成各種控制功能,圖2所示系統是由運動控制器與輔助控制器兩節點組成的一個微小型分散式控制系統。
功能層包括導航、特殊命令、電機驅動、避障、顯示交互、姿態反饋與手動控制七大功能單元。導航單元的功能是保證AGV以一定的精度沿著預定的軌跡作業,當AGV跑飛預定軌跡時,自動停止;特殊命令單元作用于當車載到達某預定位置時,命令AGV執行停歇、裝載或者卸載特殊動作;電機驅動單元是系統的執行末端,系統通過電機速度的調節控制來達成導航、停歇及加減速等各種基本運動控制功能;避障單元是AGV車載系統的安全模塊,AGV在遇到障礙物時應立即停止,障礙消失后自動重啟,繼續作業。此外,若AGV處于前進狀態,但檢測到的障礙物位于車載后端,那么AGV應保持繼續前進狀態。處于后退狀態的AGV前面出現障礙物時做類似處理;顯示交互單元用于AGV當前運行速度、位置等狀態的顯示;手動控制單元用來急停控制AGV等。
傳感器層由導航傳感器、命令傳感器、控制電機與驅動器、紅外傳感器、液晶屏、編碼器及按鈕按鍵組成。運動處理器通過實時掃描讀取數字導航傳感器的狀態值,以普通IO連接導航傳感器;命令傳感器起作用于一些離散的特殊標記點,采用IO外部觸發中斷來獵取命令信息;電機的速度調控采用變頻PWM輸出完成;紅外傳感器的觸發信息也采用IO外部觸發中斷來實時監視獲取;采用STM32定時器集成的增量式編碼器接口采集編碼器信號,計算取得當前車載的速度和位姿。
導航跟蹤方法是運動控制器的核心技術之一。傳統PID控制器技術成熟,應用廣泛,但常規的PID控制器魯棒性差,對于非線性時變或遲滯的系統,控制效果不佳,而純模糊控制恰好能彌補傳統PID控制器的缺點。為此本文將模糊控制與PID控制相結合,采用圖3所示的控制器,以PD控制器為核心,利用模糊控制來動態修正PD控制器的系數,改良AGV的動態跟蹤行為。

圖3 模糊自整定PD調節器Fig.3 Fuzzy self-tuning PD controller
在圖3中,以導航傳感器從磁帶探測到的跟蹤偏差及偏差變化作為控制器的輸入,經模糊處理后得到PD控制器的參數修正值,修正PD控制器后,輸出AGV車載左右輪的控制速度差去調整AGV的當前位姿。為了減少在線計算量,提高效率,程序中把模糊調節器以二維離線查詢表形式嵌入到STM32運動控制器上。

圖4 運動控制器的軟件實現Fig.4 Software realization of motion controller
給出運動控制器功能的軟件實現,如圖4所示。主要包括導航跟蹤任務、調速任務、特殊命令任務、安全避障任務與通信任務。本文采用中斷模式來協調實現各個任務單元,其中特殊命令任務、安全避障任務與通信任務由外部事件觸發驅動,一旦事件來臨,運動控制器立即響應,保證AGV能遇障即停,無障立行等;運動控制器以每5 ms掃描讀取一次導航傳感器狀態值,以此確定出當前偏距,然后控制器利用此偏距量計算出AGV驅動輪的控制速度;運動控制器以每1 ms判斷一次當前驅動輪速度是否已達到控制速度,實時對驅動電機進行梯形調速,確保AGV能快速平穩地加減速到控制速度。任務單元之間以變時間切片輪換執行,安全避障等任務未被觸發下處于監視掛起狀態,不用消耗MCU資源。在系統控制過程中,運動控制器資源按需分配,提高了系統運作效率的同時,也保證了控制器響應的實時性。
為了便于對AGV自動導引車的現場工作控制與狀態監控,上層管理系統的開發是十分有必要的。從AGV車載系統的現場作業出發,利用MFC在車載工控機上實現了如圖5所示的監控管理系統,主要分成工作站點管理、操控模式、運行狀態、跟蹤控制信息、避障狀態與車載位姿狀態六大功能模塊。

圖5 監控管理系統組成Fig.5 Components of management system
上層監控管理系統與底層控制器間通信的準確性與實時性是控制系統有效性的可靠保證。將報文分為報頭、報文功能碼、報文長度、報文控制數據、報文校驗碼與報尾,報文在發送中按照其組分順次發送,接收方讀取到報文后再逐步匹配校對,應答執行。以請求報告發送和接收讀取報告報文為例,給出具體的軟件實現,如圖6所示。

圖6 數據包發送與讀取的軟件實現Fig.6 Software realization of TXD&RXD
報文的發送與接收都在線程中完成,其中為避免重入“報文發送”函數而修改狀態標志量,利用互斥量來實現線程同步。完成一次報文報告請求后,發送線程立即掛起,以能釋放CPU資源給報文接收線程。在讀取到報告報文有誤或讀完報告報文前,發送線程一直掛起,從而保證不浪費CPU資源。如果報告報文接收有誤,立即重新請求;當在100 ms掛起時間內仍然請求不成功,將因請求超時而終止本次請求;一旦接收成功,請求成功完畢。在接收線程中,如果出現匹配錯誤,程序重新開始接收匹配報文。發送線程通過適時掛起操作釋放資源給接收線程等其它線程,接收線程通過逐步接收匹配方式來檢驗報文,提高了通信過程的實時性與準確性。
為測試所開發的AGV嵌入式控制系統的可行性與穩定性,本文對車載系統進行了實際現場作業的模擬實驗。在地表鋪設引導磁帶,由曲線與直線組成,除了引導磁帶外,還有用于模擬特殊控制指令的命令磁帶,本實驗的實訓AGV車載及磁帶軌道如圖7所示。
AGV自動導向車在現場實訓中,導航跟蹤功能通過調整兩驅動輪的速度來實現,本文測試了在不同速度下AGV的導航精度,測試結果為表1所示。其中編號1直行速度為0.3 m/s,拐彎速度為0.1 m/s;而編號2的直行速度為0.5 m/s,拐彎速度為0.35 m/s。

圖7 AGV測試車載及磁帶軌道Fig.7 Testing AGV and its magnetic tape track

表1 偏距統計Tab.1 Statistical error (mm)
從表1中可以看出,AGV慢速作業時的性能優于快速工作。因此在控制器設計中,拐彎時應當適當降低AGV的工作速度,以保證AGV不會沖離導航軌道。此外,根據表中的平均偏距與偏距標準差兩統計量,可以得出在較高速時,AGV的動態跟蹤行為良好,有效表明了本控制系統的穩定性與可行性。
AGV是現代物流系統的熱點研究對象。本文介紹了一種基于CAN總線,易于擴展的磁導航AGV控制系統。基于中斷模式來設計運動控制器,增強了系統的執行效率與響應速度;實現了AGV車載的監控管理系統,可實時監控車載的運行狀態、跟蹤控制信息、避障狀態與車載位姿狀態等,易于交互管理。此外,采用模糊PD調節器保證了良好的導航精度。對本系統進行現場實測,系統通信穩定可靠,跟蹤有效。
[1] 武啟平,金亞萍,任平,等.自動導引車(AGV)關鍵技術現狀及其發展趨勢[J].制造業與自動化,2013,35(5):106-109,121.
[2] 姜涌,曹杰,杜亞玲,等.基于各種傳感器的自動導引車的制導方式[J].傳感器技術,2005,25(8):1-4.
[3] 彭光清,樓佩煌.磁導航AGV模糊控制器的研究[J].工業控制計算機,2012,25(9):43-44.
[4] 盧冬華.計算機控制自動導向小車(AGV)的設計與實現[D].上海:上海交通大學,2006.
[5] 王冰,胡彬,王春香,等.自動導引車車載控制系統的研究與設計[J].自動化儀表,2013,34(5):1-4. ■