现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

这篇具有很好参考价值的文章主要介绍了现代控制理论课程实验三:一阶倒立摆的LQR控制器设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

一、实验目的

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

1、理解并掌握线性状态反馈控制的原理和方法;
2、理解并掌握LQR控制器设计方法;
3、练习控制性能比较与评估的方法。

二、实验设备与软件

实验设备

  • 倒立摆实验台

实验软件

  • MATLAB软件

三、实验原理

3.1、被控对象模型及其线性化

倒立摆系统的各量含义与关系如下表和下图。
根据牛顿定律建立系统垂直和水平方向的动力学方程,计及 u = F ,可得到

如下所示

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计
现代控制理论课程实验三:一阶倒立摆的LQR控制器设计
该状态方程输入是加速度,输出是小车位置和摆杆角度。而小车的位置和摆杆角度以及它们的导数均可以通过传感器测量,所以在系统可控制的情况下,可以利用状态反馈综合控制器改善性能。

3.2、时不变线性连续系统的状态反馈控制与线性二次型最优控制LQR

  • 对时不变线性连续系统

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

3.3、实验平台的基本原理与使用指南

倒立摆系统的控制结构框图如下

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计
“Pendulum”模块内部包含三种模块,每种模块的具体功能是通过S-Function实现的,这里不做介绍。其中“Set Car’s Vcc and Vel”模块的作用是设置小车运动的速度和加速度,“Get Car’s Position”模块的作用是读取小车当前的实际位置,“Get Pend’s Angle”的作用是角度编码器读取摆杆当前摆起的实际角度,该角度顺时针为“+”,逆时针为“-” (以竖直向下的状态为起始状态,见图1)。这里需要注意的是,由于编码器所读脉冲的正负号与实际需要的数符号相瓣,所以编码器输出经过一个负的比例增益后转化为输出角度
现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

另外,在Simulink中搭建系统模型时,需要将Inverted_Pendulum_RealTime_lib中的GT400-SV Initialization模块放到编辑的模型中。

四、实验内容

动手实验与分析:

基于式(6)所示的倒立摆模型(控制摆角和位置),根据原系统的特点设计LQR最优控制器,并分析参数 和 阵的选取对系统的影响。实物实验前先进行理论分析计算(包括能控性分析和稳定性分析,指标转化计算,可以编制相应的程序计算,也可以手算),并在MATLAB/Simulink中进行离线数值计算分析,调整相关参数,合适后在倒立摆平台上做在线实验,比较仿真结果与实验结果。

4.1、MATLAB仿真结果

系统的MATLAB/Simulink仿真图如下

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

4.2、MATLAB程序如下

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 ]';

Gs = ss(A, B, C, D);
Qc = ctrb(A, B);        % 可控矩阵
Qo = obsv(A, C);        % 可观测矩阵
rankQc = rank(Qc);      % 求可控矩阵的秩
rankQo = rank(Qo);      % 求可控矩阵的秩

if rankQc == 4
    disp('系统可控');
else
    disp('系统不可控');
end

if rankQo == 4
    disp('系统可观');
else
    disp('系统不可观');
end


4.2.1、判断系统的能控与能观性

判断系统的能控与能观性运行如下

>> shiYan3
系统可控
系统可观
  • 由运行结果可知,系统可控、客观。

4.2.2、求系统的极点

求系统的极点的代码如下

P = poly(A); % 特征多项式
rootP = roots(P); % 极点
disp(rootP);

求系统的极点运行结果如下

>> shiYan3
系统可控
系统可观
         0
         0
    5.4222
   -5.4222
  • 可以知道系统有一个极点在右边,系统不稳定。

4.2.3、进行极点配置

ζ=0.8、ζ=0.707、ζ=0.316
设计状态反馈阵时,要使系统的极点设计成具有两个主导极点,两个非主导极点,这样就可以用二阶系统的分析方法进行参数的确定。我们设置系统的最大超调量小于等于8%,调节时间为小于等于5 S。运用超调量的计算公式可以计算出ε= 0.63;ts=5s,可以求得Wn≥0.95。用极点公式为P1,2=-εw + iw√1-εz,得到两个配置的共轭极点为: -0.6士0.74i。选取非主导极点距虚轴的距离为主导极点距虚轴的距离的5倍以上:所以可以两个非主导极点为:-10。

进行极点配置MATLAB程序代码如下:

p = [-0.6 + 0.74j -0.6 - 0.74j -10 -10];  % 极点配置
K = acker(A, B, p);
disp(K);

进行极点配置运行如下

  -3.0871   -4.6990   52.4649    8.6330

MATLAB仿真如下

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

  • 由仿真结果可知,系统的调节时间5s左右,系统的摆杆最终稳定在0的位置。

4.3、线性二次型最优控制LQR求出配置极点

线性二次型最优控制LQR求出配置极点代码如下所示

% 线性二次型最优控制LQR求出配置极点
Q = [1000 0 0 0; 0 0 0 0; 0 0 1000 0; 0 0 0 0];
R = 1;
LQR_K = lqr(A, B, Q, R);
disp(LQR_K);

线性二次型最优控制LQR求出配置极点运行如下

-31.6228  -21.7963   83.4140   14.2355

线性二次型最优控制LQR求出配置极点MATLAB仿真如下

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

  • 由仿真结果可知,线性二次型最优控制LQR求出配置极点,使系统的调节时间降低到了2s,摆杆的摆动幅度更小。

五、实验室运行结果

