廣東人工智能與先進(jìn)計(jì)算研究院 吳昌隆 盧進(jìn) 柳建鑫
針對(duì)多模感知領(lǐng)域的材質(zhì)識(shí)別系統(tǒng),提出了一種基于FPGA 的材質(zhì)識(shí)別同步采集設(shè)計(jì)實(shí)現(xiàn)方法,通過對(duì)多片不同類別傳感器的同步采集,實(shí)現(xiàn)了納秒級(jí)別的精確同步,得到可靠的傳感器融合數(shù)據(jù),實(shí)現(xiàn)了對(duì)待測(cè)物品的材質(zhì)識(shí)別和劃分。該方法具有采樣率高、數(shù)據(jù)處理速度快、同步精度高、傳輸速率快等優(yōu)點(diǎn),并且通過實(shí)踐,實(shí)現(xiàn)了對(duì)多種不同材質(zhì)物品的識(shí)別分類,證明了該方法的有效性。
材質(zhì)識(shí)別是紋理圖像分類研究領(lǐng)域的典型問題[1]。材質(zhì)識(shí)別的目標(biāo)是從圖像中提取主要材質(zhì)對(duì)象的紋理特征,根據(jù)紋理特征判斷對(duì)象所屬材料類別,如木制、玻璃、塑料、金屬和纖維等[2]。目前基于機(jī)器視覺進(jìn)行的材質(zhì)識(shí)別已較為完備,但依舊存在很大應(yīng)用難題[3]。比如機(jī)器視覺拍攝圖像的視角、光照條件以及物體表面的非剛性形變等因素可能會(huì)給物體的紋理外觀帶來較大的視覺影響[4];不同材質(zhì)實(shí)際的外觀形態(tài)具有不同程度的相似性,也稱為類間相似性[5]。這些困難使材質(zhì)識(shí)別任務(wù)極具挑戰(zhàn)性。
基于機(jī)器聽覺進(jìn)行的材質(zhì)識(shí)別雖然也取得了一些階段性的成就和進(jìn)展,但對(duì)應(yīng)用環(huán)境的要求也極為苛刻。對(duì)采集聲音數(shù)據(jù)的環(huán)境必須在安靜或者封閉的室內(nèi),以最大程度減少噪聲的干擾[6]。
基于多模感知實(shí)現(xiàn)機(jī)械手對(duì)物體的材質(zhì)識(shí)別是一種重要的方法。具有研究物體范圍更廣、識(shí)別精度更高、受環(huán)境因素影響較小等優(yōu)點(diǎn)。通過機(jī)械手觸摸物體的表面,感知物體表面的粗糙程度,進(jìn)而識(shí)別出該物體的材質(zhì),對(duì)于我們建立機(jī)器人材質(zhì)識(shí)別的模型極具意義[7]。
本文提出的基于FPGA 的材質(zhì)識(shí)別同步采集設(shè)計(jì)實(shí)現(xiàn)方法,是針對(duì)多模感知系統(tǒng)領(lǐng)域,對(duì)集成在機(jī)械手上的不同傳感器進(jìn)行驅(qū)動(dòng),同步采集傳感器數(shù)據(jù),傳輸傳感器數(shù)據(jù),最終實(shí)現(xiàn)對(duì)物體材質(zhì)的識(shí)別。
本采集系統(tǒng)設(shè)計(jì)是基于FPGA 上實(shí)現(xiàn)的,采用的是ZYNQ 系列的FPGA 芯片。如圖1所示,主要分為兩大部分的設(shè)計(jì)。(1)硬件設(shè)計(jì)部分,包括傳感器陣列選擇與設(shè)計(jì),F(xiàn)PGA 與傳感器之間的互聯(lián)設(shè)計(jì)等。(2)軟件部分設(shè)計(jì),主要包括在PL 端實(shí)現(xiàn)對(duì)傳感器的上電配置,同步采集以及數(shù)據(jù)傳輸?shù)取?/p>

