劉 冰,蔡 震,申 猛
(中國電子科技集團公司第四十七研究所,沈陽110032)
AGV是自動導引運輸車(Automated Guided Vehicle)的英文縮寫。它是一種以電池為動力,裝有非接觸導航(導引)裝置的無人駕駛車輛。它的主要功能表現為能在計算機監控下,按路徑規劃和作業要求,精確地行走并停靠到指定地點,完成一系列作業功能,并具有安全保護功能的運輸車。AGV控制系統由主計算機和車載計算機系統及輔助裝置組成,采用計算機技術、無線數據通訊技術、自動控制伺服技術及車輛管理等綜合技術集成微機控制系統及車載控制系統。其中,主計算機主要負責任務分配、車輛調度、路徑(線)管理、交通管理、自動充電等功能;車載控制系統在收到上位系統的指令后,負責AGV的導航計算、導引實現、車輛行走、裝卸操作等功能。
上位機程序,即主計算機程序是人機信息交換的界面,同時也是AGV安全、可靠運行的保障。一個較好的上位機程序首先應該有一個較好的操作界面,使其能夠讓使用者便捷地下達各種操作指令;其次要有較好的數據組織能力,使其能夠更好的組織AGV執行各種指令。
上位機程序根據需要可分為五大模塊,即生成指令模塊,通訊模塊,AGV監控模塊,文件管理模塊和緊急處理模塊。
生成指令模塊的作用是接收和分析人工輸入的命令及其參數,并將其進行編碼,存入待發數據工作區。上位機生成的指令碼為5個字節。
在同步字節中放入的是固定值0FFH,相當于同步指令,其作用是使上位機數據的發送與下位機數據的接收同步。在命令字節中放入的是命令代碼,命令字節后面的三個參數字節放入的是執行命令所需的參數(見表1)。
下位機程序,即單片機程序是AGV能夠運行的軟件基礎,它直接影響AGV執行指令的能力和效果,同時也將影響其可靠性和安全性。

表1 命令代碼、命令含義以及參數含義
下位機程序,即單片機程序是AGV能夠運行的軟件基礎,它將直接影響AGV執行指令的能力和效果,同時也將影響其可靠性和安全性。
下位機程序根據需要可分為七大功能模塊,即主控程序模塊、步進電動機驅動程序模塊、直流電動機驅動程序模塊、傳感器數據采樣程序模塊、監控程序模塊、數據處理程序模塊、通訊驅動程序和出錯處理程序模塊。
主控模塊的功能是把其他功能模塊有機的結合起來,使其能夠協調工作。
步進電動機驅動程序的功能是完成步進電動機的驅動,步進電動機驅動程序包括步進電動機的轉向驅動、步進電動機的轉角驅動和步進電動機的轉速驅動,它們的實質就是控制單片機PD口3位和6位輸出高低電平和控制單片機PD口4位和5位輸出脈沖的個數及頻率。
直流電動機驅動模塊的功能是完成直流電動機的驅動,直流電動機驅動程序包括直流電動機的轉向驅動和直流電動機的轉速驅動,它們的實質就是控制驅動芯片L298N輸入引腳的高低電平和控制由單片機PB口3位和PD口7位輸出的PWM信號的占空比。
傳感器數據采樣模塊的功能是采集所有傳感器的數據,它的實質是從單片機PC口讀入傳感器的高低電平。
監控模塊的功能是監視程序的運行狀態。它的實質就是控制單片機的PA口和PD口向數碼管和蜂鳴器輸出相應的具有一定意義的數據。
數據處理程序模塊包括四個功能:
(1)處理由上位機發出的指令數據并生成相應的控制數據。
(2)處理由傳感器采集的數據并生成相應的控制數據。
(3)通過程序運行狀態或是AGV運行狀態為監控程序提供輸出數據。
(4)通過程序運行狀態或是AGV運行狀態向上位機提供反饋數據,反饋數據代碼及其含義如表2所示。
通訊驅動程序模塊的功能是接收上位機發送的指令數據和向上位機發送反饋數據。它的實質就是操作單片機的串口。在本設計中初步設定串行通訊的速率為600BPS,通訊數據無奇偶檢驗,兩位停止位。
出錯處理程序模塊的功能是當AGV出現運行錯誤或是緊急情況時控制AGV做出相應的處理。

表2 下位機反饋數據代碼及其含義
AGV系統的軟件部分是這個系統的重要組成部分,上位機和下位機的程序設計能夠很好的協同控制AGV的導航計算、行走、裝卸等操作。
隨著更多國家對AGV系統的不斷發展與研究,AGV已經不僅限于在汽車工業上的應用,更多的新型AGV被廣泛應用于工業、醫療領域,也可以用于辦公室信件的自動分發和電子行業的裝配平臺。AGV從僅由大公司應用,正向小公司單臺應用轉變,而且其效率和效益更好。
[1] 孔令中.AGV原理及應用[M].北京:化學工業出版社,2006.
[2] 陳冬云.AVR單片機原理及應用[M].北京:機械工業出版社,2005.