朱敬花,邵珠楓
(1.九州職業技術學院機電與汽車工程系,江蘇徐州 221000;2.中國礦業大學信息與控制工程學院,江蘇徐州 221000)
人機交互一般是指機器人/機械臂與自然人之間的交互,接觸式人機交互是最普遍、最廣泛的人機交互方式,在裝配機器人、手術機器人、護理機器人中得到了廣泛應用[1]。由于接觸式交互機器人和自然人處在共同的工作空間,交互安全是首要考慮的問題,其次還要考慮交互的柔順性、自然性和平滑性。因此,研究人機間的柔順接觸交互問題,對于保證交互安全、提高機器人服務質量具有重要意義。
機械臂接觸式交互的柔順性是指機械臂與外界環境接觸時產生順從運動的能力,根據控制方式的不同,機械臂柔順控制包括被動柔順控制和主動柔順控制2類[2]。被動柔順控制是指以彈簧、阻尼等吸能或儲能元件作為輔助元件,使機械臂對環境的接觸力產生被動的柔順。被動柔順控制這種借助外部元件的實現方式,無法滿足機械臂的高精度、高柔性接觸要求[3],因此主動柔順控制應需而生。主動柔順控制是指根據反饋的接觸力信息,通過主動控制接觸力大小的方式,實現機械臂與環境交互的柔順性。主動柔順控制包括力/位控制和阻抗控制2類[4]。力/位混合控制的核心思想是將任務空間分解為相互獨立的位置控制子空間和力控制子空間,并各自進行獨立控制的方式[5]。力/位混合控制在機械臂和環境參數已知的情況下可以取得較好的控制效果,但是在參數未知情況下難以取得預期效果。阻抗控制將機械臂與環境接觸過程建模為質量-阻尼-彈簧系統,并針對力和位移之間的關系進行動態控制[6]。根據實現方式的不同,阻抗控制分為力阻抗控制和位置阻抗控制,在環境參數未知的前提下,位置阻抗控制表現出更強的魯棒性和環境適應性。文獻[7]針對空間機械臂加注時的插孔控制問題,設計了基于阻抗控制的柔順控制方法,通過仿真驗證了該方法的有效性。文獻[8]研究了漂浮空間機器人抓捕不配合衛星過程的柔順控制問題,設計了一種旋轉型串聯彈性執行器,經仿真驗證了該方法在衛星抓捕過程中的有效性。文獻[9]針對重載液壓機械臂的柔順控制問題,提出了基于遺傳神經網絡的位置/力同環控制算法,用于高功率動態機械臂的柔度控制。
柔順控制需要已知機械臂的動力學參數并感知末端接觸力,但是存在以下問題:(1)動力學參數一般通過人為設定或者試驗得到,但是當前辨識方法存在損失函數鞍點多、辨識誤差大等問題;(2)末端接觸力需要力傳感器進行測量,這種方式增加了系統復雜度,也限制了柔順控制的推廣使用。
針對上述問題,本文作者研究機械臂系統動力學參數的遞歸辨識方法和柔順控制方法。首先,針對傳統辨識方法損失函數鞍點多、易陷入局部最優、計算量大的問題,提出機械臂由外向內遞歸的參數辨識方法;其次,針對機械臂柔順控制問題,設計基于非奇異終端滑模控制的位置阻抗控制器;最后,通過實驗驗證上述方法的有效性和優越性。
對于具有N個關節的機械臂系統,考慮系統中的未知擾動和摩擦力矩,得到機械臂系統動力學方程[10]為

(1)

摩擦的類型包括滑動摩擦、滾動摩擦和靜摩擦,人機交互運動過程中,機械臂摩擦力主要表現為滑動摩擦,則:
(2)
式中:ν=diag(ν1,ν2,…,νN)為關節的滑動摩擦因數。
將動力學方程中的未知參數全部歸納到矩陣?中,為
(3)
式中:?i為關節i的未知參數矩陣;mi為連桿i的質量;Ii為連桿i的轉動慣量;νi為關節i的滑動摩擦因數。

(4)

上述參數辨識方法的目標函數為minL,但是這種辨識方法存在以下問題:(1)未知參數共有3N個,全部耦合在一起進行辨識,極大地增加了計算量和計算復雜度;(2)損失函數的損失面函數存在大量鞍點(即局部極值點),辨識過程中容易陷入局部最優而降低參數辨識精度。
為了解決上述問題,作者采用遞歸的方式由外而內地辨識連桿動力學參數,實現了參數降維,降低了算法復雜度,同時解決了損失面函數的鞍點問題。對連桿i進行力分析和力矩分析,如圖1所示。

