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