倒立摆状态反馈系统的建模及matlab仿真

课题名称:倒立摆状态反馈系统的建模及matlab仿真

学生姓名: 谢凯

学 号:2011330380229

班 级:电气工程及其自动化2班

指导老师:高金凤

2013年12月20日

倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。同时,其控制方法在军工、 航天、机器人和一般工业过程领域中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制和卫星飞行中的姿态控制等。故其研究意义广泛。

倒立摆系统的建模

系统的物理模型

如图1所示,在惯性参考系下,设小车的质量为M,摆杆的质量为m,摆杆长度为l,在某一瞬间时刻摆角(即摆杆与竖直线的夹角)为Θ,作用在小车上的水平控制力为f。这样,整个倒立摆系统就受到重力,水平控制力和摩擦力的3外力的共同作用。

图a 一级倒立摆物理模型     图b 摆杆隔离受力图

系统的数学模型

在系统数学模型中,本文首先假设:

(1)摆杆为刚体;

(2)忽略摆杆与支点之间的摩擦;

(3)忽略小车与导轨之间的摩擦。

然后根据牛顿第二运动定律,求得系统的运动方程为:

(1)

(2)

方程(1),(2)是非线性方程,由于控制的目的是保持倒立摆直立,在施加合适的外力条件下,假定θ很小,接近于零是合理的。则,.在以上假设条件下,对方程线性化处理后,得到倒立摆系统的数学模型如下:

(3)

(4)

系统的状态方程

以摆角θ,角速度θ,小车的位移x ,速度x为状态变量,输出为y。即令:

则一级倒立摆系统的状态方程为:

;;;。

控制器设计及matlab仿真

极点配置状态反馈的基本原理

单级倒立摆系统是一个不稳定的连续系统,当倒立摆出现偏角后,若不给小车施加控制力,倒立摆会向左或向右倾倒。所以本文采用极点配置法设计控制器的目的都是通过调节水平力的大小来控制小车的运动,使倒立摆处于平衡位置。

极点配置的方法就是通过一个适当的状态反馈增益矩阵的状态反馈方法,将闭环系统的极点配置到任意期望的位置。考虑控制系统:

(5)

其中x是状态向量(n维向量),u是控制信号(纯量),选取控制信号为:

(6)

这样控制信号是由瞬时状态确定,此方法称为极点配置状态反馈法。图2为具有的闭环控制系统。

图2 状态反馈闭环控制系统

将式(6)代入式(5)得: ,该方程的解为:

式中是外部干扰引起的初始状态。系统的稳态响应和瞬态响应特性由矩阵的特征决定。如果矩阵选取适当,则可使矩阵构成1个渐近稳定矩阵,并且对所有的 ,当t趋于无穷时,都可使趋于0。称矩阵的特征值为调节器极点。如果这些调节器极点均位于s的左半平面内,则当t趋于无穷时, 趋于0。将闭环极点配置到所期望的位置,称为极点配置问题。因而极点配置状态反馈控制器的设计最主要就是值的计算。

极点配置状态反馈控制器的设计

一级倒立摆系统是一个不稳定的系统。控制器的目的是使倒立摆系统动态稳定,即保持倒立摆在垂直的位置,使小车在外力作用下其位移以较小的误差跟随输入的变化。由于系统的动态响应主要是由他的极点位置决定的,同时容易证明一级倒立摆系统是一个能控而且能观的系统。因此本文通过极点配置状态反馈控制器来使系统保持稳定。

状态反馈控制方程为:,闭环系统的方程为:。选取所期望的闭环极点位置:μ1,μ2,μ3,μ4。

根据如下matlab程序可求得状态反馈增益K (假设小车的质量为3 kg ,摆杆的质量为0. 1 kg ,摆杆的长度为0. 5 m) ,程序如下:

M = 3 ;m = 0.1 ;l = 0.5;g =9.81;

A21 = (M + m) / M/ l*g;

A41 = - m/ M*g ;

B21 = - 1/ M/ l ;

B41 = 1/ M ;

A = [ 0 1 0 0 ;A21 0 0 0 ;0 0 0 1 ;A41 0 0 0 ] ;

B = [ 0 ;B21 ;0 ;B41 ] ;

C = [ 1 0 0 0 ;0 1 0 0 ;0 0 1 0 ;0 0 0 1 ] ;

D = 0 ;

