劉 波,汪宇辰,梁偉健,葉 波,周 杰
(重慶大學(xué)機(jī)械工程學(xué)院,重慶400030)
自動(dòng)導(dǎo)向小車(簡稱AGV[1-3])是移動(dòng)機(jī)器人的一種,是現(xiàn)代制造企業(yè)物流系統(tǒng)中的重要設(shè)備,主要用來儲(chǔ)運(yùn)各類物料,為系統(tǒng)柔性化、集成化、高效化運(yùn)行提供重要保證。
資料顯示:我國雖然開始研制工業(yè)機(jī)器人僅比日本晚5~6年,但是由于種種原因,工業(yè)機(jī)器人技術(shù)的發(fā)展仍比較慢[4]。AGV從上世紀(jì)60年代開始研究,上世紀(jì)70年代,北京起重運(yùn)輸機(jī)械研究所研制成ZDB-1型自動(dòng)搬運(yùn)車,上世紀(jì)90年代中期,昆船公司在引進(jìn)國外先進(jìn)AGV小車的技術(shù)基礎(chǔ)上,先后承擔(dān)數(shù)十個(gè)AGV小車系統(tǒng)的設(shè)計(jì)、安裝以及維護(hù)項(xiàng)目,其水平代表了目前國內(nèi)的最高水平[5]。
西方發(fā)達(dá)國家經(jīng)過近一個(gè)世紀(jì)的研究,AGV小車已進(jìn)入高智能化、數(shù)字化、網(wǎng)絡(luò)化、信息化的發(fā)展道路。到目前為止,全世界已擁有AGV小車系10 000多個(gè),約十萬臺(tái)AGV小車[6]。
綜上所述,為了節(jié)約用工成本,不少企業(yè)開始考慮引進(jìn)AGV小車產(chǎn)品,但是國內(nèi)AGV小車的價(jià)格一臺(tái)就要7萬元~8萬元,價(jià)格太高,如:深圳市佳順偉業(yè)科技有限公司生產(chǎn)的SMT專用AGV,售價(jià)8萬元;上海競舸自動(dòng)化科技有限公司生產(chǎn)的潛入式AGV01,售價(jià)8.5萬[7]。為了降低AGV小車的價(jià)格,降低企業(yè)成本,實(shí)現(xiàn)高效、安全運(yùn)輸,開發(fā)經(jīng)濟(jì)型工業(yè)用途的AGV小車是必要的。
基于上述原因,本研究提出成本不超過1萬元的經(jīng)濟(jì)型AGV小車的設(shè)計(jì)方案。其思路包括:①硬件上采用價(jià)格低技術(shù)成熟的電動(dòng)輪椅用電機(jī)、減速器,控制系統(tǒng),傳感器利用飛思卡爾智能車大賽中價(jià)格適中、技術(shù)成熟的有關(guān)配件;②控制策略設(shè)計(jì)上,在現(xiàn)有算法的基礎(chǔ)上提出具有簡單、實(shí)用優(yōu)點(diǎn)的偏差累計(jì)算法[9]。
光電導(dǎo)引式AGV車身上主要包括:車架的上下層鋼板、后輪、立柱、控制器箱體、光電傳感器、直流電機(jī)、萬向輪、電池、超聲波避障傳感器。
小車的左、右后輪和光電碼盤都安裝在直流電機(jī)軸上,并且光電碼盤安裝在直流電機(jī)和后輪之間。小車的后輪與電機(jī)軸通過平鍵連接,光電碼盤則通過粘膠劑粘在后輪中間部位。小車的前進(jìn)與轉(zhuǎn)彎是通過控制兩個(gè)直流電機(jī)轉(zhuǎn)速的。前面兩個(gè)萬向輪僅起支撐作用。
小車下層鋼板的設(shè)計(jì)是為了安裝與固定后面直流電機(jī)和前面的萬向輪,下層鋼板底部安裝有光電傳感器和避障傳感器,并且下層鋼板頂部安裝有控制器箱體。下層鋼板與上層鋼板之間用4個(gè)立柱連接固定,立柱與上、下層鋼板通過螺紋連接。上層鋼板上安裝了一個(gè)電池安裝槽,這個(gè)安裝槽用來固定電池。上層鋼板上除了安裝電池安裝槽外,不再安裝其他裝置,以留出空間用來裝運(yùn)貨物。
小車的光電傳感器安裝在底層架子上,避障傳感器安裝在AGV前段,兩者都采用螺栓和螺母固定。光電傳感器與后輪在縱向有段距離,即前瞻距離,使小車后置左電機(jī)和右電機(jī)有一定的反應(yīng)時(shí)間。如果前瞻不夠,則會(huì)使小車的轉(zhuǎn)彎出現(xiàn)滯后現(xiàn)象。避障傳感器安裝在小車前段是為了實(shí)現(xiàn)小車避障的功能,當(dāng)有障礙物阻擋小車前進(jìn)方向時(shí),利用超聲波測(cè)距原理可有效避免碰撞。
小車的電池安裝在電池卡槽中。該結(jié)構(gòu)的優(yōu)點(diǎn)是:避免電池因安裝不牢固而損壞,并有利于電池充電,易于更換新電池。
硬件電路模塊部分包括:MCU主控制器、D/A轉(zhuǎn)換、光電碼盤、避障傳感器、光電傳感器等主要模塊。
MCU主控制器選用的是飛思卡爾系列的MC9S12XS128MAL芯片。該芯片是增強(qiáng)型的16位MCU,片上資源豐富,功能模塊包括 SPI、SCI、I2C、CAN、A/D、PWM、Timer等,方便構(gòu)建實(shí)際應(yīng)用系統(tǒng);大容量的Flash、RAM和EEPROM(Data Flash)存儲(chǔ)器可滿足大部分的存儲(chǔ)器空間需求,具有低功耗、低電壓檢測(cè)復(fù)位與中斷、復(fù)位控制、看門狗及實(shí)時(shí)中斷等功能;可根據(jù)實(shí)際工作需要選擇時(shí)鐘頻率,最高總線工作頻率達(dá)40 MHz;該MCU具有方便快捷的在線編程調(diào)試能力、豐富的指令系統(tǒng)、較強(qiáng)的數(shù)值運(yùn)算和邏輯運(yùn)算能力。
在控制電路中,需要給電機(jī)控制器輸入一組模擬電平以實(shí)現(xiàn)控制左右電機(jī)轉(zhuǎn)速的目的。為了讓MCU輸入的數(shù)字電壓信號(hào)轉(zhuǎn)換成精確的模擬電壓信號(hào),本研究采用的D/A轉(zhuǎn)換模塊如圖1所示[10]。
圖1 D/A轉(zhuǎn)換模塊原理圖
圖1中,U6、U10、U11分別是 DAC0832芯片、LM358芯片、2 K電位器的原理圖。
其中,DAC0832是采樣頻率為8位的D/A轉(zhuǎn)換芯片,集成電路內(nèi)有兩級(jí)輸入寄存器,使其具備雙緩沖、單緩沖和直通3種輸入方式,且精度能達(dá)到1/256。
DAC0832芯片轉(zhuǎn)換的工作原理圖如圖2所示。
圖2 DAC0832芯片轉(zhuǎn)換的工作原理簡圖
圖2中,DAC0832由倒T型R-2R電阻網(wǎng)絡(luò)、模擬開關(guān)、運(yùn)算放大器和參考電壓VREF四大部分組成。運(yùn)算放大器輸出的模擬電壓V0為:
式中:VREF—基本電壓值,由芯片管腳VREF給定。
由上式可見,輸出的模擬電壓與輸入的數(shù)字電壓(Dn-1·2n-1+ … +D0·20)成正比,調(diào)節(jié)飛思卡爾MC9S12XS128MAL芯片端口的高低電平可改變D/A轉(zhuǎn)換模塊電平,從而調(diào)節(jié)輸出的模擬電壓的大小。
由于DAC0832的D/A轉(zhuǎn)換結(jié)果采用電流形式輸出,需要相應(yīng)的模擬電壓信號(hào),必須外接一個(gè)高輸入阻抗的線性運(yùn)算放大器來實(shí)現(xiàn)。
LM358內(nèi)部包括兩個(gè)獨(dú)立的、高增益、內(nèi)部頻率補(bǔ)償?shù)碾p運(yùn)算放大器,將DAC0832與LM358中的一個(gè)運(yùn)算放大器相連,能得到相應(yīng)的模擬信號(hào)。但是,實(shí)驗(yàn)所得的模擬信號(hào)是負(fù)電壓,而且電壓值偏小,再通過LM358的另一個(gè)運(yùn)算放大器,實(shí)現(xiàn)電壓值“翻轉(zhuǎn)”,并通過2 K電位器,調(diào)節(jié)電壓大小。
LM358適合于電源電壓范圍很寬的單電源工作模式,也適用于雙電源工作模式。該設(shè)計(jì)采用的是雙電源工作模式,需要為LM358芯片提供±9 V電壓。
為了得到LM358工作所需的-9 V電壓,本研究采用ICL7600芯片,它是MAXIM公司生產(chǎn)的小功率極性反轉(zhuǎn)電源轉(zhuǎn)換器,輸入電壓范圍是1.5 V~10 V,能把+9 V轉(zhuǎn)換為-9 V,為LM358芯片供電。
光電傳感器利用光的漫反射原理進(jìn)行工作。在電路設(shè)計(jì)過程中,因?yàn)楣怆妭鞲衅鞣答伒男盘?hào)電壓是0~24 V,而單片機(jī)能檢測(cè)的電壓是0~5 V,須增加一個(gè)光耦將光電傳感器0~24 V的輸入電壓轉(zhuǎn)換成0~5 V的電壓。經(jīng)測(cè)試,該光電傳感器工作性能良好。
超聲波避障傳感器[11]工作時(shí)序圖如圖3所示。
圖3 超聲波模塊工作時(shí)序圖
超聲波模塊的工作原理:采用I/O觸發(fā)測(cè)距,當(dāng)輸入至少10 μs的高電平信號(hào)時(shí),該模塊會(huì)自動(dòng)發(fā)送8個(gè)40 kHz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回,當(dāng)有信號(hào)返回時(shí),通過I/0端口輸出一高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)距公式為:距離=(高電平時(shí)間×聲速(340 m/s))/2。
軟件設(shè)計(jì)時(shí),首先結(jié)合機(jī)械結(jié)構(gòu)、硬件電路,繪制出程序流程圖;然后,利用Metrowerks公司為MC9S12系列專門提供的全套開發(fā)工具Freescale CodeWarrior IDE V5.1軟件編寫C語言程序代碼,并進(jìn)行編譯與調(diào)試。
本研究利用CodeWarrior IDE V5.1軟件提供的C語言集成開發(fā)環(huán)境實(shí)現(xiàn)AGV小車軟件開發(fā)設(shè)計(jì)。
CodeWarrior的功能強(qiáng)大,除了一般開發(fā)工具所具有的編碼、編譯、編輯、鏈接、調(diào)試過程外,還具有如下優(yōu)點(diǎn):用戶可在新建工程時(shí)將芯片的類庫添加到集成開發(fā)環(huán)境中,工程文件一旦生成就是一個(gè)最小系統(tǒng),并且用戶無需進(jìn)行繁瑣的初始化操作,這一點(diǎn)正是51系列單片機(jī)無法比擬的。
除了顯示小車實(shí)時(shí)信息的液晶顯示程序、避障程序外,由于小車是采用左、右電機(jī)分別驅(qū)動(dòng),還需要設(shè)計(jì)小車穩(wěn)定直線行駛與轉(zhuǎn)彎的控制算法,并編寫相應(yīng)的程序代碼。
綜合上述因素,本研究繪制的光電導(dǎo)引式AGV控制程序流程圖如圖4所示。
圖4 光電導(dǎo)引式AGV控制程序流程圖
圖4中,光電碼盤的作用是保證小車穩(wěn)定地直線行駛,當(dāng)左、右光電碼盤上測(cè)量的柵格數(shù)不同時(shí),將會(huì)使小車小幅轉(zhuǎn)彎;光電傳感器的作用是保證小車順利轉(zhuǎn)彎,當(dāng)左、右光電傳感器感應(yīng)到黑膠帶后,將會(huì)使小車大幅轉(zhuǎn)彎。避障部分采用定時(shí)中斷,因?yàn)橐?guī)定的避障距離是1 m,通過超聲波測(cè)距公式,算出測(cè)1 m距離所需時(shí)間為5.9 ms,所以設(shè)定避障傳感器每隔8 ms工作一次可達(dá)到測(cè)試要求;并且8 ms延時(shí)不通過“Delay”延時(shí)函數(shù)實(shí)現(xiàn),而采用多次主循環(huán)累計(jì)實(shí)現(xiàn),以縮短執(zhí)行一次主循環(huán)所用的時(shí)間,提高控制效率。
為使小車穩(wěn)定直線行駛,需通過控制左右電機(jī)速度的增減以抵消左右電機(jī)之間的微小速度偏差。為了實(shí)現(xiàn)上述目的,本研究設(shè)計(jì)了一個(gè)基于偏差累積的算法。實(shí)現(xiàn)該算法的程序代碼如下所示:
上述程序中,A與B分別代表左、右光電碼盤轉(zhuǎn)過的光柵數(shù),如果A=B,左右光電碼盤通過的光柵數(shù)相等,說明小車左、右后輪的速度相同。當(dāng)(B-A)>2,則右光電碼盤轉(zhuǎn)過的光柵數(shù)大于左光電碼盤轉(zhuǎn)過的光柵數(shù),說明右輪的速度大于左輪的速度,需通過小幅右轉(zhuǎn)來調(diào)節(jié)以使小車保持直線行駛;對(duì)于(A-B)>2的情況,可依此類推。
為了驗(yàn)證小車能夠穩(wěn)定地沿著黑膠帶行走,本研究通過在實(shí)驗(yàn)室地面上粘貼黑膠帶的方式進(jìn)行現(xiàn)場(chǎng)實(shí)驗(yàn)測(cè)試。
光電導(dǎo)引式小車及實(shí)驗(yàn)場(chǎng)地如圖5所示。
圖5 光電導(dǎo)引式AGV實(shí)物圖
圖5中,小車的上表面除了安裝一個(gè)電池盒用于存放電池外,其他平整表面部分用于裝運(yùn)貨物。經(jīng)過現(xiàn)場(chǎng)測(cè)量,小車上表面與地面的平行度保持良好。
為了控制小車直線行駛或轉(zhuǎn)向,本研究需要向控制器輸入兩組模擬電壓,此處定義為黃線電壓和綠線電壓。通過實(shí)驗(yàn),分別測(cè)得了多組黃、綠線電壓值下左、右電機(jī)(前進(jìn)方向?yàn)闇?zhǔn))的轉(zhuǎn)速值,如圖6、圖7所示。
圖6 左電機(jī)轉(zhuǎn)速與黃綠線控制電壓曲線圖
圖7 右電機(jī)轉(zhuǎn)速與黃綠線控制電壓曲線圖
如圖6所示,從實(shí)驗(yàn)測(cè)試數(shù)據(jù)獲得的擬合曲線可知,左電機(jī)轉(zhuǎn)速大部分穩(wěn)定在0.5 m/s,并且綠線電壓值大部分在3.3 V~3.5 V之間,黃線電壓值大部分在2.4 V~2.6 V之間。為了使小車直線行駛,需輸入連續(xù)數(shù)據(jù)點(diǎn)代表的電壓值,而為了使小車轉(zhuǎn)向,則需輸入離散數(shù)據(jù)點(diǎn)代表的電壓值。
圖7中的曲線規(guī)律與圖6相似,通過與圖6相同的分析方法可獲得右電機(jī)穩(wěn)定工作的控制電壓值。
基于飛思卡爾芯片控制技術(shù),本研究開發(fā)了光電導(dǎo)引式AGV小車。實(shí)地測(cè)試結(jié)果表明,小車性能總體上達(dá)到了預(yù)期指標(biāo)。同時(shí),筆者提出的偏差累積控制算法在小車行駛過程控制中獲得了良好的應(yīng)用,為以后的研究提供了重要參考依據(jù)。
在后續(xù)研究中,將在工廠車間開展小車測(cè)試,檢驗(yàn)小車在更為復(fù)雜的路面條件下的性能;同時(shí),該小車現(xiàn)階段尚未安裝藍(lán)牙模塊,無法實(shí)現(xiàn)對(duì)小車的遠(yuǎn)程控制,為了彌補(bǔ)該不足,筆者計(jì)劃在后續(xù)的項(xiàng)目中增設(shè)藍(lán)牙模塊,以實(shí)現(xiàn)對(duì)小車的遠(yuǎn)程控制。
[1]HAMZHEEL M,F(xiàn)ARAHANI 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學(xué)習(xí)算法的AGV路徑規(guī)劃研究[J].制造業(yè)自動(dòng)化,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控制系統(tǒng)在煙草物流過程中的應(yīng)用[J].自動(dòng)化與儀表,2012,27(5):39-45.
[7]梁春苗,黃玉美,王小波.基于PMAC的自動(dòng)導(dǎo)引運(yùn)輸車智能控制[J].機(jī)電工程,2009,26(8):98-99.
[8]李醫(yī)中,夏 田.基于CPAC運(yùn)動(dòng)控制卡的AGV控制系統(tǒng)開發(fā)[J].機(jī)電工程技術(shù),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]程斌杰,魏逢原,金孟加.基于加速度傳感器的智能小車路況自動(dòng)測(cè)量系統(tǒng)[J].機(jī)電工程,2012,29(10):1192-1194.