朱漢子, 盧劍偉, 陳新法, 尤 昕
(1.合肥工業大學 機械工程學院,安徽 合肥 230009; 2.合肥工業大學 汽車與交通工程學院,安徽 合肥 230009; 3.合肥泰禾光電科技股份有限公司,安徽 合肥 231200)
隨著機械臂應用領域的增加,高速、高精度是機械臂追求的重要技術性能[1],全面掌握其動力學性能并進行精準控制是高性能機械臂研發的關鍵。其中,機械臂動力學參數的辨識是掌握其動力學行性能并進行控制的重要前提。但多關節機械臂動力學模型自身較為復雜,不是所有的參數都能夠被辨識出來[2]。因此,從標準動力學參數中篩選確定最小動力學參數集,不僅可以降低動力學參數辨識的復雜度,還可以提高基于動力學模型的機械臂控制的快速性和魯棒性[3]。
國外研究人員較早開始關注多關節機械臂最小動力學參數的集合問題[4]。文獻[5]將動力學參數融入機械臂動力學模型中構建新的公式,利用遞歸的閉環關系法求解所需的動力學參數組合;文獻[6]通過對機械臂動力學參數回歸矩陣的分析,總結相應的動力學參數組合規則,并根據機械臂關節間的運動關系,按照組合規則確定最小動力學參數集[7]。但是上述獲得最小動力學參數集的方法還有不足:一方面需要較長時間分析動力學參數的回歸矩陣來確定動力學參數的組合關系;另一方面在實際應用過程中根據組合規則確定最小參數集的過程繁瑣。
為此,本文在考慮關節摩擦和關節電機轉動慣量基礎上,首先利用MDH(modified Denavit-Hartenberg)方法建立多關節機械臂運動學模型,采用遞推式牛頓歐拉方法建立其動力學模型;然后利用隨機數模擬機械臂關節的運動學參數,設計了一個列變換旋轉矩陣,通過該矩陣重組動力學參數的廣義回歸矩陣,確定回歸矩陣各列的獨立性和相關性;最后對重組的動力學參數的回歸矩陣進行正交三角(QR)分解,從標準動力學參數中確定最小動力學參數集及其對應的最簡回歸矩陣。
六關節機械臂簡圖如圖1所示。

圖1 六關節機械臂MDH簡圖
本文利用MDH方法建立其模型,并采用牛頓歐拉方法建立包含關節電機慣性量和關節摩擦在內的機械臂動力學模型[8]。


(1)

各關節電機轉動慣量Ia的力矩τdriver如下:
(2)
庫侖-黏滯摩擦所引起的力矩τfriction如下:
(3)
其中:fv為黏滯摩擦系數;fc為庫侖摩擦系數。
以上三者是線性化的,通過線性疊加獲得機器人關節力矩τall的公式[9],具體如下:
τall=τ+τdriver+τfriction
(4)
整個機器人動力學參數φ為:
φ=[φ1φ2…φn]T
(5)
第i連桿標準動力學參數φi如下:
φi=[LxxiLxyiLxziLyyiLyzi
lxilyilzimiIaifcifvi]
(6)
其中
Lxyi=Ixyi-mirxiryi;
Lxzi=Ixzi-mirxirzi;
Lyzi=Iyzi-miryirzi;
lxi=mirxi;lyi=miryi;lzi=mirzi。
連桿i與MDH坐標系的i關系如圖2所示。

圖2 連桿i與MDH坐標系的i關系
機械臂的第i連桿質心Ci的轉動慣量為[IxxiIxyiIxziIxxiIyyiIyziIzzi],機械臂的第i連桿質心Ci相對第i連桿MDH坐標原點oi的質心位置為[rxi,ryi,rzi]。采用平行軸定理消去機械臂動力學的非線性項,由(6)式的變量定義可得機械臂的第i連桿的質心Ci的轉動慣量相對第i連桿MDH坐標原點oi的轉動慣量的轉化量為[LxxiLxyiLxziLxxiLyyiLyziLzzi]和質心位置的轉化量為[lxilyilzi],mi為第i連桿的質量。
機械臂最小動力學參數集是從標準動力學參數中篩選組合出來的[10],由于并不是每一個標準動力學參數都對機器人關節力矩有影響,并且機械臂動力學參數對關節力矩的貢獻值也有大小之別。機械臂標準動力學參數的可篩選組合性表明了其動力學參數對應回歸矩陣空間是可以進行壓縮和精簡的[11]。

(7)
ψ∈Rm×n(m≥n)是非列滿秩的矩陣,ψ的最小線性無關列組對應標準參數φ的基參數空間。最小線性無關列數也是ψ的空間維度k,而n-k列是需要刪除和線性整合的。ψ的空間維度k對應標準參數φ的基參數個數,此k列貢獻度最大。篩選出的n-k列對應標準參數φ中貢獻度幾乎為0的參數和貢獻度是相關性的參數,其中,貢獻度為0的參數需要刪除,貢獻度是相關性的參數則需要基于基參數進行線性組合。
標準的矩陣QR分解如下:
(8)
其中:Q為m×m的正交矩陣;R為m×n的上三角矩陣。
通過對ψ進行分解求解動力學參數貢獻度。由于多關節機械臂動力學參數的回歸矩陣ψ是非列滿秩的矩陣,對其標準QR分解不具有唯一性。但是通過Householder方式的 QR分解能夠解決ψ的標準QR分解不唯一的問題[12]。于是通過列變換的QR分解使得ψ具有QR分解的唯一性,即
(9)
列變換矩陣Π∈Rn×n顯示ψ各列的獨立性與相關性,其中Ak、Bn-k為R的分塊矩陣。
r=rank(ψ),Q為正則矩陣,Ak為k×k的上三角非奇異矩陣,rank(ψΠ)=rank(Ak)。由Householder矩陣H1,…,Hk和變換矩陣Π1,…,Πk可得:
(H1,…,Hk)ψ(Π1,…,Πk)=R=
(10)
令C(m-k)(n-k)=[zk+1,…,zn],其中參數zj為C的各列,令‖zp‖2=max(‖zk+1‖2,…,‖zn‖2),其中j=k+1,…,n。如果rank(Ak)=k,那么‖zp‖2就等于0。于是,該變換矩陣Π的設計方法如下:
廣義矩陣ψ初次QR分解,對初次分解獲得R矩陣的對角線數值的非零值對應的列位置和零值對應的位置進行標記,根據標記位置構造列變換原矩陣Θ,然后對n階單位矩陣進行Θ列變換來構造列變換矩陣Π。

