張榮輝,黃 敏,江華麗,胡香琳
1(閩南科技學院 光電信息學院,泉州 362332)
2(福建江夏學院 先進傳感技術實驗室,福州 350108)
3(廈門理工學院 光電與通信工程學院,廈門 361024)
移動智能小車在主控中心、傳感器以及執行部件這3 個主要部分的共同協作下能夠進行環境感知、做出規劃決策從而實現計劃任務.在整個過程中涉及到傳感、智能控制算法、多信息融合、通信等技術,是一個高新技術集合體.雖然我國智能小車技術的研究比國外起步晚一些[1],但是也已取得了許多成果并廣泛應用于軍事、物流、安防、智能家居、機器人等各個領域.曾貴苓等[2]利用 UWB 定位技術實現智能搬運小車的目標物高精度跟隨;黃衍標等[3]利用多傳感器檢測技術結合移動小車設計出一款能夠自主巡邏并智能預警和遠程監控的機器人,解決傳統危化品倉庫安全管理中落后的監控現狀;汪騰[4]以STM32F103為主控芯片,結合角度傳感器與路徑規劃算法設計出一款掃地機器人.劉永兵等[5]利用激光雷達與攝像頭為感知單元實現了基于Intel SoC的羽毛球撿拾機器人,能夠對散落在場地的羽毛球準確定位與無損拾撿.結合物聯網傳感技術,智能小車在主動及被動控制手段上的研究也越來越多樣化:Qi[6]以STC90C52 單片機為控制核心,通過紅外反射傳感器檢測路面信息,判斷SCM的內部程序并使用PWM 信號控制小車繞電機運行的旋轉,以達到自動小車跟蹤的目的,但是由于僅使用8 位單芯片設計控制系統,MCU 資源限制無法增加更多光電傳感設備,造成小車允許運行速度不高,避障準確率較低;Dong 等[7]面向智能交通系統的車輛控制系統設計以STM32F103為主要控制芯片,補充了道路檢測模塊,顯示模塊和其他外圍設備,但是未充分利用攝像頭功能輔助自動模式,提高自動模式的跟蹤與避障準確率;Lv 等[8]設計了具有熱源檢測和跟蹤功能的六足爬行機器人,紅外檢測模塊由菲涅爾透鏡和熱釋電紅外傳感器組成.當它在一定范圍內檢測到人體時,它將自動跟蹤.然而僅使用紅外傳感器進行目標物體跟蹤容易受到環境中發熱物體的影響,抗干擾能力差.隨著智能制造2025的到來,各產業鏈智能化升級需求迫切,各領域中移動小車的應用研究仍然會保持一定熱度.
本設計采用STC89C51RC 與NXP 公司的K66 雙芯片實現對移動小車的控制.移動小車包括遙控模式和自動模式.遙控模式采用藍牙通信,通過手機APP可以控制小車進行基本動作;自動模式無需人工參與,實現循跡以及信標燈尋的功能.小車在行駛過程中通過超聲波測距實現避障[9],采用紅外探測實現循跡,在小車上安裝攝像頭,利用圖像識別技術實現信標燈尋的.
該控制系統由STC89C51RC 單片機芯片主控小車的基本動作如前進、后退、轉彎以及加減速,飛思卡爾芯片K66 控制小車進行攝像頭尋的[10],51 單片機與K66 通過串口相互通信.使用12 V/5 200 mA的鋰電池對機身進行供電.整個系統主要包含藍牙模塊、紅外循跡模塊、攝像尋址模塊、超聲波避障模塊等相互協調以實現功能.小車控制系統組成框圖如圖1所示.

圖1 小車控制系統框圖
由STC89C51RC和K66 這兩塊芯片通過串口相互通信,相互作用控制其他模塊運作.STC89C51RC 芯片工作典型頻率為12 MHz,其內含有4 組8 位并行端口,低功耗掉電模式<0.1 μA,可外中斷或專用定時器喚醒;2 個16 位定時器;具有EEPROM 掉電保存的功能.而采用K66 芯片對攝像頭采集的畫面進行處理.K66芯片主頻為180 MHz,對攝像頭的圖像處理可以從容應對;含有兩路16 位ADC,5 個串口,4 路IIC,實現輸出PWM、進行脈沖計數功能.
小車利用51 芯片作為主控,通過超聲波傳感器對運動前方的障礙物進行距離測量,當距離小于設定值時,控制小車的電機開始制動,慢慢減速避免發生碰撞.若未到達目的地,小車將左轉或右轉避開障礙物,直至完全避開,隨后小車按照原路線前進.
超聲波測距模塊采用的是HC-SR04 超聲波模塊,該模塊精度高,測量范圍2–450 cm,盲區約等于2 cm;模塊含有VCC 電源端、trig (觸發端)、echo (接收端)、out (空腳)、GND 端.
超聲波主要由發射電路和接收電路組成,超聲波電路原理圖所如圖2所示.

