用Matlab完成倒立摆系统的分析与综合

现代控制理论用Matlab完成倒立摆系统的分析与综合

2013/5/23 星期四学号:3201100418杨 博用Matlab完成倒立摆系统的分析与综合一、实验要求1、熟悉非线性系统数学模型的建立过程。2、非线性数学模型的近似线性化。3、判断系统的能控性及能观性。4、学习利用MATLAB来分析系统的能观性、能控性和稳定性(Lyapunov第一法)。5、掌握状态反馈极点配置控制,并能用MATLAB仿真软件进行控制算法的仿真验证与分析。二、实验原理FNbxP

图1 一级倒立摆系统模型 图2 小车水平方向受力分析

图3 摆杆垂直方向的受力分析

倒立摆模型参数M小车质量0.68kgm摆杆质量0.094kgb底座摩擦系数0.08l杆转动轴心到杆质心的长度0.15mI转动惯量小车水平方向受力: Mx+bx+N=F摆杆水平方向受力: 即: N=mx+mlθcosθ-mlθsinθ得第一个运动方程:M+mx+bx+mlθcosθ-mlθsinθ=F摆杆垂直方向受力:力矩平衡方程:-Plsinθ-Nlcosθ=Iθ ,,第二个运动方程:I+ml2θ+mglsinθ=-mlxcosθ两个运动方程化简得:(I+ml2)?-mgl?=mlxM+mx+bx-ml?=u拉普拉斯变换得:三、实验内容1、一级直线倒立摆传递函数的建立摆杆输出角度和电机作用力的传递函数为:

其中 2、一级直线倒立摆状态空间方程的建立求解可得x、?,整理后得到系统的状态空间方程为:

3、MATLAB仿真要求求出状态空间表达式矩阵。求出能观矩阵和能控矩阵并判断能控性及能观性。对倒立摆系统配置状态反馈极点并验证。画出极点配置前后系统的阶跃响应曲线。四、MATLAB仿真实验程序M=0.68; m=0.094; b=0.08; l=0.15; I=m*l^2/12;O=I*(M+m)+M*m*l^2; a22=-(I+m*l^2)*b/O; a23=m^2*9.8*l^2/O;a42=-m*l*b/O; a43=m*9.8*l*(M+m)/O;disp('********************start******************')disp('矩阵A B C D')A=[0 1 0 0;0 a22 a23 0;0 0 0 1;0 a42 a43 0]B=[0;(I+m*l^2)/O;0;m*l/O] C=[1 0 0 0;0 0 1 0] D=[0;0]step(A,B,C,D) %极点配置前系统的阶跃响应disp('------------------------------------------')disp('求能控矩阵:M1=[B A*B A^2*B A^3*B]')M1=[B A*B A^2*B A^3*B] %能控矩阵disp('求能观矩阵:N=[C;C*A;C*A^2;C*A^3] ')N=[C;C*A;C*A^2;C*A^3] %能观矩阵disp('A矩阵的阶数:')n=length(A)disp('------------------------------------------')rank_M1=rank(M1);rank_N=rank(N);disp('能控性判断:');if rank(M1)==n;rank_M1 %能控性disp('system is controllable');elsedisp('system is uncontrollable');enddisp('能观性判断:');if rank(N)==n;rank_N %能观性disp('system is observable');elsedisp('system is unobservable');enddisp('------------------------------------------')disp('极点配置')P=[-3;-2;-4;-1] %极点配置rc = rank(ctrb(A, B));disp('反馈矩阵K为:')K = place(A, B, P)Ac = A - B*K;Bc = B;r

