劉帥 王敏珍 劉超
摘? 要: 目前傳統(tǒng)數(shù)據(jù)分類存儲系統(tǒng)多數(shù)基于遺傳算法,這類系統(tǒng)存在系統(tǒng)吞吐量較差、效率低的問題。為此,設(shè)計一種基于模式識別的機器人運行軌跡數(shù)據(jù)分類系統(tǒng)。首先設(shè)計系統(tǒng)整體框架,包括數(shù)據(jù)采集、處理以及存儲模塊;其次在硬件設(shè)計上,選擇XC2VP30芯片作為FPGA核心芯片,設(shè)計數(shù)據(jù)采集模塊接口電路,利用合適的FLASH芯片進(jìn)行數(shù)據(jù)存儲完成系統(tǒng)硬件設(shè)計;最后根據(jù)模式識別方法,建立標(biāo)準(zhǔn)數(shù)據(jù)樣本集,確定特征向量,計算隸屬度函數(shù)完成數(shù)據(jù)分類,再利用FPGA將已分類數(shù)據(jù)存儲至FLASH模塊中完成軟件設(shè)計。測試結(jié)果表明,與傳統(tǒng)的數(shù)據(jù)分類存儲系統(tǒng)相比,基于模式識別的機器人運行軌跡數(shù)據(jù)分類存儲系統(tǒng)的系統(tǒng)吞吐量提高了15.9%,效率得到了提高。
關(guān)鍵詞: 運行軌跡; 數(shù)據(jù)分類存儲; 模式識別; 系統(tǒng)吞吐量; 系統(tǒng)設(shè)計; 系統(tǒng)測試
中圖分類號: TN919?34; TP391? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)04?0145?04
Design of robot moving trajectory data classification and storage system
based on pattern recognition
LIU Shuai, WANG Minzhen, LIU Chao
(Changchun Institute of Technology, Changchun 130012, China)
Abstract: A robot moving trajectory data classification system based on pattern recognition is designed to improve the poor system throughput and low efficiency in the most traditional data classification and storage systems based on genetic algorithm. The overall framework of the system is designed, which includes the data acquisition, data processing and data storage modules. In the hardware design, XC2VP30 chip is selected as the core chip of FPGA to design the interface circuit of data acquisition module, and the appropriate Flash chip is used for the data storage, so as to complete the hardware design of the system. The standard data sample set is established by means of the pattern recognition method, the feature vector is determined, the membership function is calculated to complete the data classification, and the classified data is stored in the Flash module by FPGA to complete the software design. Therefore, the overall design of the system has been completed. The testing results show that in comparison with the traditional data classification and storage system, the system throughput of the robot moving trajectory data classification and storage system based on pattern recognition is increased by 15.9%, and the efficiency is improved.
Keywords: moving trajectory; data classification and storage; pattern recognition; system throughput; system design; system test
模式識別是利用數(shù)學(xué)技術(shù)通過計算機研究模式的自動處理和判讀。在給定的任務(wù)中,模式可以用來與待識別對象進(jìn)行比較的樣本,并進(jìn)行識別得出結(jié)果[1]。模式識別研究主要方法很多,其中模糊模式識別具有識別方便、自適應(yīng)能力強、能夠排除噪聲和干擾的影響等優(yōu)點,得到比較好的識別結(jié)果[2]。目前,機器人運行軌跡以機器人的定位為基礎(chǔ),以導(dǎo)航為手段,對于規(guī)劃出來的軌跡,通過控制機器人來實現(xiàn),不同的機器人運行軌跡有不同的分類,為更好對機器人運行軌跡數(shù)據(jù)進(jìn)行分類存儲,設(shè)計基于模式識別機器人運行軌跡數(shù)據(jù)分裂存儲系統(tǒng)。
1? 機器人運行軌跡數(shù)據(jù)分類存儲系統(tǒng)設(shè)計
1.1? 系統(tǒng)整體框架設(shè)計
基于模式識別機器人運行軌跡數(shù)據(jù)分類存儲系統(tǒng)設(shè)計框架如圖1所示。
從整體上看,系統(tǒng)包括數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊和數(shù)據(jù)存儲模塊。
1.2? FPGA中心控制邏輯硬件設(shè)計
在充分考慮系統(tǒng)復(fù)雜度和利用資源的情況下,使用FPGA[3]對數(shù)據(jù)進(jìn)行處理。
1) 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊主要通過FPRG芯片內(nèi)部的SRAM對機器人運行軌跡數(shù)據(jù)進(jìn)行提取,再使用D/A轉(zhuǎn)換器,將收集到數(shù)字量轉(zhuǎn)換成模擬量,通過濾波放大后,由FPGA接收、處理和存儲[4]。其中,數(shù)模轉(zhuǎn)換芯片選擇DAC0832;單電源供電一般為5~15 V;功耗為75 mW,無需外部電路的補償,只需連接不同輸出引腳就可得到不同電壓輸出范圍[5]。DAC0832與FPGA的接口電路如圖2所示。
2) 數(shù)據(jù)處理模塊
該模塊中核心芯片使用Xilinx公司生產(chǎn)的型號為XC2VP30的FPGA芯片,作為數(shù)據(jù)分類存儲系統(tǒng)的設(shè)計芯片,F(xiàn)PGA芯片上有8個數(shù)字時鐘處理器,30 816個邏輯單元,以及分布式RAM和塊RAM,除此之外,芯片還能提供100 MHz的系統(tǒng)時鐘[6]。外部輸入信號能通過I/O單元輸入到FPGA內(nèi)部,當(dāng)外部輸入信號經(jīng)過I/O單元輸入到FPGA內(nèi)部時,其保持時間的要求可以降低,一般默認(rèn)為0。
3) 數(shù)據(jù)存儲模塊
該模塊使用4 GB KLMAG8DEDD型號的FLASH芯片[7],該芯片可用來保存運行軌跡數(shù)據(jù),還可用來保存程序代碼。KLMAG8DEDD地址和命令在I/O單元上傳遞。當(dāng)數(shù)據(jù)采集完成后,數(shù)據(jù)處理模塊中的邏輯單元對數(shù)據(jù)進(jìn)行判斷,對FLASH存儲芯片內(nèi)部進(jìn)行擦除,進(jìn)行數(shù)據(jù)寫入操作,使機器人運行軌跡數(shù)據(jù)從緩存中讀取后完整準(zhǔn)確地寫入到FLASH中。數(shù)據(jù)存儲模塊的功能框圖如圖3所示。
1.3? 基于模式識別的系統(tǒng)軟件設(shè)計
1.3.1? 建立標(biāo)準(zhǔn)數(shù)據(jù)樣本集
在對機器人運行軌跡數(shù)據(jù)分類設(shè)計中,需解決待識別對象對于一個標(biāo)準(zhǔn)樣本集的歸屬問題,而解決該問題的基本原則是最大隸屬原則[8]。通過事先給出的訓(xùn)練樣本集來獲得標(biāo)準(zhǔn)樣本集。
假設(shè)機器人運行軌跡數(shù)據(jù)目標(biāo)共有N類,每類數(shù)據(jù)目標(biāo)存在訓(xùn)練樣本集[K=k1,k2…,kn],對于每一個樣本元素k都有L個特征值,即特征值矩陣[K=[ki1,ki2,…,kin]],以每一類的數(shù)據(jù)目標(biāo)訓(xùn)練樣本集的特征值來表述該類目標(biāo),即每一類數(shù)據(jù)目標(biāo)對應(yīng)一個確定特征值。
假設(shè)第x個數(shù)據(jù)目標(biāo)類的特征均值矢量[Wx],則N類目標(biāo)的標(biāo)準(zhǔn)樣本集為[Wx=w1,w2,…,wN],[Wx∈f(g)]。任取[g0∈G],如果存在i≤N,則認(rèn)為g0相對隸屬于Wx,這就是最大隸屬原則。
以機器人運行軌跡數(shù)據(jù)的特征值計算不同樣本的隸屬函數(shù)值為依據(jù),進(jìn)行最終的機器人運行軌跡數(shù)據(jù)歸類判別。
1.3.2? 確定特征向量
在機器人運行軌跡數(shù)據(jù)分類時,在對應(yīng)的特征空間中,不同的數(shù)據(jù)類在各自的數(shù)據(jù)類內(nèi),特征參量凝聚度較好;不同類之間的類間距距離相對較遠(yuǎn)。對機器人運行軌跡數(shù)據(jù)進(jìn)行分類,將利用數(shù)據(jù)目標(biāo)類的識別度,實現(xiàn)不同區(qū)域的機器人運行軌跡數(shù)據(jù)分類[9]。
根據(jù)Chebyshev大數(shù)定理得出數(shù)據(jù)隨機變量的凝聚方程:
[h-GhGh<δ≥1-varhδG2h]? ? ?(1)
式中:[varh]表示方差;h表示變量;[G(h)]表示平均值;d表示誤差。當(dāng)方差比較小時,隨機變量在其平均值附近,誤差不超過d,即在一定的可能性下,數(shù)據(jù)凝聚只有在其平均值附近時,才能保持誤差相對較小。為更好地對機器人運行軌跡數(shù)據(jù)進(jìn)行分類,引入一個目標(biāo)集合識別度P:
[P=Gh0-Ghavarh0+varha]? ? ?(2)
式中,[h0]和[ha]分別表示目標(biāo)和背景。當(dāng)識別度越大時,說明目標(biāo)類之間的類間距越大,即閾值分割的可能性越大[10]。
按照特征值計算機器人運行軌跡數(shù)據(jù)的隸屬度,利用隸屬度函數(shù)完成數(shù)據(jù)分類。
1.3.3? 計算隸屬度函數(shù)完成分類
按照特征計算每個機器人運行軌跡數(shù)據(jù)屬于某個數(shù)據(jù)目標(biāo)類的隸屬度函數(shù),再利用已經(jīng)算出的一組隸屬度函數(shù)中的極值,作為該運行軌跡數(shù)據(jù)對這類數(shù)據(jù)的隸屬度函數(shù)。在分類時,選擇獲取極大隸屬度的數(shù)據(jù)目標(biāo)類作為該數(shù)據(jù)的所屬類別。
假設(shè)有N類機器人運行軌跡數(shù)據(jù)的樣本庫,將待分類的機器人運行軌跡數(shù)據(jù)的特征矢量設(shè)定為[Xi=x1,x2,…,xj]。[Xi]的每個分量[xj]集中在各自特征均值s周圍,[Xi]以高斯分布的形式集中在其特征平均值s附近。用xj計算樣本屬于類別a的特征值隸屬度e,利用特征值隸屬度判斷機器人運行軌跡數(shù)據(jù)的所屬類別a的隸屬度Da,公式如下:
[ea=1-xj-sNxj-sDa=Δea,? ?1≤a≤j]? ? ?(3)
式中:[xj]表示[Xi]的分量;s表示特征均值;[Da]表示機器人運行軌跡數(shù)據(jù)的所屬類別隸屬度。根據(jù)計算出的隸屬度[Da],判斷所屬類別之后進(jìn)行存儲。
1.3.4? 分類數(shù)據(jù)存儲
對機器人運行軌跡數(shù)據(jù)分類完成后,將已完成分類的數(shù)據(jù)進(jìn)行存儲。機器人運行軌跡數(shù)據(jù)通過串口轉(zhuǎn)變?yōu)槠胀ǖ腃MOS電平信號,進(jìn)入到FPGA邏輯單元,F(xiàn)PGA解碼模塊根據(jù)信號的同步時鐘解碼,利用邏輯單元控制擦除FLASH源數(shù)據(jù),等待存儲運行軌跡數(shù)據(jù),接著存儲已完成分類的數(shù)據(jù)。實現(xiàn)數(shù)據(jù)存儲部分程序代碼如下:
module flash(
input? w_clk,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //采集時鐘
input? r_clk? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //串口通信時鐘
input? ?w_runtrack,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //寫出地址
input? ?r_runtrack,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//讀入地址
output? [7:0]datain,? ? ? ? ? ? ? ? ? ? ? ? ? //輸出處理后的數(shù)據(jù)
input? [8:0]wrads,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //寫地址
input? [8:0]rads,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //讀地址
input? [7:0]set_rtract,? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//數(shù)據(jù)存儲完成
);
利用FPGA控制邏輯單元,將已完成分類的機器人運行軌跡數(shù)據(jù)存儲至FLASH存儲模塊中,存儲完成后將機器人運行軌跡數(shù)據(jù)傳至控制計算機進(jìn)行存盤,方便后續(xù)測試和分析等操作。
2? 系統(tǒng)測試
2.1? 測試環(huán)境
對基于模式識別的機器人運行軌跡數(shù)據(jù)分類存儲系統(tǒng)進(jìn)行測試,要求計算機操作系統(tǒng)為Windows 2007/XP以上,內(nèi)存4 GB以上,硬件容量300 GB以上。利用Matlab軟件模擬機器人運行軌跡,計算本系統(tǒng)與傳統(tǒng)的數(shù)據(jù)分類存儲系統(tǒng)的吞吐量,系統(tǒng)的吞吐量越大,說明系統(tǒng)在單位時間內(nèi)完成的指令越多,系統(tǒng)的資源得到充分利用。
2.2? 測試參數(shù)設(shè)置
測試設(shè)定不同的單位時間,按照相同的數(shù)據(jù)傳輸速率進(jìn)行數(shù)據(jù)分類存儲,如果發(fā)送的數(shù)據(jù)與存儲的數(shù)據(jù)數(shù)量相等,那么將傳輸速率提高并重新測試;如果存儲數(shù)據(jù)少于發(fā)送數(shù)據(jù)則降低數(shù)據(jù)傳輸速率重新測試,直到測試出最終結(jié)果。測試相關(guān)參數(shù)如表1所示。
2.3? 測試結(jié)果分析
為保證測試的有效性,將常規(guī)的數(shù)據(jù)分類存儲系統(tǒng)與基于模式識別的機器人運行軌跡的分類存儲系統(tǒng)進(jìn)行比較,結(jié)果如表2和表3所示。
從表2和表3的數(shù)據(jù)可知,基于模式識別的分類存儲系統(tǒng)吞吐量在不同的單位時間下,幾乎都大于常規(guī)的數(shù)據(jù)分類存儲系統(tǒng)的吞吐量,系統(tǒng)吞吐量平均提高15.9%,效率得到了提高。
3? 結(jié)? 語
當(dāng)前社會人工智能發(fā)展迅速,設(shè)計基于模式識別的機器人運行軌跡數(shù)據(jù)分類存儲系統(tǒng),能夠促進(jìn)人工智能更好的發(fā)展。該系統(tǒng)利用模糊模式識別技術(shù)實現(xiàn)數(shù)據(jù)的分類,利用FPGA完成數(shù)據(jù)的存儲,與傳統(tǒng)的數(shù)據(jù)分類存儲系統(tǒng)相比,基于模式識別的數(shù)據(jù)分類存儲系統(tǒng)的吞吐量大,效率高,適合用于機器人運行軌跡數(shù)據(jù)分類存儲中。
注:本文通訊作者為王敏珍。
參考文獻(xiàn)
[1] 王秋琳,宋立華,閆麗飛,等.一種非結(jié)構(gòu)化數(shù)據(jù)查詢優(yōu)化存儲系統(tǒng)設(shè)計[J].電子設(shè)計工程,2017,25(13):16?20.
[2] 褚晶輝,羅薇,呂衛(wèi).多圖嵌入表示在人體運動模式識別中的應(yīng)用[J].計算機科學(xué)與探索,2017,11(6):941?949.
[3] 張兆晨,冀俊忠.基于卷積神經(jīng)網(wǎng)絡(luò)的fMRI數(shù)據(jù)分類方法[J].模式識別與人工智能,2017,30(6):71?80.
[4] 李科,陳紫強,謝躍雷.基于FPGA的多通道實時地震勘探采集系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2018,41(9):24?30.
[5] 王具民,殷世民,陳洪波,等.基于FPGA的傅里葉變換成像光譜儀實時數(shù)據(jù)采集與顯示系統(tǒng)設(shè)計[J].電子器件,2017,40(1):103?107.
[6] 許潔,吳秦,梁久禎,等.稀疏保持典型相關(guān)分析特征選擇與模式識別[J].小型微型計算機系統(tǒng),2017,38(8):1877?1882.
[7] 劉玉敏,趙哲耘.基于特征選擇與SVM的質(zhì)量異常模式識別[J].統(tǒng)計與決策,2018,34(10):11?14.
[8] 沈艷霞,吳娟,趙芝璞,等.三電平逆變器多故障模式識別方法[J].系統(tǒng)仿真學(xué)報,2017,29(7):1447?1456.
[9] 王昊,劉高軍,段建勇,等.基于特征自學(xué)習(xí)的交通模式識別研究[J].哈爾濱工程大學(xué)學(xué)報,2019,40(2):132?136.
[10] 尹新城,胡勇.基于Matlab的機器人GUI仿真平臺設(shè)計研究[J].科技通報,2018,34(1):193?196.