劉 冰,蔡 震,申 猛
(中國電子科技集團公司第四十七研究所,沈陽110032)
AGV是自動導引運輸車(Automated Guided Vehicle)的英文縮寫。它是一種以電池為動力,裝有非接觸導航(導引)裝置的無人駕駛車輛。它的主要功能表現(xiàn)為能在計算機監(jiān)控下,按路徑規(guī)劃和作業(yè)要求,精確地行走并??康街付ǖ攸c,完成一系列作業(yè)功能,并具有安全保護功能的運輸車。AGV控制系統(tǒng)由主計算機和車載計算機系統(tǒng)及輔助裝置組成,采用計算機技術(shù)、無線數(shù)據(jù)通訊技術(shù)、自動控制伺服技術(shù)及車輛管理等綜合技術(shù)集成微機控制系統(tǒng)及車載控制系統(tǒng)。其中,主計算機主要負責任務(wù)分配、車輛調(diào)度、路徑(線)管理、交通管理、自動充電等功能;車載控制系統(tǒng)在收到上位系統(tǒng)的指令后,負責AGV的導航計算、導引實現(xiàn)、車輛行走、裝卸操作等功能。
上位機程序,即主計算機程序是人機信息交換的界面,同時也是AGV安全、可靠運行的保障。一個較好的上位機程序首先應(yīng)該有一個較好的操作界面,使其能夠讓使用者便捷地下達各種操作指令;其次要有較好的數(shù)據(jù)組織能力,使其能夠更好的組織AGV執(zhí)行各種指令。
上位機程序根據(jù)需要可分為五大模塊,即生成指令模塊,通訊模塊,AGV監(jiān)控模塊,文件管理模塊和緊急處理模塊。
生成指令模塊的作用是接收和分析人工輸入的命令及其參數(shù),并將其進行編碼,存入待發(fā)數(shù)據(jù)工作區(qū)。上位機生成的指令碼為5個字節(jié)。
在同步字節(jié)中放入的是固定值0FFH,相當于同步指令,其作用是使上位機數(shù)據(jù)的發(fā)送與下位機數(shù)據(jù)的接收同步。在命令字節(jié)中放入的是命令代碼,命令字節(jié)后面的三個參數(shù)字節(jié)放入的是執(zhí)行命令所需的參數(shù)(見表1)。
下位機程序,即單片機程序是AGV能夠運行的軟件基礎(chǔ),它直接影響AGV執(zhí)行指令的能力和效果,同時也將影響其可靠性和安全性。
表1 命令代碼、命令含義以及參數(shù)含義
下位機程序,即單片機程序是AGV能夠運行的軟件基礎(chǔ),它將直接影響AGV執(zhí)行指令的能力和效果,同時也將影響其可靠性和安全性。
下位機程序根據(jù)需要可分為七大功能模塊,即主控程序模塊、步進電動機驅(qū)動程序模塊、直流電動機驅(qū)動程序模塊、傳感器數(shù)據(jù)采樣程序模塊、監(jiān)控程序模塊、數(shù)據(jù)處理程序模塊、通訊驅(qū)動程序和出錯處理程序模塊。
主控模塊的功能是把其他功能模塊有機的結(jié)合起來,使其能夠協(xié)調(diào)工作。
步進電動機驅(qū)動程序的功能是完成步進電動機的驅(qū)動,步進電動機驅(qū)動程序包括步進電動機的轉(zhuǎn)向驅(qū)動、步進電動機的轉(zhuǎn)角驅(qū)動和步進電動機的轉(zhuǎn)速驅(qū)動,它們的實質(zhì)就是控制單片機PD口3位和6位輸出高低電平和控制單片機PD口4位和5位輸出脈沖的個數(shù)及頻率。
直流電動機驅(qū)動模塊的功能是完成直流電動機的驅(qū)動,直流電動機驅(qū)動程序包括直流電動機的轉(zhuǎn)向驅(qū)動和直流電動機的轉(zhuǎn)速驅(qū)動,它們的實質(zhì)就是控制驅(qū)動芯片L298N輸入引腳的高低電平和控制由單片機PB口3位和PD口7位輸出的PWM信號的占空比。
傳感器數(shù)據(jù)采樣模塊的功能是采集所有傳感器的數(shù)據(jù),它的實質(zhì)是從單片機PC口讀入傳感器的高低電平。
監(jiān)控模塊的功能是監(jiān)視程序的運行狀態(tài)。它的實質(zhì)就是控制單片機的PA口和PD口向數(shù)碼管和蜂鳴器輸出相應(yīng)的具有一定意義的數(shù)據(jù)。
數(shù)據(jù)處理程序模塊包括四個功能:
(1)處理由上位機發(fā)出的指令數(shù)據(jù)并生成相應(yīng)的控制數(shù)據(jù)。
(2)處理由傳感器采集的數(shù)據(jù)并生成相應(yīng)的控制數(shù)據(jù)。
(3)通過程序運行狀態(tài)或是AGV運行狀態(tài)為監(jiān)控程序提供輸出數(shù)據(jù)。
(4)通過程序運行狀態(tài)或是AGV運行狀態(tài)向上位機提供反饋數(shù)據(jù),反饋數(shù)據(jù)代碼及其含義如表2所示。
通訊驅(qū)動程序模塊的功能是接收上位機發(fā)送的指令數(shù)據(jù)和向上位機發(fā)送反饋數(shù)據(jù)。它的實質(zhì)就是操作單片機的串口。在本設(shè)計中初步設(shè)定串行通訊的速率為600BPS,通訊數(shù)據(jù)無奇偶檢驗,兩位停止位。
出錯處理程序模塊的功能是當AGV出現(xiàn)運行錯誤或是緊急情況時控制AGV做出相應(yīng)的處理。
表2 下位機反饋數(shù)據(jù)代碼及其含義
AGV系統(tǒng)的軟件部分是這個系統(tǒng)的重要組成部分,上位機和下位機的程序設(shè)計能夠很好的協(xié)同控制AGV的導航計算、行走、裝卸等操作。
隨著更多國家對AGV系統(tǒng)的不斷發(fā)展與研究,AGV已經(jīng)不僅限于在汽車工業(yè)上的應(yīng)用,更多的新型AGV被廣泛應(yīng)用于工業(yè)、醫(yī)療領(lǐng)域,也可以用于辦公室信件的自動分發(fā)和電子行業(yè)的裝配平臺。AGV從僅由大公司應(yīng)用,正向小公司單臺應(yīng)用轉(zhuǎn)變,而且其效率和效益更好。
[1] 孔令中.AGV原理及應(yīng)用[M].北京:化學工業(yè)出版社,2006.
[2] 陳冬云.AVR單片機原理及應(yīng)用[M].北京:機械工業(yè)出版社,2005.