圖2 超聲波模塊原理圖
L298N 是ST 公司生產的一種高電壓、大電流的電機驅動芯片;采用15 腳封裝;具有高電壓工作電壓,最高電壓可達46 V;輸出電流大,瞬間峰值電流可達3 A;可以用來驅動直流電動機和步進電動機、繼電器線圈等感性負載;可以外接檢測電阻,將變化量反饋給控制電路.具有驅動能力強、發熱量低、抗干擾能力強的特點.電機驅動模塊PCB 原理圖如圖3所示.

圖3 電機驅動模塊
循跡功能實現采用紅外模塊,該模塊含有一對紅外發射和接收管[11],發射管發射出一定頻率的紅外線,當遇到障礙物時,紅外線反射回來被接收管接收,模塊輸出低電平;若發出的紅外線遇到深色物體則大部分會被吸收,接收管能夠收到反射紅外線很少,模塊輸出高電平.可以通過電位器旋鈕調節檢測距離.為了提高小車運行速度以及循跡的準確度,采用三線循跡的方法.在小車前端安裝3 個一體式紅外收發模塊1,2,3,間隔距離與軌道寬度相匹配,如圖4所示.

圖4 紅外安裝示意
使用帶底板HC-05 主從機一體的藍牙模塊,含有TTL和RS232 電平邏輯,含有TXD 數據發送端和RXD 數據接收端,并且模塊兼容單片機系統.當模塊配對成功后,STA 閃爍的時間會比連接時長一點(大約一次閃兩下,一下2 s).其特性如表1所示.

表1 HC-05 藍牙模塊部分參數
數字攝像頭采用MT9V032,具有最大有效像素752×480,功耗小于250 mW,能進行逐行掃描,具有自動曝光功能,可以適應不同的環境;當改變曝光時間時,不需要復位攝像頭;軟件可調FPS,幀率在60–500 內可以隨意切換,且此內的圖像均很穩定.可以準確的尋找用戶所指定的目標,并且可以在任何環境下減少相應的誤差,使小車在高速運動中還能捕捉到高品質的畫面.
該軟件系統可以分為手動模式(即手機控制小車的動作)和雙芯片自控模式(雙芯片自動控制小車的運作).系統軟件流程圖如圖5所示.

圖5 系統軟件流程
通過手機上的藍牙串口軟件與小車上的HC-05 型號的藍牙模塊相接通,然后在手機上建立矩陣鍵盤,按照程序內容,設置前后左右的移動符號和其他模塊執行符號.該模塊含有兩種工作模式:遙控工作模式和自動工作模式.當模塊處于自動連接工作模式時,將自動根據事先設定的方式連接數據傳輸,包括自動循跡與避障,尋找目標物;當處于遙控模式時用戶可向模塊發送各種AT 指令,為模塊設定控制參數或發布控制指令例如通過觸發手機屏幕上的按鍵,來改變小車的行跡方向,使小車到達指定的位置,或者執行指定的任務后回到指定的位置,等待下一個指令.
紅外循跡方案通常有采用2 路,3 路,5 路.采用的傳感器個數越多,循跡準確度越高,但是同時制作成本隨之增加.本設計采用3 路循跡算法.由紅探頭工作原理可知,當傳感器返回高電平1的時候意味著當前紅外傳感器正下方是淺色區,對應著黑色軌道外;當傳感器返回低電平0的時候意味著當前紅外傳感器正下方是深色區,對應著黑色軌道內.
每個紅外對管模塊都可以輸出電平0 或者1,3 個紅外對管一共可以有7 組輸出電平方式.每組電平情況反映了此時小車處于路線上還是路線外,是左邊偏離路線,還是右邊偏離路線.針對當前循跡狀態主控芯片做出合適的控制動作.綜上所述,可以總結出如表2所示的控制方式.

表2 紅外循跡傳感器狀態以及控制
避障采用HC-SR04 超聲波模塊,當電源接通,芯片開始運作時,通過STC89C51RC 內的定時器來實現對該模塊的控制,通過產生高電平的時間來確定障礙物的距離,再經過數據處理返回到單片機上[12].在與HC-SR04的trig (觸發端)相連接的IO 口上產生一個大于10 μs的高電平信號,該模塊會自動檢測是否有信號返回,當有信號返回時,通過IO 口輸出一個高電平,高電平的持續時間就是超聲波發射到返回的時間,模塊的echo (接收端)與51 單片機的某一個IO 口相連,當檢測到高電平的時候開啟定時器,當檢測到echo 從高電平變成低電平時,關閉定時器.通過式(1)即可計算出障礙物的距離S,并且反饋到主控處重新規劃小車動作:

