張榮輝,黃 敏,江華麗,胡香琳
1(閩南科技學(xué)院 光電信息學(xué)院,泉州 362332)
2(福建江夏學(xué)院 先進(jìn)傳感技術(shù)實(shí)驗(yàn)室,福州 350108)
3(廈門理工學(xué)院 光電與通信工程學(xué)院,廈門 361024)
移動智能小車在主控中心、傳感器以及執(zhí)行部件這3 個主要部分的共同協(xié)作下能夠進(jìn)行環(huán)境感知、做出規(guī)劃決策從而實(shí)現(xiàn)計劃任務(wù).在整個過程中涉及到傳感、智能控制算法、多信息融合、通信等技術(shù),是一個高新技術(shù)集合體.雖然我國智能小車技術(shù)的研究比國外起步晚一些[1],但是也已取得了許多成果并廣泛應(yīng)用于軍事、物流、安防、智能家居、機(jī)器人等各個領(lǐng)域.曾貴苓等[2]利用 UWB 定位技術(shù)實(shí)現(xiàn)智能搬運(yùn)小車的目標(biāo)物高精度跟隨;黃衍標(biāo)等[3]利用多傳感器檢測技術(shù)結(jié)合移動小車設(shè)計出一款能夠自主巡邏并智能預(yù)警和遠(yuǎn)程監(jiān)控的機(jī)器人,解決傳統(tǒng)危化品倉庫安全管理中落后的監(jiān)控現(xiàn)狀;汪騰[4]以STM32F103為主控芯片,結(jié)合角度傳感器與路徑規(guī)劃算法設(shè)計出一款掃地機(jī)器人.劉永兵等[5]利用激光雷達(dá)與攝像頭為感知單元實(shí)現(xiàn)了基于Intel SoC的羽毛球撿拾機(jī)器人,能夠?qū)ι⒙湓趫龅氐挠鹈驕?zhǔn)確定位與無損拾撿.結(jié)合物聯(lián)網(wǎng)傳感技術(shù),智能小車在主動及被動控制手段上的研究也越來越多樣化:Qi[6]以STC90C52 單片機(jī)為控制核心,通過紅外反射傳感器檢測路面信息,判斷SCM的內(nèi)部程序并使用PWM 信號控制小車?yán)@電機(jī)運(yùn)行的旋轉(zhuǎn),以達(dá)到自動小車跟蹤的目的,但是由于僅使用8 位單芯片設(shè)計控制系統(tǒng),MCU 資源限制無法增加更多光電傳感設(shè)備,造成小車允許運(yùn)行速度不高,避障準(zhǔn)確率較低;Dong 等[7]面向智能交通系統(tǒng)的車輛控制系統(tǒng)設(shè)計以STM32F103為主要控制芯片,補(bǔ)充了道路檢測模塊,顯示模塊和其他外圍設(shè)備,但是未充分利用攝像頭功能輔助自動模式,提高自動模式的跟蹤與避障準(zhǔn)確率;Lv 等[8]設(shè)計了具有熱源檢測和跟蹤功能的六足爬行機(jī)器人,紅外檢測模塊由菲涅爾透鏡和熱釋電紅外傳感器組成.當(dāng)它在一定范圍內(nèi)檢測到人體時,它將自動跟蹤.然而僅使用紅外傳感器進(jìn)行目標(biāo)物體跟蹤容易受到環(huán)境中發(fā)熱物體的影響,抗干擾能力差.隨著智能制造2025的到來,各產(chǎn)業(yè)鏈智能化升級需求迫切,各領(lǐng)域中移動小車的應(yīng)用研究仍然會保持一定熱度.
本設(shè)計采用STC89C51RC 與NXP 公司的K66 雙芯片實(shí)現(xiàn)對移動小車的控制.移動小車包括遙控模式和自動模式.遙控模式采用藍(lán)牙通信,通過手機(jī)APP可以控制小車進(jìn)行基本動作;自動模式無需人工參與,實(shí)現(xiàn)循跡以及信標(biāo)燈尋的功能.小車在行駛過程中通過超聲波測距實(shí)現(xiàn)避障[9],采用紅外探測實(shí)現(xiàn)循跡,在小車上安裝攝像頭,利用圖像識別技術(shù)實(shí)現(xiàn)信標(biāo)燈尋的.
該控制系統(tǒng)由STC89C51RC 單片機(jī)芯片主控小車的基本動作如前進(jìn)、后退、轉(zhuǎn)彎以及加減速,飛思卡爾芯片K66 控制小車進(jìn)行攝像頭尋的[10],51 單片機(jī)與K66 通過串口相互通信.使用12 V/5 200 mA的鋰電池對機(jī)身進(jìn)行供電.整個系統(tǒng)主要包含藍(lán)牙模塊、紅外循跡模塊、攝像尋址模塊、超聲波避障模塊等相互協(xié)調(diào)以實(shí)現(xiàn)功能.小車控制系統(tǒng)組成框圖如圖1所示.
圖1 小車控制系統(tǒng)框圖
由STC89C51RC和K66 這兩塊芯片通過串口相互通信,相互作用控制其他模塊運(yùn)作.STC89C51RC 芯片工作典型頻率為12 MHz,其內(nèi)含有4 組8 位并行端口,低功耗掉電模式<0.1 μA,可外中斷或?qū)S枚〞r器喚醒;2 個16 位定時器;具有EEPROM 掉電保存的功能.而采用K66 芯片對攝像頭采集的畫面進(jìn)行處理.K66芯片主頻為180 MHz,對攝像頭的圖像處理可以從容應(yīng)對;含有兩路16 位ADC,5 個串口,4 路IIC,實(shí)現(xiàn)輸出PWM、進(jìn)行脈沖計數(shù)功能.
小車?yán)?1 芯片作為主控,通過超聲波傳感器對運(yùn)動前方的障礙物進(jìn)行距離測量,當(dāng)距離小于設(shè)定值時,控制小車的電機(jī)開始制動,慢慢減速避免發(fā)生碰撞.若未到達(dá)目的地,小車將左轉(zhuǎn)或右轉(zhuǎn)避開障礙物,直至完全避開,隨后小車按照原路線前進(jìn).
超聲波測距模塊采用的是HC-SR04 超聲波模塊,該模塊精度高,測量范圍2–450 cm,盲區(qū)約等于2 cm;模塊含有VCC 電源端、trig (觸發(fā)端)、echo (接收端)、out (空腳)、GND 端.
超聲波主要由發(fā)射電路和接收電路組成,超聲波電路原理圖所如圖2所示.
圖2 超聲波模塊原理圖
L298N 是ST 公司生產(chǎn)的一種高電壓、大電流的電機(jī)驅(qū)動芯片;采用15 腳封裝;具有高電壓工作電壓,最高電壓可達(dá)46 V;輸出電流大,瞬間峰值電流可達(dá)3 A;可以用來驅(qū)動直流電動機(jī)和步進(jìn)電動機(jī)、繼電器線圈等感性負(fù)載;可以外接檢測電阻,將變化量反饋給控制電路.具有驅(qū)動能力強(qiáng)、發(fā)熱量低、抗干擾能力強(qiáng)的特點(diǎn).電機(jī)驅(qū)動模塊PCB 原理圖如圖3所示.
圖3 電機(jī)驅(qū)動模塊
循跡功能實(shí)現(xiàn)采用紅外模塊,該模塊含有一對紅外發(fā)射和接收管[11],發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)遇到障礙物時,紅外線反射回來被接收管接收,模塊輸出低電平;若發(fā)出的紅外線遇到深色物體則大部分會被吸收,接收管能夠收到反射紅外線很少,模塊輸出高電平.可以通過電位器旋鈕調(diào)節(jié)檢測距離.為了提高小車運(yùn)行速度以及循跡的準(zhǔn)確度,采用三線循跡的方法.在小車前端安裝3 個一體式紅外收發(fā)模塊1,2,3,間隔距離與軌道寬度相匹配,如圖4所示.
圖4 紅外安裝示意
使用帶底板HC-05 主從機(jī)一體的藍(lán)牙模塊,含有TTL和RS232 電平邏輯,含有TXD 數(shù)據(jù)發(fā)送端和RXD 數(shù)據(jù)接收端,并且模塊兼容單片機(jī)系統(tǒng).當(dāng)模塊配對成功后,STA 閃爍的時間會比連接時長一點(diǎn)(大約一次閃兩下,一下2 s).其特性如表1所示.
表1 HC-05 藍(lán)牙模塊部分參數(shù)
數(shù)字?jǐn)z像頭采用MT9V032,具有最大有效像素752×480,功耗小于250 mW,能進(jìn)行逐行掃描,具有自動曝光功能,可以適應(yīng)不同的環(huán)境;當(dāng)改變曝光時間時,不需要復(fù)位攝像頭;軟件可調(diào)FPS,幀率在60–500 內(nèi)可以隨意切換,且此內(nèi)的圖像均很穩(wěn)定.可以準(zhǔn)確的尋找用戶所指定的目標(biāo),并且可以在任何環(huán)境下減少相應(yīng)的誤差,使小車在高速運(yùn)動中還能捕捉到高品質(zhì)的畫面.
該軟件系統(tǒng)可以分為手動模式(即手機(jī)控制小車的動作)和雙芯片自控模式(雙芯片自動控制小車的運(yùn)作).系統(tǒng)軟件流程圖如圖5所示.
圖5 系統(tǒng)軟件流程
通過手機(jī)上的藍(lán)牙串口軟件與小車上的HC-05 型號的藍(lán)牙模塊相接通,然后在手機(jī)上建立矩陣鍵盤,按照程序內(nèi)容,設(shè)置前后左右的移動符號和其他模塊執(zhí)行符號.該模塊含有兩種工作模式:遙控工作模式和自動工作模式.當(dāng)模塊處于自動連接工作模式時,將自動根據(jù)事先設(shè)定的方式連接數(shù)據(jù)傳輸,包括自動循跡與避障,尋找目標(biāo)物;當(dāng)處于遙控模式時用戶可向模塊發(fā)送各種AT 指令,為模塊設(shè)定控制參數(shù)或發(fā)布控制指令例如通過觸發(fā)手機(jī)屏幕上的按鍵,來改變小車的行跡方向,使小車到達(dá)指定的位置,或者執(zhí)行指定的任務(wù)后回到指定的位置,等待下一個指令.
紅外循跡方案通常有采用2 路,3 路,5 路.采用的傳感器個數(shù)越多,循跡準(zhǔn)確度越高,但是同時制作成本隨之增加.本設(shè)計采用3 路循跡算法.由紅探頭工作原理可知,當(dāng)傳感器返回高電平1的時候意味著當(dāng)前紅外傳感器正下方是淺色區(qū),對應(yīng)著黑色軌道外;當(dāng)傳感器返回低電平0的時候意味著當(dāng)前紅外傳感器正下方是深色區(qū),對應(yīng)著黑色軌道內(nèi).
每個紅外對管模塊都可以輸出電平0 或者1,3 個紅外對管一共可以有7 組輸出電平方式.每組電平情況反映了此時小車處于路線上還是路線外,是左邊偏離路線,還是右邊偏離路線.針對當(dāng)前循跡狀態(tài)主控芯片做出合適的控制動作.綜上所述,可以總結(jié)出如表2所示的控制方式.
表2 紅外循跡傳感器狀態(tài)以及控制
避障采用HC-SR04 超聲波模塊,當(dāng)電源接通,芯片開始運(yùn)作時,通過STC89C51RC 內(nèi)的定時器來實(shí)現(xiàn)對該模塊的控制,通過產(chǎn)生高電平的時間來確定障礙物的距離,再經(jīng)過數(shù)據(jù)處理返回到單片機(jī)上[12].在與HC-SR04的trig (觸發(fā)端)相連接的IO 口上產(chǎn)生一個大于10 μs的高電平信號,該模塊會自動檢測是否有信號返回,當(dāng)有信號返回時,通過IO 口輸出一個高電平,高電平的持續(xù)時間就是超聲波發(fā)射到返回的時間,模塊的echo (接收端)與51 單片機(jī)的某一個IO 口相連,當(dāng)檢測到高電平的時候開啟定時器,當(dāng)檢測到echo 從高電平變成低電平時,關(guān)閉定時器.通過式(1)即可計算出障礙物的距離S,并且反饋到主控處重新規(guī)劃小車動作:
其中,參數(shù)T是定時器定時時間,V=340 m/s 是超聲波在空氣中的傳播速度.
由于測試場中光線不夠理想,攝像頭MT9V032 視線場中存在雜點(diǎn),遠(yuǎn)處圖像不夠清晰等問題,使得拍攝得到的圖像無法得到最佳效果.解決方法一方面硬件上多做調(diào)試?yán)缯{(diào)整鏡頭焦距,曝光時間等,另一方面需要在軟件上對采集所得圖像進(jìn)行濾波,降低噪聲.濾波的方法比較多,本設(shè)計采用中值濾波,基本思路是把采集到的目標(biāo)圖像當(dāng)前像素值用該像素的一個鄰域中各像素值的中值代替,讓周圍的像素值接近的真實(shí)值,從而消除孤立的噪聲點(diǎn)[13].用二維滑動模板,根據(jù)灰度值從大到小排列板內(nèi)像素,二維中值濾波輸出如式(2):
其中,W選取為3×3 二維模板,F(x,y),P(x,y)分別為原始圖像和處理后圖像.
為了使后續(xù)處理變得簡單,需要對中值濾波后的灰度圖像二值化[14].逐行掃描采集圖像記錄灰度直方圖特征,尋找直方圖中的兩個最大波峰進(jìn)而找到兩個波峰之間的最小波谷像素值K.將K設(shè)為二值化閾值遍歷所有像素,對大于灰度值大于K的點(diǎn)灰度置為255,將小于K的點(diǎn)灰度置為0,從而得到較為理想的二值圖像.
接下來采用連通域算法,提取出圖像中所有的連通域并根據(jù)連通域的形狀和大小特征篩選出與信標(biāo)特征最為接近的連通域[15].經(jīng)過這一系列的濾波處理,提取出的連通域基本就是信標(biāo)的連通域,此時如果連通域還是很多,則跳過這一幀圖像,等待下一幀圖像.而對于連通域只有一個或者數(shù)量較少且位置相近,則認(rèn)為找到信標(biāo),采用取平均的方法提取信標(biāo)燈的坐標(biāo).
將智能移動小車置于一個模擬測試的環(huán)境,對小車進(jìn)行分別進(jìn)行紅外循跡、超聲波避障以及攝像頭尋址性能測試.
將小車放置在如圖6類似的黑色線上.該實(shí)驗(yàn)采用3 個紅外對管對其進(jìn)行作用;可對小車進(jìn)行彎道,直角,斜角等的巡線測試.分別測試在白天光線的強(qiáng)、中、弱和在夜晚時的光線處于強(qiáng)、中、弱對小車的循跡影響.本次測量將小車置于多彎道的復(fù)雜軌跡中進(jìn)行比較測量,每個變量分別測試50 組,并將測試結(jié)果數(shù)據(jù)記錄下來(未完成該軌道的全部路程則屬于該次測試不成功),表3為小車循跡成功比率圖.
表3 不同光照條件循跡成功率統(tǒng)計表(%)
圖6 紅外循跡性能測試場地示意圖
本次試驗(yàn)將對小車進(jìn)行50 次的試驗(yàn),通過改變其速度,測試其避障成功率.所得的數(shù)據(jù)圖如圖7超聲波避障折線圖所示.本次試驗(yàn)采用避障距離為10±1.5 cm,若超出該范圍,則被判定失敗.
圖7 超聲波避障統(tǒng)計
本次試驗(yàn)使用攝像頭MT9V032和信標(biāo)燈,測試條件為:室內(nèi)、瓷磚地面、白熾燈光照強(qiáng)度在200–900 lx的范圍,信標(biāo)燈的功率為5 W.測試結(jié)果顯示小車能識別最遠(yuǎn)距離的指示燈為7.85 m,當(dāng)小車自轉(zhuǎn)為1.7 r/s時最穩(wěn)定且最快速定位到目標(biāo)位置,小車最大穩(wěn)定移動速度為3.1 m/s.圖8為小車尋址示意圖.
圖8 小車尋址示意圖
本設(shè)計實(shí)現(xiàn)了基于51和K66 雙芯片的智能小車控制系統(tǒng).該系統(tǒng)采用三線紅外傳感器使其能夠在自動模式下實(shí)現(xiàn)準(zhǔn)確循跡,并能在移動過程中利用超聲波避障與重新規(guī)劃路線,采用攝像頭采集圖像識別的方法找尋目的信標(biāo)燈并準(zhǔn)確移動至該位置.本移動小車同時具有遙控模式,采用藍(lán)牙通信利用手機(jī)端即可對小車進(jìn)行例如前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、加減速等基本控制.
實(shí)驗(yàn)測試結(jié)果表明該移動小車在光照條件適當(dāng)?shù)那闆r下具備良好的循跡性能,在小車速度為20 cm/s 時避障準(zhǔn)確率達(dá)到99%,能夠以3.1 m/s的穩(wěn)定速度識別到直徑為7.85 m 輻射范圍內(nèi)的信標(biāo)燈.該設(shè)計采用的方法和算法可以指導(dǎo)學(xué)生參加各類比賽,采用的技術(shù)可以進(jìn)一步改進(jìn)和移植至生產(chǎn)生活中例如消費(fèi)電子、智能物流、自動駕駛等其他領(lǐng)域.