在实验室进行实物倒立摆的控制,设计的控制模型与系统的运行结果如下

控制系统模型

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

系统正常运行的效果图

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

系统在扰动下的运行结果

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

六、实验总结

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计

一阶倒立摆的LQR控制器设计的实验总结如下几点所示

  • 1、通过实验,理解并掌握了线性状态反馈控制的原理和方法。运用状态反馈可以配置系统的极点到任意的位置。
  • 2、理解并掌握LQR控制器设计方法。
  • 3、通过实验掌握了利用状态反馈配置极点的前提:对系统进行能控与能观性的判断。
  • 4、通过实验,加强了动手实践与理论相结合的能力。

现代控制理论课程实验三:一阶倒立摆的LQR控制器设计文章来源地址https://www.toymoban.com/news/detail-451984.html

到了这里,关于现代控制理论课程实验三:一阶倒立摆的LQR控制器设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一级倒立摆控制 —— LQR 控制器设计及 MATLAB 实现

    最优控制介绍 一级倒立摆控制 —— 系统建模(传递函数模型与状态空间方程表示) 一级倒立摆控制 —— PID 控制器设计及 MATLAB 实现 一级倒立摆控制 —— MPC 控制器设计及 MATLAB 实现 1.1 系统变量表: 参数 符号 数值 小车质量 M M M 0.5 kg 摆杆质量 m m m 0.2 kg 小车摩擦系数 b

    2024年02月04日
    浏览(77)
  • 一阶倒立摆简单模型

    因为毕业设计论文研究的课题跟LQR控制算法相关,博主这几天恶补了一下之前学过的东西,像自动控制,现代控制,建模等等,于是在这里用一个简单的 一阶倒立摆模型 来记录一下,将复习的内容简单应用一下。 对于一个简单的小车+一个摆杆组合成的一阶倒立摆模型(假设

    2024年02月06日
    浏览(42)
  • [足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-7 LQR控制器 Linear Quadratic Regulator

    本文仅供学习使用 本文参考: B站:DR_CAN 线性控制器设计- 轨迹跟踪(Fellow a Desired Path)

    2024年02月02日
    浏览(58)
  • 现代控制理论基础

    在学习卡尔曼滤波、粒子滤波、隐马尔可夫模型时候,经常会提到状态方程的概念,这边联想到当时学习过的一门课程现代控制理论,这边就简单回顾一下吧。在回顾之前,串联下高等数学中微分方程的知识点。 一. 微分方程 高等数学上册第7章讲的就是微分方程,可以解决

    2024年01月18日
    浏览(58)
  • 现代检测技术课程实验:电桥测量位移

    电桥测量位移描述如下 使用2个线性电位器(总电阻值为R0=5000Ω,总长度为L0=100mm),和1个E=10V的直流电源,构成1个全桥电路,用于检测位移x,当被测位移x带动电位器的电刷P1和P2移动时,电桥的输出电压Uo发生变化。(提示:x同时带动2个电位器的电刷移动) 要求:(1)在

    2024年02月02日
    浏览(46)
  • 现代控制理论——矩阵指数函数的计算方法

    矩阵指数函数的计算方法有很多,至少有十几种,本次只介绍4钟; 方法1,根据矩阵指数函数的定义直接计算 将系统矩阵带入定义直接计算,注意我们只取有限项,因此得到的解并不是精确解 方法2将系统矩阵化为对焦标准型或者约当标准型 方法3;拉氏变换 方法四:应用凯莱

    2024年02月06日
    浏览(42)
  • 【现代控制理论笔记】——第七章:稳定性

    1. 稳定性的概述 系统的稳定性分为基于输入输出描述的 外部稳定性 和基于状态空间描述的 内部稳定性 。 1.1 外部稳定性(BIBO稳定): 任何一个有界输入 u ( t ) u(t) u ( t ) ,对应的输出 y ( t ) y(t) y ( t ) 均有界。 ∣ ∣ u ( t ) ∣ ∣ ≤ β ∞ ||u(t)||leq betainfty ∣∣ u ( t ) ∣∣

    2024年01月22日
    浏览(48)
  • 现代控制理论——离散系统,时变系统和非线性系统的状态空间表达式

    离散系统的状态空间表达式可以用差分方程表示: 方程的解释:得到第k步系统的状态和控制,可以得到第k+1系统的状态。 线性时变系统·的状态空间表达式为: 系统矩阵,输入矩阵,输出矩阵,直接传输矩阵这四个矩阵中的任何一个矩阵中的元素是时间的函数我们就称为这

    2024年02月11日
    浏览(51)
  • 【现代机器人学】学习笔记四:一阶运动学与静力学

    这节课的内容主要讲速度的正向运动学(也就是位置的一阶导数,所以叫一阶运动学)和静力学,这也是本书首次出现动力学相关的内容(刚体运动那节提到的力旋量算是一个概念的介绍)。 个人结合平时的工程项目看,觉得这节课的内容是一个内容和难度上的一个跨越,因

    2023年04月08日
    浏览(43)
  • 基于MATLAB的一级倒立摆控制仿真,带GUI界面操作显示倒立摆动画,控制器控制输出

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB       一个可以活动的小车上立着一根不稳定随时会倒下的杆。小车的轮子由电机控制,可以控制小车电机的转动力矩M。同时,也可以获取小车轮子转动的圈数N(可以精确到小数)和杆相对于垂直位置的倾角α.  

    2024年02月08日
    浏览(90)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包