其中,參數T是定時器定時時間,V=340 m/s 是超聲波在空氣中的傳播速度.
由于測試場中光線不夠理想,攝像頭MT9V032 視線場中存在雜點,遠處圖像不夠清晰等問題,使得拍攝得到的圖像無法得到最佳效果.解決方法一方面硬件上多做調試例如調整鏡頭焦距,曝光時間等,另一方面需要在軟件上對采集所得圖像進行濾波,降低噪聲.濾波的方法比較多,本設計采用中值濾波,基本思路是把采集到的目標圖像當前像素值用該像素的一個鄰域中各像素值的中值代替,讓周圍的像素值接近的真實值,從而消除孤立的噪聲點[13].用二維滑動模板,根據灰度值從大到小排列板內像素,二維中值濾波輸出如式(2):

其中,W選取為3×3 二維模板,F(x,y),P(x,y)分別為原始圖像和處理后圖像.
為了使后續處理變得簡單,需要對中值濾波后的灰度圖像二值化[14].逐行掃描采集圖像記錄灰度直方圖特征,尋找直方圖中的兩個最大波峰進而找到兩個波峰之間的最小波谷像素值K.將K設為二值化閾值遍歷所有像素,對大于灰度值大于K的點灰度置為255,將小于K的點灰度置為0,從而得到較為理想的二值圖像.
接下來采用連通域算法,提取出圖像中所有的連通域并根據連通域的形狀和大小特征篩選出與信標特征最為接近的連通域[15].經過這一系列的濾波處理,提取出的連通域基本就是信標的連通域,此時如果連通域還是很多,則跳過這一幀圖像,等待下一幀圖像.而對于連通域只有一個或者數量較少且位置相近,則認為找到信標,采用取平均的方法提取信標燈的坐標.
將智能移動小車置于一個模擬測試的環境,對小車進行分別進行紅外循跡、超聲波避障以及攝像頭尋址性能測試.
將小車放置在如圖6類似的黑色線上.該實驗采用3 個紅外對管對其進行作用;可對小車進行彎道,直角,斜角等的巡線測試.分別測試在白天光線的強、中、弱和在夜晚時的光線處于強、中、弱對小車的循跡影響.本次測量將小車置于多彎道的復雜軌跡中進行比較測量,每個變量分別測試50 組,并將測試結果數據記錄下來(未完成該軌道的全部路程則屬于該次測試不成功),表3為小車循跡成功比率圖.

表3 不同光照條件循跡成功率統計表(%)

圖6 紅外循跡性能測試場地示意圖
本次試驗將對小車進行50 次的試驗,通過改變其速度,測試其避障成功率.所得的數據圖如圖7超聲波避障折線圖所示.本次試驗采用避障距離為10±1.5 cm,若超出該范圍,則被判定失敗.

圖7 超聲波避障統計
本次試驗使用攝像頭MT9V032和信標燈,測試條件為:室內、瓷磚地面、白熾燈光照強度在200–900 lx的范圍,信標燈的功率為5 W.測試結果顯示小車能識別最遠距離的指示燈為7.85 m,當小車自轉為1.7 r/s時最穩定且最快速定位到目標位置,小車最大穩定移動速度為3.1 m/s.圖8為小車尋址示意圖.

圖8 小車尋址示意圖
本設計實現了基于51和K66 雙芯片的智能小車控制系統.該系統采用三線紅外傳感器使其能夠在自動模式下實現準確循跡,并能在移動過程中利用超聲波避障與重新規劃路線,采用攝像頭采集圖像識別的方法找尋目的信標燈并準確移動至該位置.本移動小車同時具有遙控模式,采用藍牙通信利用手機端即可對小車進行例如前進、后退、左轉、右轉、加減速等基本控制.
實驗測試結果表明該移動小車在光照條件適當的情況下具備良好的循跡性能,在小車速度為20 cm/s 時避障準確率達到99%,能夠以3.1 m/s的穩定速度識別到直徑為7.85 m 輻射范圍內的信標燈.該設計采用的方法和算法可以指導學生參加各類比賽,采用的技術可以進一步改進和移植至生產生活中例如消費電子、智能物流、自動駕駛等其他領域.