单级倒立摆LQR控制器的设计及仿真_第1页
单级倒立摆LQR控制器的设计及仿真_第2页
单级倒立摆LQR控制器的设计及仿真_第3页
单级倒立摆LQR控制器的设计及仿真_第4页
单级倒立摆LQR控制器的设计及仿真_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单级倒立摆LQR控制器的设计及仿真摘要:单级倒立摆是控制领域中的经典问题,也是一个非常好的控制系统设计案例。本文基于线性二阶系统的模型,介绍了利用LQR控制器设计单级倒立摆控制系统的方法。通过Matlab仿真实现控制器设计和系统响应的模拟。仿真结果表明,LQR控制器能够使单级倒立摆的控制效果达到理想水平。关键词:单级倒立摆;LQR控制器;Matlab仿真;控制系统设计一、概述倒立摆是一种经典的非线性动力学系统,因具有重心高度随时间改变且存在非线性耦合和非线性摩擦等特点,使得控制系统设计和控制效果造成了很大的困难。为了解决这些问题,研究者们提出了多种控制方法,如比例积分控制(PID)、模糊控制、神经网络控制等。其中,最近二十年来LQR控制器得到了广泛应用,被证明在许多控制问题中具有较好的控制性能。本文主要介绍如何基于LQR控制器设计单级倒立摆控制系统,并通过Matlab仿真验证控制系统设计的可行性和控制效果。二、建立系统模型单级倒立摆如图1所示,系统由一个轮毂、一根轴和一个摆杆组成,摆杆顶端通过一个轴固定在轮毂中心。系统状态变量分别为轮毂位移x,角度θ和摆杆角度φ,其中x表示系统的水平位置、θ表示摆体的倾斜角度、φ表示摆杆与竖直方向的夹角。运动方程具体为:![image](/76782419/126886634-4d4f4b68-d1a8-4ad4-9d7e-69c49cc51cab.png)其中,F为外部控制力,M为质量,l为摆杆长度,I为摆杆的惯性矩。将运动方程化为矩阵形式,得到:![image](/76782419/126886656-e03604e3-2fc2-401c-a9ac-9026c9365226.png)其中,x是系统输出向量,u是输入向量,A和B为系统状态矩阵和输入矩阵,产生的状态矩阵表示为:![image](/76782419/126886660-f4225b74-ee2d-4190-8b8e-37bf5d46ec1e.png)因此,得到系统的状态方程:![image](/76782419/126886668-eab3ccf3-cc40-4590-839d-69d4689243d2.png)根据该方程,可以得到系统的传递函数:![image](/76782419/126886681-2d9d2ef1-1d51-4048-a1b6-ebd97f01fff3.png)三、LQR控制器设计在得到系统模型后,可以设计一个LQR控制器来控制单级倒立摆系统,使其稳定。根据LQR控制器设计方法,先定义系统性能指标(代价函数),然后计算控制器参数以最小化代价函数。控制器的参数K和L可以表示为如下形式:![image](/76782419/126886690-36adfaf4-214b-49d9-bf98-f9f3cc34fd8d.png)其中,Q和R是对应的权重矩阵,一般为半正定对称矩阵。单级倒立摆系统性能指标可定义为系统状态向量的平方和(L2-范数),其形式为:![image](/76782419/126886708-ac168267-21ee-4970-be73-25f1aa06b88c.png)同时,因为参数Q和R的不同选择将影响LQR控制器的响应特性,需要根据实际情况进行调节。从系统传递函数得到的状态空间模型可用于计算反馈矩阵K。构建如下代码,在Matlab中求解LQR控制器的参数K和L:```matlabA=[010;001;000];B=[0;0;1];Q=[10000;0100;001];R=0.01;[K,S,e]=lqr(A,B,Q,R);```其中,A和B是控制系统的状态矩阵和输入矩阵,Q和R是对应的权重矩阵,lqr函数可以直接返回反馈矩阵K。通过这一步操作,控制器参数K的值为:![image](/76782419/126886730-8a6d2e6c-e3bb-41a6-8e84-62d695307ed9.png)四、仿真分析在设计好LQR控制器参数K后,将其引入到单级倒立摆控制系统中进行分析和控制。这里我们在Matlab中通过控制系统仿真分析来验证LQR控制器的性能。构建如下代码,在Matlab中实现单级倒立摆系统模拟:```matlab%定义模型M=1;l=0.5;g=9.81;d=0.1;A=[0,1,0;0,0,g/l;0,0,-d/M/l^2];B=[0;0;1/M/l^2];C=[1,0,0;0,1,0];D=[0;0];sys=ss(A,B,C,D);%定义控制器参数Q=[10000;0100;001];R=0.01;[K,S,e]=lqr(A,B,Q,R);%设计反馈控制sys_cl=ss(A-B*K,B,C,0);%模拟系统t=0:0.01:20;r=[zeros(size(t));0.2*ones(size(t))];[y,t,x]=lsim(sys_cl,r,t,[0,0,0,0,0,0]);%画图figure(1);plot(t,y(:,1),'r',t,y(:,2),'g');title('SingleInvertedPendulumControl');xlabel('T(s)');ylabel('State(x)');legend('x','theta');gridon```代码中,定义控制器参数,通过反馈控制设计一个新的系统,然后仿真控制器对系统的控制效果。仿真结果随时间的演变如图2所示。![image](/76782419/126886759-ac8ed329-45f3-4d4e-abfb-2908f9734a4b.png)图2展示了外力输入和响应信号的变化,在仿真控制器设计下,可以看到系统在较短时间内实现了平衡,响应曲线保持了0.2的稳定位置,系统稳定性和控制效果显著。因此,LQR控制器系统可以应用于单级倒立摆的有力控制解决方案。五、总结本文主要介绍了如何在单级倒立摆的控制问题中应用LQR控制器设计。通过基于状态空间模型的方法,得到系统的状态方程和传递函数,然后用LQR控制器设计一个反馈控制系统,在Ma

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论