圖1 采集系統(tǒng)整體架構(gòu)設(shè)計(jì)Fig.1 The overall architecture design of the acquisition system
1.2.1 傳感器的選擇
基于多模感知系統(tǒng)實(shí)現(xiàn)對(duì)物體材質(zhì)識(shí)別的分析,主要測(cè)量壓力和加速度這兩個(gè)物理量。
(1)測(cè)量壓力數(shù)據(jù),采用的“正壓力傳感器+ADC采集芯片”的硬件設(shè)計(jì)方案。正壓力傳感器選用的是HSFPAR303A,該正壓力傳感器具有精度高、體積小、易于集成的優(yōu)點(diǎn),有利于我們安裝集成在機(jī)械手指上,形成穩(wěn)定有效的傳感器陣列。
其中ADC 芯片,選用了ADS1298,該芯片為一款功能較為強(qiáng)大的ADC 采集芯片,具有高采樣率,多通道的數(shù)據(jù)采集[8]。特別的是該芯片支持菊花鏈的硬件設(shè)計(jì),支持16K,8K,4K,1K 的采樣率選擇切換。該芯片具有十分穩(wěn)定的采樣率。
(2)測(cè)量加速度數(shù)據(jù),采用了FIS2108 這款芯片。FIS2108 為一款6 軸的MEMS 傳感器,里面融合了加速度計(jì)和陀螺儀傳感器,具有較高的1K 的采樣率。該芯片上電配置較為簡單,體積小,容易安裝在機(jī)械手上。特別的是該芯片擁有Trigger 和Level 兩種工作模式。
1.2.2 傳感器的分布設(shè)計(jì)
如圖2所示,ADS1298 采用菊花鏈設(shè)計(jì),采用兩條菊花鏈,一共可采集512 個(gè)正壓力傳感器的數(shù)據(jù)。將512個(gè)正壓力傳感器均勻分布在機(jī)械手的各個(gè)重要關(guān)節(jié),形成一個(gè)傳感器矩陣。

圖2 傳感器的硬件分布式設(shè)計(jì)框圖Fig.2 The hardware distributed design block diagram of the sensor
本設(shè)計(jì)同步采集系統(tǒng)硬件設(shè)計(jì)有一片F(xiàn)IS2108 用以采集加速度數(shù)據(jù),安裝在機(jī)械手背。通過一組SPI 接口與FPGA 相連接。
1.3.1 上電配置模塊
上電配置模塊的主要功能是在系統(tǒng)上電后,F(xiàn)PGA對(duì)傳感器進(jìn)行初始化配置,驅(qū)動(dòng)傳感器正常工作。如圖3所示,為軟件設(shè)計(jì)系統(tǒng)框圖。

圖3 軟件系統(tǒng)框圖Fig.3 Software system block diagram
系統(tǒng)上電后,F(xiàn)PGA 不斷地通過SPI 接口,讀寫ADS1298 的配置寄存器。將ADS1298 配置為菊花鏈模式;采樣率為1K,為實(shí)現(xiàn)FIS2108 和ADS1298 的同步采集。
如圖4所示,F(xiàn)PGA 上電后對(duì)FIS2108 的加速度采樣率設(shè)置為1K,以匹配上ADS1298 的采樣率,達(dá)到不同傳感器同步采集的效果;FIS2108 的工作模式設(shè)置為Level 模式。

圖4 ADS1298 上電配置流程圖Fig.4 ADS1298 power-up configuration flow chart
1.3.2 同步采集模塊
同步采集模塊的主要功能是在傳感器初始化配置后,F(xiàn)PGA 同步地采集正壓力傳感器數(shù)據(jù)和加速度數(shù)據(jù)。
經(jīng)過測(cè)試ADS1298 具有十分穩(wěn)定的1kHz 采樣率,但FIS2108 的采樣率極其不穩(wěn)定,這就會(huì)導(dǎo)致ADS1298完成一次采樣時(shí),F(xiàn)IS2108 完成了兩次采樣,或者沒有采樣,無法實(shí)現(xiàn)數(shù)據(jù)的同步采集。本同步采集模塊通過設(shè)置FIS2108 為Level 的工作模式,以ADS1298 采樣率為標(biāo)準(zhǔn),實(shí)現(xiàn)兩者數(shù)據(jù)的同步采集。
由于ADS1298 的DRDY 信號(hào)穩(wěn)定可靠,如圖5所示,F(xiàn)PGA 根據(jù)ADS1298 的DRDY 信號(hào)的下降沿,一方面,讀取ADS1298 的數(shù)據(jù),完成正壓力傳感器數(shù)據(jù)的采集;另一方面,讀取FIS2108 的狀態(tài)寄存器0,導(dǎo)致FIS2108 會(huì)更新鎖存一次數(shù)據(jù),隨即FPGA 在FIS2108的DRDY 信號(hào)低電平讀取傳感器數(shù)據(jù),完成加速度計(jì)數(shù)據(jù)的采集。到此,F(xiàn)PGA 完成了一次ADS1298 和FIS2108 的數(shù)據(jù)采集。由于ADS1298 的采樣率為穩(wěn)定的1K,所以FPGA 能夠以穩(wěn)定1kHz 的速率,正確讀取到兩個(gè)傳感器的數(shù)據(jù),完成了兩個(gè)傳感器數(shù)據(jù)的同步采集,并且同步精確度保持在10ns 以下。

