劉 波,汪宇辰,梁偉健,葉 波,周 杰
(重慶大學機械工程學院,重慶400030)
自動導向小車(簡稱AGV[1-3])是移動機器人的一種,是現代制造企業(yè)物流系統中的重要設備,主要用來儲運各類物料,為系統柔性化、集成化、高效化運行提供重要保證。
資料顯示:我國雖然開始研制工業(yè)機器人僅比日本晚5~6年,但是由于種種原因,工業(yè)機器人技術的發(fā)展仍比較慢[4]。AGV從上世紀60年代開始研究,上世紀70年代,北京起重運輸機械研究所研制成ZDB-1型自動搬運車,上世紀90年代中期,昆船公司在引進國外先進AGV小車的技術基礎上,先后承擔數十個AGV小車系統的設計、安裝以及維護項目,其水平代表了目前國內的最高水平[5]。
西方發(fā)達國家經過近一個世紀的研究,AGV小車已進入高智能化、數字化、網絡化、信息化的發(fā)展道路。到目前為止,全世界已擁有AGV小車系10 000多個,約十萬臺AGV小車[6]。
綜上所述,為了節(jié)約用工成本,不少企業(yè)開始考慮引進AGV小車產品,但是國內AGV小車的價格一臺就要7萬元~8萬元,價格太高,如:深圳市佳順偉業(yè)科技有限公司生產的SMT專用AGV,售價8萬元;上海競舸自動化科技有限公司生產的潛入式AGV01,售價8.5萬[7]。為了降低AGV小車的價格,降低企業(yè)成本,實現高效、安全運輸,開發(fā)經濟型工業(yè)用途的AGV小車是必要的。
基于上述原因,本研究提出成本不超過1萬元的經濟型AGV小車的設計方案。其思路包括:①硬件上采用價格低技術成熟的電動輪椅用電機、減速器,控制系統,傳感器利用飛思卡爾智能車大賽中價格適中、技術成熟的有關配件;②控制策略設計上,在現有算法的基礎上提出具有簡單、實用優(yōu)點的偏差累計算法[9]。
光電導引式AGV車身上主要包括:車架的上下層鋼板、后輪、立柱、控制器箱體、光電傳感器、直流電機、萬向輪、電池、超聲波避障傳感器。
小車的左、右后輪和光電碼盤都安裝在直流電機軸上,并且光電碼盤安裝在直流電機和后輪之間。小車的后輪與電機軸通過平鍵連接,光電碼盤則通過粘膠劑粘在后輪中間部位。小車的前進與轉彎是通過控制兩個直流電機轉速的。前面兩個萬向輪僅起支撐作用。
小車下層鋼板的設計是為了安裝與固定后面直流電機和前面的萬向輪,下層鋼板底部安裝有光電傳感器和避障傳感器,并且下層鋼板頂部安裝有控制器箱體。下層鋼板與上層鋼板之間用4個立柱連接固定,立柱與上、下層鋼板通過螺紋連接。上層鋼板上安裝了一個電池安裝槽,這個安裝槽用來固定電池。上層鋼板上除了安裝電池安裝槽外,不再安裝其他裝置,以留出空間用來裝運貨物。
小車的光電傳感器安裝在底層架子上,避障傳感器安裝在AGV前段,兩者都采用螺栓和螺母固定。光電傳感器與后輪在縱向有段距離,即前瞻距離,使小車后置左電機和右電機有一定的反應時間。如果前瞻不夠,則會使小車的轉彎出現滯后現象。避障傳感器安裝在小車前段是為了實現小車避障的功能,當有障礙物阻擋小車前進方向時,利用超聲波測距原理可有效避免碰撞。
小車的電池安裝在電池卡槽中。該結構的優(yōu)點是:避免電池因安裝不牢固而損壞,并有利于電池充電,易于更換新電池。
硬件電路模塊部分包括:MCU主控制器、D/A轉換、光電碼盤、避障傳感器、光電傳感器等主要模塊。
MCU主控制器選用的是飛思卡爾系列的MC9S12XS128MAL芯片。該芯片是增強型的16位MCU,片上資源豐富,功能模塊包括 SPI、SCI、I2C、CAN、A/D、PWM、Timer等,方便構建實際應用系統;大容量的Flash、RAM和EEPROM(Data Flash)存儲器可滿足大部分的存儲器空間需求,具有低功耗、低電壓檢測復位與中斷、復位控制、看門狗及實時中斷等功能;可根據實際工作需要選擇時鐘頻率,最高總線工作頻率達40 MHz;該MCU具有方便快捷的在線編程調試能力、豐富的指令系統、較強的數值運算和邏輯運算能力。
在控制電路中,需要給電機控制器輸入一組模擬電平以實現控制左右電機轉速的目的。為了讓MCU輸入的數字電壓信號轉換成精確的模擬電壓信號,本研究采用的D/A轉換模塊如圖1所示[10]。

