史瓊艷,謝小敏
(1.常州機電職業(yè)技術(shù)學院 機械工程學院,江蘇 常州 213164; 2.河海大學 機電工程學院,江蘇 南京 210098)
腿式機器人與輪式機器人不同,腿式機器人可以執(zhí)行多種工作,比如在復雜的環(huán)境中爬梯子和克服障礙等[1].近幾年大量的專家學者在腿式機器人上進行了大量的研究以提高機動性.在腿式機器人中,更多的研究重點放在四足機器人的應(yīng)用上,例如在不平坦的地形中進行救援和承載負重,因為四足機器人的特性確保了腿式機器人具有更多的靜態(tài)穩(wěn)定性[2].
文獻[3]研究了平面雙滑塊機構(gòu)的2DOF并聯(lián)機器人,計算得到機器人驅(qū)動力方程,利用Matlab及ADAMS軟件驗證模型的有效性.文獻[4]研究3-PRR并聯(lián)機器人機構(gòu)運動學,研究3-PRR并聯(lián)機器人運動特性,并進行數(shù)學建模,利用ADAMS仿真軟件驗證建模的合理性.文獻[5]深入研究6PUS-UPU并聯(lián)機器人運動學以及動力學,基于拉格朗日方程建立該并聯(lián)機器人運動學模型,對該模型進行模糊辨識,為了實現(xiàn)驅(qū)動力的優(yōu)化對冗余分支控制器進行設(shè)計,最后在Matlab及ADMAS中驗證控制效果.
并聯(lián)結(jié)構(gòu)在運動學及動力學上有強耦合性[6],通??梢杂脗鹘y(tǒng)的基于模型的控制器進行并聯(lián)機器人全動態(tài)建??刂芠7].雖然這種方法可以減少建模誤差,但在動力學計算方面非常復雜.此外,在串聯(lián)機器人中設(shè)計基于模型的控制器的一般方法并不適用于并聯(lián)機器人.對此,本文提出并聯(lián)機構(gòu)機器人腿的簡化建模和控制策略,構(gòu)造并聯(lián)2自由度機器人腿簡化模型,給出了簡化模型動力學方程,利用RLS法識別簡化模型動力學參數(shù),對比PD控制器和非線性控制器控制策略,使用ADAMS/Matlab進行簡化模型的參數(shù)識別及兩種不同類型控制器控制效果驗證.結(jié)果表明,所提出的建模方法在仿真軟件中實現(xiàn)系統(tǒng)識別和基于模型控制的有效性.
本文研究的并聯(lián)機器人腿是一種用于在非結(jié)構(gòu)化環(huán)境下進行運動的液壓機器人腿平臺.該平臺具有2個自由度,每個自由度都有液壓缸和伺服閥驅(qū)動[8].
腿部機構(gòu)設(shè)計成用來匹配極坐標中的驅(qū)動關(guān)節(jié),并且它可以在關(guān)節(jié)空間中簡化為彈簧式倒立擺(SLIP)模型,其中,θr,r分別為二維空間上極坐標的角度和極徑.
兩個執(zhí)行器分別進行擺動和徑向運動.如果擺動執(zhí)動器是固定的并且徑向運動執(zhí)行器可以自由運動,那么腿的端點(以r表示)可以沿直線(徑向)移動.如果擺動執(zhí)行器可以自由運動并且徑向運動執(zhí)行器是固定的,則整個關(guān)節(jié)腿(以θr表示)可以在擺動軸的方向上旋轉(zhuǎn).為了更好地描述機器人腿在二維空間的運動,引入了圖1中的模型,其中,f1,f2分別是執(zhí)行器1和2產(chǎn)生的力,τ,F(xiàn)分別是對θr和r施加的廣義力,L1,L2,L3是相應(yīng)腿部的長度,φ1,φ2,φ3是相應(yīng)位置的角度.那時,執(zhí)行器的作用力(f1,f2)和廣義力(τ,f)關(guān)系如下[9]:
圖1 具有運動參數(shù)和執(zhí)行器力的示意圖Fig.1 Schematic diagram with kinematic parameters and actuator forces
為了實現(xiàn)基于模型的控制,這里需要獲得模型的動力學和參數(shù).然而,與串聯(lián)機器人動力學相比,并聯(lián)機構(gòu)具有復雜的耦合動力,因此,獲得并聯(lián)機器人的完整動力學方程需要大量的努力和時間.此外,從完整的動力學方程中重寫回歸矩陣是困難的.本文提出了一個簡單的模型,而不是整個并聯(lián)機構(gòu)模型.假設(shè)這個并聯(lián)關(guān)節(jié)腿為2自由度機械手,該機械手只具有一個轉(zhuǎn)動關(guān)節(jié)和一個移動關(guān)節(jié).這個模型能夠通過徑向及轉(zhuǎn)動方向驅(qū)動器獨立地進行徑向運動以及擺動.
為了簡化計算,假設(shè)該系統(tǒng)為理想的運動,忽略了作用在機器人上的摩擦力和重力.此外,本文假設(shè)坐標系原點固定在地面上.利用拉格朗日公式生成機器人動力學模型,2自由度機器人動力學方程的結(jié)果如下:
(5)
(6)
M22=m2
(7)
獲得機器人動力學參數(shù)的簡便方法是通過計算機輔助設(shè)計(CAD)獲取設(shè)計模型的理論值.然而,由于簡化模型與實際模型不同,因此,不可能獲得實際參數(shù).本文使用另一種方法獲得簡化模型參數(shù)——系統(tǒng)識別.
傳統(tǒng)的系統(tǒng)識別方法主要有以下幾個步驟.
步驟1從機器人動力學方程式(3)中定義動態(tài)參數(shù),構(gòu)造一個不隨時間變化的回歸矩陣.
步驟2將回歸矩陣和動態(tài)參數(shù)從機器人動力學方程中分離出來,重寫機器人動力學方程,該方程與動態(tài)參數(shù)呈線性關(guān)系[7].因此,式(3)改為如下:
(8)
定義動態(tài)參數(shù)如下:
(9)
最終得到回歸矩陣如下:
(10)
為了識別系統(tǒng)的動態(tài)參數(shù),首先需要確立關(guān)節(jié)腿的回歸矩陣,然后對每次采樣周期的輸入信號(關(guān)節(jié)力和力矩)、輸出信號(關(guān)節(jié)位置、速度和加速度)進行測量[10].這時的測量信號可以表示為
其次,利用優(yōu)化算法對系統(tǒng)的動態(tài)參數(shù)進行估算.如果選擇常用的最小二乘法進行估算,那么參數(shù)如下:
(13)
此外,還有其他類型的優(yōu)化方法用于估算:加權(quán)最小二乘法、最大相似估計法(利用傅里葉級數(shù)輸出滿足PE條件的期望軌跡)以及擴展卡爾曼濾波器(EKF)(用于非線性系統(tǒng)中)[12].本研究采用遞歸最小二乘法(RLS)[13].識別算法如下所示:
首先初始化參數(shù),然后在每個采用時間點測量輸入輸出值,得到回歸矩陣,最后更新估算參數(shù).
并聯(lián)機器人的控制策略一般有兩類,分別為運動學控制及動力學控制策略.為了驗證建模方法的有效性,同時獲得基于模型控制的名義值,本文使用PD控制器(見圖2)和非線性同步控制器(見圖3).
圖2 PD控制器框圖Fig.2 PD controller block diagram
圖3 非線性同步控制框圖Fig.3 Nonlinear synchronous controller block diagram
定義末端執(zhí)行器的期望軌跡如下:
(14)
式中:x,y分別為關(guān)節(jié)1和2期望軌跡的輪廓.
PD控制器控制輸入定義如下:
(15)
式中:KP為比例增益矩陣;Kv為積分增益矩陣;S為末端執(zhí)行器與關(guān)節(jié)的速度雅克比矩陣;e為關(guān)節(jié)誤差.
非線性同步控制器控制輸入定義如下:
(16)
式中:Kp為比例增益矩陣;Kd為微分增益矩陣;T為耦合誤差;S為末端執(zhí)行器與關(guān)節(jié)的速度雅克比矩陣;e為關(guān)節(jié)誤差.
本節(jié)利用仿真軟件Matlab驗證上文所提出的建模方法的有效性,同時獲得基于模型控制的動態(tài)參數(shù)值.首先,利用上節(jié)中介紹的識別模型和識別算法對簡化模型進行系統(tǒng)識別.然后,選擇兩種不同的控制策略應(yīng)用于模型控制,比較兩者的控制性能.對于動態(tài)參數(shù)值的獲取,使用ADMAS軟件來進行動力學模擬.圖4為軟件中機器人腿模型.
圖4 機器人腿的仿真模型Fig.4 Simulation model of robot legs
為了將機器人腿系統(tǒng)作為2自由度機械手來進行系統(tǒng)識別,本文首先檢查是否滿足以下條件,然后啟動執(zhí)行機構(gòu)進行輸入:① 機器人腿應(yīng)在其運動范圍內(nèi)移動;② 回歸矩陣在激勵過程中必須滿秩(即應(yīng)滿足持續(xù)激勵條件).其次,以1 ms為時間間隔,測量了2 s內(nèi)的輸入(關(guān)節(jié)力和扭矩)和輸出信號(關(guān)節(jié)位置、速度和加速度).最后,使用RLS算法估算動態(tài)參數(shù).
使用RLS算法估算動態(tài)參數(shù)的仿真結(jié)果如圖5所示,式(9)中機器腿動力學參數(shù)ρ1,ρ2,ρ3最后收斂到一個恒定值,分別為10.02 kg,-0.412 kg·m以及1.213 5 kg·m2.
圖5 系統(tǒng)識別的仿真結(jié)果Fig.5 Simulation results of system identification
得到簡化模型動力參數(shù)之后,利用Matlab分別采用PD控制器及非線性同步控制器進行仿真驗證.控制器跟蹤控制的性能評價指標如下:① 關(guān)節(jié)位置誤差的幅值;② 末端執(zhí)行器位置誤差的幅值.仿真結(jié)果顯示:PD控制下關(guān)節(jié)1和2以及末端執(zhí)行器的位置誤差如圖6所示,非線性同步控制下關(guān)節(jié)1和2以及末端執(zhí)行器位置誤差如圖7所示.
由6可知:PD控制下關(guān)節(jié)1的位置誤差幅度0.007 9 mm,關(guān)節(jié)2的位置誤差幅度0.007 0 mm,末端執(zhí)行器的位置誤差X向幅度0.008 5 mm,Y向幅度0.009 3 mm.由圖7可知:非線性同步控制器下關(guān)節(jié)1的位置誤差幅度0.003 9 mm,關(guān)節(jié)2的位置誤差幅度0.004 9 mm,末端執(zhí)行器位置誤差X向0.007 2 mm,Y向0.006 8 mm.說明由于采用了非線性飽和函數(shù),在非線性控制器下關(guān)節(jié)1、關(guān)節(jié)2以及末端執(zhí)行器的位置誤差幅度均有明顯減小,非線性同步控制器在兩種性能評價指標上均優(yōu)于PD控制器.結(jié)果表明,本文所提出的建模方法可以有效地消除閉環(huán)系統(tǒng)中的非線性模型效應(yīng).
圖6 PD控制下關(guān)節(jié)及末端執(zhí)行器位置誤差Fig.6 Position error of joint and end effector under PD control
圖7 非線性同步控制下關(guān)節(jié)及末端執(zhí)行器位置誤差Fig.7 Position error of joint and end effector under nonlinear synchronous control
本文建立了2自由度并聯(lián)機器人腿簡化模型,將機器人腿看作是一個2自由度機械手.對傳統(tǒng)動力學方程進行改進,建立了簡化模型的動力學方程.為了識別簡化模型動態(tài)參數(shù),建立參數(shù)識別算法.在ADMAS仿真軟件中識別系統(tǒng)的動態(tài)參數(shù),在Matlab中對兩個關(guān)節(jié)及末端執(zhí)行器位置進行仿真驗證,比較PD控制器及非線性同步控制器跟蹤控制性能.結(jié)果顯示:采用非線性同步控制器不僅關(guān)節(jié)位置誤差小,而且末端執(zhí)行器的位置誤差也降低,說明本文采用的建模思路對于多自由度并聯(lián)機器人腿的分析具有借鑒意義.