倒立摆系统matlab程序,用Matlab完成倒立摆系统的分析与综合.docx相关推荐

  1. MATLAB程序:基于主从博弈理论的共享储能与综合能源微网优化运行研究

    MATLAB程序:基于主从博弈理论的共享储能与综合能源微网优化运行研究. 提出共享储能背景下微网运营商与用户聚合商间的主从博弈模型,并证明Stackelberg 均衡解的存在性与唯一性. 最后,在 M ...

  2. java毕业生设计信用卡增值业务系统小程序用户端计算机源码+系统+mysql+调试部署+lw

    java毕业生设计信用卡增值业务系统小程序用户端计算机源码+系统+mysql+调试部署+lw java毕业生设计信用卡增值业务系统小程序用户端计算机源码+系统+mysql+调试部署+lw 本源码技术栈 ...

  3. 离散系统模型的辨识matlab程序,基于MATLAB的系统辨识及离散时间全通系统

    基于 !"#$"% 的系统辨识及离散时间全通系统! 施秀萍 王嘉梅 虎雁华 (云南民族学院物理与电子电气信息工程学院,昆明,&'(()*) 摘 要 基于 !"#$ ...

  4. matlab 程序文件,MATLAB程序文件

    <MATLAB程序文件>由会员分享,可在线阅读,更多相关<MATLAB程序文件(51页珍藏版)>请在人人文库网上搜索. 1.发表数学实验.教师穆志民.matlab软件的基础内容 ...

  5. pq分解法matlab程序,基于MATLAB软件的PQ分解法潮流计算

    基于MATLAB软件的PQ分解法潮流计算 基于MATLAB软件的P-Q分解法潮流计算 摘要 电力系统潮流计算是研究电力系统稳态运行情况的一种重要的分析计算,它根据给定的运行条件及系统接线情况确定整个电 ...

  6. 秦九韶算法matlab程序,数值分析matlab程序实例.doc

    数值分析matlab程序实例 1,秦九韶算法,求出P(x=3)=2+4x+5x^2+2x^3的值 clear?all; x=3; n=3; a(1)=2;a(2)=4;a(3)=5;a(4)=2 v( ...

  7. 对称振子天线matlab程序,基于MATLAB研究对称振子天线的报告

    内容介绍 原文档由会员 霜天盈月 发布 基于MATLAB研究对称振子天线的报告 本文共计32页,13162字: 摘要 基于MATLAB研究了对称振子阻抗特性和图形仿真,同时针对对称振子阻抗特性给出了仿 ...

  8. RCLS算法MATLAB程序实现,(MATLAB辅助现代工程数字信号处理)第10章随机信号的高阶谱分析.ppt...

    第10章 随机信号的高阶谱分析 10.1 高阶累积量与高阶谱10.1.1 累积量 设X表示有限阶矩的随机变量,定义X的矩生成函数或特征参数为 定义序列{xk}的k阶累积量生成函数为 因此,随机变量的联 ...

  9. 极限环matlab程序,用Matlab仿真噪声激励的FitzHugh-Nagumo系统模型.pdf

    用Matlab仿真噪声激励的FitzHugh-Nagumo系统模型 第29卷第9期 实验室研究与探索 V01.29No.9 2010年9月 RESEARCHANDEXPLORATIONlJVLABOR ...

最新文章

  1. linux中shell变量$#,$@,$0,$1,$2的含义解释
  2. 安装quagga 软路由
  3. 045_CSS3过渡
  4. 8.依赖的传递、排除、冲突
  5. java中遍历Map的方法
  6. Java基础之String,StringBuilder,StringBuffer三者的区别
  7. Unity --- MeshRenderer之网格合并
  8. C# 数值和字符串之间的相互转换
  9. 在caffe中使用hdf5的数据
  10. (50)System Verilog类静态变量实例
  11. Hive date_format函数入门
  12. 学用MVC4做网站五:5.2我的文章
  13. layUI:垂直导航栏点击某个导航时关闭其他已开启导航
  14. 70 万行代码、历时 20 年,一名程序员写出的史诗般的计算机程序
  15. ps2无线手柄连接arduino的使用方法
  16. FeatherNets:卷积神经网络轻如羽毛,用于面部反欺骗
  17. python配对t检验_T检验第二篇(SPSS,SAS,R,Python) 配对T检验
  18. 夏季多肉植物养注意事项!看了多肉长得又白又胖
  19. 【hihocoder 1477】闰秒
  20. error 系统错误 错误码10007_linux系统中socket错误码:eintr和eagain的处理方法

热门文章

  1. 谁动了我的奶酪(数据库)_攻击防范实战记录
  2. Linux 安装与配置服务器版jre7
  3. Spark Shark Tachyon 简介
  4. pytorch笔记:08)使用LSTM写古诗词
  5. AMS1117 输入12V 输出3.3V 电流800mA 文波75db (FM富满电子)
  6. FTP通过DOS命令下载文件到本地
  7. C# 反射(Reflection)
  8. ‘EddiesObservations‘ object has no attribute ‘filled‘
  9. 等保三级安全要求简要攻略-安全通信网络和安全区域边界
  10. 每年都说Java市场已经饱和,那Java到底是不是真的饱和了呢?