圖1 D/A轉換模塊原理圖
圖1中,U6、U10、U11分別是 DAC0832芯片、LM358芯片、2 K電位器的原理圖。
其中,DAC0832是采樣頻率為8位的D/A轉換芯片,集成電路內有兩級輸入寄存器,使其具備雙緩沖、單緩沖和直通3種輸入方式,且精度能達到1/256。
DAC0832芯片轉換的工作原理圖如圖2所示。

圖2 DAC0832芯片轉換的工作原理簡圖
圖2中,DAC0832由倒T型R-2R電阻網絡、模擬開關、運算放大器和參考電壓VREF四大部分組成。運算放大器輸出的模擬電壓V0為:

式中:VREF—基本電壓值,由芯片管腳VREF給定。
由上式可見,輸出的模擬電壓與輸入的數字電壓(Dn-1·2n-1+ … +D0·20)成正比,調節(jié)飛思卡爾MC9S12XS128MAL芯片端口的高低電平可改變D/A轉換模塊電平,從而調節(jié)輸出的模擬電壓的大小。
由于DAC0832的D/A轉換結果采用電流形式輸出,需要相應的模擬電壓信號,必須外接一個高輸入阻抗的線性運算放大器來實現。
LM358內部包括兩個獨立的、高增益、內部頻率補償的雙運算放大器,將DAC0832與LM358中的一個運算放大器相連,能得到相應的模擬信號。但是,實驗所得的模擬信號是負電壓,而且電壓值偏小,再通過LM358的另一個運算放大器,實現電壓值“翻轉”,并通過2 K電位器,調節(jié)電壓大小。
LM358適合于電源電壓范圍很寬的單電源工作模式,也適用于雙電源工作模式。該設計采用的是雙電源工作模式,需要為LM358芯片提供±9 V電壓。
為了得到LM358工作所需的-9 V電壓,本研究采用ICL7600芯片,它是MAXIM公司生產的小功率極性反轉電源轉換器,輸入電壓范圍是1.5 V~10 V,能把+9 V轉換為-9 V,為LM358芯片供電。
光電傳感器利用光的漫反射原理進行工作。在電路設計過程中,因為光電傳感器反饋的信號電壓是0~24 V,而單片機能檢測的電壓是0~5 V,須增加一個光耦將光電傳感器0~24 V的輸入電壓轉換成0~5 V的電壓。經測試,該光電傳感器工作性能良好。
超聲波避障傳感器[11]工作時序圖如圖3所示。

圖3 超聲波模塊工作時序圖
超聲波模塊的工作原理:采用I/O觸發(fā)測距,當輸入至少10 μs的高電平信號時,該模塊會自動發(fā)送8個40 kHz的方波,自動檢測是否有信號返回,當有信號返回時,通過I/0端口輸出一高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。測距公式為:距離=(高電平時間×聲速(340 m/s))/2。
軟件設計時,首先結合機械結構、硬件電路,繪制出程序流程圖;然后,利用Metrowerks公司為MC9S12系列專門提供的全套開發(fā)工具Freescale CodeWarrior IDE V5.1軟件編寫C語言程序代碼,并進行編譯與調試。
本研究利用CodeWarrior IDE V5.1軟件提供的C語言集成開發(fā)環(huán)境實現AGV小車軟件開發(fā)設計。
CodeWarrior的功能強大,除了一般開發(fā)工具所具有的編碼、編譯、編輯、鏈接、調試過程外,還具有如下優(yōu)點:用戶可在新建工程時將芯片的類庫添加到集成開發(fā)環(huán)境中,工程文件一旦生成就是一個最小系統,并且用戶無需進行繁瑣的初始化操作,這一點正是51系列單片機無法比擬的。
除了顯示小車實時信息的液晶顯示程序、避障程序外,由于小車是采用左、右電機分別驅動,還需要設計小車穩(wěn)定直線行駛與轉彎的控制算法,并編寫相應的程序代碼。
綜合上述因素,本研究繪制的光電導引式AGV控制程序流程圖如圖4所示。

圖4 光電導引式AGV控制程序流程圖
圖4中,光電碼盤的作用是保證小車穩(wěn)定地直線行駛,當左、右光電碼盤上測量的柵格數不同時,將會使小車小幅轉彎;光電傳感器的作用是保證小車順利轉彎,當左、右光電傳感器感應到黑膠帶后,將會使小車大幅轉彎。避障部分采用定時中斷,因為規(guī)定的避障距離是1 m,通過超聲波測距公式,算出測1 m距離所需時間為5.9 ms,所以設定避障傳感器每隔8 ms工作一次可達到測試要求;并且8 ms延時不通過“Delay”延時函數實現,而采用多次主循環(huán)累計實現,以縮短執(zhí)行一次主循環(huán)所用的時間,提高控制效率。
為使小車穩(wěn)定直線行駛,需通過控制左右電機速度的增減以抵消左右電機之間的微小速度偏差。為了實現上述目的,本研究設計了一個基于偏差累積的算法。實現該算法的程序代碼如下所示:


