MATLAB–simulink工具箱的使用(2)

实例:计算机控制系统–倒立摆实验

之前在(1)中已经讲过了simulink工具箱的基本操作,今天就用simulink工具箱对倒立摆进行仿真控制。

  1. 倒立摆系统
    这里我们用到的是直线一级倒立摆系统,在忽略空气阻力和摩擦的影响之后可以简化为以下模型。

    在建立系统模型的状态空间表达式的过程中,我们考虑到有以下的物理量:
    倒立摆系统中,我们需要控制的量有φ(摆杆与垂直向上方向的夹角),ω(摆杆与垂直向上方向的角速度,即φ的导数),x(小车的位置),ν(小车的速度,即x的导数)。则在建立状态空间表达式的时候,选择这四个物理量为状态变量。经过推导,可以得到模型的状态空间表达式为:
  2. 倒立摆系统连续控制器的设计
    (1)仿真原系统的输出响应
    由上,我们已经得到了倒立摆系统的状态空间表达式。在simulink中对此开环系统进行仿真。
    实际系统参数如下:

    假定以后研究的对象是φ(摆杆与垂直向上方向的夹角),那么以阶跃信号作为输入信号进行开环系统的仿真,可以发现输出响应如下,由此得出不稳定。

(2)设计准备
确定设计要求:对倒立摆系统中的角度状态进行控制
①调节时间ts<3;②阻尼比>0.7;③单位阶跃干扰下最大偏离<5°。
在matlab中用tf函数将状态空间表达式转化为传递函数,得到角度与输入的传递函数为:

(3)在sisotool工具箱中进行控制器设计
①首先,通过根轨迹图可以看到被控对象是不稳定的。根轨迹图中始终有极点处在s平面的右半平面(无论如何选择k值都有闭环极点在s右半平面)

②选择合适的系统模型,选择控制器在反馈通道上的模式。(C就是控制器)

③确定控制器的零极点。观察可以发现,根轨迹图之所以在右半平面恒有值,是因为在原点有一个零点。

所以控制器先添加一个积分器,让整个系统在原点的零点进行零极相消。再给控制器添加两个零点-2和-4(随机选择),让根轨迹往左拉。最后再添加一个极点-50,使得影响尽量小。最后系统的根轨迹图如下所示,可以发现当选择k为一定范围内的值时,可以保证所有此时所有的闭环极点都在s的左半平面。
加入零极点之后的系统根轨迹图形为:

④确定控制器的k值。
由于设计的系统指标要求为,调节时间ts<3;阻尼比>0.7;单位阶跃干扰下最大偏离<5°,也就是单位阶跃响应图中的最大偏离<0.08rad。将设计指标在根轨迹图中显示出来(只能显示调节时间和阻尼比的要求)。需要主导极点的位置在图中白色部分。
体现调节时间要求的方法是:根轨迹图上右键->Design requirements->new->Settling time->选择小于3s。(阻尼比要求也一样,最后选择Damping ratio,大于0.7)

调节k值,当k=400时,发现主导极点在上图中的白色部分(即满足调节时间和阻尼比的要求),且单位阶跃响应图中最大偏移量不超过0.08rad。

(4)得出结果并仿真
所以最终得到的控制器的传递函数为[400(s+2)(s+4)]/[s(s+50)]。
在simulink中仿真,可以看出最终输出趋于稳定,且满足设计要求。

由此,就设计好了倒立摆系统的角度控制器!
成功!!撒花!!!!

MATLAB--simulink工具箱的使用(2)相关推荐

  1. 风电场matlab/simulink工具箱(一)

    1. 摘要 在进行相应的仿真建模时,我们往往无从下手,找不到仿真的突破口.更希望是拥有一个工具箱,可以有"即插即用"的功能,所以本文意在介绍所用到的关于风电场的工具箱.SimWin ...

  2. 风电场matlab/simulink工具箱(三)

    6. 自己创建一个风电场 创建新的风电场有两种方法,一种是交互式界面,也就是simulink块搭建:另外一种是matlab脚本运行. 1)simulink风电场新建 可以选择两个中一个就可,根据自己的 ...

  3. matlab模拟燃烧,基于MATLAB/Simulink的燃烧过程控制系统仿真

    2012 年 3 月 郑 州 大 学 学 报 ( 工 学 版 ) Mar. 2012 第 33 卷 第 2 期 Journal of Zhengzhou University ( Engineerin ...

  4. matlab app设计步骤_如何从MATLAB/Simulink入手,系统地学习自动驾驶?

    自动驾驶相关的软件工具有不少,作为汽车工程师,我们最熟悉的可能是MATLAB/Simulink.如何从MATLAB/Simulink入手,系统地学习自动驾驶? 本文来源:自动驾驶仿真 自动驾驶相关的软 ...

  5. Matlab虚拟现实工具箱——没有VRML Editor时的使用办法(应该是Simulink 3D Animation Demo版本的都是这样)

    虚拟现实工具箱对于计算完成后的仿真很有用的啊...但是我的Matlab版本有VRML Viewer但是没有Editor,直接导入stl模型转化为wrl又会结果怪怪的执行不正常. 我试试3D max或者 ...

  6. Matlab/Simulink ROS

    同一局域网下,ROS(Ubuntu)和Matlab(Win)的无线网卡ip地址在同一网段下,即IP地址前三位相同. 使用Win电脑开启热点,然后Ubuntu电脑连这个热点,这样两台电脑就处于同一局域网 ...

  7. P2 Matlab计算基础-《Matlab/Simulink与控制系统仿真》程序指令总结

    上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 2. Matlab 计算基础 表2.1 Ma ...

  8. matlab模糊控制工具箱使用和模糊控制pid实例参考

    Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化.模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便 ...

  9. 基于matlab的局放仿真,基于MATLAB/Simulink系统仿真权威指南

    基于MATLAB/Simulink系统仿真权威指南 作者:王江;付文利 出版日期:2013年09月 文件大小:78.00M 支持设备: ¥50.00在线试读 适用客户端: 言商书局 iPad/iPho ...

  10. matlab常用工具箱的调用指令

    转自:http://blog.sina.com.cn/s/blog_86186c970102va9g.html Matlab常用工具箱的调用命令 1. 优化工具箱​​ 用途:优化问题 调用命令:在Co ...

最新文章

  1. JAVAWEB项目--模拟考试系统数据库设计与实现(二)
  2. 临床观察性研究论文如何撰写“方法”?
  3. 中小企业应如何选择合适的数据保护工具?
  4. TypeScript 里 never 类型的用法举例
  5. matplotlib 画多条折线图且x轴下标非数值
  6. STM32H743+CubeMX-SPI与DRV8889串行通讯,驱动步进电机
  7. 线程安全的map_面试必问-几种线程安全的Map解析
  8. php 去除div标签,JavaScript_清除div下面的所有标签的方法,复制代码 代码如下: div id=s - phpStudy...
  9. 欧拉筛+埃式筛求素数
  10. NP问题验证机的理解
  11. div+css 怎么让一个小div在另一个大div里面 垂直居中
  12. ubuntu下研华工控机CAN卡驱动的安装与测试
  13. 看我如何自制安全的远程控制工具
  14. 静态HTML网页设计作品——动漫电影《你的名字》(7页) HTML+CSS大作业_ 动漫电网页制作作业_动漫电网页设计...
  15. 通信原理(三)香农三大定理
  16. Deepin安装python3
  17. Win7远程连接问题:凭据不工作 没有授权此用户账户
  18. python量化策略——大类资产配置模型(最小方差模型)
  19. mysql handlers_MySQL handler相关状态参数解释
  20. 【微信小程序】WXML WXSS JS

热门文章

  1. C51——超声波测距
  2. Python使用Treeview制作表格
  3. 什么是CAD模型坐标系?能够修改吗?
  4. java/php/net/python学校助学金管理系统的设计
  5. python代码库-推荐11个实用Python库
  6. linux内核特征,Linux内核的特征
  7. 【算法】_013_矩阵乘法
  8. java计算机毕业设计疫苗药品批量扫码识别追溯系统源码+数据库+系统+lw文档+部署
  9. 无神经网络车牌识别(2)--特征提取与特征匹配
  10. 测试晶面间距软件_材料现代测试分析方法期末考试卷加答案(精)