黃 丹, 羅文廣, 文家燕, 藍(lán)紅莉
(廣西科技大學(xué) 電氣與信息工程學(xué)院, 廣西 柳州 545006)
為在電氣信息類本科生的“計(jì)算機(jī)控制技術(shù)”課程中實(shí)施研究性教學(xué),筆者曾開發(fā)了LED照明閉環(huán)控制實(shí)驗(yàn)系統(tǒng)[1]。提高學(xué)生的學(xué)習(xí)興趣和自主學(xué)習(xí)能力,又研究開發(fā)了一個(gè)難度稍大、趣味性較強(qiáng)的智能小車自主尋優(yōu)控制實(shí)驗(yàn)系統(tǒng)。智能小車又稱輪式機(jī)器人,早期主要應(yīng)用于惡劣環(huán)境或人類難以工作的環(huán)境,如高地壓、瓦斯、太空等環(huán)境,主要進(jìn)行相關(guān)的服務(wù)與檢測。隨著科學(xué)技術(shù)的發(fā)展,智能小車已得到廣泛的應(yīng)用[2],但對(duì)其功能的要求也越來越高,例如自定位功能、動(dòng)態(tài)隨機(jī)避障功能和實(shí)時(shí)適應(yīng)導(dǎo)航功能等??刂葡到y(tǒng)是智能小車的關(guān)鍵部件,對(duì)于高年級(jí)本科學(xué)生和低年級(jí)的研究生來說,設(shè)計(jì)和制作該控制系統(tǒng)具有一定的難度,但卻更適合學(xué)生進(jìn)行研究性學(xué)習(xí)。
智能小車控制系統(tǒng)的設(shè)計(jì)要求是能使智能小車實(shí)時(shí)避障、測距和路徑跟蹤,應(yīng)用人工勢場路徑規(guī)劃法,根據(jù)障礙物距離及目標(biāo)位置距離,判斷出最優(yōu)路徑,并以最快、最穩(wěn)的方式到達(dá)終點(diǎn)。
根據(jù)設(shè)計(jì)要求以及路徑規(guī)劃的基本設(shè)計(jì)方法,制訂了實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)方案。
(1) 智能小車車體結(jié)構(gòu)和控制系統(tǒng)原理。傳感器、電機(jī)、電源安裝在底盤下部,控制電路板與底盤分上下兩層安裝,為使結(jié)構(gòu)簡單且具有平穩(wěn)性,使用3輪結(jié)構(gòu)車體,其中前排左輪和右輪為驅(qū)動(dòng)輪,后方中心裝有萬向輪起支撐作用(見圖1)。控制系統(tǒng)的硬件原理如圖2所示。
圖1 智能小車車體結(jié)構(gòu)
圖2 控制系統(tǒng)硬件原理框圖
(2) 測距及避障設(shè)計(jì)方案。為了提高智能小車避開障礙物的準(zhǔn)確度,可同時(shí)采用紅外線和超聲波傳感器的測距方案[2-3]。紅外線能夠檢測到較遠(yuǎn)距離的障礙物,而超聲波則能夠較精確地測距。兩者結(jié)合可有效地實(shí)施測距和避障[4]。本實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)智能小車與障礙物直線距離5 cm時(shí)進(jìn)行避障。
(3) 路徑規(guī)劃算法選擇。能夠選擇最優(yōu)路徑到達(dá)給定的目標(biāo)位置。人工勢場法主要將小車運(yùn)動(dòng)假想為引力場中的運(yùn)動(dòng)。一般來說,應(yīng)用該算法會(huì)產(chǎn)生一條比較平滑且安全的路徑,但存在局部最優(yōu)點(diǎn)問題。已有學(xué)者解決此問題,可利用Matlab仿真驗(yàn)證。
(4) 智能小車車體方位確定。完成車體方位計(jì)算的基本數(shù)據(jù)是車輪前進(jìn)或后退的距離,這是通過對(duì)驅(qū)動(dòng)車輪的電機(jī)轉(zhuǎn)動(dòng)角度的周期性采樣而獲取的。光電編碼器(光碼盤)連接在左右電機(jī)軸上,隨電機(jī)的轉(zhuǎn)動(dòng),光電編碼器發(fā)出A、B兩相脈沖,相位的超前或滯后關(guān)系代表了電機(jī)的正轉(zhuǎn)或反轉(zhuǎn)。鑒相電路與脈沖計(jì)算電路相結(jié)合,以增加或減小的形式發(fā)出十六進(jìn)制代碼,從而可判斷出左右電機(jī)正、反轉(zhuǎn)的角位移變化情況。在車輪不打滑和車輪直徑參數(shù)準(zhǔn)確的情況下,電機(jī)軸的角位移與左右驅(qū)動(dòng)輪行走的距離存在比例關(guān)系。將上述光碼盤發(fā)出的脈沖計(jì)數(shù)處理后所得之信息傳輸給小車控制系統(tǒng),便可實(shí)現(xiàn)小車的路徑跟蹤實(shí)時(shí)控制。為實(shí)現(xiàn)這一功能,建立小車運(yùn)動(dòng)數(shù)學(xué)模型,并進(jìn)行積分公式的適當(dāng)離散化,構(gòu)造合適的算法,并在車載微處理器上實(shí)現(xiàn)。
智能小車自主尋優(yōu)控制實(shí)驗(yàn)系統(tǒng)以STC89C52單片機(jī)為控制核心,其電源是由7805穩(wěn)壓芯片提供的5 V電壓。其他主要電路包括電機(jī)驅(qū)動(dòng)電路、測距和避障電路等。
電機(jī)驅(qū)動(dòng)電路如圖3所示。電路主要由功率三極管(T1—T8)以及與門、非門電路構(gòu)成,用于提供足夠大的輸出功率驅(qū)動(dòng)電機(jī)運(yùn)行。圖3中,信號(hào)端ENA、IN1、IN2用于控制左電機(jī),信號(hào)端ENB、IN3、IN4用于控制右電機(jī),這些信號(hào)端都由單片機(jī)提供。ENA、ENB為使能端,僅當(dāng)它們?yōu)楦唠娖健?”時(shí)才可驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。IN1、IN2和IN3、IN4用于控制左、右電機(jī)的轉(zhuǎn)速以及正反轉(zhuǎn),由單片機(jī)提供給這些端子PWM脈沖信號(hào)來控制電機(jī)的轉(zhuǎn)速。當(dāng)PWM脈沖信號(hào)占空比較小時(shí),三極管的導(dǎo)通時(shí)間較短,智能小車的行走速度較慢;當(dāng)占空比較高時(shí),三極管近似導(dǎo)通,智能小車的行走速度最快。設(shè)計(jì)時(shí)提供不同占空比的PWM脈沖信號(hào),將速度分為8個(gè)等級(jí)。小車直走時(shí)左右輪電機(jī)速度均為同一速度;轉(zhuǎn)向時(shí),通過控制左右輪電機(jī)速度差來實(shí)現(xiàn)車體的轉(zhuǎn)向。例如當(dāng)左輪電機(jī)速度大于右輪時(shí),車體會(huì)向右轉(zhuǎn)向。
圖3 H橋電機(jī)驅(qū)動(dòng)電路
測距和避障電路主要由紅外線傳感器和超聲波傳感器模塊構(gòu)成。紅外傳感器能夠檢測到較遠(yuǎn)前方的障礙物[5]。障礙物的顏色均設(shè)為黑色,當(dāng)有障礙物時(shí),傳感器接收反射回來的紅外光很少,達(dá)不到傳感器動(dòng)作的水平,使傳感器輸出高電平。單片機(jī)通過檢測傳感器的輸出端是高電平“1”或低電平“0”來判斷有無障礙物。
超聲波模塊包括超聲波發(fā)射器、接收器與控制電路。超聲波發(fā)生器內(nèi)部有2個(gè)壓電晶片和一個(gè)共振板。當(dāng)施加于壓電晶片兩極的脈沖信號(hào)頻率等于其固有振蕩頻率時(shí),壓電晶片將產(chǎn)生共振并帶動(dòng)共振板振動(dòng),便產(chǎn)生超聲波。如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),就成為超聲波接收器。只需提供一個(gè)脈寬10 μs以上的脈沖觸發(fā)信號(hào),該模塊內(nèi)部將發(fā)出8個(gè)40 kHz周期電平并檢測回波,回波信號(hào)的脈沖寬度與所測得距離成正比。在超聲波測距測電路中,發(fā)射端得到輸出脈沖為一系列方波,其寬度為發(fā)射超聲的時(shí)間間隔,被測物距離越大,脈沖寬度越大,輸出脈沖個(gè)數(shù)與被測距離成正比。超聲波傳播速度v近似為v=331.5+0.607T(T為現(xiàn)場的溫度),測出發(fā)射和接收回波的時(shí)間差t,即可計(jì)算出距離為S=vt/2。
應(yīng)用人工勢場法進(jìn)行路徑規(guī)劃[6]。智能小車在人工勢場中的受力如圖4所示。人工勢場法在小車的運(yùn)動(dòng)空間創(chuàng)建了一個(gè)勢場。Fa表示目標(biāo)對(duì)小車的引力,隨著與目標(biāo)距離增加而單調(diào)遞增。Fr表示目標(biāo)對(duì)小車的斥力(亦即障礙物對(duì)小車的引力),隨著小車與障礙物的距離增加而單調(diào)遞減。F表示引力和斥力的合力,小車沿著合力的方向運(yùn)動(dòng)。
圖4 智能小車受力圖
小車受到的合力:
F(X)=Fa(X)+Fr(X)
(1)
式中,X表示運(yùn)動(dòng)小車在工作空間中的位置。
定義勢場函數(shù)為:
U(X)=Ua(X)+Ur(X)
(2)
式中,Ua(X)、Ur(X)分別為目標(biāo)點(diǎn)和障礙物對(duì)智能小車的引力勢場和斥力勢場。
定義引力勢場為:
(3)
式中,K為大于0的引力勢場常量;Xg為目標(biāo)點(diǎn)位置。
定義引力為勢場的負(fù)梯度
Fa(X)=-grad(Ua(X))=K(Xg-X)
(4)
定義斥力勢場為:
(5)
式中,m為大于0的斥力勢場常量;ρ為障礙物的范圍;X0為障礙物位置。
定義斥力為勢場的負(fù)梯度
(6)
合力F決定了智能小車的運(yùn)動(dòng)。用Matlab進(jìn)行仿真實(shí)驗(yàn),結(jié)果如圖5所示。圖中,圓圈表示已設(shè)定好的障礙物坐標(biāo),曲線表示最優(yōu)路徑,該智能小車能夠?qū)崿F(xiàn)自主避障、尋找最優(yōu)路徑到達(dá)終點(diǎn)。
圖5 Matlab人工勢場法仿真結(jié)果
在障礙物位置坐標(biāo)已知的情況下,智能小車的運(yùn)動(dòng)控制實(shí)質(zhì)是跟蹤人工勢場法確定最優(yōu)路徑。智能小車每遇到障礙物時(shí),傳感器測得實(shí)時(shí)位置信息,并將期望路徑的位置信息修正為實(shí)時(shí)位置信息,實(shí)現(xiàn)跟蹤控制[7-8]。
如圖6所示,O′點(diǎn)為車體位置參考點(diǎn),車體中心線O′A與橫向坐標(biāo)軸的夾角θ(t)代表車體方向,X(t)、Y(t)、θ(t)代表了車體的方位。其坐標(biāo)系的狀態(tài)由前軸中點(diǎn)坐標(biāo)(x,y)及θ表示,即
W=[X(t),Y(t),θ(t)]T
令位姿矢量W=[X(t),Y(t),θ(t)]T,速度矢量u=(VL,VR)T,其中從VL、VR分別為小車的左輪平移速度和右輪平移速度,則小車的運(yùn)動(dòng)學(xué)模型為:
(7)
伺服系統(tǒng)的反饋信號(hào)分別取自安裝在兩個(gè)電機(jī)軸上的光電編碼器,其中一個(gè)電機(jī)用作左輪驅(qū)動(dòng)用,另一個(gè)電機(jī)作右輪驅(qū)動(dòng)用。這兩個(gè)輪上分別安裝了光電編碼器作為位置測量傳感器。
圖6 車體計(jì)算坐標(biāo)圖
車體方位計(jì)算是路徑軌跡推算導(dǎo)向法的基礎(chǔ)[8-9]。本文采用光碼盤作為傳感器的車體方位推算導(dǎo)向技術(shù)?;炯僭O(shè)如下:
(1) 路面為光滑平面;
(2) 車輪在運(yùn)動(dòng)過程中,在縱向(輪面所處方向)作純滾動(dòng),在橫向無側(cè)滑運(yùn)動(dòng);
(3) 車體有關(guān)參數(shù),如左右輪直徑相等,均為D,左右輪間距在車體負(fù)載與空載情況下相同。
在車體左右輪不發(fā)生側(cè)滑的情況下,車體方位與左右輪運(yùn)動(dòng)速度VL和VR具有如下關(guān)系:
?
(8)
在車輪作純滾動(dòng)的情況下,輪軸中心點(diǎn)在縱向經(jīng)過的距離SA,應(yīng)與車輪與地面接觸之外沿任一固定點(diǎn)繞車輪圓心O′在環(huán)向所經(jīng)過的距離SC相等,即SA=SC。
(9)
式中
在區(qū)間[tn,tn+T]內(nèi),對(duì)cos(t)進(jìn)行線性插值:
所得:
(10)
式(10)最終化簡得到:
(11)
同理得:
(12)
根據(jù)左右輪驅(qū)動(dòng)電機(jī)光碼盤發(fā)出脈沖的個(gè)數(shù)m,即可求得SR,n,SR,n+1,SL,n,SL,n+1,從而求出車體方位(X(t),Y(t),θ(t))。
按以上設(shè)計(jì)要求和設(shè)計(jì)方案制作的智能小車樣機(jī)如圖7所示,經(jīng)過功能性測試,該小車達(dá)到了設(shè)計(jì)要求。整個(gè)系統(tǒng)的難點(diǎn)在于測距和避障功能。例如在實(shí)際測試中,傳感器的安裝位置會(huì)產(chǎn)生一定的影響:若紅外線傳感器安裝過高,會(huì)導(dǎo)致無法檢測到障礙物(視其自身的高度);安裝過低時(shí),會(huì)導(dǎo)致機(jī)器人過于敏感,抖動(dòng)比較嚴(yán)重。因此,要根據(jù)障礙物的大小和高度進(jìn)行必要的安裝調(diào)試。經(jīng)過多次測試,確定傳感器離地面的最佳高度為3 cm。
圖7 智能小車樣機(jī)
通過智能小車控制系統(tǒng)的研制,可以得到以下結(jié)論:
(1) 整個(gè)智能小車的研制不僅包括硬件電路的設(shè)計(jì)、制作,還包括電機(jī)的控制方法、路徑規(guī)劃和避障方法等理論內(nèi)容,因此適合于高年級(jí)本科生或低年級(jí)研究生進(jìn)行該項(xiàng)目的研究性學(xué)習(xí)。智能小車的開發(fā)具有更多的趣味性,能使學(xué)生的學(xué)習(xí)興趣和研究興趣更大、自主能動(dòng)性更大,有利于學(xué)生的實(shí)際動(dòng)手能力、知識(shí)應(yīng)用能力和創(chuàng)新能力得到更大提高。
(2) 在智能小車的設(shè)計(jì)制作過程中,學(xué)生的學(xué)術(shù)研究素養(yǎng)也得到很大提高。學(xué)生不僅能夠進(jìn)行深入理論知識(shí)的學(xué)習(xí),還要進(jìn)行方法的選擇和應(yīng)用,例如路徑規(guī)劃方法、避障方法等。學(xué)生還可以對(duì)更多的其他方法進(jìn)行比較研究,使智能小車這個(gè)研究性學(xué)習(xí)平臺(tái)表現(xiàn)出更多的研究屬性。
References)
[1] 黃丹,羅文廣,陳文輝,等.LED照明閉環(huán)控制實(shí)驗(yàn)系統(tǒng)研究[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(8):82-86.
[2] Soorki M N, Talebi H A, Nikravesh S K Y. A Leader-following Formation Control of Multiple Mobile Robots with Active Obstacle Avoidance[C]//Iranian Conference on Electrical Engineering,2011:1-6.
[3] 薛晗,馬宏緒. Swarm Intelligence Based Dynamic Obstacle Avoidance for Mobile Robots under Unknown Environment Using WSN[J]. Journal of Centtral South University of Technology,2008(15): 860-868.
[4] 張咪咪.基于多傳感器信息融合的智能小車避障[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012(11):94-97.
[5] 秦志強(qiáng).智能傳感器應(yīng)用項(xiàng)目教程[M].北京:電子工業(yè)出版社,2010.
[6] 陳立彬,尤波.基于改進(jìn)人工勢場法的機(jī)器人動(dòng)態(tài)追蹤與避障[J].控制理論與應(yīng)用,2007,26(4):8-10.
[7] 劉彩虹.智能小車路徑跟蹤技術(shù)的研究[D].杭州:浙江大學(xué),2007.
[8] 劉開緒,韓志友.基于AT89C51的尋跡小車掉頭運(yùn)動(dòng)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].長春工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,30(1):78-82.
[9] 崔明月.復(fù)雜環(huán)境下不確定輪式移動(dòng)機(jī)器人運(yùn)動(dòng)控制的研究[D].重慶:重慶大學(xué),2012.