M = [B

matlab反馈模型,—倒立摆状态反馈系统的建模及matlab仿真.docx相关推荐

  1. 【基于Simulink+UG NX MCD 一级倒立摆控制系统仿真】建模和分析(一)

    前言 倒立摆是比较典型的系统,可以看出火箭发射的简化模型,国内外学者常常通过在倒立摆上开发和测试控制算法. 对倒立摆的控制分为两大任务: 起摆 稳摆 所以本文想通过此项目对自动控制原理进行一个复习与学 ...

  2. Matlab直线一级倒立摆控制方法研究

    1 研究背景 倒立摆是一个开环不稳定的强非线性系统,其控制策略与杂技运动员顶杆平衡表演的技巧有异曲同工之处,目的在于使得摆杆处于临界稳定状态,是进行控制理论研究的典型实验平台.20世纪50年代,麻省理 ...

  3. 二级倒立摆的matlab模拟,输出倒立摆运动过程角度变化

    目录 一.理论基础 二.核心程序 三.仿真结论 一.理论基础 二级倒立摆是一个复杂非线性.强耦合.多变量的自然不稳定系统,它也是双足行走机器人.火箭飞行姿态控制等许多控制对象的最简单模型.倒双摆是一个 ...

  4. 关于韩京清学者的《直线型倒立摆的自抗扰控制设计方案》仿真

    任何系统都可以写成如下形式 其中w(t)表示外扰作用,自控扰控制技术的核心是采用合适的方法,用希望得到的输出信号r(t)和系统输出信号y(t)的差(即误差信号),以及控制输入量u(t)来估计系统运行过 ...

  5. 【数学建模】基于matlab SIR模型新冠病毒COVID-19估计【含Matlab源码 2042期】

    一.SEIR模型简介 1 SEIR模型简介 如果所研究的传染病有一定的潜伏期,与病人接触过的健康人并不马上患病,而是成为病原体的携带者,归入 E 类.此时有: 仍有守恒关系 S(t) + E(t) + ...

  6. MATLAB强化学习实战(七) 在Simulink中训练DDPG控制倒立摆系统

    在Simulink中训练DDPG控制倒立摆系统 倒立摆的Simscape模型 创建环境接口 创建DDPG智能体 训练智能体 DDPG智能体仿真 此示例显示了如何训练深度确定性策略梯度(DDPG)智能体 ...

  7. MATLAB中SSQJ,基于lqr的一级倒立摆仿真研究

    基于lqr的一级倒立摆仿真研究 综合性实验设计题目:直线一级倒立摆班级:0802姓名:郭长春指导老师:张白莉学号:200807211065摘要倒立摆是一个复杂的多变量强祸合不稳定非线性的系统,借助于这 ...

  8. matlab模糊控制 论文,基于matlab的倒立摆模糊控制毕业论文报告.doc

    基于matlab的倒立摆模糊控制毕业论文报告 (此文档为word格式,下载后您可任意编辑修改!) 智能控制理论及应用 课程设计报告 题 目: 基于matlab的倒立摆模糊控制 院 系: 西北民族大学电 ...

  9. 基于matlab的倒立摆设计,基于matlab的倒立摆设计.doc

    基于matlab的倒立摆设计.doc 摘要IAbstract.II第一章绪论11.1倒立摆的研究背景.11.2国内外现状.21.3应解决的问题和技术要求.21.4工作内容.3第二章MATLAB仿真软件 ...

最新文章

  1. spring中@value注解需要注意
  2. python json模块有什么用_Python中json模块与jsonpath模块的区别是什么
  3. POJ 放苹果问题(递归)
  4. BZOJ 1609 Usaco Eating Together
  5. 如何往eclipse中导入maven项目
  6. 内核级利用通用Hook函数方法检测进程
  7. 优酷爱奇艺回应被处罚;拼多多主体公司法定代表人变更,黄峥退出董事席位;斗鱼发布开源框架Jupiter | 极客头条
  8. 拓端tecdat|R语言中广义线性模型(GLM)中的分布和连接函数分析
  9. java 求两点的角度_计算两点之间的角度 – java
  10. windows下载及安装redis
  11. element-ui ele-calendar 清除选中 事件
  12. HTML页面转PDF导出加水印并解决字被截断的问题
  13. python第四次作业——陈灵院
  14. Jason Brown的R快速入门方法
  15. Java工具集-身份证(IDCardUtil)
  16. 内码转换技术 (转)
  17. php 当地天气预报,PHP调用全国天气预报数据接口查询天气示例
  18. 1.2 Qt Creater使用Python开发桌面软件的界面设计
  19. html5游戏引擎推荐
  20. 用双引号作为for 里面delims的分隔符

热门文章

  1. 6.3 Spring Boot集成mongodb开发
  2. Linux route命令详解和使用示例(查看和操作IP路由表)
  3. java 命名代码检查-注解处理器
  4. WinAPI: PtInRect - 判断点是否在矩形中
  5. springcloud分布式事务_Springcloud 分布式事务集成Naco Seata
  6. 浅谈 DML、DDL、DCL的区别
  7. php auth_http,php auth_http类库进行身份效验
  8. python运维脚本部署jdk_Jenkins自动执行Python脚本,并输出测试报告
  9. 虚拟机无法访问主机mysql_解决虚拟机linux端mysql数据库无法远程访问
  10. libgdx和android界面结合,Android游戏引擎libgdx使用教程5:常用UI类与舞台