劉聶天和,王民慧,黃佳鑫
(貴州大學(xué) 電氣工程學(xué)院,貴陽(yáng) 550025)
觸覺(jué)傳感器及觸覺(jué)傳感技術(shù)一直以來(lái)都是機(jī)器人在對(duì)物體進(jìn)行感知與探索工作的重要部分。從上個(gè)世紀(jì)開(kāi)始,人們開(kāi)始研究觸覺(jué)傳感技術(shù),但研究?jī)?nèi)容僅限于傳感器與被測(cè)對(duì)象之間的接觸性與接觸力度。隨著傳感技術(shù)的發(fā)展,越來(lái)越多的專家學(xué)者開(kāi)始對(duì)機(jī)器人觸覺(jué)傳感器進(jìn)行研究。
Nicholls等人在綜述中曾經(jīng)指出,從上世紀(jì)70年代開(kāi)始,國(guó)外已經(jīng)開(kāi)始對(duì)機(jī)器人及觸覺(jué)傳感技術(shù)展開(kāi)研究。因當(dāng)時(shí)只是檢測(cè)是否接觸到被測(cè)物和接觸力度的大小,研發(fā)出來(lái)的傳感器相對(duì)較為簡(jiǎn)陋,功能比較單一。到了上世紀(jì)80、90年代,觸覺(jué)傳感器處于高速發(fā)展階段。進(jìn)入這個(gè)階段后,越來(lái)越多的專家學(xué)者針對(duì)傳感器進(jìn)行了更加全面的研究。從基本原理出發(fā),使用了先進(jìn)的材料、精度更高的傳感器并簡(jiǎn)化了使用方法。在此期間,觸覺(jué)傳感器多是基于電容式、電阻式、壓電式等工作原理,多用于測(cè)量物體表面形狀、壓力分布等參數(shù),但對(duì)于紋理、硬度等參數(shù)測(cè)量卻還無(wú)法實(shí)現(xiàn)。
隨著新世紀(jì)的到來(lái),觸覺(jué)傳感器原始材料和生產(chǎn)工藝得到了快速發(fā)展,這就意味著傳感器從各個(gè)方面都得到了很大的提升,開(kāi)始向柔性化、多陣列、高靈敏度等方向發(fā)展,而且研究熱點(diǎn)通常集中在電子觸覺(jué)皮膚等柔性觸覺(jué)傳感器方面。到目前為止,觸覺(jué)傳感器只適用于高精度且環(huán)境柔和的工作場(chǎng)所,并不適用于惡劣粗糙的環(huán)境。因此,本文提出的主動(dòng)激勵(lì)式觸覺(jué)在線識(shí)別系統(tǒng),為該方向研究提供了一種新的思路。
國(guó)內(nèi)觸覺(jué)傳感器的研究相對(duì)國(guó)外稍晚一些,上世紀(jì)80年代有關(guān)觸覺(jué)傳感器的研究即已引起國(guó)內(nèi)學(xué)者關(guān)注。其中,東南大學(xué)機(jī)器人傳感與控制技術(shù)研究所、哈爾濱工業(yè)大學(xué)、杭州電子科技大學(xué)、北京理工大學(xué)、中科院沈陽(yáng)自動(dòng)化所等科研單位皆已陸續(xù)推出有關(guān)觸覺(jué)傳感器的系列研究成果。1987年在中國(guó)制定的863計(jì)劃中,將陣列觸覺(jué)傳感器作為重點(diǎn)進(jìn)行立項(xiàng),同時(shí)在此計(jì)劃的支持下,觸覺(jué)傳感器在90年代也得到了飛速發(fā)展。21世紀(jì)開(kāi)始,中國(guó)在觸覺(jué)傳感器方面的發(fā)展進(jìn)入了快車道,眾多研究單位隨即創(chuàng)立,但一般情況下致力研究的觸覺(jué)傳感器仍然局限在基于柔性化、陣列化和輕量化的電子觸覺(jué)皮膚等方面,對(duì)于應(yīng)用在粗糙惡劣環(huán)境等方面的觸覺(jué)傳感器研究尚有不足,同時(shí)國(guó)內(nèi)到目前為止對(duì)于主動(dòng)激勵(lì)觸覺(jué)傳感器方面的研究也仍處于試驗(yàn)階段,并不具有實(shí)時(shí)性?,F(xiàn)階段對(duì)于觸覺(jué)傳感器識(shí)別算法的研究一般是通過(guò)機(jī)器學(xué)習(xí)或者卷積神經(jīng)網(wǎng)絡(luò)等技術(shù),對(duì)采集到的數(shù)據(jù)進(jìn)行處理,但這些觸覺(jué)感知技術(shù)大多應(yīng)用于機(jī)器人皮膚嵌入式陣列單元等方面,對(duì)于本文研究的主動(dòng)激勵(lì)觸覺(jué)傳感器應(yīng)用仍然較少。本文擬對(duì)此展開(kāi)研究論述如下。
本設(shè)計(jì)主要由傳感器模塊、控制器模塊和數(shù)據(jù)采集模塊等構(gòu)成。該系統(tǒng)以STM32F407ZGT6單片機(jī)作為主控核心控制器,通過(guò)傳感器模塊對(duì)不同狀態(tài)傳感器數(shù)據(jù)信息進(jìn)行采集,而后傳給STM32F407ZGT6單片機(jī);數(shù)據(jù)處理轉(zhuǎn)換后,在電腦上用Matlab進(jìn)行可視化繪圖。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 System overall design drawing
本設(shè)計(jì)以STM32F407ZGT6單片機(jī)作為主控核心控制器。一方面,利用壓電陶瓷傳感器模塊采集不同狀態(tài)傳感器數(shù)據(jù),隨后將數(shù)據(jù)傳輸?shù)絊TM32F407ZGT6單片機(jī)中,再通過(guò)串口通信方式將單片機(jī)上的數(shù)據(jù)傳輸?shù)酱谡{(diào)試助手中。另一方面,通過(guò)串口調(diào)試助手接收到數(shù)據(jù)后加以保存,并在Matlab上進(jìn)行數(shù)據(jù)可視化。
一階濾波、也稱為一階慣性濾波或一階低通濾波,常??梢酝ㄟ^(guò)模擬電路或者通過(guò)軟件兩種方式實(shí)現(xiàn)。這里將給出分析闡釋如下。
(1)模擬電路。模擬電路方式通常使用電阻和電容共同搭建的硬件RC低通濾波,常見(jiàn)用于交流信號(hào)、直流信號(hào)和脈沖信號(hào)等方面。典型電路如圖2所示。
圖2 一階濾波典型電路圖Fig.2 Typical circuit diagram of first-order filtering
根據(jù)基爾霍夫電壓定律可以得出:
電路中電流可以通過(guò)流經(jīng)電容的電流得出:
最后通過(guò)上述公式推導(dǎo)得出一階微分方程為:
通過(guò)求解得到輸出與輸入關(guān)系為:
(2)軟件方式。一階濾波的實(shí)現(xiàn),一般通過(guò)最新采樣值與前一次經(jīng)過(guò)濾波后的采樣值進(jìn)行加權(quán),得到最新濾波值。使得濾波過(guò)程中,上一次輸出對(duì)下一次輸入有反饋?zhàn)饔?。這里,研究推得的一階濾波算法公式為:
其中,為濾波系數(shù),一般取值為01之間;表示最新采樣值;為前一次經(jīng)過(guò)一階濾波得到的輸出結(jié)果;表示最新采樣值與前一次經(jīng)過(guò)濾波后的采樣值進(jìn)行加權(quán)得到最新輸出結(jié)果。
程序設(shè)計(jì)流程如圖3所示。圖3中,為濾波系數(shù),一般取值為0~1之間;表示待處理的數(shù)據(jù)量;表示最新采樣值;表示前一次經(jīng)過(guò)一階濾波得到的輸出結(jié)果;表示最新采樣值與前一次經(jīng)過(guò)濾波后的采樣值進(jìn)行加權(quán)后的最新輸出結(jié)果;表示濾波后的全新數(shù)組。
圖3 一階濾波流程Fig.3 First-order filtering flow chart
中值濾波、也叫中位值濾波,是當(dāng)下常見(jiàn)的有效過(guò)濾噪聲的一種非線性平滑技術(shù)。中值濾波在濾除噪聲的同時(shí),還能保護(hù)信號(hào)的邊緣。此處的中值或者中位值是指選定數(shù)據(jù)區(qū)域,并按照從小到大、或者從大到小的順序進(jìn)行排列。若選擇數(shù)據(jù)總數(shù)為奇數(shù)時(shí),則選取中間數(shù)值作為中值或者中位值;若選擇數(shù)據(jù)總數(shù)為偶數(shù)時(shí),則選取中間2個(gè)數(shù)據(jù)的平均值作為中值或者中位值,對(duì)此可表示為:
中值濾波流程如圖4所示。
圖4 中值濾波處理流程圖Fig.4 Flow chart of median filtering processing
在做中值濾波時(shí),采用冒泡排序法對(duì)需要濾波的數(shù)據(jù)從小到大進(jìn)行排列。其中,表示定義濾波數(shù)據(jù)第一個(gè)數(shù)值為0,隨后從開(kāi)始保存每次采樣數(shù)值,與前一個(gè)數(shù)值進(jìn)行比較;表示選擇一次中值濾波所需要的數(shù)據(jù)個(gè)數(shù)。
五點(diǎn)三次平滑處理算法,是一種利用最小二乘法在等間距數(shù)值的基礎(chǔ)上,對(duì)數(shù)據(jù)進(jìn)行三次最小二乘多項(xiàng)式平滑的處理算法,通常用來(lái)處理帶有毛刺或者噪聲的數(shù)據(jù)。此處需用到的數(shù)學(xué)公式為:
一般情況下,設(shè)序列x(1,2,…,),推演得到的五點(diǎn)三次平滑處理計(jì)算公式為:
其中,f是x經(jīng)過(guò)五點(diǎn)三次平滑處理后的輸出(3,4,…,2),為每次濾波的數(shù)據(jù)個(gè)數(shù)。具體流程如圖5所示。
圖5 五點(diǎn)三次平滑處理流程圖Fig.5 Flow chart of five-point cubic smoothing
本課題使用的是基于三級(jí)鋼板壓電陶瓷作為傳感器,在數(shù)據(jù)采集過(guò)程中不可避免會(huì)產(chǎn)生噪音信號(hào)或者干擾信號(hào)。因此,在做數(shù)據(jù)分類前就要進(jìn)行數(shù)據(jù)預(yù)處理,濾掉噪點(diǎn),方便后期分類處理。根據(jù)上述分析可知,一階濾波具有穩(wěn)定、易操作等優(yōu)點(diǎn);中值濾波在濾除噪聲的同時(shí),還能保護(hù)信號(hào)的邊緣;五點(diǎn)三次平滑技術(shù)在數(shù)字信號(hào)處理中有著廣泛應(yīng)用,算法穩(wěn)定性較高。本文利用3種方式進(jìn)行數(shù)據(jù)預(yù)處理,并將處理效果進(jìn)行比較。處理結(jié)果如圖6所示。
圖6 濾波算法對(duì)比Fig.6 Comparison of filtering algorithms
從效果圖可以看出,原始數(shù)據(jù)存在很多噪點(diǎn),經(jīng)過(guò)一階濾波后噪點(diǎn)有所緩解,但是還存在很多噪點(diǎn),而中值濾波效果相對(duì)五點(diǎn)三次平滑處理和一階濾波好很多,保留了信號(hào)原始的輪廓,同時(shí)也對(duì)噪點(diǎn)做了很好的處理。
本文選取效果最好的中值濾波算法,將程序移植到單片機(jī)上進(jìn)行復(fù)現(xiàn),應(yīng)用于機(jī)械手中進(jìn)行去噪。將原始信號(hào)、單片機(jī)濾波信號(hào)、Matlab濾波信號(hào)對(duì)比后發(fā)現(xiàn):?jiǎn)纹瑱C(jī)上的中值濾波較好地還原了Matlab上中值濾波的效果,二者差值較小。具體處理效果如圖7所示。
圖7 單片機(jī)與Matlab濾波效果對(duì)比Fig.7 Comparison of microcontroller and Matlab filtering effect
本文在對(duì)比了一階濾波、中值濾波和五點(diǎn)三次平滑的預(yù)處理效果后,選擇了效果最好的中值濾波進(jìn)行數(shù)據(jù)處理,最終應(yīng)用于STM32F407ZGT6單片機(jī)上,并對(duì)比Matlab的實(shí)驗(yàn)運(yùn)行結(jié)果,驗(yàn)證其具有較好的濾波效果。