網(wǎng)絡公司的網(wǎng)頁設計圖片優(yōu)化是什么意思
?
機械手是工業(yè)制造領域中應用最廣泛的自動化機械設備,廣泛應用于工業(yè)制造、醫(yī)療、軍工、半導體制造、太空探索等領域。它們雖然形式不同,但都有一個共同的特點,即能夠接受指令,并能準確定位到三維(或二維)空間的某一點進行工作。由于其在3D打印、噴漆機器人、汽車制造等領域的廣泛應用,機器人的控制顯得尤為重要。而滑模變結構控制SMC由于其快速的瞬態(tài)響應和對不確定性和擾動的魯棒性,在機器人控制領域受到了廣泛的關注。
?
問題描述
機器人軌跡跟蹤控制問題可以描述為: 給定一個參考軌跡,找到一個容許控制u,使得實際的關節(jié)角度與參考的關節(jié)角度誤差最小,從而使得機械臂末端軌跡跟蹤上參考軌跡。
?
理論分析
1滑??刂苹A概念
1.1滑??刂贫x
滑模控制(SMC)也稱為可變結構控制,本質上是一種特殊的非線性控制,其非線性性能是控制的不連續(xù)性。該控制策略與其他控制的區(qū)別在于“結構”系統(tǒng)的狀態(tài)不是固定的,但是在動態(tài)過程中,它可以根據(jù)系統(tǒng)的當前狀態(tài)(例如偏差和其導數(shù))有意地進行更改,從而迫使系統(tǒng)以預定的“滑動模式”狀態(tài)軌跡運動?;5脑O計可以不受對象參數(shù)和干擾的影響,滑??刂凭哂许憫俣瓤?#xff0c;對參數(shù)變化和干擾不敏感,無需在線系統(tǒng)識別,物理實現(xiàn)簡單等優(yōu)點。通過不連續(xù)控制有意改變系統(tǒng)結構將相位軌跡驅動到穩(wěn)定的超平面或流形的系統(tǒng)。不受干擾和參數(shù)變化
1.2滑模趨近律
滑模控制下的系統(tǒng)一般分為兩個階段:
(1)從系統(tǒng)初始狀態(tài)到滑模面;
(2)在滑模面上滑模到達系統(tǒng)平衡點;
2.將趨近律引入到(1)階段設計中,對(2)階段設計快速終端滑模。2.“全局”、“快速”、“終端滑模”中的“全局”表示滑模沒有(1)階段,因此不使用趨近定律。
4個基本趨近律表達如下:
?
(1)等速趨近律:
?
(2)指數(shù)趨近律
?
(3)冪次趨近律
?
(4)一般趨近律
?
?
3基于指數(shù)趨近律的模糊滑模控制
3.1 基于指數(shù)趨近律的滑??刂?/p>
由牛頓歐拉公式得n自由度機器人關節(jié)空間動力學方程為:
設系統(tǒng)誤差為:
則誤差的微分得:
選擇滑模函數(shù)為:
則對滑模函數(shù)s求導得:
因為系統(tǒng)方程可變形為:
所以:
選取指數(shù)趨近律為:
所以基于指數(shù)趨近律可設計u,將兩公式合并:
則控制律u為:
已知只要得到滑模平面(切換面s)和滑動模態(tài)的控制律u,滑動變結構控制就能完全建立起來。
下面證明其滑模平面穩(wěn)定存在滑動模態(tài):
第一步:取李雅普諾夫函數(shù)
由于
所以V是正定(PD)
第二步:對李雅普諾夫函數(shù)求導得:
由此可知,上述設計的滑模變結構控制器滿足要求。
為更直觀的分析所設計的滑??刂破鞯膬?yōu)劣,對控制系統(tǒng)進行仿真分析如下:
?
?
圖1.三自由度機械臂
根據(jù)拉格朗日功能平衡法,建立其動力學模型。由于是比較常見的三自由度機器人模型,這里可以查找教科書或文獻參考
MATLAB仿真程序
其simulink建??驁D如圖2所示:
圖2 控制系統(tǒng)simulink框圖
機器人動力學MATLAB仿真程序:
function [sys,x0,str,ts]=s_function(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 1,
sys=mdlDerivatives(t,x,u);
case 3,
sys=mdlOutputs(t,x,u);
case {2, 4, 9 }
sys = [];
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 6;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 6;
sizes.NumInputs = 3;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 0;
sys=simsizes(sizes);
x0=[0.6;0.3;0.5;0.5;0.5;0.5];
str=[];
ts=[];
function sys=mdlDerivatives(t,x,u)
?
q1=x(1);
dq1=x(2);
q2=x(3);
dq2=x(4);
q3=x(5);
dq3=x(6);
?
m1=0;
m2=1;
m3=1;
L1=0;
L2=1;
L3=1;
g=10;
I1=0;
I2=0;
I3=0;
a1=m2*L2^2+m3*L2^2;
a2=m3*L3^2;
a3=m3*L3^2;
b1=(m2*L2+m3*L2)*g;
b2=m3*L3*g;
?
M11=I1+a1*(cos(q2))^2+a2*cos(q2+q3)+2*a2*cos(q2)*cos(q2+q3);
M12=0;
M13=0;
M21=0;
M22=I2+a1+a2+2*a3*cos(q3);
M23=a2+a3*cos(q3);
M31=0;
M32=a2+a3*cos(q3);
M33=I3+a2;
?
M=[M11 M12 M13;
M21 M22 M23;
M31 M32 M33];
?
?
B11=-(1/2)*a1*dq2*sin(2*q2)-a3*dq3*cos(q2)*sin(q2+q3)-(1/2)*a2*(dq2+dq3)*sin(2*q2+2*q3)-a3*dq2*sin(2*q2+q3);
B12=-(1/2)*a1*dq1*sin(2*q2)-a3*dq1*sin(2*q2+q3)-(1/2)*a2*dq1*sin(2*q2+2*q3);
B13=-a3*dq1*cos(q2)*sin(q2+q3)-(1/2)*a1*dq1*sin(2*q2+2*q3);
B21=-B12;
B22=-a3*dq3*sin(q3);
B23=-a3*(dq2+dq3)*sin(q3);
B31=-B13;
B32=-a3*dq2*sin(q3);
B33=0;
?
B=[B11 B12 B13;
B21 B22 B23;
B31 B32 B33];
?
G1=0;
G2=b1*cos(q2)+b2*cos(q2+q3);
G3=b2*cos(q2+q3);
G=[G1;G2;G3];
tol(1)=u(1);
tol(2)=u(2);
tol(3)=u(3);
ddq=inv(M)*(tol'-B*[dq1;dq2;dq3]-G);
?
sys(1)=x(2);
sys(2)=ddq(1);
sys(3)=x(4);
sys(4)=ddq(2);
sys(5)=x(6);
sys(6)=ddq(3);
function sys=mdlOutputs(t,x,u)
sys(1)=x(1);
sys(2)=x(2);
sys(3)=x(3);
sys(4)=x(4);
sys(5)=x(5);
sys(6)=x(6);
則各關節(jié)跟蹤響應如圖3所示
圖3.各關節(jié)跟蹤響應
軌跡跟蹤誤差如圖4所示
圖4.軌跡跟蹤誤差
滑模面如圖5所示
圖5.滑模面
控制力矩如圖6所示
圖6.控制力矩
總結
由以上仿真結果可以看出,基于趨近律的滑模軌跡跟蹤控制器在系統(tǒng)復雜的環(huán)境下,能夠對系統(tǒng)的軌跡跟蹤進行有效的控制,然而,其基于趨近律的滑模軌跡跟蹤控制方法存在著嚴重的抖振,還是有待改進!
?
更多信息請關注:DRobot
?