圖5 FPGA 一次同步采集流程圖Fig.5 FPGA one-time synchronization acquisition flow chart
1.3.3 數(shù)據(jù)傳輸模塊
如圖6所示,數(shù)據(jù)傳輸模塊的主要功能是將PL 端采集到的同步數(shù)據(jù)傳輸?shù)絇S 端,再由PS 端完成向上位機(jī)的傳輸。

圖6 PL 和PS 傳輸框圖Fig.6 PL and PS transmission block diagram
由于傳感器的采樣率高,數(shù)量多,因此需要帶寬較大的數(shù)據(jù)傳輸接口。HP 接口(High-performance Purpose)為FPGA 的高性能接口,常用于PL 和PS 之間的高速數(shù)據(jù)傳輸[9]。
設(shè)計(jì)出兩條基于HP 的高速數(shù)據(jù)鏈路,其中HP0 用來傳輸正壓力傳感器數(shù)據(jù),而HP3 用來傳輸加速度數(shù)據(jù)。通過GP 端口設(shè)計(jì)出一條狀態(tài)信息鏈路,用于PL 和PS 交互傳感器數(shù)據(jù)狀態(tài)信息。
本章節(jié)主要對(duì)采樣系統(tǒng)進(jìn)行測(cè)試和驗(yàn)證,包括對(duì)傳感器測(cè)試驗(yàn)證,以及在實(shí)驗(yàn)中的數(shù)據(jù)采集。如圖7所示,為機(jī)械手進(jìn)行數(shù)據(jù)采集實(shí)物圖。

圖7 機(jī)械手?jǐn)?shù)據(jù)采集實(shí)物圖Fig.7 Physical map of manipulator data collection
正壓力傳感器數(shù)據(jù)的測(cè)試,主要是驗(yàn)證FPGA 能否正常驅(qū)動(dòng)ADS1298 去采集正壓力傳感器的數(shù)據(jù)。如圖8所示,對(duì)壓力傳感器進(jìn)行定量分析,先后往正壓力傳感器施加100g,100g 的砝碼,F(xiàn)PGA 通過ADS1298進(jìn)行數(shù)據(jù)的采集。經(jīng)過換算,采集到地壓力數(shù)據(jù)分別為1.126N 和1.091N,與實(shí)際施加砝碼的重力一致。

圖8 正壓力數(shù)據(jù)圖Fig.8 Positive pressure data graph
加速度數(shù)據(jù)的測(cè)試,主要是為了驗(yàn)證FPGA 正常驅(qū)動(dòng)FIS2108 正常工作,并且正確地采集到加速度的三軸數(shù)據(jù)。
針對(duì)FIS2108 的測(cè)試驗(yàn)證,采用繞著加速度計(jì)的X 軸做了旋轉(zhuǎn)360°的運(yùn)動(dòng)。如圖9所示,加速度的X,Y,Z三軸的初始數(shù)值和運(yùn)動(dòng)曲線正確反映出了上述運(yùn)動(dòng)過程。

圖9 加速度3 軸數(shù)據(jù)圖Fig.9 Acceleration 3-axis data graph
加速度數(shù)據(jù)的測(cè)試,傳感器同步性驗(yàn)證主要是為了FPGA 是否實(shí)現(xiàn)了對(duì)正壓力傳感器和加速度傳感器數(shù)據(jù)的同步采集。驗(yàn)證方式是在固定時(shí)間段內(nèi),F(xiàn)PGA 采集到的正壓力數(shù)據(jù)量與加速度數(shù)據(jù)量是否一致。如圖10所示,正壓力數(shù)據(jù)量與加速度數(shù)據(jù)量均為21541 個(gè)數(shù)據(jù),采樣率一致。