(11)
令E為m×n的單位矩陣,該隨機數下的廣義矩陣的旋轉矩陣p為:
p=ΘE
(12)
利用(12) 式列變換矩陣p可得:
(13)
其中:φ1為基參數;φ2為基于基參數的可線性組合的參數。
將ψ進行列變換,可得k個獨立的列矩陣ψ1和n-k個需刪除、組合的列矩陣ψ2:
ψrandomp=[ψ1ψ2]
(14)
對 (14) 式隨機廣義矩陣ψrandom進行列變換后,對ψrandomp進行QR分解,可得:
[Q1RkQ2Rk×(n-k)]
(15)

φmin=φ1+βφ2
(16)
最小參數集φmin及其對應回歸矩陣ψ1與標準動力學參數φ及其對應回歸矩陣ψ關系如下:
ψφ=ψ1φmin
(17)
通過數值算例驗證本文提出方法求解的最小動力學參數集的正確性和有效性,機械臂的MDH參數見表1所列。

表1 機械臂MDH參數
應用本方法得到的機械臂最小動力學參數集的符號組合解如下:
Lzz1+Lyy2+Lyy3+0.487lz2+0.300 2lz3+
0.592 9m2+0.209(m3+m4+m5+m6),
Lxx2-Lyy2-0.186(m3-m4-m5-m6),
Lxy2,
Lxz2-0.431 8lz3+0.040 3(m3+m4+m5+m6),
Lyz2,
Lzz2+0.186(m3+m4+m5+m6),
lx2+0.431 8(m3+m4+m5+m6),
ly2,
Lxx3-Lyy3+Lyy4+0.866 2lz4+
0.187 1(m4+m5+m6),
Lxy3-0.020 3l4z-0.008 8(m4-m5-m6),
Lxz3,Lyz3,
Lzz3+Lyy4+0.866 3lz4+0.188(m4+m5+m6),
lx3-0.020 3(m4-m5-m6),
ly3-lz4-0.433 1(m4-m5-m6),
Lxx4-Lyy4+Lyy5,
Lxy4,Lxz4,Lyz4,
Lzz4+Lyy5,lx4,
ly4+lz5,
Lxx5-Lyy5+Lyy6,Lxy5,
Lyz5,Lzz5+Lyy6,lx5,
ly5-lz6,
Lxx6-Lyy6,Lxy6,Lxz6,
Lyz6,Lzz6,lx6,ly6。
因為摩擦項和電機轉動慣量項參數不能精簡,為了保證機械臂動力學模型的完整性,本文將其納入建模之中,所以原有各連桿參數有[LxxiLxyiLxziLyyiLyziLzzilxilyilzimi],其中i=1,…,6,參數總量為60個。本文方法去除連桿1中的Lxx1,Lxy1,Lxz1,Lyy1,Lyz1,lx1,ly1,lz1和連桿6中的lz6,最后通過線性組合成上述的最小動力學參數集的36個符號組合解結果,同時在CORE I5 CPU 上求解該六關節機械臂的最小參數集用時為3.64 s。
為驗證該方法的最小參數集在動力學上的準確性與有效性,利用Matlab軟件里robot tools模塊建立該機械臂模型如圖3所示,設計的圓弧軌跡如圖4所示。

圖3 機械臂結構

圖4 機械臂軌跡
該軟件模塊獲得圓弧軌跡下各關節運動變量,其中機械臂第3關節的角度、角速度和角加速度如圖5所示。對比簡化前與簡化后機械臂的各個關節的力矩值,如圖6所示。

圖5 機械臂的角位移、角速度和角加速度

圖6 模型簡化前與簡化后力矩對比
通過Adams建立的機械臂仿真模型,采用有限項傅里葉級數獲得辨識激勵軌跡,利用最小二乘法辨識六關節機械臂的前3個關節的最小動力學參數集,并計算前3個關節的關節力矩,與Adams仿真出的該激勵軌跡下的前3個關節力矩對比如圖7所示;3個關節的仿真力矩與辨識力矩誤差值如圖8所示。

圖7 關節力矩Adams仿真與辨識計算力矩


圖8 關節力矩Adams仿真值與辨識計算值誤差值
通過以上2種方式對比,本文的最小動力學參數集計算方法完整反映出原有機械臂動力學特性;同時通過辨識結果分析可知,該方法計算的最小動力學參數集有較好的辨識性。
為了求取多關節機械臂最小動力學參數集,本文利用生成的隨機數模擬多關節機械臂運動參數,設計一種回歸矩陣的變換矩陣,從而在較短時間內確定最小動力學參數集。以六關節機械臂為例,通過數值算例對所提出的方法進行了驗證,結果表明,本文提出的方法獲取的最小動力學參數集準確有效,所提出的最小動力學參數計算方法穩定、可靠。