圖1 連桿力/力矩分析Fig.1 Force/moment analysis of connecting rod
圖1中:Zi-1和Zi分別為關節i-1和關節i的Z坐標軸;fi為連桿i受到的合力;τi為連桿i的驅動力矩;ωi為連桿i質心的轉動角速度;pi為關節相較于質心的力臂。連桿i質心位置受到的力Fi和力矩Ti為
(5)
式中:vci連桿i質心的線速度矢量;Δt為采樣間隔。
基于牛頓-歐拉法得到連桿i的驅動力矩τi為
(6)
使用遞歸的方法由外而內依次辨識機械臂的動力學參數,具體步驟為:

(2)由外向內遞歸,依次辨識出連桿N、N-1、…、1的動力學參數。
將文中基于遞歸的參數辨識法與傳統的辨識方法相比,可以看出此辨識方法具有以下優勢:
(1)式(4)給出的傳統辨識法中,共有3N個參數同時辨識;此方法每次辨識3個參數,通過N次辨識完畢,實現了辨識參數的單次降維,極大地降低了計算過程的復雜程度;
(2)從損失函數的角度講,傳統辨識方法損失函數中包含3N個平方項的和;此辨識方法的損失函數中只包含3個平方項的和,這意味著傳統損失面函數的鞍點(極值點)必然遠遠多于此辨識方法。因此,此方法的辨識精度從理論上高于傳統辨識方法。
此節設計了非奇異終端滑模阻抗控制器,實現對機械臂的柔順控制。其核心思想是:將機械臂末端的接觸力轉化為軌跡偏差,通過對期望軌跡進行修正,實現全關節空間的柔順控制。
阻抗控制將機械臂末端與環境之間的接觸模型等效為質量-阻尼-彈性模型,如圖2所示。其中:M為接觸模型的質量矩陣;B為阻尼矩陣;K為彈性矩陣;Fe為環境接觸力。

圖2 阻抗模型Fig.2 Impedance model
對機械臂的關節軌跡進行跟蹤控制,實現關節位置的二階阻抗模型[11]為
(7)
式中:qex為期望的關節角位置;q為實際的關節角位置。
穩態時,機械臂的接觸力為
K(qex-q)=Fe
(8)
基于雅可比矩陣,可以將機械臂接觸力Fe轉化為關節驅動力τe:
τe=JTFe
(9)
式中:J為雅可比矩陣。

(10)
式中:qxz為修正的期望關節角軌跡。
分析式(10)可知:基于機械臂動力學模型,可以將接觸力轉化為關節角軌跡的修正值,通過對期望軌跡進行修正,實現機械臂末端的柔順控制。綜合上述分析,得到阻抗控制框架如圖3所示。

圖3 阻抗控制框架Fig.3 Framework of impedance control
圖3給定的阻抗控制方法,通過將接觸力轉化為期望軌跡修正量,實現了機械臂的柔順控制。但是其中的角位置控制器尚未設計,在下一小節中實現。
在設計角位置控制器時,需要考慮以下2個方面:(1)必須考慮動力學參數不確定性引起的控制誤差,并對這一控制誤差進行補償;(2)機械臂控制具有較高的實時性要求。針對上述2個方面,角位置控制器設計如下:(1)使用RBF神經網絡對參數不確定性進行補償;(2)考慮到非奇異終端滑模控制具有快速收斂、穩態精度高的優點,基于非奇異終端滑模控制設計機械臂控制器。
定義角位置跟蹤誤差為e=qxz-q,設計非奇異終端滑模面s為
(11)
式中:s=(s1,s2,…,sN)T為各關節控制器滑模面;λ=diag(λ1,λ2,…λN)為滑模面斜率矩陣;m和k為人為設定的正奇數,要求m∈(k,2k)。
將機械臂接觸力轉化的驅動力τe考慮到動力學方程中,則式(1)可以寫為

(12)
對非奇異終端滑模面函數s求導,并將式(12)代入,得:
(13)
參考文獻[12]設計一種具有快速收斂能力的指數趨近律:
(14)
式中:a>0、b>0為人為設定參數。選取較大的a值,可以使系統狀態的趨近速度遠大于等速趨近過程,從而提高機械臂軌跡的跟蹤速度。
將式(13)代入到式(14)中,并使用RBF神經網絡對未知擾動τd進行估計,得到控制律τ為
(15)
式中:τ為機械臂控制律;τ1為逆動力學的解算力矩;τ2為趨近過程控制力矩;τ3為基于RBF神經網絡的補償力矩;θ為網絡權值矩陣;φ(χ)為激活函數,χ為神經網絡輸入參數。
(16)
式中:Γθ為正定實數矩陣。
基于上述位置阻抗控制器和角位置控制器的設計原理,得到機械臂柔順控制框架如圖4所示。

圖4 機械臂柔順控制框架Fig.4 Framework of manipulator compliance control
使用Lyapunov理論[13]對機械臂控制系統的穩定性進行分析,能量函數設計為
(17)
對能量函數求導,得:
(18)
分別代入τ1、τ2、τ3,得
(19)

此節從2個方面對柔順控制方法進行驗證:(1)對動力學參數進行辨識和精度驗證;(2)對柔順控制的位置控制和接觸力控制精度進行驗證。
搭建的機械臂實驗平臺包括工控機、電氣控制柜和機械臂本體,其中機械臂本體固定在支架上,如圖5所示。

