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