王志軍, 張小濤, 李夢祥
(華北理工大學 機械工程學院, 河北 唐山 063210)
隨著科技的發展,智能機器人正加速融入工業生產和日常生活。六維力傳感器作為實現智能機器人“觸覺”的重要感知元件,得到了世界各國學者的廣泛關注[1]。現階段,六維力傳感器主要包括電容型、壓電型、光電型和應變片型等幾種類型。但由于受到機械結構原理、機械加工誤差、應變片粘貼位置以及系統標定方式的影響,任何類型的六維力傳感器均會不可避免地產生耦合誤差[2-4]。在此前的研究中,減小耦合誤差的方式主要有改變結構和材料、改善加工工藝等,即從根源上進行結構解耦。積木拼裝式六維力傳感器是最早開發的、最具有代表性的結構解耦式六維力傳感器,其通過多個應變檢測模塊實現對不同力的檢測,從而達到結構解耦的目的。但由于加工裝配難度過大以及測量精度不理想,積木拼裝式六維力傳感器并沒有得到廣泛應用。與結構解耦相對應的是軟件解耦,軟件解耦是指采用合適的算法推導出六維力傳感器輸入值與輸出值的關系。實現軟件解耦的方法有2種:第1種是線性解耦,最常用的是最小二乘法[5];第2種是維間解耦,適用于線性解耦無法解決問題的場合,最常用的是機器學習算法,包括BP(back propagation,反向傳播)神經網絡[6]、隨機森林[7]和極限學習機[8]等。綜上可知,結構解耦雖然原理簡單,但會增加加工難度和制造成本;軟件解耦雖能夠有效降低制造成本,但運算復雜,易出現病態矩陣,導致精度降低。因此,設計一種運算簡單、精確度高的六維力傳感器解耦算法具有重要意義。
為此,筆者首先對六維力傳感器的線性解耦算法進行研究,并對其進行耦合誤差分析。然后,在線性解耦算法的基礎上,提出基于多項式擬合的六維力傳感器解耦算法。最后,基于正交并聯六維力傳感器的標定實驗數據,對2種解耦算法進行誤差分析,旨在為提高六維力傳感器的精度提供新思路。
現階段,六維力傳感器的結構主要分為一體式和并聯式。一體式六維力傳感器由金屬材料經一次加工形成,通過布置在空間內不同方位的應變片組合來確定六維外力。一體式六維力傳感器的結構形式有多種[9-13],其中十字梁結構的六維力傳感器(見圖1)最為常用。但是,由于一體式六維力傳感器的結構具有整體性,當對其某一方向施加外力時,會引起其他方向力的耦合,即形成維間耦合誤差,無法實現完全解耦。并聯式六維力傳感器采用球鉸連接的方式,其測力分支可看作只承受軸向力的二力桿。由機構的靜力學分析可知,當將外力施加到并聯式六維力傳感器上時,其測量分支上的敏感元件之間不存在應力耦合,巧妙地實現了結構解耦。但在實際應用中,完全理想的球鉸不易實現,通常采用傳統球副代替,但傳統球副存在加工誤差、理論間隙和摩擦轉矩等,導致并聯式六維力傳感器也存在維間耦合。此外,并聯式六維力傳感器的自身結構也是引起維間耦合的重要因素。如圖2所示的Stewart并聯結構六維力傳感器,其所受的任何方向的力或力矩均由6個測力分支測得,當所受外力為單方向時,6個測力分支均只承受軸向力。結合一階靜力學矩陣可知,該六維力傳感器在所有方向上均存在測量值,即自身結構造成了耦合誤差。

圖1 十字梁結構六維力傳感器Fig.1 Six-dimensional force sensor with cross beam structure

圖2 Stewart并聯結構六維力傳感器Fig.2 Stewart six-dimensional force sensor with parallel structure
根據上文分析,在理想情況下,當六維力傳感器只有單方向力/力矩輸入時,其輸出應只在對應方向上存在。但由于存在維間耦合,使得六維力傳感器在其他方向上也存在輸出。根據六維力傳感器的耦合關系,得到其輸入-輸出耦合模型,如圖3所示。