圖10 壓力數(shù)據(jù)量和加速度數(shù)據(jù)量對(duì)比圖Fig.10 Comparison of pressure data volume and acceleration data volume
不同材質(zhì)下的數(shù)據(jù)驗(yàn)證,主要是機(jī)械手在實(shí)際觸摸不同材質(zhì)物體時(shí),采集到的正壓力數(shù)據(jù)與加速度數(shù)據(jù)。
本次實(shí)驗(yàn)機(jī)械手的運(yùn)動(dòng)軌跡,從原點(diǎn)開始按壓物體,滑動(dòng)一小段距離,再回到原點(diǎn),再進(jìn)行一次按壓物體,滑動(dòng)一小段距離,最終再回到原點(diǎn)。本次實(shí)驗(yàn)機(jī)械手的運(yùn)動(dòng)軌跡包含了兩次對(duì)物體表面滑動(dòng)的過程。
其中機(jī)械手對(duì)鋁制物體表面滑動(dòng)兩次時(shí),F(xiàn)PGA 采集到的正壓力數(shù)據(jù)和加速度三軸數(shù)據(jù),如圖11所示。

圖11 鋁制物體表面滑動(dòng)數(shù)據(jù)圖Fig.11 Sliding data graph of the surface of an aluminum object
機(jī)械手對(duì)人造皮膚表面滑動(dòng)兩次時(shí),F(xiàn)PGA 采集到的正壓力數(shù)據(jù)和加速度三軸數(shù)據(jù),如圖12所示。

圖12 人造皮膚表面滑動(dòng)數(shù)據(jù)圖Fig.12 Sliding data graph of artificial skin surface
機(jī)械手對(duì)竹制物體表面滑動(dòng)兩次時(shí),ZYNQ 采集到的正壓力數(shù)據(jù)和加速度三軸數(shù)據(jù),如圖13所示。

圖13 竹制物體表面滑動(dòng)數(shù)據(jù)圖Fig.13 Sliding data map of the surface of bamboo objects
通過基于FPGA 實(shí)現(xiàn)的同步采集系統(tǒng),對(duì)不同材質(zhì)物體進(jìn)行數(shù)據(jù)采集,使用加速度X 軸和Z 軸數(shù)據(jù),對(duì)加速度Y 軸數(shù)據(jù)和正壓力數(shù)據(jù)進(jìn)行修正,融合和建模,完成了對(duì)鋁制物體、人造皮膚、竹制物體、高密度泡沫等的識(shí)別,實(shí)現(xiàn)了對(duì)物體的材質(zhì)識(shí)別。
在如今人工智能快速發(fā)展的條件下,隨著機(jī)器人面對(duì)的環(huán)境越來越復(fù)雜,這就要求機(jī)器人外部感知能力愈來愈強(qiáng),單靠某一方面的感知是十分片面和狹隘的,需要多種將視覺、聽覺和觸覺等感知能力融合起來,準(zhǔn)確地感知到所處的環(huán)境狀態(tài)信息等,才能做出合理和正確的判斷。多模感知,多模融合分析,是機(jī)器人發(fā)展的趨勢(shì)。本文基于FPGA 的材質(zhì)識(shí)別同步采集設(shè)計(jì)實(shí)現(xiàn)方法,準(zhǔn)確并且同步地采集到了正壓力傳感器數(shù)據(jù)和加速度數(shù)據(jù),并且快速完成對(duì)傳感器數(shù)據(jù)的處理和上傳,提供給上位機(jī)進(jìn)行分析研究。將采集到的正壓力傳感器數(shù)據(jù)和加速度數(shù)據(jù),經(jīng)過算法進(jìn)行融合分析識(shí)別等一系列驗(yàn)證,準(zhǔn)確識(shí)別出了鋁制物體、人造皮膚、竹制物體、高密度泡沫等材質(zhì)的物體,實(shí)現(xiàn)了基于多模感知領(lǐng)域的機(jī)械手材質(zhì)識(shí)別分類的功能,證明了方法的有效性、實(shí)用性。