謝智陽 , 譚 勇
(1.河源職業(yè)技術(shù)學(xué)院,廣東 河源 517000;2.河源市工業(yè)機器人技術(shù)應(yīng)用工程技術(shù)研究中心,廣東 河源 517000)
一直以來,智能小車、循跡小車都是機器人基礎(chǔ)領(lǐng)域研究的熱點,如文獻[1]將智能小車應(yīng)用于機器人巡邏領(lǐng)域,然而良好的移動性能應(yīng)需具備在直線賽道時快速穩(wěn)定運行,在遇到各種彎道時能平穩(wěn)快速通過,為此需在小車的機械機構(gòu)、動力驅(qū)動和控制算法上進行優(yōu)化設(shè)計。文獻[2-4]運用模糊控制策略在智能車控制中取得了一定的控制效果,文獻[5]將灰色PID控制算法應(yīng)用于智能車控制系統(tǒng)。然而眾多研究中卻忽略了PWM驅(qū)動頻率和傳感器的安裝位置對智能小車控制的影響。本文以Arduino Uno為控制核心設(shè)計了4輪驅(qū)動循跡小車,重點在這兩個方面進行了實驗研究。
圖1 系統(tǒng)總體設(shè)計框圖
系統(tǒng)總體設(shè)計框圖見圖1。該系統(tǒng)以Arduino UNO單片機為控制核心,主要由14V電池、DC-DC可調(diào)降壓模塊、電機驅(qū)動模塊BTS7960、黑皮電機、光電傳感器、紅外傳感器和車體組成。由于系統(tǒng)采用了4輪電機進行驅(qū)動,因此選用了相對高電壓和大容量的14V電池模塊,確保系統(tǒng)的穩(wěn)定運行。14V電池模塊經(jīng)DC-DC可調(diào)電壓模塊降壓后給單片機系統(tǒng)和傳感器等部件供電。
本文采用BTS7960芯片組成的全H橋驅(qū)動模塊來驅(qū)動黑皮電機,在電路中加裝了光耦器件以減少驅(qū)動對單片機的干擾沖擊,使單片機可以正常穩(wěn)定工作。該電機模塊在緊急制動、驅(qū)動方面具有良好的使用效果。
電機是小車主要的動力裝置,步進電機和直流電機是市面上主要的兩種驅(qū)動電機。步進電機的優(yōu)點是對速度跟移動距離的控制更加精準,但最大的缺點是移動速度相對緩慢,沒有直流電機速度快;一般的直流電機,速度雖快,但扭矩不夠,容易造成空轉(zhuǎn)。因此本文采用GM25-370黑皮微型直流減速電機 (減速比1∶20),空載轉(zhuǎn)數(shù)參數(shù)為490r/min、0.3A,較大的扭矩可以適應(yīng)復(fù)雜路段,具有較強的動力及制動性能。
循跡傳感器用于檢測賽道的信息,其前瞻性和檢測精度是影響小車的過彎性能和速度的重要因素。本文選用5路紅外循跡模塊,為了讓小車具有較好的前瞻性,在小車設(shè)計上采用的是短軸距的設(shè)計理念,將小車的循跡模塊前移5~7cm,這樣可以讓系統(tǒng)提前獲取賽道信息并進行預(yù)判,更容易在彎道中提前轉(zhuǎn)彎,走出最優(yōu)路徑。模塊安裝距離車輪較短,會導(dǎo)致小車反應(yīng)時間過短,預(yù)判性不強,性能較差;模塊安裝距離車輪較長,會導(dǎo)致在上坡時發(fā)生剮蹭,到達坡頂時亦會丟失信號,導(dǎo)致小車失控。本文采用“八”字形對傳感器進行非均勻分布布局,中間密兩邊疏,以提高檢測的連續(xù)性,利于算法控制,具體布局見圖2,模型3D設(shè)計圖見圖3。
圖2 5路循跡模塊安裝位置圖
圖3 智能小車設(shè)計模型圖
本文所設(shè)計的小車并無轉(zhuǎn)向機構(gòu),需要通過4個輪子的差速實現(xiàn)轉(zhuǎn)彎。以單片機為控制核心,5路循跡模塊、電機驅(qū)動模塊和黑皮電機形成閉環(huán)控制,該閉環(huán)的輸入為5路循跡模塊對路徑判別經(jīng)模糊控制處理后輸出PWM所需的值,控制電機驅(qū)動模塊直接驅(qū)動4個輪子的電機。以小車的位置情況作為賽道路線判別反饋給單片機,形成一個閉環(huán)控制系統(tǒng),具體策略見圖4。
圖4 智能小車轉(zhuǎn)向系統(tǒng)圖
小車在賽道行駛過程中,要求精準控制轉(zhuǎn)彎角度,本文通過4個黑皮電機差速控制實現(xiàn)小車轉(zhuǎn)向,針對小車轉(zhuǎn)彎角度θ有:當θ>0時,左電機反轉(zhuǎn),右電機稍微減速,小車向左轉(zhuǎn)向,u左<u右;當θ<0時,右電機反轉(zhuǎn),左電機稍微減速,小車向右轉(zhuǎn)向,u左>u右;當θ=0時,左右電機同速運行,直向行駛,u左=u右。
通過5路循跡模塊上的LED指示燈工作狀態(tài)判斷小車的實際路徑探測情況。為了能更加準確地判斷出小車的運動狀態(tài),制定了LED指示燈與小車運動狀態(tài)對照表,見表1,用于后續(xù)的編程實現(xiàn)。
表1 小車運動狀態(tài)對照表
為了避免多個if語句來判斷是否接收信號帶來的延遲,本文采用switch語句,可以從性能上提高小車的控制實時性,對5路循跡傳感器采集的路徑信息進行加權(quán)求和,并將結(jié)果賦值給Possum,通過判斷Possum的值選擇性執(zhí)行相關(guān)的子程序,具體控制流程見圖5。
圖5 系統(tǒng)程序框圖
本文的試驗賽道中有直道、普通彎道、大彎道、S型彎道和上下坡等情況,賽道情況復(fù)雜,單一的控制方式難以獲得良好的控制效果,需對各種彎道調(diào)試出小車的控制程序及相關(guān)的PWM參數(shù)值。
直流電機的PWM調(diào)速方式大致可分為3種,分別是調(diào)頻調(diào)寬法、定寬調(diào)頻法和定頻調(diào)寬法[6-9]。定頻調(diào)寬法是目前最常用也是最有效的方法,本文用此方法對驅(qū)動電機進行調(diào)速,PWM調(diào)速策略除了受占空比的影響之外,PWM信號的頻率亦會對電機的調(diào)速產(chǎn)生較大的影響,因此首先需通過試驗獲得PWM調(diào)速的最佳頻率,然后再通過調(diào)整PWM的占空比實現(xiàn)對電機的調(diào)速。
經(jīng)實驗測試,驅(qū)動電機的PWM頻率小于150Hz時,小車速度抖動明顯,PWM頻率大于500Hz時,小車行駛速度隨著頻率的增高而下降。本文最終確定PWM的頻率為490Hz,小車在該頻率點工作平穩(wěn),控制效果較好。
經(jīng)測試,小車在低速的時候穩(wěn)定性良好,當車速高于一定值時,小車時常沖出賽道。在此背景下,本文通過實驗研究了傳感器安裝距離對小車差速轉(zhuǎn)向的影響,為此,設(shè)定了3種實驗方案,運用相同的控制方法沿賽道跑3圈,并記錄運行3圈的時間,觀察小車沿黑線行駛性能,在失誤的地方做標記。
1)方案1:傳感器與車前輪的距離為5cm,輪胎使用65mm的抓地胎。
2)方案2:傳感器與車前輪的距離在5cm的基礎(chǔ)上加長5~7cm,輪胎使用65mm的抓地胎。
3)方案3:傳感器與車前輪的距離在5cm的基礎(chǔ)上加長10cm,輪胎使用65mm的抓地胎。
測試數(shù)據(jù)如表2所示,各種過彎的軌跡圖如圖6所示。實驗表明,方案2取得了最佳效果。
由于循跡傳感器前瞻過長,在坡頂時,小車容易接收不到信號,導(dǎo)致飛出賽道。實驗結(jié)果表明,適當?shù)卦黾有≤嚨那罢靶?,小車能以較快的速度穩(wěn)定地通過各種彎道,并且運行軌跡非常理想,小車始終沿著賽道中心線的位置運行。在速度較快時,有效緩解了電機響應(yīng)速度慢和轉(zhuǎn)彎不連續(xù)的缺點,同時增加了控制的實時性。圖7為小車上坡檢測距離圖。
表2 實驗數(shù)據(jù)表
圖6 3種方案過彎軌跡圖
圖7 小車上坡檢測距離圖
本文以Arduino單片機為控制核心,闡述了4輪小車的硬件設(shè)計思路和軟件控制策略,并得出了部分模塊的參數(shù)、硬件布局和系統(tǒng)軟件設(shè)計流程,實驗分析了PWM技術(shù)對黑皮電機調(diào)速性能的影響,以及分別從3個實驗方案實驗測試了傳感器布局和前瞻性對循跡小車差速轉(zhuǎn)向系統(tǒng)的影響。實驗得出了最佳的PWM控制頻率和最優(yōu)的傳感器布局距離,有效增加小車控制的實時性、響應(yīng)性,運行速度較快且很穩(wěn)定。本文給出的研究方法能有效提高循跡小車控制效果,是提高比賽成績的有效策略。