直线一级倒立摆lqr控制器的设计.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 TOC \o 1-5 \h \z 0. 前言 1 \o Current Document 1. 线性二次最优控制 LQR 基本理论 1 \o Current Document 2. 方案设计 2 \o Current Document 3. 软件编程 3 \o Current Document 4. 系统调试和结果分析 4 \o Current Document 6. 结论及进一步设想 6 \o Current Document 参考文献 6 \o Current Document 课设体会 8 直线一级倒立摆LQR控制器的设计 姬晓龙 沈阳航空航天大学自动化学院 摘要:在控制理论上倒立摆使许多抽象的概念可以直观的表达出来。无论是在实践还是 理论上都具有深刻的意义。可以用拉格朗日方法建模,设计倒立摆二次型最优控制器, 通过MATLAB仿真和实际系统实验,实现对倒立摆的稳定控制。建立模型,确定参数, 进行控制算法设计、系统调试和分析等步骤实现。 关键词:二次型;倒立摆;稳定控制 0.刖言 倒立摆的最初研究开始于20世纪50年代,由美国麻省理工学院的控制论专家根据火 箭发射助推器原理设计;而后人们有参照双足机器人控制问题研究出二级倒立摆设备, 从 而提高了检验控制论和方法的能力,也拓宽了检验范围。 在控制理论上倒立摆使许多抽象概念如系统稳定性、可控性、系统收敛速度和系统抗 干扰能力等,都可以直观的表现出来。同时由于倒立摆系统的高阶次、不稳定、多变量、 非线性和强耦合特性,许多现代控制理论的研究人员一直将它视为研究对象, 并不断从中 发掘出新的控制理论和控制方法。 课程设计要求:熟悉倒立摆实际控制系统;对倒立摆系统建模;进行控制算法设计; 进行系统调试和分析;利用 matlab高级语言编程,实现倒立摆稳定控制;实时输出波形, 得出结论。 线性二次最优控制LQR基本理论 LQR控制器是应用线性二次型最优控制原理设计的控制器。它的任务在于,当系统 状态由于任何原因偏离了平衡状态时,能在不消耗过多能量的情况下,保持系统状态各分 量仍接近于平衡状态。线性二次型最优控制研究的系统是线性的或可线性化的, 并且性能 指标是状态变量和控制变量的二次型函数的积分。 线性二次最优控制LQR基本原理为,由系统方程: X AX Bu 确定下列最佳控制向量的矩阵 K: K*x t 使得性能指标达到最小值: J ° X*QX u*Rudt 式中 Q 正定(或正半定)厄米特或实对称阵 R ■为正定厄米特或实对称阵 下面是最优控制LQR控制原理图: Q和R确定了误差和能图1最优控制LQR控制原理图 Q和R确定了误差和能 对线性系统: X AX Bu Y CX 根据期望性能指标选取Q和R,利用MATLAB命令lqr就可以得到反馈矩阵K的值 K=lqr(A,B,Q,R) 改变矩阵Q的值,可以得到不同的响应效果,Q值越大(在一定范围之内),系统 抵抗干扰的的能力越强,调整时间越短。但是 Q不能过大。 方案设计 直线一级倒立摆系统的系统状态方程: TOC \o 1-5 \h \z 0 0 29.4 0 1 0 0 0 X 0 0 10 四个状态量X, X,, 分别代表小车位移、小车速度、摆杆角度和摆杆角速度, 输出y x,包括小车位置和摆杆角度。设计控制器使得当给系统施加一个阶跃输入时, 摆杆会摆动,然后仍然回到垂直位置,小车可以到达新的指定位置。 假定全状态反馈可以实现(4个状态量都可测),找出确定反馈控制规律的向量 K,用 MATLAB中的lqr函数,可以得到最优控制器对应的 K。Lqr函数允许选择两个参数 R和 Q,这两个参数用来平衡输入量和状态量的权重。假定 R=1,Q=C*C.其中Q“代表小车位 置权重,而Q3,3是摆杆角度的权重,输入R是1。 软件编程 程序如下:clear; A=[ 0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 29.4 0]; B=[ 0 1 0 3]; C=[ 1 0 0 0; 0 0 1 0]; D=[ 0 0 ]; Q11=1000; Q33=200; Q=[Q11 0 0 0; 0 0 0 0; 0 0 Q33 0; 0 0 0 0]; R = 1; K = lqr(A,B,Q,R) Ac = [(A-B*K)]; Bc = [B]; Cc = [C]; De = [D]; T=0:0.005:5; U=0.2*o nes(size(T)); [Y,X]=lsim(Ac,Bc,Cc,Dc,U,T); plot(T,X(:,1),-);hold on; plot(T,X(:,2),-.);hold on; plot(T,X(:,3),.);hol

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档