% Finish controller design and test the closed loop
% XiaoCY 2020-12-20
%%
clear;clc
close all
%% Plant
% Dynamic: 2nd order stiffness-damping-mass system
omega = 10*2*pi;
omg2 = omega^2;
xi = 2*omega*0.3;
v0 = 0; x0 = 0; % initial condition
% Normalized velocity sensor
Zs = [0 0];
Ps = [-5.89e-3*(1+1i)
-5.89e-3*(1-1i)
-180
-160
-80]*2*pi;
Hs0 = zpk(Zs,Ps,1);
Hs = Hs0/sigma(Hs0,1*2*pi);
%% Controller
% Phase compensator
s = tf('s');
K = 10^2.9;
omg1 = 10^(1.333)*2*pi;
omg2 = 10^(1.872)*2*pi;
omg3 = 10^(-0.482)*2*pi;
omg4 = 10^(0.99)*2*pi;
Hpc= K*((s+omg1)/(s+omg2))*((s+omg4)/(s+omg3))^3;
% PID
Kp = 150;
Ki = 200;
Kd = 0;
N = 100;
% LADRC
beta1 = 800;
beta2 = 3.5e4;
k1 = 900;
%% Simulation
Ts = 1e-3; % sample time
T = 100; % total simulation time
% ainFlag: input flag for acceleration
% 0 --- none
% 1 --- step from 0 to 1e-6 at beginning
% 2 --- sine wave of 0.1 Hz with 1e-6 amplitude
% 3 --- white noise with 1e-6 PSD
ainFlag = 2;
% ctrlFlag: controller selection
% 0 --- open loop
% 1 --- phase compensator
% 2 --- PID
% 3 --- LADRC: Ref.(DOI)10.1364/AO.390168
ctrlType = ["Open Loop","Phase Compensator","PID","LADRC"];
for ctrlFlag = 0:3
sim('VibrationIsolation')
figure(100)
plot(t,x,'DisplayName',ctrlType(ctrlFlag+1))
hold on
grid on
xlabel('Time (s)')
ylabel('x (m)')
figure(200)
plot(t,v,'DisplayName',ctrlType(ctrlFlag+1))
hold on
grid on
legend
xlabel('Time (s)')
ylabel('v (m/s)')
figure(300)
plot(t,a,'DisplayName',ctrlType(ctrlFlag+1))
hold on
grid on
legend
xlabel('Time (s)')
ylabel('a (m/s^2)')
end
T = 3e3;
ainFlag = 3;
for ctrlFlag = 0:3
sim('VibrationIsolation')
figure(400)
[pxx,f] = periodogram(a,hann(length(a)),length(a),1/Ts,'onesided');
loglog(f,sqrt(pxx),'DisplayName',ctrlType(ctrlFlag+1))
hold on
grid on
legend
xlabel('Frequency (Hz)')
ylabel('Acc (m/s^2/Hz^{1/2})')
end
没有合适的资源?快使用搜索试试~ 我知道了~
控制理论学习记录.zip
共44个文件
slx:19个
m:13个
mlx:10个
需积分: 1 0 下载量 101 浏览量
2023-12-17
22:18:36
上传
评论
收藏 1.63MB ZIP 举报
温馨提示
控制理论
资源推荐
资源详情
资源评论
收起资源包目录
控制理论学习记录.zip (44个子文件)
01_StateSpaceDesign
note4_ReferenceInput.mlx 104KB
note6_DelayControl.mlx 32KB
model3_ReferenceInput.slx 35KB
note2_StateEstimator.mlx 111KB
model4_RobustTracking.slx 36KB
model1_StateEstimator.slx 29KB
note5_RobustTracking.mlx 267KB
note0_2ndSysDynamics.mlx 191KB
note3_RegulatorDesign.mlx 69KB
model6_ExtendedEstimator.slx 30KB
model0_RealizeODE.slx 29KB
model2_RegulatorDesign.slx 28KB
note1_StateFeedback.mlx 119KB
model5_DelayControl.slx 27KB
note7_ExtendedEstimator.mlx 96KB
Examples
01_NegativeSpring
NegativeSpring.mlx 6KB
NegativeSpringSim_R2017a.slx 20KB
02_VibrationIsolation
TuneCompensator.mlx 89KB
Sim01_OpenLoop.m 2KB
Sim02_ClosedLoop.m 2KB
VibrationIsolation.slx 33KB
02_BangBangControl
Sim01_BangBang.slx 34KB
Sim03_TrackingDiff_DT.slx 32KB
Sim02_TrackingDiff.slx 27KB
Sim01_Stability.m 368B
Sim02_Differentiator.m 452B
Sim03_Differentiator.m 775B
04_KalmanFilter
Sim01_KalmanFilter.m 569B
Model01_KalmanFilter.slx 42KB
Model02_DisturbEst.slx 37KB
Model03_TestEKF.slx 43KB
Sim03_ExtendedKF.m 831B
Sim02_DisturbEst.m 996B
03_IntegratorAntiwindup
mdl01_antiwindup.slx 31KB
Sim02_ctrlCompare.m 460B
mdl02_ctrlCompare.slx 28KB
Sim01_antiwindup.m 1KB
05_ModelPredictiveControl
SimpleMPC.slx 32KB
getCmdMPC.m 738B
NoteMPC.md 5KB
Sim01_TestMPC.m 391B
06_Backstepping
BacksteppingNote.md 5KB
Sim01_IdealCtrl.m 1KB
mdl01_IdealCtrl.slx 41KB
共 44 条
- 1
资源评论
唐先生的博客
- 粉丝: 3364
- 资源: 715
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 学生成绩管理系统c++ (代码).zip
- c语言学生管理系统-项目代码资料.zip
- 课程设计机器学习报告,垃圾分类系统.zip
- app-release.apk.zip
- python-leetcode面试题解之第421题数组中两个数的最大异或值.zip
- python-leetcode面试题解之第416题分割等和子集.zip
- python-leetcode面试题解之第414题第三大的数.zip
- python-leetcode面试题解之第412题Fizz-Buzz.zip
- python-leetcode面试题解之第409题最长回文串.zip
- python-leetcode面试题解之第408题有效单词缩写.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功