資源簡介
首先建立衛星動力學和運動學方程;其次基于自適應PID控制方法,實現衛星姿態的漸進穩定控制。

代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%基于四元素和角速度的PID控制器的設計%%%%%%%%%%%%%%
function?[sysx0strtssimStateCompliance]?=?controller(txuflag)
switch?flag
?
??case?0
????[sysx0strtssimStateCompliance]=mdlInitializeSizes;
??case?3
????sys=mdlOutputs(txu);
????
end
%
function?[sysx0strtssimStateCompliance]=mdlInitializeSizes
sizes?=?simsizes;
sizes.NumContStates??=?0;
sizes.NumDiscStates??=?0;
sizes.NumOutputs?????=?3;
sizes.NumInputs??????=?7;
sizes.DirFeedthrough?=?1;
sizes.NumSampleTimes?=?1;???%?at?least?one?sample?time?is?needed
sys?=?simsizes(sizes);
x0??=?[];
str?=?[];
ts??=?[0?0];
simStateCompliance?=?‘UnknownSimState‘;
function?sys=mdlDerivatives(~~~)
sys?=?[];
function?sys=mdlOutputs(~~u)
qe0=u(1);
qe1=u(2);
qe2=u(3);
qe3=u(4);
qe=[qe1?qe2?qe3]‘;
we1=u(5);
we2=u(6);
we3=u(7);
%%%%%%%%%%%%%%%%%%%自適應參數設置%%%%%%%%%%%%%%%%%
syms?t;?????????%%%%%%%%%%%%%%%%%%定義變量t
t=sqrt(qe‘*qe);
lamda=exp(-t);?
%%基本思想是:初始階段姿態誤差角度較大時,能夠實現快速機動至目標姿態附近,當接近目標時,又可以減小
%%運動速度,從而避免過大的超調,當到達控制目標后,又可以穩定在控制目標周圍,且具有一定的魯棒性
kp=(20*exp(5*t)).*[110.2425?220.113318?110.11];?????????????????????????
kd=10*(1-exp(-5/t)).*[600.7569?750.8386?660.8378];?
%?kp=[110.2425?220.113318?110.11];?
%?kd=[600.7569?750.8386?660.8378];?
ut(1)=kp(1)*qe1+kd(1)*we1;
ut(2)=kp(2)*qe2+kd(2)*we2;
ut(3)=kp(3)*qe3+kd(3)*we3;
sys(1)?=?ut(1);
sys(2)?=?ut(2);
sys(3)?=?ut(3);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1549??2016-06-05?09:09??adaptive?PID?control\controller.m
?????文件???????2420??2016-06-05?09:08??adaptive?PID?control\fig.m
?????文件???????1029??2016-03-31?14:18??adaptive?PID?control\Initial.m
?????文件??????20485??2016-06-05?09:23??adaptive?PID?control\satellator.slx
?????目錄??????????0??2016-11-02?16:07??adaptive?PID?control
-----------?---------??----------?-----??----
????????????????25483????????????????????5
- 上一篇:MSK的matlab仿真
- 下一篇:相位調制 matlab
評論
共有 條評論