圖5 機械臂實驗平臺Fig.5 Experimental platform of manipulator:(a)experimental system;(b)manipulator body
機械臂本體由肩關節1、肩關節2、大臂、肘關節和小臂組成。不同關節角軌跡對辨識參數的激發效果是不同的,文中使用對干擾不敏感、速度和加速度平滑性極好的Fourier級數作為關節角軌跡:
(20)

對于關節i,其激勵軌跡的待定系數具有2D+1個,為了充分激發出關節動力學參數、提高參數辨識精度,最優激勵軌跡的確定使用文獻[14]中的確定方法。而后分別使用傳統辨識方法和遞歸辨識方法對動力學參數進行辨識,結果如表1所示。

表1 動力學參數辨識結果Tab.1 Identification results of dynamic parameters
基于第1.2節的參數遞歸辨識方法,得到參數辨識結果如表1所示。
由表1可知:傳統方法和遞歸方法得到的辨識結果有一定差別。由于動力學參數真值未知,無法直接比較2種辨識方法的優劣。將參數辨識結果代入式(1)中得到辨識力矩,再與真實力矩比較,以關節2的辨識結果為例,結果如圖6所示。

圖6 關節2的力矩反算結果Fig.6 Torque inverse calculation result of joint 2
統計2種方法反算力矩的累計絕對誤差,傳統辨識方法反算力矩的累計絕對誤差為9.35 N·m,遞歸辨識方法反算力矩的累計絕對誤差為1.05 N·m。結合圖6可知:傳統辨識方法反算力矩與真實力矩的誤差明顯大于遞歸辨識方法反算力矩的誤差。這是因為傳統辨識方法同步辨識所有的參數,損失面函數中存在大量的鞍點位置,在辨識過程極易陷入局部最優位置;而遞歸辨識方法由外向內逐步遞歸,一步只辨識一個機械臂的未知參數,其損失面函數中鞍點極少,因此遞歸辨識方法的參數精度遠遠高于傳統辨識方法。
以機械臂定點打磨平面形的鋁合金計算機外殼為例,鋁合金計算機外殼如圖7所示。
將期望接觸力設置為20 N,阻抗參數設計為M=[20,20,20]T,B=[200,200,200]T,K=[150,150,150]T。根據任務需要,機械臂3個關節的期望關節角分別為0°、24°、41°。在機械臂末端加裝力傳感器,測量末端接觸力,從而驗證柔順控制效果。
圖8給出了關節1-3的期望軌跡、修正的期望軌跡和實際跟蹤軌跡,可知:實際軌跡能夠較為精確地跟蹤修正的期望軌跡,說明非奇異終端滑模控制器能夠快速、精確地跟蹤期望軌跡。
為了驗證基于位置阻抗控制對接觸力的控制效果,同時使用文中方法與文獻[15]的神經網絡阻抗控制方法對鋁合金計算機外殼進行打磨,2種方法的接觸力控制效果如圖9所示。

圖9 接觸力控制效果Fig.9 Control effect of contact force
經計算,在文中位置阻抗控制下,接觸力誤差最終在±0.4 N范圍內波動;在神經網絡阻抗控制作用下,接觸力誤差最終在[-1.8,-0.5]N內波動。另外,在文中位置阻抗控制作用下,接觸力在2.8 s達到設定值;而在神經網絡阻抗控制作用下,接觸力在5.4 s達到設置值。結合圖9的控制效果可知:文中位置阻抗控制方法可以快速、準確地跟蹤設定接觸力。這是因為:(1)使用遞歸參數辨識方法有效提高了參數的辨識精度,進而提高了控制精度;(2)在角位置跟蹤控制中,利用快速收斂、穩態精度高的非奇異終端滑模控制器進行跟蹤,實現了角位置的快速、精確控制。
實驗結果表明:基于期望軌跡修正的位置阻抗控制能夠實現機械臂與環境的自然、柔順交互,能夠快速、準確跟蹤設定的接觸力。
文中研究了機械臂系統的動力學參數辨識與主動柔順控制問題,首先針對傳統辨識方法存在的鞍點多、易陷入局部最優、計算復雜等問題,提出了機械臂參數由外而內的遞歸辨識方法。然后針對機械臂與環境交互的柔順控制問題,設計了基于非奇異終端滑模控制的位置阻抗控制器。
經實驗驗證得出以下結論:(1)基于傳統辨識方法的反算力矩累計絕對誤差為9.35 N·m,基于遞歸辨識方法的反算力矩累計絕對誤差為1.05 N·m,說明參數遞歸辨識精度遠高于傳統辨識方法;(2)文中位置阻抗控制作用下,接觸力在2.8 s達到設定值,誤差波動范圍為±0.4 N,與神經網絡阻抗控制比具有更高的控制精度和更快的跟蹤速度。