圖3 六維力傳感器的輸入-輸出耦合模型Fig.3 Input-output coupling model of six-dimensional force sensor
根據圖3,利用矩陣形式表示六維力傳感器的耦合關系,可得:
其中:
式中:Fs為六維力傳感器所受的廣義力(輸入力),Fsi(i=1, 2, …,6)為第i維輸入量;Fc為六維力傳感器的輸出力,Fcj(j=1, 2, …, 6)為第j維輸出量;Hij(i≠j)為第i維輸入量與第j維輸出量的耦合關系函數。
為簡化上述數學模型,將任意輸出量Fcj(j=1, 2, …, 6)與各輸入量Fsi(i=1, 2, …, 6)的關系表示為:
式中:Hij(Fsi)為關于Fsi的函數。
式(2)中Hij(Fsi)的表達式可用以下多項式的形式表示:
由式(3)可知,確定六維力傳感器耦合函數的問題可轉換為確定其多項式階數和各階系數的問題。
線性解耦算法是最常見的六維力傳感器解耦算法,其實現前提為:1)假定六維力傳感器系統為線性系統;2)六維力傳感器所受的廣義外力必須可分解為3個方向上的力/力矩分量;3)六維力傳感器輸出的電壓信號可以相互累加。線性解耦算法的工作原理為:通過對輸入量和輸出量進行線性擬合,進而得到標定矩陣[14-15]。采用矩陣形式可表示為:
式中:G為標定矩陣;U為六維力傳感器產生的電壓信號,U=[U1U2…Um]T。
根據式(4),利用最小二乘法擬合得到標定矩陣G:
式中:U-為U的偽逆矩陣,U-=UT(UUT)-1。
聯立式(4)和式(5),可得標定矩陣G:
式(6)中G為6×m階標定矩陣,即解耦矩陣。為了能夠獲得較為準確的標定矩陣,標定的次數必須遠大于標定矩陣的維數。
進而得到六維力傳感器所產生的電壓信號U與其輸出力Fc的關系:
由于存在加工誤差以及零點漂移等因素的影響,六維力傳感器的輸入-輸出關系往往不是線性關系,可能是多項式函數關系。因此,六維力傳感器的線性解耦算法存在很大的耦合誤差。
以提高六維力傳感器的精度為目的,提出了基于多項式擬合的解耦算法。為了消除六維力傳感器工作時零值點不為0的現象對其精度的影響[16],通過調控將其空載狀態下的輸出值設為0。此時,耦合矩陣H中每一行耦合函數的相加輸出值為0,即可認為任意耦合函數的表達式為:
由式(8)可知,該耦合函數可直接從一階自變量的系數開始考慮。任何一種六維力傳感器均可通過調控來實現空載狀態下的輸出值為0。本文基于多項式擬合的解耦算法的前提為空載狀態下輸出值為0。
在空載狀態下輸出值為0的情況下,當輸入量Fsx不為0,其余輸入量均為0時,Hij(i≠1)均等于0,此時通過賦予不同的Fsx,即可得到不同的輸出量Fcj(j=1, 2, …, 6)。對輸入量Fsx和輸出量Fcj進行多項式曲線擬合,即可得到相應的耦合函數表達式:
在相同條件下,當輸入量Fsy不為0,其余輸入量均為0時,Hij(i≠2)均等于0,此時通過賦予不同的Fsy,即可得到不同的輸出量Fcj(j=1, 2, …, 6)。對輸入量Fsy和輸出量Fcj進行多項式曲線擬合,即可得到相應的耦合函數表達式:
同理,分別令輸入量Fsz、Msx、Msy、Msz不為0,其余輸入量均為0,即可求得其余Hij(Fsi)的函數表達式。由此,可得到輸入-輸出耦合矩陣H。根據求得的耦合矩陣,聯合式(4),可求解得到解耦后的各維輸出量,表示為:
式中:ΔFcj為解耦后的輸出量。
以圖4所示的正交并聯六維力傳感器為研究對象開展標定實驗,并利用線性解耦算法和基于多項式擬合的解耦算法進行解耦求解。

圖4 正交并聯六維力傳感器Fig.4 Orthogonal parallel six-dimensional force sensor
在正交并聯六維力傳感器的各方向測量范圍內分別取10個加載點進行標定實驗,得到其各測量分支的輸出電壓并代入式(6),即得到其標定矩陣G:
對正交并聯六維力傳感器施加不同的力Fsx(均為x正方向的力),通過標定實驗得到一組數據,如表1所示。從表1中可以看出,當六維力傳感器的x正方向有輸入力Fsx時,各個方向均有力/力矩的輸出。由此可見,維間耦合是影響六維力傳感器精度的一個重要因素。

