资源简介
可以运行,二级倒立摆的建模、线性化S函数的PID控制以及非线性化S函数的PID控制,
(1) 根据牛顿运动定律或者拉格朗日方程,建立直线型二级倒立摆的非线性运动模型,给出系统运动的状态方程。
(2) 对非线性运动模型进行线性化,针对线性化模型采用极点配置或者PID控制的方法,设计直线型二级倒立摆的控制方案,给出控制律设计方法;
(3) 分别针对有扰动和无扰动两种情况下,采用Matlab软件进行仿真,编写倒立摆非线性运动模型的S函数,结合设计的控制方案,给出Matlab仿真的框图,并给出仿真结果。
代码片段和文件信息
function [sysx0strts] = Inverted_Pendulum_model_linear(txuflag)
A=[0 0 0 1 0 0; 0 0 0 0 1 0; 0 0 0 0 0 1; 0 0 0 0 0 0; 0 72.0642 -21.1972 0 0 0; 0 -38.5321 37.8186 0 0 0;];
B=[ 0; 0; 0; 1; 5.7012; -0.0728;];
C=[ 1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 1 0 0 0;];
D=[0;0;0];
switch flag
case 0
[sysx0strts]=mdlInitializeSizes(ABCD);
case 1
sys=mdlDerivatives(txuABCD);
case 3
sys=mdlOutputs(txuABCD);
case { 2 4 9 }
sys = [];
otherwise
DAStudio.error(‘Simulink:blocks:unhandledFlag‘ num2str(flag));
end
% end csfunc
%
%=============================================================================
% mdlInitializeSizes
% Return the sizes initial conditions and sample times for the S-function.
%=============================================================================
%
function [sysx0strts]=mdlInitializeSizes(ABCD)
sizes = simsizes;
sizes.NumContStates = 6;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 3;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [0;0;0;0;0;0];
str = [];
ts = [0 0];
% end mdlInitializeSizes
%
%=============================================================================
% mdlDerivatives
% Return the derivatives for the continuous states.
%=============================================================================
%
function sys=mdlDerivatives(txuABCD)
sys = A*x + B*u;
% end mdlDerivatives
%
%=============================================================================
% mdlOutputs
% Return the block outputs.
%=============================================================================
%
function sys=mdlOutputs(txuABCD)
sys = C*x + D*u;
% end mdlOutputs
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 90971 2019-06-19 21:25 仿真\Inverted_Pendulum.mdl
文件 1830 2019-06-19 19:33 仿真\Inverted_Pendulum_model_linear.m
文件 2665 2019-06-19 21:14 仿真\Inverted_Pendulum_model_nonlinear.m
文件 1444614 2019-06-19 21:24 仿真\倒立摆分析.pdf
目录 0 2019-06-20 10:25 仿真
----------- --------- ---------- ----- ----
1540080 5
- 上一篇:MATLAB图像处理
- 下一篇:基于MATLAB的无线信道仿真及研究
相关资源
- MATLAB 二级倒立摆 三级倒立摆
- Matlab中,用c或m语言编写s函数.rar
- 基于S函数的BP神经网络PID控制器及S
- MATLAB s函数最详细指南编写教程
- matlab手动实现BP网络,不调用工具箱(
-
MATLAB/Simuli
nk中的的S函数的应用 - 基于S函数的BP神经网络PID控制器及S
- 二级倒立摆MATLAB仿真程序
- 一、二级倒立摆仿真及实验报告最优
- MFileS函数在时域路面不平度建模中的
- 基于S函数的BP神经网络PID控制器Simu
-
simuli
nk的S函数实现多智能体一致性 - S函数写的BP-PID控制程序
- 论文研究-二级倒立摆神经网络控制器
- 永磁同步电机转动惯量识别仿真含模
- 直线二级倒立摆滑模控制器S函数
- MATLAB下扩展卡尔曼滤波的S函数实现
-
simuli
nk s函数神经网络BP-PID -
RBF网络simuli
nk程序 - 基于C MEX S函数的研华PCI1716驱动程序
-
神经网络pid仿真simuli
nk - 2自由度汽车MATLAB模型S函数
- chirp信号的用cos函数产生并带详细注释
-
在simuli
nk中应用s函数的一个简单 -
BP神经网络PID控制simuli
nk部分的S函数 - 有详细源码的s函数电机建模与仿真
- 二级倒立摆matlab运行模型
-
S函数的RBF神经网络PID控制器Simuli
- 二级倒立摆神经网络控制
- gngauss函数
评论
共有 条评论