上述程序中,A與B分別代表左、右光電碼盤轉過的光柵數,如果A=B,左右光電碼盤通過的光柵數相等,說明小車左、右后輪的速度相同。當(B-A)>2,則右光電碼盤轉過的光柵數大于左光電碼盤轉過的光柵數,說明右輪的速度大于左輪的速度,需通過小幅右轉來調節(jié)以使小車保持直線行駛;對于(A-B)>2的情況,可依此類推。
為了驗證小車能夠穩(wěn)定地沿著黑膠帶行走,本研究通過在實驗室地面上粘貼黑膠帶的方式進行現場實驗測試。
光電導引式小車及實驗場地如圖5所示。

圖5 光電導引式AGV實物圖
圖5中,小車的上表面除了安裝一個電池盒用于存放電池外,其他平整表面部分用于裝運貨物。經過現場測量,小車上表面與地面的平行度保持良好。
為了控制小車直線行駛或轉向,本研究需要向控制器輸入兩組模擬電壓,此處定義為黃線電壓和綠線電壓。通過實驗,分別測得了多組黃、綠線電壓值下左、右電機(前進方向為準)的轉速值,如圖6、圖7所示。

圖6 左電機轉速與黃綠線控制電壓曲線圖

圖7 右電機轉速與黃綠線控制電壓曲線圖
如圖6所示,從實驗測試數據獲得的擬合曲線可知,左電機轉速大部分穩(wěn)定在0.5 m/s,并且綠線電壓值大部分在3.3 V~3.5 V之間,黃線電壓值大部分在2.4 V~2.6 V之間。為了使小車直線行駛,需輸入連續(xù)數據點代表的電壓值,而為了使小車轉向,則需輸入離散數據點代表的電壓值。
圖7中的曲線規(guī)律與圖6相似,通過與圖6相同的分析方法可獲得右電機穩(wěn)定工作的控制電壓值。
基于飛思卡爾芯片控制技術,本研究開發(fā)了光電導引式AGV小車。實地測試結果表明,小車性能總體上達到了預期指標。同時,筆者提出的偏差累積控制算法在小車行駛過程控制中獲得了良好的應用,為以后的研究提供了重要參考依據。
在后續(xù)研究中,將在工廠車間開展小車測試,檢驗小車在更為復雜的路面條件下的性能;同時,該小車現階段尚未安裝藍牙模塊,無法實現對小車的遠程控制,為了彌補該不足,筆者計劃在后續(xù)的項目中增設藍牙模塊,以實現對小車的遠程控制。
[1]HAMZHEEL M,FARAHANI R Z.An ant colony-based algorithm for finding the shortest bidirectional path for automated guided vehicles in a block layout[J].International Journal of Advanced Manufacturing Technology,2013,64(1-4):399-409.
[2]SOK Y L,HAI W Y.Navigation of automated guided vehicles using magnet spot guidance method[J].Robotics and Computer-Integrated Manufacturing,2012,28(3):425-436.
[3]YING C H,TA W L.Zone design and control for vehicle collision prevention and load balancing in a zone control AGV system[J].Computers & Industrial Engineering,2009,56(1):417-432.
[4]陳自立,徐婭萍,顧立彬.基于模糊Q學習算法的AGV路徑規(guī)劃研究[J].制造業(yè)自動化,2012,34(11):4-6.
[5]LIANG J H,RAO Z Q.Research and I mplementation of visual control technology with AGV[C]//Proceeding of the 2011 IEEE International Conference on Electric Information and Control Engineering.Wuhan:[s.n.],2011:1588-1591.
[6]孫 瑜,張 倩,姜一丁.AGV控制系統在煙草物流過程中的應用[J].自動化與儀表,2012,27(5):39-45.
[7]梁春苗,黃玉美,王小波.基于PMAC的自動導引運輸車智能控制[J].機電工程,2009,26(8):98-99.
[8]李醫(yī)中,夏 田.基于CPAC運動控制卡的AGV控制系統開發(fā)[J].機電工程技術,2011,40(2):37-38.
[9]RAJEEVA L M,WEE H G,NG W C,et al.Cyclic deadlock prediction and avoidance for zone-controlled AGV system[J].International Journal of Production Economics,2003,83(3):309-324.
[10]CHE F H.A simulation study of a bi-directional load-exchangeable automated guided vehicle system[J].Computers & Industrial Engineering,2010,58(4):594-601.
[11]程斌杰,魏逢原,金孟加.基于加速度傳感器的智能小車路況自動測量系統[J].機電工程,2012,29(10):1192-1194.