表1 不同Fsx下正交并聯六維力傳感器的標定實驗結果Table 1 Calibration experiment results of orthogonal parallel six-dimensional force sensor under different Fsx
根據表1所示的標定數據,采用基于多項式擬合的六維力傳感器解耦算法進行解耦求解。因篇幅限制,本文只給出施加標準力Fsx和Fsy時的擬合函數和擬合圖像,實施過程如下。
對x正方向施加標準力Fsx,記錄其余5個通道力/力矩的輸出量Fcy、Fcz、Mcx、Mcy、Mcz。根據測量結果,進行多項式曲線擬合,結果分別如圖5至圖9所示。各輸出量Fcy、Fcz、Mcx、Mcy、Mcz與Fsx的耦合函數分別為:

圖5 Fcy與Fsx的耦合關系Fig.5 Coupling relationship between Fcy and Fsx

圖6 Fcz與Fsx的耦合關系Fig.6 Coupling relationship between Fcz and Fsx

圖7 Mcx與Fsx的耦合關系Fig.7 Coupling relationship between Mcx and Fsx

圖8 Mcy與Fsx的耦合關系Fig.8 Coupling relationship between Mcy and Fsx

圖9 Mcz與Fsx的耦合關系Fig.9 Coupling relationship between Mcz and Fsx
對y正方向施加標準力Fsy,記錄其余5個通道力/力矩的輸出量Fcx、Fcz、Mcx、Mcy、Mcz。根據測量結果,進行多項式曲線擬合,結果如圖10至圖14所示。各輸出量Fcx、Fcz、Mcx、Mcy、Mcz與Fsy的耦合函數分別為:

圖10 Fcx與Fsy的耦合關系Fig.10 Coupling relationship between Fcx and Fsy

圖11 Fcz與Fsy的耦合關系Fig.11 Coupling relationship between Fcz and Fsy

圖12 Mcx與Fsy的耦合關系Fig.12 Coupling relationship between Mcx and Fsy

圖13 Mcy與Fsy的耦合關系Fig.13 Coupling relationship between Mcy and Fsy

圖14 Mcz與Fsy的耦合關系Fig.14 Coupling relationship between Mcz and Fsy
為了確定基于多項式擬合的六維力傳感器解耦算法的優劣程度,根據上述解耦結果建立誤差矩陣,以進行精度評價。本文主要針對線性度誤差和最大耦合誤差展開分析。
分別將式(7)、式(11)對應的矩陣形式與式(4)相減并對各元素取絕對值,可得:
式(12)和式(13)即為基于2種解耦算法的六維力傳感器檢測力與實際施加力的偏差,即線性度誤差;將各方向力的最大偏差與該方向力最大量程之比作為各方向的最大耦合誤差。以施加Fsx為例,最大耦合誤差用矩陣形式可表示為:
式中:max()為取最大值的函數;FxM、FyM、…、MzM為各方向力/力矩的滿量程值。
經計算,線性解耦算法的誤差矩陣EL1為:
基于多項式擬合的解耦算法的誤差矩陣EL2為:
2種解耦算法的誤差分析結果如表2所示。對比表2中的各組數據可知,由于正交并聯六維力傳感器的線性度誤差較小,因此2種解耦方法均具有良好的解耦性能,即解耦算法對線性度誤差的影響較小(2種算法對應的線性度誤差最大僅相差0.111個百分點)。此外,相較于線性解耦,多項式擬合解耦使六維力傳感器各方向的最大耦合誤差顯著減小,尤其是Fz,減小了8.914個百分點。綜合來看,基于多項式擬合的解耦算法更能抑制六維力傳感器耦合誤差的影響,有效地提高了其精度。

表2 不同解耦算法的誤差分析結果對比Table 2 Comparison of error analysis results of different decoupling algorithms%
本文首先分析了六維力傳感器耦合誤差的產生原因,并得到了其耦合模型;然后研究了六維力傳感器的線性解耦算法,并在此基礎上提出了基于多項式擬合的解耦算法;最后對正交并聯六維力傳感器進行標定實驗,并分別用2種解耦算法進行求解。結果表明:基于多項式擬合的解耦算法更能減小六維力傳感器自身的耦合誤差,有效提高了其精度并解決了零點漂移所帶來的影響。