摘 要:本系統(tǒng)以Arduino單片機(jī)為主控器,利用直流減速電機(jī)提供動(dòng)力,PWM控制L298N實(shí)現(xiàn)調(diào)速,利用Open MV攝像頭識(shí)別路線完成循跡。領(lǐng)頭小車(chē)和跟隨小車(chē)裝有藍(lán)牙模塊用于車(chē)間通信,跟隨小車(chē)車(chē)前裝有光電開(kāi)關(guān)以實(shí)現(xiàn)避障和跟隨功能。兩車(chē)?yán)肞ID循跡算法實(shí)現(xiàn)小車(chē)沿黑線前進(jìn),采用區(qū)域色塊識(shí)別算法實(shí)現(xiàn)停車(chē)線的判斷。經(jīng)測(cè)試,小車(chē)功能穩(wěn)定,傳感器識(shí)別準(zhǔn)確,很好地實(shí)現(xiàn)了設(shè)計(jì)要求。
關(guān)鍵詞:機(jī)器視覺(jué);循跡;智能小車(chē);Arduino單片機(jī);L298N;Open MV4;光電開(kāi)關(guān);PID
中圖分類(lèi)號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)03-0-02
0 引 言
無(wú)人控制自動(dòng)循跡智能小車(chē)一直是行業(yè)研究的熱點(diǎn),軌跡的識(shí)別性能對(duì)小車(chē)的循跡能力起著關(guān)鍵作用。隨著高性能芯片的升級(jí)換代及圖像識(shí)別算法研究的不斷深入,基于機(jī)器視覺(jué)的目標(biāo)識(shí)別技術(shù)已在自動(dòng)循跡智能小車(chē)上得到廣泛應(yīng)用。機(jī)器視覺(jué)是建立在計(jì)算機(jī)視覺(jué)理論工程化基礎(chǔ)上的一門(mén)學(xué)科,涉及到光學(xué)成像、視覺(jué)信息處理、人工智能以及機(jī)電一體化等相關(guān)技術(shù)[1]。當(dāng)前,基于Open MV的機(jī)器視覺(jué)攝像頭應(yīng)用廣泛,Open MV以STM32H743 CPU為核心,集成OV5640攝像頭芯片,使用 Python 進(jìn)行編程,在設(shè)計(jì)上有著小巧、輕便、易于組裝等特點(diǎn)[2]。
現(xiàn)要設(shè)計(jì)一種無(wú)人控制自動(dòng)循跡智能小車(chē)跟隨行駛系統(tǒng)。該系統(tǒng)由一輛領(lǐng)頭小車(chē)和一輛跟隨小車(chē)組成,小車(chē)都具有循跡功能。領(lǐng)頭小車(chē)和跟隨小車(chē)從起始點(diǎn)出發(fā),沿著1.8 m(寬)×1.2 m(長(zhǎng))的圓角矩形路徑行駛,完成一圈行駛后領(lǐng)頭小車(chē)到達(dá)停車(chē)標(biāo)記停車(chē),跟隨小車(chē)應(yīng)及時(shí)停止且不能碰到前車(chē)。行駛場(chǎng)地為白色,行駛路徑用1 cm寬的黑色引導(dǎo)線來(lái)標(biāo)記。軌跡上的起始點(diǎn)與停車(chē)標(biāo)記為同一處,用垂直貼于路徑引導(dǎo)線的黑色標(biāo)志線來(lái)標(biāo)記,標(biāo)志線寬2 cm、長(zhǎng)5 cm。
本文采用Open MV機(jī)器視覺(jué)模塊作為圖像采集與處理平臺(tái),通過(guò)Arduino控制智能小車(chē)實(shí)現(xiàn)上述功能。
1 系統(tǒng)方案的設(shè)計(jì)與選擇
1.1 系統(tǒng)結(jié)構(gòu)與設(shè)計(jì)思路
如圖1所示,本系統(tǒng)用攝像頭進(jìn)行循跡,攝像頭安裝在小車(chē)車(chē)體中軸線上,鏡頭俯視黑線。以Arduino單片機(jī)為主控器,每輛小車(chē)?yán)脙芍?00轉(zhuǎn)/分直流減速電機(jī)提供動(dòng)力,利用L298N電機(jī)驅(qū)動(dòng)模塊實(shí)現(xiàn)電機(jī)運(yùn)行,利用OPEN MV攝像頭識(shí)別路線完成循跡。主車(chē)設(shè)置鍵盤(pán)用于選擇功能,領(lǐng)頭小車(chē)和跟隨小車(chē)裝有HC-05藍(lán)牙模塊用于車(chē)間通信以實(shí)現(xiàn)一起開(kāi)車(chē)和停車(chē)功能,從車(chē)?yán)眉t外傳感器使跟隨小車(chē)與領(lǐng)頭小車(chē)保持一定的距離。兩車(chē)都利用攝像頭和PID循跡算法實(shí)現(xiàn)小車(chē)沿黑線前進(jìn),采用區(qū)域色塊識(shí)別算法實(shí)現(xiàn)停車(chē)線的判斷,利用PWM調(diào)速實(shí)現(xiàn)對(duì)兩小車(chē)速度的穩(wěn)定及調(diào)節(jié),同時(shí)設(shè)置LED燈、蜂鳴器等小型模塊。為了將電源電壓的變化對(duì)小車(chē)的運(yùn)行狀態(tài)影響降到最低,本系統(tǒng)采用通過(guò)14.8 V鋰電池降壓后的9 V穩(wěn)定電壓給電機(jī)驅(qū)動(dòng)單元供電。
1.2 攝像頭黑線位置算法設(shè)計(jì)
Open MV探測(cè)黑線并計(jì)算輸出黑線的位置。攝像頭設(shè)置的圖像像素大小為QQVGA灰度模式,并將圖像區(qū)域分為三個(gè)區(qū)域A、B、C,如圖2(a)所示,黑線圖像進(jìn)入三個(gè)區(qū)域后會(huì)得到3個(gè)坐標(biāo)值xA、xB、xC。三個(gè)區(qū)域A、B、C分別設(shè)置不同的權(quán)重kA、kB、kC。通過(guò)用不同的權(quán)重對(duì)最大色塊圖像中點(diǎn)x'坐標(biāo)求平均值就可以算出相對(duì)黑線當(dāng)前的位置,其中最大的權(quán)重分配給靠近圖像頂部的A區(qū),這個(gè)是由黑線左彎曲的特點(diǎn)決定的,可以更精確地判斷出黑線走向[3-5]。
按式(1)便可計(jì)算出黑線相對(duì)于中心點(diǎn)的角度,該角度數(shù)據(jù)利用串口輸出到單片機(jī)[6-7]。
(1)
1.3 小車(chē)運(yùn)動(dòng)控制算法設(shè)計(jì)
小車(chē)?yán)肞ID進(jìn)行運(yùn)動(dòng)控制循跡。攝像頭不斷輸出黑線相對(duì)位置角度數(shù)據(jù)y(t),PID控制的偏差量為e(t)=y(t)-90。數(shù)字PID只用到了比例和微分,如公式(2)所示[8-9]。
(2)
式中:Kp為比例系數(shù);Kd為微分系數(shù);e(k)和e(k-1)分別為第k和第k-1時(shí)刻所得到的系統(tǒng)偏差信號(hào)。
根據(jù)黑線特點(diǎn)和車(chē)速要求,通過(guò)不斷整定可確定合適的比例系數(shù)和微分系統(tǒng);通過(guò)PID計(jì)算得出執(zhí)行量,若小車(chē)出現(xiàn)偏離,控制小車(chē)的兩個(gè)電機(jī)差速旋轉(zhuǎn),并朝著偏差減小的方向動(dòng)作。在PID算法的控制下,小車(chē)可實(shí)現(xiàn)穩(wěn)定循跡[10-11]。
1.4 小車(chē)停車(chē)算法設(shè)計(jì)
在攝像頭成像范圍下方設(shè)置一個(gè)長(zhǎng)100像素、寬20像素的矩形檢測(cè)區(qū)域,如圖3所示。在此范圍內(nèi)尋找寬度與停車(chē)標(biāo)識(shí)相當(dāng)?shù)暮谏珘K,若在此區(qū)域內(nèi)檢測(cè)到黑色色塊,則傳送信號(hào)到單片機(jī)中,主控制器判定為到達(dá)停車(chē)點(diǎn)。
2 系統(tǒng)程序設(shè)計(jì)
2.1 系統(tǒng)總體流程設(shè)計(jì)
加電后領(lǐng)頭小車(chē)和跟隨小車(chē)要進(jìn)行初始化,包括設(shè)置攝像頭圖像像素大小為160×120,圖像格式為灰度圖;初始化單片機(jī)IO口,設(shè)置UART串口的波特率。領(lǐng)頭小車(chē)要初始鍵盤(pán)子程序并等待開(kāi)車(chē)按鍵按下。當(dāng)領(lǐng)頭小車(chē)收到開(kāi)車(chē)指令后,小車(chē)啟動(dòng)的同時(shí)會(huì)給跟隨小車(chē)發(fā)送一個(gè)開(kāi)車(chē)指令,實(shí)現(xiàn)兩車(chē)同車(chē)前進(jìn)。領(lǐng)頭小車(chē)和跟隨小車(chē)都具有獨(dú)立循跡功能,跟隨小車(chē)可利用光電開(kāi)關(guān)不斷探測(cè)與領(lǐng)頭小車(chē)的距離并通過(guò)減速實(shí)現(xiàn)避障。領(lǐng)頭小車(chē)探測(cè)到停車(chē)線后停車(chē)并通過(guò)藍(lán)牙模塊發(fā)送停車(chē)指令,實(shí)現(xiàn)同時(shí)停車(chē)。
2.2 循跡子程序
小車(chē)通過(guò)攝像頭反饋的圖像對(duì)前方圖像進(jìn)行識(shí)別。將各個(gè)區(qū)域內(nèi)檢測(cè)到的最大色塊的中心位置坐標(biāo)的加權(quán)平均值與小車(chē)的相對(duì)位置進(jìn)行比較,得出黑線與小車(chē)中心位置的偏差量;單片機(jī)利用該偏差量對(duì)數(shù)據(jù)進(jìn)行PID計(jì)算得到控制量,控制小車(chē)左右輪轉(zhuǎn)速和轉(zhuǎn)向。當(dāng)黑線位于左側(cè)時(shí),程序控制小車(chē)左電機(jī)減速,右電機(jī)加速;當(dāng)黑線位于右側(cè)時(shí),程序控制小車(chē)左電機(jī)加速,右電機(jī)減速。加減速的量由控制量決定,從而使小車(chē)能夠始終沿著黑線方向前進(jìn),如圖4所示。
2.3 停車(chē)子程序
在攝像頭成像范圍下方設(shè)置一個(gè)長(zhǎng)100像素、寬20像素的矩形區(qū)域,如圖3所示。在此范圍內(nèi)尋找寬度與停車(chē)標(biāo)識(shí)相當(dāng)?shù)暮谏珘K,若在此區(qū)域內(nèi)檢測(cè)到黑色色塊,則設(shè)置攝像頭中P2引腳為高電平,傳送信號(hào)到單片機(jī)中,主控制器判定為到達(dá)停車(chē)點(diǎn)。
2.4 小車(chē)間通信
領(lǐng)頭小車(chē)通電后,向跟隨小車(chē)發(fā)送行進(jìn)路線設(shè)置數(shù)值以及內(nèi)外道的選擇數(shù)值,進(jìn)行跟隨小車(chē)的初始化設(shè)置。領(lǐng)頭小車(chē)開(kāi)始行進(jìn)時(shí)向跟隨小車(chē)發(fā)送開(kāi)始行進(jìn)指令,小車(chē)行進(jìn)過(guò)程中保持藍(lán)牙通信,領(lǐng)頭小車(chē)向跟隨小車(chē)發(fā)送指令,控制跟隨小車(chē)在路口處選擇路線以及在領(lǐng)頭小車(chē)到達(dá)終點(diǎn)處時(shí)停車(chē)。
3 結(jié) 語(yǔ)
本文提出的基于Open MV的雙車(chē)循跡跟隨行駛系統(tǒng),利用Open MV攝像頭實(shí)現(xiàn)了黑線的檢測(cè)。利用PID算法實(shí)現(xiàn)了小車(chē)運(yùn)動(dòng)控制,保證了小車(chē)在高速行駛中穩(wěn)定循跡。利用藍(lán)牙通信模塊實(shí)現(xiàn)兩個(gè)小車(chē)間通信,最終實(shí)現(xiàn)循跡和跟隨功能。經(jīng)過(guò)反復(fù)測(cè)試,本系統(tǒng)穩(wěn)定,達(dá)到設(shè)計(jì)的預(yù)期效果。
參考文獻(xiàn)
[1]朱云,凌志剛,張雨強(qiáng). 機(jī)器視覺(jué)技術(shù)研究進(jìn)展及展望[J].圖學(xué)學(xué)報(bào),2020,41(6):871-890.
[2]星瞳科技. Open MV中國(guó)官網(wǎng)[EB/OL]. [2022-11-15]. http://OpenMV.cc.
[3]錢(qián)平,顧才東,馬建圓,等.基于OpenMV的水下機(jī)器人管道巡檢比賽策略研究[J].無(wú)線互聯(lián)科技,2021,18(1):100-101.
[4]劉杰,蔣沁宏. 基于Open MV的尋的賽車(chē)[J].電子技術(shù)與軟件工程,2018,7(14):74.
[5]周詩(shī)薇,龔家元,郄磊澎,等.基于OpenMV的云臺(tái)追蹤系統(tǒng)設(shè)計(jì)[J].湖北汽車(chē)工業(yè)學(xué)院學(xué)報(bào),2019,33(4):54-56.
[6]李成勇,譚寒鐘,王莎,等.基于OpenMV的智能“尋的”小車(chē)控制系統(tǒng)[J].液晶與顯示,2020,35(8):870-876.
[7]蔣澤鑫,侯明,陳培錫,等.基于OpenMV的智能交通裝備[J].傳感器世界,2021,27(2):23-26.
[8]莊瓊云.基于OpenMV的智能尋跡小車(chē)設(shè)計(jì)與實(shí)現(xiàn)[J].黎明職業(yè)大學(xué)學(xué)報(bào),2018,30(4):80-84.
[9]張文青,龍奕帆.基于Open MV視覺(jué)模塊的智能小車(chē)巡線系統(tǒng)設(shè)計(jì)[J].集成電路應(yīng)用,2021,10(38):231-233.
[10]顧禎婕,文哲,高宇杰. 基于OpenMv視覺(jué)識(shí)別的自主投籃機(jī)器人實(shí)現(xiàn)[J].無(wú)線互聯(lián)科技,2020,17(9):55-56.
[11]葉思言,張永寧,李錦,等.基于UWB定位和OpenMV識(shí)別的智能跟隨行李箱設(shè)計(jì)[J].成都工業(yè)學(xué)院學(xué)報(bào),2020,23(3):29-33.