肖揚(yáng),侯智
(南京信息工程大學(xué),江蘇南京,210000)
可重構(gòu)機(jī)器人市場是一個(gè)非常具有前景的市場,未來幾年內(nèi),全球可重構(gòu)機(jī)器人市場規(guī)模將呈現(xiàn)爆發(fā)式增長態(tài)勢??芍貥?gòu)機(jī)器人技術(shù)可以在不同的任務(wù)中靈活地重構(gòu)機(jī)器人的行為,具有很強(qiáng)的適應(yīng)性和靈活性。未來,可重構(gòu)機(jī)器人將被廣泛應(yīng)用于多個(gè)行業(yè),包括制造業(yè)、醫(yī)療保健、物流、農(nóng)業(yè)等。面對諸如災(zāi)難廢墟現(xiàn)場搜救、生化污染環(huán)境作業(yè)、排爆排險(xiǎn)等場景,一個(gè)能靈活應(yīng)對復(fù)雜未知環(huán)境的機(jī)器人系統(tǒng)代替人類進(jìn)入未知環(huán)境能有效降低探索任務(wù)的危險(xiǎn)性和成本。模塊化自重構(gòu)機(jī)器人不針對特定應(yīng)用而設(shè)計(jì),可根據(jù)不同任務(wù)和環(huán)境轉(zhuǎn)變?yōu)楹线m的構(gòu)型,可以應(yīng)對更加復(fù)雜多變的環(huán)境中的各種任務(wù)。本設(shè)計(jì)重點(diǎn)研究模塊化自重構(gòu)機(jī)器人系統(tǒng)應(yīng)用于現(xiàn)實(shí)場景的關(guān)鍵技術(shù),旨在開發(fā)一個(gè)能自主工作于動(dòng)態(tài)開放環(huán)境中的模塊化自重構(gòu)機(jī)器人系統(tǒng)。
現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)FPGA 控制的電路準(zhǔn)確性高,穩(wěn)定性強(qiáng),功耗較低,本系統(tǒng)的機(jī)械結(jié)構(gòu)、傳感器系統(tǒng)以及攝像頭均由FPGA 控制并且實(shí)現(xiàn)功能。另外,F(xiàn)PGA 開發(fā)板預(yù)留的接口還可以拓展小車的功能。
考慮到本系統(tǒng)的涉及功能較多,資源占用量較大,以及硬件邏輯設(shè)計(jì)的必要性,本系統(tǒng)的硬件部分由兩塊FPGA 開發(fā)板構(gòu)成,該系統(tǒng)結(jié)合攝像頭、6 自由度機(jī)械臂、溫度傳感器、超聲波傳感器、環(huán)境光傳感器等多傳感器融合圖像處理算法、機(jī)械臂路徑規(guī)劃算法,通過Robei EDA 工具進(jìn)行設(shè)計(jì)與基礎(chǔ)仿真驗(yàn)證,同時(shí)具有無線手動(dòng)控制、無線自動(dòng)控制、物體抓取、物體分類、音頻狀態(tài)播報(bào)、高溫狀態(tài)監(jiān)測、環(huán)境突發(fā)狀態(tài)干涉、環(huán)境光數(shù)據(jù)監(jiān)控的功能。
采用Robei 八角板作為小車FPGA 開發(fā)板之一,其搭載Xilinx Zynq-7010/7020 FPGA 芯片(內(nèi)置Cortex-A9 雙核CPU),可以用于系統(tǒng)設(shè)計(jì)、IC 驗(yàn)證、系統(tǒng)控制、云計(jì)算等用途。
小車第二塊FPGA 開發(fā)板的主控芯片為EP4CE10F17C8N,開發(fā)板擴(kuò)充了豐富的接口和功能模塊,其主要負(fù)責(zé)小車攝像頭算法運(yùn)行。如圖1 所示為本系統(tǒng)方案總體結(jié)構(gòu),主要包含由機(jī)械臂和麥克薩姆輪等組成的機(jī)械層、HDMI 屏幕、串口屏等組成的顯示層以及攝像頭、各類傳感器組成的數(shù)據(jù)采集層。另外,小車還配備了通信模塊。
圖1 方案總體結(jié)構(gòu)
圖2 為小車整體視圖,機(jī)械結(jié)構(gòu)包含六自由度機(jī)械臂、四個(gè)麥克薩姆輪以及金屬框架,本設(shè)計(jì)可以保證小車運(yùn)行的穩(wěn)定性。
圖2 小車整體視圖
OV5640 攝像頭模塊負(fù)責(zé)采集外部場景信息,傳送至FPGA 開發(fā)板中進(jìn)行處理,最終得到可靠外部信息,將外部環(huán)境傳輸至HDMI 顯示屏,同時(shí)可以根據(jù)外部環(huán)境的不同向從機(jī)傳送指令,如周圍環(huán)境太黑則開啟車燈、前方有障礙則進(jìn)行避障,從機(jī)進(jìn)行執(zhí)行。在OV5640 攝像頭中加入了相應(yīng)的算法模塊,從機(jī)將會根據(jù)攝像頭采集到的圖像進(jìn)行處理,將會對攝像頭采集畫面中的顏色凸出部分(如紅綠藍(lán)等)進(jìn)行框選,識別出圖像中的目標(biāo)點(diǎn),減輕了探測作業(yè)時(shí)的尋找難度。OV5640 采用標(biāo)準(zhǔn)的SCCB 接口,兼容I2C 接口。如圖3 為SCCB 寫傳輸協(xié)議的時(shí)序示意圖,包括起始位、器件地址+讀/寫、寫16 寄存器地址、寫數(shù)據(jù)和停止位,“X”為不必關(guān)心位,無需關(guān)心其數(shù)據(jù)為多少。
圖3 寫傳輸協(xié)議
該模塊一共有8 個(gè)I/O 接口,1 路串口Tx、Rx,1 路傳感器接口。I/O 口1-6 可以輸出PWM 信號,I/O7、I/O8 不能輸出PWM 信號。
它用于播放語音,與本系統(tǒng)配備的語音識別模塊進(jìn)行人機(jī)交互,可以用來播報(bào)小車自身狀態(tài)是否正常以及各傳感器的數(shù)據(jù)。模塊采用UART 協(xié)議與FPGA 通信,1 位起始位,8 位數(shù)據(jù)位,1 位停止位,無奇偶校驗(yàn)位,通信波特率為9600bps,對于漢字采用GBK 編碼,對于英文或數(shù)字采用ASCII 碼。
小車讀卡模塊與藍(lán)牙模塊相關(guān)聯(lián),當(dāng)IC 卡插入時(shí),讀卡模塊通過FPGA 向藍(lán)牙模塊發(fā)送信號,藍(lán)牙模塊向手機(jī)端APP 發(fā)送預(yù)設(shè)信息以顯示讀卡是否成功。此功能用于使用者的身份識別。圖4 為本設(shè)計(jì)所使用的讀卡模塊。
圖4 讀卡模塊
LM75A 溫度傳感器準(zhǔn)確度高,通常誤差不高于0.5 攝氏度,在本系統(tǒng)中用來檢測小車所處環(huán)境的溫度。圖5 為LM75A 的功能框圖,LM75A 是一種數(shù)字接口(I2C)的溫度傳感器,LM75A 內(nèi)置帶隙溫度傳感器和 Σ-△模數(shù)轉(zhuǎn)換技術(shù)的溫度-數(shù)字轉(zhuǎn)換器。LM75A 也是一個(gè)溫度檢測器,可提供一個(gè)過熱檢測輸出。
圖5 LM75A 功能框圖
LM75A 內(nèi)包含許多數(shù)據(jù)寄存器:配置寄存器,用來存儲器件的某些配置,如器件的工作模式;溫度寄存器,用來存儲讀取的數(shù)字溫度;設(shè)定點(diǎn)寄存器,用來存儲可編程的過熱關(guān)斷和滯后限制。器件通過2 線的串行I2C 總線接口控制器通信。
環(huán)境光傳感器配合AD 轉(zhuǎn)換模塊可以較為準(zhǔn)確地得到小車所處環(huán)境的光照情況。小車采用的光敏電阻傳感器模塊是用硫化鎘半導(dǎo)體材料制成的電阻器。當(dāng)光照強(qiáng)度升高時(shí),電阻的阻值迅速降低。由內(nèi)光電效應(yīng)可知,當(dāng)有光照到此電阻器時(shí),光照可以產(chǎn)生載流子,這些載流子都參與導(dǎo)電,在外加電場的作用下作漂移運(yùn)動(dòng),電子向電源的正極運(yùn)動(dòng),空穴向電源的負(fù)極運(yùn)動(dòng),從而使光敏電阻器的阻值迅速下降。在無光照的條件下,電阻器幾乎呈高阻狀態(tài),此時(shí)的電阻阻值很大。
超聲波傳感器在本系統(tǒng)中主要用來實(shí)現(xiàn)小車的避障功能。HC-SR04 超聲波傳感器采用IO 觸發(fā)測距,圖6 為超聲波傳感器時(shí)序圖,F(xiàn)PGA 給傳感器至少10μs 的高電平信號;傳感器自動(dòng)發(fā)送8 個(gè)40kHz 的方波,自動(dòng)檢測是否有信號返回;如果有信號返回則通過IO 輸出一高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測試距離=(高電平時(shí)間*聲速(340M/S))/2。
圖6 超聲波傳感器時(shí)序圖
雨滴檢測傳感器可以用來檢測機(jī)器人所處環(huán)境是否下雨,并通過AD 轉(zhuǎn)換模塊來檢測當(dāng)前雨量大小,方便為機(jī)器人下一步行動(dòng)做規(guī)劃。
機(jī)器人配備了六自由度機(jī)械臂,可以完成較多動(dòng)作,在實(shí)際的應(yīng)用中面對錯(cuò)綜復(fù)雜的情況以及不可逾越的障礙時(shí),提供了更多的解決思路,能夠靈活適應(yīng)工作場景,代替救援人員進(jìn)入危險(xiǎn)場景進(jìn)行工作。
機(jī)械臂使用UART 通信協(xié)議與FPGA 通 信,圖7 為UART 時(shí)序圖,本系統(tǒng)機(jī)械臂使用的UART協(xié)議是8 位數(shù)據(jù)傳輸,無校驗(yàn)位。舵機(jī)采用UART 異步串行接口進(jìn)行時(shí)序控制,實(shí)現(xiàn)半雙工異步串行總線通訊,通訊波特率為115200bps。
圖7 UART 時(shí)序圖
本系統(tǒng)使用I2C 總線來實(shí)現(xiàn)FPGA 對麥克薩姆輪的驅(qū)動(dòng)。圖8為本系統(tǒng)電機(jī)驅(qū)動(dòng)模塊框圖,包含iic_w_top 和iic_write 兩個(gè)模塊。iic_w_top 模塊控制“iic_write”:實(shí)現(xiàn)3 次I2C 數(shù)據(jù)寫入。第一次寫入電機(jī)類型數(shù)據(jù)。第二次寫入電機(jī)極性數(shù)據(jù)。第三次寫入電機(jī)速度、方向數(shù)據(jù)。iic_write 則通過I2C 協(xié)議寫入數(shù)據(jù)。
圖8 電機(jī)驅(qū)動(dòng)模塊框圖
HDMI 是一種符合高清時(shí)代標(biāo)準(zhǔn)的數(shù)字化視頻/音頻接口技術(shù),能高品質(zhì)地傳輸未經(jīng)壓縮的高清視頻和多聲道音頻數(shù)據(jù)。
圖9 為HDMI 顯示設(shè)計(jì)框圖,下面分別對各個(gè)模塊進(jìn)行介紹。
圖9 HDMI 顯示設(shè)計(jì)框圖
HDMI_SYNC:行場計(jì)數(shù)模塊:用于產(chǎn)生:CounterX(一行像素點(diǎn)計(jì)數(shù)器)CounterY(一幀行計(jì)數(shù)器)、DrawArea(顯示區(qū)域標(biāo)志)、Sync[1:0]:場、行非顯示區(qū)域標(biāo)志。
HDMI_SHOW:在DrawArea(顯示區(qū) 域標(biāo)志)接 收要發(fā)送的RGB 數(shù)據(jù),將RGB 數(shù)據(jù)轉(zhuǎn)換成R、G、B 分別為8bit,共24bit 數(shù)據(jù),發(fā)送給相應(yīng)的TMDS_encoder 模塊。
TMDS_encoder:根 據(jù)DrawArea(顯示區(qū) 域標(biāo)志)Sync[1:0] :場、行非顯示區(qū)域標(biāo)志進(jìn)行相應(yīng)的數(shù)據(jù)編碼(固定IP 核功能)。分為:DrawArea(顯示區(qū)域標(biāo)志)為高時(shí),處于顯示區(qū)域的視頻數(shù)據(jù)編碼。DrawArea(顯示區(qū)域標(biāo)志)為低時(shí),處于非顯示區(qū)域時(shí)的控制數(shù)據(jù)編碼,并將編碼后的數(shù)據(jù)發(fā)送給HDMI_TMDS 模塊。
HDMI_TMDS:接收來 自TMDS_encoder 的R、G、B 分別為10 位的編碼數(shù)據(jù)。并/串轉(zhuǎn)換:將數(shù)據(jù)由并行的10 位數(shù)據(jù),進(jìn)行串行轉(zhuǎn)換為1 位數(shù)據(jù),逐個(gè)發(fā)送給相應(yīng)的OBUFDS,發(fā)送10 次。
OBUFDS:接受來自HDMI_TMDS 的數(shù)據(jù),進(jìn)行差分操作:輸入為A,輸出為A,~A。并將數(shù)據(jù)傳遞到相應(yīng)的HDMI 接口。
串口屏具有使用方便、維護(hù)輕松的特點(diǎn),可以顯示更多、更直觀的信息,如漢字、曲線、圖片等。串口屏在本系統(tǒng)中主要用來顯示各個(gè)傳感器的數(shù)據(jù),串口屏通過RS232 串口與FPGA 進(jìn)行交互。FPGA 可以發(fā)送指令控制串口屏顯示不同的界面和數(shù)據(jù),從而更直觀地了解當(dāng)前工作環(huán)境的各項(xiàng)數(shù)據(jù)。
小車配備了遙控手柄接收器,實(shí)時(shí)接受手柄信號實(shí)現(xiàn)遠(yuǎn)距離移動(dòng)以及控制機(jī)械臂實(shí)現(xiàn)旋轉(zhuǎn)、抓取物體。手柄控制使用的是SPI 通信協(xié)議,能夠控制小車完成直線前進(jìn)、后退、左右平移等動(dòng)作,在實(shí)際的應(yīng)用中面對各種各樣的地形,小車都能夠保證一定的移動(dòng)能力,更好地執(zhí)行任務(wù)。圖10 為手柄和接收器。
圖10 手柄和接收器
本系統(tǒng)使用的ATK-BLE01_V1.9 是一款支持藍(lán)牙 4.2 協(xié)議的低功耗數(shù)傳模塊,無線工作頻率為 2.4GHz ISM。藍(lán)牙模塊用于小車與其他控制設(shè)備短距離的通信。圖11 是藍(lán)牙模塊與FPGA 的連接示意圖。
圖11 藍(lán)牙模塊與FPGA 的連接示意圖
圖12 和圖13 為圖像識別測試圖,在測試過程中,圖樣采集成功,攝像頭能夠識別到小方塊并且框選出來,為后續(xù)機(jī)械臂抓取物塊提供位置信息。
圖12 圖像識別測視圖(1)
圖13 圖像識別測試圖(2)
從測試結(jié)果可以看出,小車攝像頭所采集的圖像能夠較為清晰地顯示在HDMI 屏幕上,這是本系統(tǒng)設(shè)計(jì)的攝像頭顏色識別功能,可以框選出物塊。
圖14 為機(jī)械臂抓取測試圖,在測試過程中發(fā)現(xiàn),可以通過SPI 手柄和藍(lán)牙兩種方式遠(yuǎn)程控制機(jī)械臂抓取物體,并且對不同位置、不同距離都進(jìn)行了測試,效果良好。
圖14 機(jī)械臂抓取測試圖
本研究設(shè)計(jì)了一種基于Robei EDA 的可重構(gòu)機(jī)器人,利用Robei EDA 軟件與FPGA 硬件平臺完成設(shè)計(jì),以達(dá)到同一個(gè)機(jī)器人在不同環(huán)境下可以采取不同的工作模式來完成相應(yīng)的任務(wù)。本系統(tǒng)所提方法具有優(yōu)良的實(shí)現(xiàn)效果,具有良好的市場應(yīng)用前景及商業(yè)價(jià)值。
系統(tǒng)的創(chuàng)新點(diǎn)如下:
(1)所有模塊采用FPGA 實(shí)現(xiàn),采用并行控制,F(xiàn)PGA 控制的電路不會因?yàn)檐浖魉€控制而產(chǎn)生錯(cuò)誤并且運(yùn)行穩(wěn)定可靠,并行控制使FPGA 對攝像頭和機(jī)械臂等器件的控制更加精準(zhǔn)。
(2)實(shí)現(xiàn)多傳感器融合,能夠同時(shí)反饋溫度、濕度、光照情況,對機(jī)器人的工作環(huán)境實(shí)現(xiàn)實(shí)時(shí)監(jiān)控,并將信息遠(yuǎn)程傳輸給其他設(shè)備。
(3)小車采用可重構(gòu)設(shè)計(jì),可以根據(jù)不同的任務(wù)場景選擇不同的工作模式,如危險(xiǎn)環(huán)境作業(yè)、物流機(jī)器人等。