引言
AGV(Automated Guided Vehicle)是指裝備有電磁或光學(xué)等自動(dòng)導(dǎo)引裝置,能夠沿規(guī)定的導(dǎo)引路徑行駛,具有各種移載功能的運(yùn)輸車。無人AGV廣泛地應(yīng)用于現(xiàn)代工業(yè)控制系統(tǒng)中,能完成人工條件下不能完成的任務(wù),可以保障系統(tǒng)在不需要人工導(dǎo)航的情況下自動(dòng)行駛。
AGV包含了自動(dòng)控制系統(tǒng)、引導(dǎo)方式的系統(tǒng)和信息無線傳輸?shù)炔糠帧Mㄟ^各種算法研究,該設(shè)計(jì)有效地確定了小車的位置且能很好控制小車運(yùn)行狀態(tài)。小車運(yùn)行時(shí),可以實(shí)時(shí)采集數(shù)據(jù)并傳回電腦,從而很好地對(duì)周圍環(huán)境進(jìn)行監(jiān)控。系統(tǒng)利用電磁軌道(Electromagnetic path-following System)設(shè)立其行進(jìn)路線,電磁軌道黏貼於地板上,無人搬運(yùn)車則依循電磁軌道所帶來的信息進(jìn)行移動(dòng)與動(dòng)作,并自動(dòng)采集相關(guān)信息。根據(jù)小車采集的信息,上位機(jī)給小車發(fā)送指令,控制攝像頭轉(zhuǎn)動(dòng),以便獲取不同區(qū)域的視頻信息。
1 系統(tǒng)硬件設(shè)計(jì)
AGV系統(tǒng)結(jié)構(gòu)框如圖1所示,上位機(jī)首先通過遙控的方式給小車指定運(yùn)行路徑;小車上的電磁傳感器將采集到的電磁信號(hào)經(jīng)過放大檢波變成直流電壓信號(hào),單片機(jī)再對(duì)該信號(hào)進(jìn)行模/數(shù)轉(zhuǎn)換,利用PID算法,獲取小車距離中心位置的偏差,再把差值賦給舵機(jī),從而實(shí)現(xiàn)小車沿著導(dǎo)線的中心自動(dòng)運(yùn)行;最后,小車采集的數(shù)據(jù)實(shí)時(shí)傳回電腦顯示,與此同時(shí),上位機(jī)可給小車發(fā)出指令,讓小車執(zhí)行相關(guān)任務(wù)。
1.1 中央控制器
中央處理器采用Freescale公司推出的S12系列單片機(jī)中的一款增強(qiáng)型16位單片機(jī)MC9S12DG128(以下簡(jiǎn)稱DG128),片內(nèi)資源及I/O接口豐富,接口模塊包括SPI,SCI,IIC,A/D,PWM等,在汽車電子應(yīng)用領(lǐng)域具有廣泛的用途。
MC9S12G128的單片運(yùn)行方式是最常用的應(yīng)用方式。因片內(nèi)已經(jīng)有較大的RAM,F(xiàn)LASH空間,一般無需擴(kuò)展外部RAM或外部FLASH。本設(shè)計(jì)應(yīng)用DG128來實(shí)現(xiàn)對(duì)系統(tǒng)的總體控制。
1.2 速度采集模塊
速度檢測(cè)利用霍爾效應(yīng)來實(shí)現(xiàn)。當(dāng)一塊通有電流的金屬或半導(dǎo)體薄片垂直地放在磁場(chǎng)中時(shí),薄片的兩端就會(huì)產(chǎn)生電位差,兩端具有的電位差值稱為霍爾電勢(shì)U,其表達(dá)式為:
U=K·I·B/d (1)
式中:K為霍爾系數(shù);I為薄片中通過的電流;B為外加磁場(chǎng)(洛倫茲力Lorrentz)的磁感應(yīng)強(qiáng)度;d是薄片的厚度。
霍爾片的輸入端是以磁感應(yīng)強(qiáng)度B來表征的,當(dāng)B值達(dá)到一定的程度時(shí),霍爾開關(guān)內(nèi)部的觸發(fā)器翻轉(zhuǎn),霍爾開關(guān)的輸出電平狀態(tài)也隨之翻轉(zhuǎn)。輸出端一般采用晶體管輸出,和接近開關(guān)類似。當(dāng)有磁鋼接近霍爾片的時(shí)候時(shí)(在一定的距離范圍內(nèi)才有反應(yīng)),設(shè)置單片機(jī)定時(shí)器的時(shí)間為t,計(jì)數(shù)器計(jì)數(shù)為n,一個(gè)轉(zhuǎn)盤上的磁鋼數(shù)量為s,則轉(zhuǎn)速(單位:r/s)的計(jì)數(shù)公式為:
speed=(n/s)/t (2)
1.3 無線傳輸模塊
本設(shè)計(jì)采用DTD462無線傳輸模塊,西安達(dá)泰公司生產(chǎn)的DTD462無線傳輸模塊,廣泛地運(yùn)用于無線數(shù)據(jù)傳輸領(lǐng)域。它能提供高穩(wěn)定,高可靠,低成本的數(shù)據(jù)傳輸,還提供了豐富的外圍接口,并具有安裝維護(hù)方便,繞射能力強(qiáng),組網(wǎng)結(jié)構(gòu)靈活,范圍覆蓋寬等特點(diǎn)。采集數(shù)據(jù)的實(shí)時(shí)傳送,滿足客戶對(duì)于數(shù)據(jù)實(shí)時(shí)性,準(zhǔn)確性的要求。此類無線傳輸方式有高可靠性、體積小、重量輕,傳輸距離30~300 m等特點(diǎn)。系統(tǒng)攝像頭采集到的視頻信息通過DTD462嵌入式無線數(shù)據(jù)傳輸方式,傳輸?shù)浇邮斩嗽谏衔粰C(jī)軟件中顯示監(jiān)視圖像。
1.4 電機(jī)控制模塊
在電機(jī)控制模塊的設(shè)計(jì)中,使用IRFZ44N和IRF9540N搭建了H橋電路,能夠?qū)崿F(xiàn)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn)。用光耦對(duì)單片機(jī)的輸出調(diào)制信號(hào)進(jìn)行隔離輸出,能有效地消除電機(jī)轉(zhuǎn)動(dòng)對(duì)單片機(jī)的工作干擾。電機(jī)的控制模塊電路如圖2所示。調(diào)試過程:當(dāng)PWM2的輸出為高電平,PWM1為低電平時(shí),U5輸出低電平,U6輸出高電平;U1的d,s導(dǎo)通,d接地,U2的d端接地,而U3的d,s截止,U4的d,s導(dǎo)通,輸出高電平,因此電機(jī)正轉(zhuǎn);反之,若PWM2的輸出為低電平,PWM1為高電平時(shí),電機(jī)反轉(zhuǎn)。小車的轉(zhuǎn)向和攝像頭的轉(zhuǎn)動(dòng)是用2個(gè)舵機(jī)來分別驅(qū)動(dòng)的。通過編程用軟件輸出標(biāo)準(zhǔn)PWM信號(hào)來驅(qū)動(dòng)舵機(jī),一般PWM控制信號(hào)的周期為20 ms。當(dāng)給舵機(jī)輸入脈寬為0.5 ms,即占空比為0.5/20=2.5%的調(diào)制波時(shí),舵機(jī)右轉(zhuǎn)90°;當(dāng)給舵機(jī)輸入脈寬為1.5 ms,即占空比為1.5/20=7.5%的調(diào)制波時(shí),舵機(jī)靜止不動(dòng);當(dāng)給舵機(jī)輸入脈寬為2.5 ms,即占空比為
2.5/20=12.5%的調(diào)制波時(shí),舵機(jī)左轉(zhuǎn)90°??梢酝茖?dǎo)出舵機(jī)轉(zhuǎn)動(dòng)角度與脈沖寬度的關(guān)系計(jì)算公式為:
t=1.5±θ/90° (3)
式中:t為正脈沖寬度(單位:ms);θ為轉(zhuǎn)動(dòng)角度。注意當(dāng)左轉(zhuǎn)時(shí)取加法計(jì)算,右轉(zhuǎn)時(shí)取減法計(jì)算結(jié)果。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 控制算法
該設(shè)計(jì)重點(diǎn)是研究以下的控制算法,即平均值濾波算法,位置加權(quán)和PID算法。
平均值算法是對(duì)電感獲取的信號(hào)進(jìn)行放大檢波之后,累加多次,在取平均值,可以有效去掉干擾的影響。
式中:get_ad[i]表示第i次取得的ad值;n表示取ad的次數(shù)位置加權(quán)就是對(duì)電磁傳感器的ad平均值進(jìn)行位置加權(quán),獲得小車的位置。小車的位置在[10,110]范圍內(nèi)變化,具體計(jì)算如式(5)所示:
position=(110*ad_result[0]+10*ad_result[1])/(ad_result[0]+ad_result[1]) (5)
式中:ad_result[0]表示其中一路輸入信號(hào)的平均值;ad_result[1]表示另一路輸入信號(hào)的平均值;position即加權(quán)后的位置值。
PID算法是根據(jù)position算出某一時(shí)刻的位置偏差,再對(duì)偏差進(jìn)行PID的運(yùn)算,從而得到舵機(jī)的轉(zhuǎn)角。
duoji=1155+KP*error[1]+KI*(error[1]+error[0])+KD*(error[1]-erroe[0]) (6)
式中:error[1]是此時(shí)刻的偏差;error[0]是上一時(shí)刻的偏差;KP,KI,KD分別是比例系數(shù)、積分系數(shù)和微分系數(shù)。
2.2 傳輸數(shù)據(jù)的編碼和解碼
由于單片機(jī)所傳輸?shù)臄?shù)據(jù)只能以字符的ASCII傳輸,所以需要對(duì)傳輸?shù)臄?shù)字信號(hào)進(jìn)行編碼傳輸。比如傳輸數(shù)據(jù)是1,而a的ASCII值是65,故可將1+64=65,即1的值等于a(65),接收端接到字符a的ASCII值65,將65-64=1,即進(jìn)行了譯碼。以此類推,2當(dāng)作b(66),3當(dāng)作c(99)。對(duì)0~9十個(gè)數(shù)分別等價(jià)于@,A,B,C,D,E,F(xiàn),G,H,I。
設(shè)計(jì)中由于ASCII在傳輸時(shí),是作為二進(jìn)制碼串行輸出,每一位的持續(xù)時(shí)間是100μs,傳輸一個(gè)ASCII值至少需要800μs,因此為了不讓接收端亂碼,經(jīng)過測(cè)試得到發(fā)送兩個(gè)ASCII值之間時(shí)間必須大于1 200μs。與此同時(shí),在發(fā)送一組數(shù)據(jù)時(shí),必須先發(fā)送一個(gè)起始位。在編程時(shí),為了不使接收數(shù)據(jù)發(fā)送錯(cuò)誤,對(duì)接收數(shù)據(jù)的首位進(jìn)行校驗(yàn),如果首位與發(fā)送數(shù)據(jù)首位一致,這就說明該組數(shù)據(jù)有效,首位字符是是先設(shè)置好了的,二者保持一致。
2.3 上位機(jī)及通信
在上位機(jī)端以VB為開發(fā)工具,利用其豐富的圖形界面,能夠?qū)崿F(xiàn)轉(zhuǎn)速等信息的實(shí)時(shí)顯示,并且可以很方便地利用設(shè)置的按鈕通過無線方式發(fā)出指令。
通過電腦實(shí)現(xiàn)了一對(duì)多的通信方式,既可以實(shí)現(xiàn)對(duì)道路選擇端的控制,又可以實(shí)現(xiàn)對(duì)小車上面舵機(jī)的控制。上位機(jī)軟件流程如圖3所示。
3 結(jié)語
對(duì)于AGV來說,保證運(yùn)動(dòng)的可靠性、精確性是非常重要的,它涉及到機(jī)構(gòu)設(shè)計(jì)、傳感器技術(shù)、自動(dòng)控制及軟件科學(xué)等很多方面,是一項(xiàng)比較復(fù)雜的系統(tǒng)性研究工作。該設(shè)計(jì)中重點(diǎn)研究了小車的各種控制算法,將其運(yùn)用到小車的控制中,小車貼著鋪設(shè)的軌道運(yùn)行平穩(wěn),取得了較好的效果。小車進(jìn)行自主導(dǎo)航的時(shí)候,外界環(huán)境對(duì)它的干擾很小。除此外,AGV還能在夜間獨(dú)立的運(yùn)行,攝像頭還能較清晰地拍攝夜間圖像。實(shí)驗(yàn)表明,該AGV能廣泛應(yīng)用于無人搬運(yùn)、無人環(huán)境監(jiān)控、危險(xiǎn)環(huán)境監(jiān)控等場(chǎng)合。系統(tǒng)實(shí)用、經(jīng)濟(jì)、可靠,因此該AGV具有很大的市場(chǎng)推廣價(jià)值。
2022-09-13 10:13
2021-10-12 10:11
2021-08-28 10:43
2021-08-28 10:40
2021-08-28 10:33
2021-08-28 08:54
2021-08-28 08:54
2021-08-28 08:48
2021-08-27 10:57
2021-08-26 09:41