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