📄 cp3_2.m
字号:
%%%%%%%%%%% Comprehensive Problem 3.2 %%%%%%%%%%%% Discrete-Time Control Problems using %% MATLAB and the Control System Toolbox %% by J.H. Chow, D.K. Frederick, & N.W. Chbat %% Brooks/Cole Publishing Company %% September 2002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Inverted Pendulum% System has 4 states, 1 input, and 2 outputs% 4 states : pendulum's angular position and velocity, and% cart's position and velocity% 1 input : motor voltage (u)% 2 outputs: pendulum's angular position (theta)% cart's position (x) disp('CP3.2: Inverted Pendulum with Angle Feedback')%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Part A : Load model%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear; close all% Load continuous and discrete-time systemsif ~exist('stick.mat'), dstickelseif exist('stick.mat') == 2, load stickendTs = 0.01; % in dstick alreadydisp('*******>'); pause; disp(' ');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Part B : Kp(z) proportional-and-derivative control%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%disp('Extract model from control input to pendulum angle')disp('Transfer Function Gp(z) from u to theta')Gp = tf(dnump,ddenp,Ts)disp('*******>');pausedisp('Display pole-zero map')ucirclehold onpzmap(Gp)title('Pole-zero map from input to pendulam angle')hold offdisp('*******>');pausedisp('PD controller for pendulum angle')KP = 1.5; KD = 0.2;KpPD = tf(KP*[(1+KD/Ts) -KD/Ts],[1 0],Ts) % PD controllerdisp('*******>');pausedisp('Closed-loop control system')Gp_CL = feedback(Gp*KpPD,1,1,1) % CL angle controldisp('*******>');pausedisp('Closed-loop system poles')pole(Gp_CL)disp('There is a pole outside the unit circle')disp('*******>');pausedisp('End of Comprehensive Problem CP3.2')%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -