MATLAB--simulink工具箱的使用(2)
MATLAB–simulink工具箱的使用(2)
实例:计算机控制系统–倒立摆实验
之前在(1)中已经讲过了simulink工具箱的基本操作,今天就用simulink工具箱对倒立摆进行仿真控制。
- 倒立摆系统
这里我们用到的是直线一级倒立摆系统,在忽略空气阻力和摩擦的影响之后可以简化为以下模型。
在建立系统模型的状态空间表达式的过程中,我们考虑到有以下的物理量:
倒立摆系统中,我们需要控制的量有φ(摆杆与垂直向上方向的夹角),ω(摆杆与垂直向上方向的角速度,即φ的导数),x(小车的位置),ν(小车的速度,即x的导数)。则在建立状态空间表达式的时候,选择这四个物理量为状态变量。经过推导,可以得到模型的状态空间表达式为:
- 倒立摆系统连续控制器的设计
(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)相关推荐
- 风电场matlab/simulink工具箱(一)
1. 摘要 在进行相应的仿真建模时,我们往往无从下手,找不到仿真的突破口.更希望是拥有一个工具箱,可以有"即插即用"的功能,所以本文意在介绍所用到的关于风电场的工具箱.SimWin ...
- 风电场matlab/simulink工具箱(三)
6. 自己创建一个风电场 创建新的风电场有两种方法,一种是交互式界面,也就是simulink块搭建:另外一种是matlab脚本运行. 1)simulink风电场新建 可以选择两个中一个就可,根据自己的 ...
- matlab模拟燃烧,基于MATLAB/Simulink的燃烧过程控制系统仿真
2012 年 3 月 郑 州 大 学 学 报 ( 工 学 版 ) Mar. 2012 第 33 卷 第 2 期 Journal of Zhengzhou University ( Engineerin ...
- matlab app设计步骤_如何从MATLAB/Simulink入手,系统地学习自动驾驶?
自动驾驶相关的软件工具有不少,作为汽车工程师,我们最熟悉的可能是MATLAB/Simulink.如何从MATLAB/Simulink入手,系统地学习自动驾驶? 本文来源:自动驾驶仿真 自动驾驶相关的软 ...
- Matlab虚拟现实工具箱——没有VRML Editor时的使用办法(应该是Simulink 3D Animation Demo版本的都是这样)
虚拟现实工具箱对于计算完成后的仿真很有用的啊...但是我的Matlab版本有VRML Viewer但是没有Editor,直接导入stl模型转化为wrl又会结果怪怪的执行不正常. 我试试3D max或者 ...
- Matlab/Simulink ROS
同一局域网下,ROS(Ubuntu)和Matlab(Win)的无线网卡ip地址在同一网段下,即IP地址前三位相同. 使用Win电脑开启热点,然后Ubuntu电脑连这个热点,这样两台电脑就处于同一局域网 ...
- P2 Matlab计算基础-《Matlab/Simulink与控制系统仿真》程序指令总结
上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 2. Matlab 计算基础 表2.1 Ma ...
- matlab模糊控制工具箱使用和模糊控制pid实例参考
Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化.模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便 ...
- 基于matlab的局放仿真,基于MATLAB/Simulink系统仿真权威指南
基于MATLAB/Simulink系统仿真权威指南 作者:王江;付文利 出版日期:2013年09月 文件大小:78.00M 支持设备: ¥50.00在线试读 适用客户端: 言商书局 iPad/iPho ...
- matlab常用工具箱的调用指令
转自:http://blog.sina.com.cn/s/blog_86186c970102va9g.html Matlab常用工具箱的调用命令 1. 优化工具箱 用途:优化问题 调用命令:在Co ...
最新文章
- JAVAWEB项目--模拟考试系统数据库设计与实现(二)
- 临床观察性研究论文如何撰写“方法”?
- 中小企业应如何选择合适的数据保护工具?
- TypeScript 里 never 类型的用法举例
- matplotlib 画多条折线图且x轴下标非数值
- STM32H743+CubeMX-SPI与DRV8889串行通讯,驱动步进电机
- 线程安全的map_面试必问-几种线程安全的Map解析
- php 去除div标签,JavaScript_清除div下面的所有标签的方法,复制代码 代码如下: div id=s - phpStudy...
- 欧拉筛+埃式筛求素数
- NP问题验证机的理解
- div+css 怎么让一个小div在另一个大div里面 垂直居中
- ubuntu下研华工控机CAN卡驱动的安装与测试
- 看我如何自制安全的远程控制工具
- 静态HTML网页设计作品——动漫电影《你的名字》(7页) HTML+CSS大作业_ 动漫电网页制作作业_动漫电网页设计...
- 通信原理(三)香农三大定理
- Deepin安装python3
- Win7远程连接问题:凭据不工作 没有授权此用户账户
- python量化策略——大类资产配置模型(最小方差模型)
- mysql handlers_MySQL handler相关状态参数解释
- 【微信小程序】WXML WXSS JS
热门文章
- C51——超声波测距
- Python使用Treeview制作表格
- 什么是CAD模型坐标系?能够修改吗?
- java/php/net/python学校助学金管理系统的设计
- python代码库-推荐11个实用Python库
- linux内核特征,Linux内核的特征
- 【算法】_013_矩阵乘法
- java计算机毕业设计疫苗药品批量扫码识别追溯系统源码+数据库+系统+lw文档+部署
- 无神经网络车牌识别(2)--特征提取与特征匹配
- 测试晶面间距软件_材料现代测试分析方法期末考试卷加答案(精)