謝芳芳,楊 鑒
(1.湖南工業(yè)職業(yè)技術學院電氣工程學院,湖南 長沙,410208;2.岳陽市污水處理監(jiān)督中心,湖南 岳陽,410000)
機器人的模型和控制都是以單關節(jié)機器人為基礎的,這是因為機器人的所有運動都可以通過各關節(jié)的旋轉來配合實現[1]。單關節(jié)機器人的典型結構是一個電機帶動一個細長剛體,工業(yè)機械手模型就是以兩個單關節(jié)機器人模型連接起來組成的[2]。機器人控制系統(tǒng)的設計與調試都離不開仿真,建模與仿真是連在一起的,在系統(tǒng)的建模和仿真中,單關節(jié)機器人伺服系統(tǒng)的建模與仿真是必不可少的關鍵[3]。
用于機器人系統(tǒng)仿真的軟件有很多,其中MATLAB 軟件是目前應用最廣泛的系統(tǒng)建模和仿真的開發(fā)平臺[4]。該軟件所包含的Simulink 工具包不但能仿真機器人的機械、電氣系統(tǒng),而且可以方便地進行控制系統(tǒng)的建模與仿真[5]。
本文對單關節(jié)機器人伺服系統(tǒng)的建模與仿真做了深入研究。首先對單關節(jié)機器人的規(guī)劃軌跡、機械結構、電氣結構和控制器分別建立數學模型;然后根據數學模型在MATLAB/Simulink 平臺上搭建伺服系統(tǒng)的仿真模型;最后對仿真模型進行實際仿真,并對仿真結果做了分析。
單關節(jié)機器人的典型結構如圖1 所示。圖中單桿是一個橫截面為矩形的細長剛體,單桿的一端是軸心端,另一端是自由端。軸心端安裝有電機和減速器,起到一個關節(jié)的作用;自由端則起到手爪的作用[6]。單關節(jié)機器人的運動就是單桿以軸心端為圓心做旋轉運動,運動過程中單桿的角速度期望值、角加速度期望值由生產工藝的需要給出。
圖1 單關節(jié)機器人的結構示意圖
為了便于建模,規(guī)定單桿的運動過程是:單桿在初始位置從靜止狀態(tài)開始逆時針旋轉,途中經歷加速、勻速和減速的過程,旋轉一周重新回到初始位置時正好又處于靜止狀態(tài)。因此,設旋轉一周的時間為tc,加速階段、減速階段的時間均為2δ,則運動過程可分為三個階段:加速階段(0≤t≤2δ),勻速階段(2δ≤t≤tc-2δ),減速階段(tc-2δ≤t≤tc)。單桿的期望轉角η(t)變化曲線如圖2 所示。
圖2 單關節(jié)機器人的期望轉角η(t)變化曲線
為了精確地描述運動軌跡,采用五次多項式來模擬圖2 的曲線,即
為了保證機器人的運動在加速度上的要求,軌跡函數的約束條件有6 個,即
在運動的三個階段,約束條件取值不一樣。加速階段的約束條件取值為
減速階段的約束條件取值為
分別將式(5)、(6)代入式(1)~(3),可解得未知系數an,進而得到三個階段的軌跡函數θ加速(t)、減速階段的軌跡函數θ減速(t)為
由式(7)、(8),可得勻速階段的軌跡函數η勻速(t)為
式(7)~(9)就是單關節(jié)機器人規(guī)劃軌跡的數學模型。
利用拉格朗日方程建立單桿運動的數學模型[7]。設n 維力學空間中Q 點的坐標為(q1,q2,…,qn),且qj(j=1,2,…,n,下同)所受合力為fj。定義拉格朗日函數L= T- U,這里T 是動能,U 是勢能,則拉格朗日方程的一般形式為
式中,D 是能量損失??紤]到黏性摩擦,能量損失為
式中,cj是黏性摩擦系數。
單桿的坐標系如圖3 所示[8]。為了簡化運算,忽略電機和齒輪的質量以及慣性的影響。以單桿的軸心端為原點,存在兩個坐標系。其中,固定坐標系(0)的坐標軸為(0x,0y,0z),它是世界坐標系(X,Y,Z)在XY 平面上的一個平移。固定于單桿的坐標系(1)的坐標軸為(1x,1y,1z),其中1z 軸與0z 軸重合。單桿坐標系(1)隨著單桿的轉動而相對于固定坐標系(0)繞0z 軸旋轉。
圖3 單桿的坐標系統(tǒng)
由圖3 可計算出固定坐標系(0)中單桿重心的移動速度向量Vg1、單桿旋轉的角速度向量1ω,分別為
式中,r1是單桿重心到原點的距離,θ1是單桿的轉角。
單桿的動能T 是單桿運動時的速度與角速度的能量之和:
式中,m1是單桿的質量,Izzg1是單桿重心在z軸方向的轉動慣量。
將式(12)、(13)代入式(14),得
考慮到單桿是在XY 平面上轉動,重力和勢能可忽略不計,因此有
式中,τ1是作用在單桿上的轉矩。
將式(15)、(16)代入式(10)、(11),整理得
式(17)就是單關節(jié)機器人機械結構的數學模型。
電氣結構包括電機、減速器和角度傳感器。電機可以采用直流電機、交流電機,交流電機的動態(tài)數學模型較復雜,這里為了便于建模,采用直流電機,如圖4 所示。
直流電機產生的電磁轉矩Te與電樞電流ia成正比,其比例常數KT 稱為轉矩系數,即:
直流電機產生的反電動勢e 與電樞轉速ωa成正比,其比例常數Ke稱為反電動勢系數,即:
式中θa是電樞轉角是電樞轉速。
在電機內電刷壓降忽略不計的情況下,由基爾霍夫電壓定律可得電樞電壓方程
式中,u 是電樞電壓,Ra是電樞電阻,La是電樞電感。
直流電機產生的電磁轉矩Te與將要傳遞給負載方的轉矩τa的平衡關系為
式(18)~(21)構成直流電機的動態(tài)數學模型。
圖4 直流電機和減速器的結構示意圖
減速器由兩個齒輪嚙合而成,與電機聯(lián)接的是小齒輪,齒數為na,與單桿聯(lián)接的是大齒輪,齒數為n1,故變速比N= n1/na。考慮到齒輪傳動會損失部分能量,引入傳動系數ξ(0≤ξ≤1)。因此減速器單桿側轉矩τ1與電機側轉矩τa之間的關系為
式(22)就是減速器的數學模型。
角度傳感器用來檢測單桿的轉角θ1,可以忽略延遲效應[9],它與電機的電樞轉角θa之間的關系為
式(23)就是角度傳感器的數學模型。
伺服系統(tǒng)是位置控制系統(tǒng),被控量是單桿的實際轉角θ1(t)。規(guī)劃軌跡給出的是單桿的期望轉角η(t),實際轉角θ1(t)由角度傳感器檢測得到,θ1(t)與η(t)比較后得到偏差e(t),送入控制器??刂破骺梢圆捎玫目刂扑惴ㄓ泻芏喾N,本文采用經典的PID 算法,即比例- 積分- 微分算法[10]:
式中,u(t)為PID 控制器的輸出,e(t)為PID控制器的輸入,KP為比例項系數,KI為積分項系數,KD為微分項系數。
式(24)是模擬PID 算法表達式,為了便于計算機運算,需要將式(24)變換成數字PID 算法,以一系列的采樣時刻點k 代替連續(xù)時間t,以求面積的方式近似代替積分,用差分代替微分?;镜臄底諴ID 算法有位置式、增量式兩種,前者在求解積分項時要用到過去偏差的累加值,容易產生較大的累計誤差,而后者不需要累加,同時大大減小計算量,通常采用增量式PID 算法,表達式為
單關節(jié)機器人伺服系統(tǒng)的結構如圖5 所示。
圖5 單關節(jié)機器人伺服系統(tǒng)結構圖
根據上述數學模型在MATLAB/Simulink 平臺上搭建伺服系統(tǒng)的仿真模型,如圖6 所示,圖中Trajectory 模塊是規(guī)劃軌跡,Mechanic 模塊是機械結構,Motor 模塊是直流電機,Gain 和Gain1 模塊是減速器,Gain2 和Gain3 模塊是角度傳感器,PID模塊和Saturation 模塊是控制器。
圖6 單關節(jié)機器人伺服系統(tǒng)仿真模型
規(guī)劃軌跡的仿真模型即圖6 中的Trajectory模塊,輸入是時間t,輸出是單桿的期望轉角η(t)。打開Trajectory 模塊,如圖7 所示,它根據式(7)~(9)搭建而成,這里運動周期tc 取值2.5。圖7 中Enabled Subsystem、Enabled Subsystem1 和Enabled Subsystem2 模塊分別是加速階段、勻速階段和減速階段的軌跡函數,如圖8 所示。
圖7 規(guī)劃軌跡的仿真模型
圖8 三個階段軌跡函數的仿真模型
機械結構的仿真模型即圖6 中的Mechanic 模塊,輸入是作用在單桿上的轉矩τ1,輸出是單桿的實際轉角θ1。打開Mechanic 模塊,如圖9 所示,它根據式(17)搭建而成。
式(17)是一個二階微分方程,在搭建仿真模型時,應盡量避免采用Derivative(微分)模塊,因為該模塊將非連續(xù)信號引入到所建模型中,若非連續(xù)信號過大,則會導致求解錯誤。因此圖10 所示的仿真模型應避免采用,它含有微分模塊。
電氣結構中直流電機的仿真模型即圖6 中的Motor 模塊,輸入是電樞電壓u、電樞轉角θa,輸出是將要傳遞給負載方的轉矩τa。打開Motor 模塊,如圖11 所示,它根據式(18)~(21)搭建而成。
圖11 直流電機的仿真模型
式(19)(20)的實現采用傳遞函數。將式(19)代入式(20)得
對上式實施拉普拉斯變換,整理后得到
式(21)的實現采用近似微分。這是因為一般情況下單純的微分環(huán)節(jié)很容易受到高頻噪聲的干擾,為了防止這種現象的發(fā)生,常采用近似微分代替單純微分。近似微分是給單純微分s 串聯(lián)一個影響較小的低通濾波器形式,這里a = 0.01。
控制器的仿真模型即圖6 中的PID 模塊和Saturation 模塊。打開PID 模塊,如圖12 所示,它根據式(24)搭建而成。
圖12 控制器的仿真模型
式(24)的實現采用傳遞函數。對式(24)實施拉普拉斯變換,整理后得到
式中,TI= KP/KI為積分時間常數,TD= KD/KP為微分時間常數。
在上式中,用近似微分代替微分:
式(29)的仿真模型即為圖12。
PID 模塊的輸出也就是直流電機模塊的輸入。由于直流電機的輸入電壓是有上下限的,若超限則可能損壞電機,因此在PID 模塊與直流電機模塊之間插入一個飽和模塊。
運行仿真模型前,將模型中的參數賦初值。規(guī)劃軌跡中δ= 0.25;機械結構中r1= 0.1m,m1=0.02152kg,Izzg1=2.08×10-7kg·m2,c1=0.001N·s/rad;電氣結構中Ra= 10Ω,La= 0.0044H,KT= 0. 05N·m/A,Ke= 0.05V·s/rad,J = 10-5kg·m2,Bm= 10-6N·s/rad,N=1000,ξ=0.7;控制器中KP=100,TI=0.1,TD=3,a=0.1,上下限設定為+24 和-24。相關仿真結果如圖13 所示。
圖13 有三條曲線,從上到下分別為:規(guī)劃軌跡η(t)和單桿實際轉角θ1(t),PID 控制器限幅后的輸出曲線,作用在單桿上的轉矩τ1(t)。由圖可知,單桿實際轉角曲線與規(guī)劃軌跡曲線吻合良好,說明伺服系統(tǒng)的位置跟蹤精度高,整個運動周期能夠根據規(guī)劃的軌跡進行運動。
單桿在旋轉一周的過程中角度的變化情況,如圖14 所示。從圖中可以看出,單關節(jié)機器人的運動分為三個過程,從起始位置開始,按照逆時針的運動方向,分別經歷加速區(qū)間、勻速區(qū)間、減速區(qū)間,最后回到初始位置,也就是單關節(jié)機器人按照規(guī)劃好的軌跡運行一周的過程,說明伺服系統(tǒng)能夠很好地控制運動過程。
圖13 仿真結果
圖14 單桿自由端的實際運動軌跡
本文以單關節(jié)機器人為對象,針對伺服系統(tǒng)的建模與仿真問題做了深入研究。設定單關節(jié)機器人繞固定軸轉動,經過加速、勻速、減速后回到初始位置的運動過程,建立了其按照規(guī)定軌跡運動的機械結構、電氣結構和控制器的數學模型,以及對應的MATLAB/Simulink 仿真模型。仿真結果表明,伺服系統(tǒng)的位置跟蹤精度高,整個運動過程能夠根據規(guī)劃的軌跡進行運動,并且能夠很好地控制其運動過程。本文的工作為機器人系統(tǒng)的優(yōu)化設計與調試提供了有效模型和依據。