周雄健
瑞薩電子(中國)有限公司 北京 100191
3D手勢識別在家電、汽車以及工業設備上應用得越來越廣泛。以家電產品為例,在很多場合下,人們更希望采用非接觸式的控制。例如,在使用吸油煙機時,通常用戶的手是潮濕或粘有油污的,使用3D手勢控制可以避免手直接接觸吸油煙機,在一定距離外進行控制。同樣,在智能馬桶、智能水龍頭、智能冰箱等智能家居應用中,3D手勢識別也具有更加便捷、衛生、高效等優勢。本文基于瑞薩電子的靜電電容式觸摸檢測技術,介紹靜電電容式3D手勢識別的基本原理以及抗干擾技術等。
靜電電容式觸摸檢測通過捕捉人體與電極之間靜電電容(1pF以下)的微弱變化,判斷開關的ON/OFF狀態。瑞薩電子開發的靜電電容式觸摸檢測方法,利用開關電容濾波器(SCF)將靜電電容量轉換為電流量,對該信號進行放大和數字化處理后,不僅可以判定開關的ON/OFF狀態,還能判斷人體相對于電極的3D空間坐標。根據人體在3D空間中的坐標變化,可以識別出手勢類型,從而實現非接觸式的3D手勢控制。
靜電電容式3D坐標計算是基于互容式的靜電電容式觸摸檢測,發生的機理如圖1所示。互電容方式基本結構包含接收電極、發送電極及脈沖發生器。發送電極輸出脈沖時,和接收電極間產生電磁場耦合(Field Coupling)。此時,如果人體接近,一部分電磁場將耦合到人體,導致電極間的電磁場耦合減少。通過測量接收電極上電磁場耦合的減少,可以判斷人體的接近。
靜電電容式3D坐標計算使用互容式電極面板來計算空間坐標。電極面板由4個發送電極和1個接收電極組成,如圖2左側所示;手的3D坐標定義如圖2右側所示。
上、下、左、右4對電極的電容計數值(簡稱:計數值)在沒有任何物體接近的狀態下,是一個穩定的計數值,稱為參考值。當手接近或離開電極面板時,電極的計數值會產生變化,如圖3所示。利用計數值相對于參考值的差異程度可以計算3D坐標位置。
如2.1節所述,利用電極計數值和參考值的差異可以計算X/Y/Z三軸坐標。電極計數值和參考值的差值為Δcount。由于4個電極在水平和垂直方向上對稱分布,如果Z軸位置相同,則4個電極的Δcount的平均值Δaverage大致相同。手越接近電極面板,Δaverage越大,如圖4左側所示。Z軸坐標和Δaverage是分段近似線性關系,如圖4右側所示。事先測量好不同的特定Z軸坐標點下的Δaverage參數作為基準,根據Δaverage的值就可以計算出當前的Z軸坐標。

圖1 互容式靜電電容的發生機理

圖2 互容式電極面板結構

圖3 電極計數值變化

圖4 Δaverage和Z軸坐標關系
例如,在(0,0,100)坐標點下,Δaverage=500。在(0,0,150)坐標點下,Δaverage=250。如果當前的Δaverage是325,那么當前Z軸坐標的計算方法如下:
z=100+((500-325)/((500-250)/(150-100)))
=100+(175/5)
=135
當前Z軸坐標確定后,計算當前X坐標。相同Z軸坐標下,沿X軸方向移動手,左電極和右電極的Δcount會產生很大的差異,這個差異被定義為Δhorizontal。手沿X軸移動時,Δcount和Δhorizontal的變化如圖5所示。手的X軸坐標為0時,左電極和右電極的Δcount大致相同,手越接近左電極或右電極,Δcount的差異越大。Δhorizontal在特定的Z軸坐標下,是近似線性的,Z軸坐標越小,Δhorizontal的斜率越大。
在特定Z軸坐標點下的Δhorizontal的斜率為Δx_slope_REF,這是事先測定的參數。首先,計算當前Z軸坐標下的Δhorizontal的斜率Δx_slope。然后,根據當前的Δx_slope和Δhorizontal計算X軸坐標。Z軸坐標和Δx_slope是分段近似線性關系,如圖6所示。

圖5 手沿X軸移動時的Δcount和Δhorizontal

圖6 Δx_slope和Z軸坐標關系

圖7 軟件流程圖
例如,在Z軸坐標為100mm時,Δx_slope=8。在Z軸坐標為150mm時,Δx_slope=3。如果,當前的Z軸坐標為135mm。那么Z軸坐標135mm下的Δx_slope計算如下:
Δx_slope=3+((150-135)*((8-3)/(150-100))=4.5
當前的Δhorizontal是180時,X軸坐標的計算方法如下:
x=180/4.5=40
這樣就可以根據4個電極計數值和參考值的差值Δcount,計算出Z軸坐標為135mm,X軸坐標為40mm。因為4個電極是左、右、上、下的對稱分布,因此Y軸坐標的計算過程和X軸坐標是相同的。
瑞薩電子提供的靜電電容式觸摸檢測解決方案,不僅在電容觸摸傳感單元(簡稱:CTSU)中內置了多種噪聲抑制電路,同時還提供了用于抑制噪聲的軟件濾波器。但即使這樣,因為3D坐標計算具有高敏感度,極易受到干擾影響,因此仍然需要額外的噪聲環境判斷和處理。在軟件中,如果判斷出噪聲超出了設定閾值,那么會馬上停止3D坐標計算,直到判斷出噪聲在正常范圍內后,才會再次恢復3D坐標計算。
3D坐標計算軟件的流程圖如圖7所示,其中包含了多個抗干擾處理措施。
瑞薩電子提供2種3D手勢識別參考方案。一種是以RX231為控制MCU的16×16cm尺寸電極參考方案,Z軸的識別距離為20cm。另一種是以RX130為控制MCU的8×8cm尺寸電極參考方案,Z軸的識別距離為10cm。X/Y/Z軸最小識別精度可以達到1mm。2種3D手勢識別參考方案,如圖8所示。瑞薩電子官方網站上提供了完整的原理圖、元器件表和PCB參考尺寸。
瑞薩電子提供了代碼公開的X/Y/Z坐標計算軟件,上、下、左、右、下壓、順時針旋轉和逆時針旋轉等手勢識別代碼以軟件庫的形式提供。此外,還提供了上位機監控軟件“3D Monitor”,如圖9所示。

圖8 瑞薩電子3D手勢識別Demo

圖9 瑞薩電子3D手勢識別上位機監控軟件
利用靜電電容式觸摸檢測技術,可以實現非接觸式的3D手勢識別。相對于紅外、超聲波或視頻手勢識別,基于靜電電容式觸摸檢測的3D手勢識別具有低成本,不受光線影響,不怕遮擋等優勢。電極面板上可以覆蓋玻璃、亞克力、塑料、木材、石頭等多種非導體材料,具有良好的應用前景。