馬志鵬,沈顯慶,孫啟智,陳男
(黑龍江科技大學(xué) 電氣與控制工程學(xué)院,黑龍江哈爾濱,150022)
近年來(lái)隨著傳感器技術(shù)、自動(dòng)化技術(shù)等相關(guān)學(xué)科的高速發(fā)展,移動(dòng)機(jī)器人技術(shù)不斷提升。智能小車作為移動(dòng)機(jī)器人的一種,其研究與開(kāi)發(fā)具有重要的意義[1]。目前對(duì)智能小車的研究大多停留在基本功能層面,對(duì)路徑規(guī)劃等涉及較少,在路徑規(guī)劃研究中,全局路徑規(guī)劃是移動(dòng)機(jī)器人需要具備的基本能力之一,其要求根據(jù)給定地圖等先驗(yàn)知識(shí),在某些約束條件下,規(guī)劃出一條從起點(diǎn)到終點(diǎn)的無(wú)碰撞路徑[2]?;谝陨涎芯楷F(xiàn)狀,筆者基于Android 客戶端開(kāi)發(fā)平臺(tái),設(shè)計(jì)了一款路徑規(guī)劃的智能小車控制系統(tǒng),重點(diǎn)對(duì)環(huán)境感知及建模、路徑?jīng)Q策、WiFi 無(wú)線傳輸?shù)确矫孢M(jìn)行研究。通過(guò)測(cè)試,實(shí)現(xiàn)了智能小車的路徑規(guī)劃功能。
智能小車控制系統(tǒng)硬件整體結(jié)構(gòu)分為三個(gè)部分,分別為視覺(jué)傳感器、上位機(jī)及下位機(jī)。視覺(jué)傳感器選用小蟻智能攝像機(jī)來(lái)采集周圍環(huán)境信息;上位機(jī)即Android 終端,主要包括環(huán)境感知模塊、建模模塊及行為決策模塊,用來(lái)運(yùn)行圖像處理、路徑規(guī)劃等程序,是整個(gè)控制系統(tǒng)的核心部分;下位機(jī)即智能小車,主要包括微處理器模塊、電機(jī)驅(qū)動(dòng)模塊、電源模塊及智能WiFi 模塊。系統(tǒng)硬件結(jié)構(gòu)圖如圖1 所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
環(huán)境感知是智能小車控制系統(tǒng)中的重要組成部分,該模塊主要接收視覺(jué)傳感器的信息。環(huán)境感知功能主要依靠視覺(jué)系統(tǒng)來(lái)實(shí)現(xiàn),其主要由鏡頭、CCD、圖像卡、處理器等構(gòu)成。本次基于Android 客戶端的智能小車控制系統(tǒng)采用已知環(huán)境的全局路徑規(guī)劃方法因,此將視覺(jué)系統(tǒng)布置于屋頂。首先,通過(guò)攝像機(jī)獲取小車所處的環(huán)境信息,將信號(hào)送入視覺(jué)系統(tǒng)的圖像卡并進(jìn)行RGB 表色處理。然后,通過(guò)色彩空間轉(zhuǎn)換將圖像由RGB 色彩空間轉(zhuǎn)換至HIS 色彩空間,并與傳統(tǒng)的指定閾值分割法結(jié)合實(shí)現(xiàn)圖像的二值化。最后,對(duì)二值圖像進(jìn)行閉操作,去除鄰近邊緣線間的空白,對(duì)重合圖像進(jìn)行合并。為實(shí)現(xiàn)智能小車在障礙物環(huán)境下的自主運(yùn)動(dòng),還需對(duì)環(huán)境感知所得到的信息建模,本文選用格柵法進(jìn)行環(huán)境建模,其具有簡(jiǎn)單、直觀等優(yōu)點(diǎn)[3]。
行為決策模塊是智能小車控制系統(tǒng)的核心,其將環(huán)境感知和環(huán)境建模模塊所得到的全局地圖信息進(jìn)行分析,為智能小車找到一條符合某種規(guī)則的最優(yōu)路徑,從而實(shí)現(xiàn)智能小車的全局路徑規(guī)劃。本文使用天牛群算法(BSO)對(duì)智能小車控制系統(tǒng)的全局路徑規(guī)劃進(jìn)行研究,BSO 算法參考粒子群算法的基本原理,將天牛覓食和鳥(niǎo)群覓食的行為特征相結(jié)合,在粒子群算法中引入天牛須搜索的概念提出[4]。該算法具有建模簡(jiǎn)單、計(jì)算量小、收斂速度快等優(yōu)點(diǎn)。
本文選用基于TCP 協(xié)議的WiFi 通信作為Android 客戶端與智能小車的通信方式,WiFi 網(wǎng)絡(luò)中的數(shù)據(jù)傳輸借助于Socket 套接字來(lái)實(shí)現(xiàn),應(yīng)用程序利用套接字發(fā)送網(wǎng)絡(luò)請(qǐng)求或者對(duì)網(wǎng)絡(luò)請(qǐng)求做出應(yīng)答[5]。本次設(shè)計(jì)中,端口號(hào)為2001,IP地址為192.168.1.1。智能小車系統(tǒng)工作時(shí),Android 客戶端通過(guò)WiFi 與攝像頭和小車之間進(jìn)行數(shù)據(jù)通信[6],其具體通信協(xié)議如表1 所示。
表1 Android 客戶端與智能小車通信協(xié)議
Android 客戶端路徑規(guī)劃程序設(shè)計(jì)流程如下:
(1)初始化STM32,設(shè)置其串口波特率與WiFi 模塊默認(rèn)的一致,均為9600bps,同時(shí)設(shè)置數(shù)據(jù)位、校驗(yàn)位和停止位等,監(jiān)聽(tīng)串口是否有數(shù)據(jù),若沒(méi)有,則繼續(xù)等待。
(2)建立客戶端套接字Socket,使用WiFi 模塊的IP地址和2001 端口與Android 客戶端建立WiFi 連接,若Android 手機(jī)未打開(kāi)WiFi,則提醒用戶開(kāi)啟WiFi。
(3)Android 客戶端接收小蟻攝像機(jī)采集的環(huán)境信息,將圖像發(fā)送至環(huán)境感知模塊對(duì)其進(jìn)行分析及處理,將處理好的二值圖像發(fā)送至環(huán)境建模模塊進(jìn)行格柵法建模,并在此基礎(chǔ)上使用天牛群算法進(jìn)行智能小車的路徑規(guī)劃。
(4)控制指令通過(guò)無(wú)線通信傳輸?shù)街悄躓iFi 模塊,再經(jīng)過(guò)串口轉(zhuǎn)發(fā)至STM32 最小系統(tǒng)板。其接收到控制指令后,使用switch 語(yǔ)句對(duì)控制指令進(jìn)行解析,并按照收到的控制指令對(duì)智能小車進(jìn)行控制,從而實(shí)現(xiàn)智能小車的全局路徑規(guī)劃。
以天牛群算法得出的規(guī)劃路徑為對(duì)象進(jìn)行測(cè)試,截取路徑圖和智能小車實(shí)際運(yùn)行圖如圖2 和圖3 所示。
圖2 路徑規(guī)劃測(cè)試圖
圖3 小車實(shí)際運(yùn)行圖
通過(guò)對(duì)智能小車實(shí)際路徑規(guī)劃進(jìn)行測(cè)試,可以看出Android 客戶端應(yīng)用程序?qū)τ谥悄苄≤嚶窂揭?guī)劃的正確性及合理性,達(dá)到了預(yù)期的控制要求。
本文基于Android 客戶端開(kāi)發(fā)平臺(tái),設(shè)計(jì)了一款智能小車路徑規(guī)劃系統(tǒng)。重點(diǎn)對(duì)環(huán)境感知、環(huán)境建模、路徑?jīng)Q策、WiFi 無(wú)線通信等方面進(jìn)行研究,利用Matlab 軟件進(jìn)行仿真并通過(guò)實(shí)驗(yàn)驗(yàn)證了本作品的準(zhǔn)確性和可行性,后期可以與目前流行的智能家居、物聯(lián)網(wǎng)技術(shù)相結(jié)合,應(yīng)用領(lǐng)域廣闊,具有重要的現(xiàn)實(shí)意義。