一级倒立摆matlab仿真,一级倒立摆的Simulink仿真「建议收藏」

一级倒立摆matlab仿真,一级倒立摆的Simulink仿真「建议收藏」一级倒立摆的Simulink仿真单级倒立摆稳定控制直线一级倒立摆系统在忽略了空气阻力及各种摩擦之后,可抽象成小车和匀质摆杆组成的系统,如图1所示。mg杆长为2u图1直线一级倒立摆系统图2控制系统结构假设小车质量M=0.5kg,匀质摆杆质量m=0.2kg,摆杆长度2l=0.6m,x(t)为小车的水平位移,θ为摆杆的角位移,。控制的目标是通过外力(t)使得摆直立向上2…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

41528d3028836879cd698677c3999917.gif一级倒立摆的Simulink仿真

单级倒立摆稳定控制 直线一级倒立摆系统在忽略了空气阻力及各种摩擦之后,可抽象成小车和匀质摆杆组成的系统,如图1所示。m g杆长为 2u图1 直线一级倒立摆系统图 2 控制系统结构假设小车质量M =0.5kg,匀质摆杆质量 m=0.2kg,摆杆长度 2l =0.6m,x(t)为小车的水平位移, θ 为摆杆的角位移, 。控制的目标是通过外力 (t)使得摆直立向上2/8.9smgu(即 )。该系统的非线性模型为:0)(t,其中 。ulxMl glJ 22 )sin()()cos(co 231mlJ解:一、 非线性模型线性化及建立状态空间模型因为在工作点附近( )对系统进行线性化,所以0,可以做如下线性化处理:32sin,cos1!!当 θ 很小时,由 cosθ、sin θ 的幂级数展开式可知,忽略高次项后,可得 cosθ≈1,sinθ≈θ ,θ’ ^2≈0;因此模型线性化后如下:(J+ml^2 )θ’ ’+mlx’=mglθ (a)mlθ’+(M+m) x’=u (b) 其中 231mlJ取系统的状态变量为 输出 包括小车位移和摆杆,,,,4321 xTxy][的角位移.即 X= = Y= = 432x x31由线性化后运动方程组得X1’=x’=x2 x2’=x’= x3+ umMg3)(4m3)(4X3’ =θ’=x4 x4’=θ’= x3+ u l)( l)(故空间状态方程如下:X’= = +  43 21x 03)(401)(3010mlMg432xmlM3)(0)(4u X’= = + u 43 21xx018.30672.1431x54.082.Y= = 31x04321x二、通过 Matlab 仿真判断系统的可控与可观性,并说明其物理意义。(1)判断可控性代码:A=[0 1 0 0;0 0 -2.627 0;0 0 0 1;0 0 31.1818 0];B=[0;1.8182;0;-4.5455];P=ctrb(A,B);n=rank(P);运行了得 n= 4所以 P 为满秩,系统能控(2)判断可观性代码:A=[0 1 0 0;0 0 -2.627 0;0 0 0 1;0 0 31.1818 0];B=[0;1.8182;0;-4.5455];C=[1 0 0 0;0 0 1 0];P=obsv(A,C);n=rank(P);运行了得 n= 4所以 P 为满秩,系统能观。三、能否通过状态反馈任意配置系统的极点?若能,通过 Matlab 仿真确定反馈控制规律 K(如图 2),使得闭环极点配置在上。并给出系统在施加一个单位脉冲输入时j1,2,14.3状态响应曲线;答: 因为系统完全能控,所以能通过状态反馈任意配置系统的极点。要将闭环极点配置在 上,所以期望特征方程为j1,2,14.3| I—(A-BK)|=( )*( +2)*( ( +1)^2+1)? ?+1 ? ?= ^4+5 ^3+10 ^2+ +4? ? ? 10?Matlab 求解 K 如下:A=[0 1 0 0;0 0 -2.627 0;0 0 0 1;0 0 31.1818 0];B=[0;1.8182;0;-4.5455];J=[-1 -2 -1+i -1-i];K=place(A,B,J);运行得:K=[ -0.089378 -0.22345 -9.0957 -1.1894];未加入极点配置。仿真图:未进行极点配置仿真电路图(1)X 的响应图:Θ 的响应图:配置后:加入极点配置仿真图(2)X 的响应图:Θ 的响应图:四、 用 MatLab 中的 lqr 函数,可以得到最优控制器对应的 K。要求用 LQR 控制算法控制倒立摆摆动至竖直状态,并可以控制倒立摆左移和右移;欲对系统进行最优状态反馈设计,及小化性能指标为:J= dt1 2 ∫∞0[????+????]编写 matalab 程序如下:A=[0 1 0 0;00 -2.627 0;0 0 0 1;0 0 31.1818 0];B=[0;1.8182;0;-4.5455];C=[1 0 0 0;0 0 1 0];D=[0;0]x=1;y=1;Q=[x 0 0 0;0 0 0 0;0 0 y 0;0 0 0 0];R=1;G=lqr(A,B,Q,R);A1=[(A-B*G)];B1=[B];C1=[C];D1=[D];t=0:0.01:5;U=zeros(size(t));x0=[0.1 0 0.1 0];[Y,X]=lsim(A1,B1,C1,D1,U,t,x0);plot(t,Y);legend( 小车 , 倒立摆 );运行可得:G=[-1 -1.5495 -18.68 -3.4559]由图分析可得调节时间很长,所以增加 Q 的比重,将上程序中的 x,y 改为 x=150,y=150.运行可得:G=[-12.247 -9.3413 -41.934 -7.7732]比较可得,控制效果明显改善。但反馈增益变大,意味着控制作用变强,消耗能量变大。将 G 放入系统中,进行 simulink 仿真可得:仿真电路图:仿真结果:X 的响应图:Θ 的响应图:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171026.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++函数指针详解

    C++函数指针详解1.定义每一个函数都占用一段内存单元,它们有一个起始地址,指向函数入口地址的指针称为函数指针。2.语法指向函数的指针变量的一般定义形式为:数据类型(*指针变量名)(参数表);3.说明1)函数指针的定义形式中的数据类型是指函

    2022年6月22日
    24
  • Redis – 11、集群(Cluster)

    Redis – 11、集群(Cluster)redis集群是对redis的水平扩容,即启动N个redis节点,将整个数据分布存储在这个N个节点中,每个节点存储总数据的1/N。

    2022年10月25日
    0
  • MFC进度条编程控制[通俗易懂]

    MFC进度条编程控制[通俗易懂]好文章转来转去图片也找不到了 最原版的链接也打不开了 比较遗憾\*****************************************************************************************************************************************************************

    2022年7月12日
    15
  • 国标 计算机机房,国标相关知识:电子信息系统机房设计规范(GB50174-2008)[通俗易懂]

    国标 计算机机房,国标相关知识:电子信息系统机房设计规范(GB50174-2008)[通俗易懂]1总则1.0.1为规范电子信息系统机房设计,确保电子信息系统安全、稳定、可靠地运行,做到技术先进、经济合理、安全适用、节能环保,制定本规范。1.0.2本规范适用于建筑中新建、改建和扩建的电子信息系统机房的设计。1.0.3电子信息系统机房的设计应遵循近期建设规模与远期发展规划协调一致的原则。1.0.4电子信息系统机房设计除应符合本规范外,尚应符合国家现行有关标准、规范的规定。2术语2.0.1电子信息…

    2022年10月2日
    0
  • 汉罗塔的一般解决方法是什么_汉诺塔最快的方法

    汉罗塔的一般解决方法是什么_汉诺塔最快的方法这里主要是汉罗塔的递归求解n个盘子的总步数,和递归每一步盘子的步骤。

    2022年10月12日
    0
  • Double 转 String

    Double 转 String场景Double整数部分超6位时用科学计数法表示,如123456789.50表示为1.234567895E8解决doubled=123456789.50;DecimalFormatformat=newDecimalFormat("#.00");Stringstr=format.format(d);System.out.println(str);…

    2022年10月24日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号