通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器

目录

1.课题概述

2.系统仿真结果

3.核心程序与模型

4.系统原理简介

5.完整工程文件


1.课题概述

        通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器。通过对比三个算法可知,采用滑模控制算法,其具有最快的收敛性能,较强的鲁棒性,以及较小的超调量。其性能略优于基于积分分离的PID控制器,远优于PID控制器的控制性能。

2.系统仿真结果

(完整程序运行后无水印)

3.核心程序与模型

版本:MATLAB2022a

................................................................
[A,B,C,D] = c2dm(A1,B1,C1,D1,ts,'z'); 
x   = [-0.5;-0.5]; 
r_1 = 0;
r_2 = 0; 
 
for k=1:1:4000 
    time(k) = k; 
    r(k)    = 15; 
    c       = 10;
    eq      = 5;
    q       = 30; 
    Ce      = [c,1]; 
    dr(k)   = (r(k)-r_1)/ts; 
    dr_1    = (r_1-r_2)/ts; 
    r1(k)   = 2*r(k)-r_1; 
    dr1(k)  = 2*dr(k)-dr_1; 
    R       = [r(k);dr(k)]; 
    R1      = [r1(k);dr1(k)]; 
    E       = R-x; 
    e(k)    = E(1); 
    de(k)   = E(2); 
    s(k)    = Ce*E; 
    ds(k)   =-eq*ts*sign(s(k))-q*ts*s(k); 
	u(k)    = inv(Ce*B)*(Ce*R1-Ce*A*x-s(k)-ds(k));    
	x       = A*x+B*u(k); 
	y(k)    = x(1); 
    r_2     = r_1; 
    r_1     = r(k); 
end 

figure;
plot(time,r,'r',time,y,'b'); 
xlabel('Time(second)');
ylabel('(r and y)'); 
save r3.mat y
08_023-1m

4.系统原理简介

        PID控制器、积分分离控制器以及滑模控制器是控制工程中常用的三种控制器类型,它们各自拥有独特的设计原理和应用场合。

        PID 控制器由比例单元( P )、积分单元( I )和微分单元( D )组成。其输入 e (t) 与输出 u (t) 的关系为公式1:

       积分分离控制器是对PID控制器的一种改进,旨在解决PID控制器在大偏差时积分项积累过快导致的饱和问题。在系统出现大偏差时,暂时关闭积分作用,待系统进入稳定区后再启用,以提高系统的稳定性。

       在PI控制中,积分环节的作用是消除静态误差,提高系统的控制精度。如果在误差较大的初始阶段引入积分环节,会造成PI的积分累积,从而引起系统较大的超调。积分分离PI控制器的基本设计思想是当输入有较大变化,指令值与实际反馈的偏差值大于一定阈值时,不进行积分,只进行比例调节。而当偏差值小于一定值时,恢复积分调节以消除系统的静态误差。

       滑模控制(Sliding Mode Control, SMC)是一种非线性控制策略,通过设计一个滑动面,使系统状态沿着该滑动面向目标状态快速收敛。其特点是鲁棒性强,能有效抑制外部扰动和系统不确定性。

      下面介绍一下如何进行滑模控制器的设计。首先,将滑模控制定义一个开关面,将状态控制分成两个具有不同动态特性的子空间,并选择合适的控制规律可以控制系统的状态,一旦从任意一个子空间到达滑模面之后,将沿着滑模面的方向运动并始终保持在滑模面上。设计控制规律必须满足趋近条件,以此保证滑模面的存在。

5.完整工程文件

v

v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/723137.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安装idea后配置的全局配置

1、打开IDEA应用:Customize→All settings...,如果启动IDEA后,默认打开的是之前的项目,可以关闭当前项目:File→Close Project,就退到全局配置界面了。 2、打开全局配置界面:Editor→File Encod…

zustand 状态管理库的使用 结合TS

zustand 是一个用于React应用的简单、快速且零依赖的状态管理库。它使用简单的钩子(hooks)API来创建全局状态,使得在组件之间共享状态变得容易。 React学习Day10 基本用法 安装:首先,你需要安装zustand库。 npm insta…

Java阻塞队列:DelayQueue

Java阻塞队列:DelayQueue 在Java的并发编程中,阻塞队列是一种非常有用的数据结构,它不仅提供了线程安全的队列操作,还在必要时会自动阻塞获取操作,直到队列变得不为空。本文将重点介绍一种特殊的阻塞队列——DelayQue…

亲测:无影云电脑免费三个月已经缩短为1个月

亲测:无影云电脑免费三个月已经缩短为1个月,大家不要再找3个月的无影云电脑,已经没有了,目前最新消息是1个月。以前可以领3个月,现在只能领1个月,在阿里云免费中心 https://free.aliyun.com/ 大家自己看吧&…

中国各区域人口密度可视化图

原文链接https://mp.weixin.qq.com/s?__bizMzUyNzczMTI4Mg&mid2247674303&idx1&sn830304f80a0429406c4a5e38dc7750ec&chksmfa777682cd00ff9434e4660bb52ab2bf19913b6732083de061664401a9ac0fa46581cd9e5e86&token1445576002&langzh_CN&scene21#we…

StarkNet System Architecture 系统架构

文章目录 Starknet架构排序器,证明器和节点、验证者、Starnet Core排序器 Sequencer证明器 Prover节点验证者StarkNet Core工作原理TransactionsStarknet架构 原文链接: https://david-barreto.com/starknets-architecture-review/#more-4602 StarkNet 有五个组成部分。分别…

Stable Diffusion 秋叶整合包v4.7 :解压即用,快速入门AI绘画

Stable Diffusion秋叶整合包,超简单一键安装Stable Diffusion,无任何使用门槛,完全免费使用,支持Nvdia全系列显卡,来自B站up秋葉aaaki,近期发布了Stable Diffusion整合包v4版本,一键在本地部署S…

划分子网和构造超网的学习

子网掩码长度=32位 某位=1:IP地址中的对应位为网络号和子网号 某位=0:IP地址中的对应位为主机号 从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。 使用子网掩码(subnet mask)可…

leetcode第709题:转换成小写字母

注意字符不仅有26个英文字母&#xff0c;还有特殊字符。特殊字符的话&#xff0c;原样输出。 public class Solution {public char toLowChar(char c){if(c>a&&c<z){return c;}else if(c>A&&c<Z){int n(int)c32;return (char)n;}return c;}publi…

cuda thread和block值怎么配置(个人经验)

1.查询自己的GPU算力&#xff1b; 2.对应算力查找资源限制&#xff1b; 详见CUDA_C_Programming_Guide.pdf&#xff0c;Chapter 19. Compute Capabilities 3.例如算力8.7&#xff0c;关注以下几个值&#xff1a; warp size32&#xff1b; Maximum number of resident warps…

注意力机制新突破!21种创新融合思路汇总!让技术持续飞跃!

CV和注意力机制都是当下深度学习中不可或缺的技术&#xff0c;而【CV注意力机制】更是当前学术研究的热点领域之一&#xff0c;这种结合的方法可以使得注意力机制使模型能够捕捉到图像中的关键信息&#xff0c;从而提供更丰富的特征表示&#xff0c;这对于图像分类、目标检测和…

Centos7 调整分区大小

在安装完centos系统以后&#xff0c;系统的分区大小往往不是自己预期的大小&#xff0c;这个时候就需要我们自己手动来调整分区大小&#xff0c;在centos7 里面&#xff0c;手动调整分区大小的方法如下 1、查看目前分区的情况 从上面的查询结果我们可以看出&#xff0c;根目录…

护眼灯是不是智商税?带你轻松了解选择护眼台灯的标准

在当今时代&#xff0c;我们观察到一个不容忽视的现象&#xff1a;孩子们的视力问题日益增多&#xff0c;这无疑向众多家长发出了警示。它提醒着我们&#xff0c;除了追求学术成就之外&#xff0c;孩子们的视觉健康同样重要&#xff0c;不容忽视。因此&#xff0c;选择一款适合…

刷代码随想录有感(108):动态规划——目标和

题干&#xff1a; 代码&#xff1a; class Solution { public:int findTargetSumWays(vector<int>& nums, int target) {int sum 0;for(int i : nums) sum i;if(abs(target) > sum)return 0;if((sum target) % 2 ! 0)return 0;int bagweight (sum target) /…

qmt量化交易策略小白学习笔记第37期【qmt编程之指数数据--如何获取迅投商品市场指数行情数据】

qmt编程之获取商品市场指数数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 获取迅投商…

yolov8划线计数脚本-可用于统计人流车流

支持自定义线的位置&#xff1b; 支持使用自己训练的模型和检测类别&#xff1b; "YOLOv8划线计数脚本" 是一个基于YOLOv8&#xff08;You Only Look Once version 8&#xff09;对象检测模型的计算机视觉应用项目&#xff0c;主要用于实现人流和车流的自动统计。该…

【GD32F303红枫派使用手册】第十八节 USART-485通信实验

18.1 实验内容 通过本实验主要学习以下内容&#xff1a; 485工作原理 串口单线工作原理 18.2 实验原理 18.2.1 485工作原理 485一般指RS485。RS485名TIA-485-A, ANSI/TIA/EIA-485或TIA/EIA-485&#xff0c;是由电信业协会和电业联盟定义。RS485就是个硬件通信协议&#x…

Zabbix自定义监控JAVA进程

一.定义脚本 二 .ZABBIX得agent允许以root身份执行 三. Zabbix测试自定item是否成功 四.ZABBIX服务端web添加新得item项 五.查看最新数据&#xff0c;取值成功

Erlang程序设计[Part2 chapter5-chapter8]

两种数据容器&#xff1a;元组、列表 part 2 chapter5 记录与映射组 记录 记录其实就是元组的另一种形式。通过使用记录&#xff0c;可以给元组里的各个元素关联一个名称。 映射 映射组是键 值对的关联性集合。 通过记录命名元组里的项 记录的产生背景&#xff1a; 对于小型元…

反射的原理和操作

反射是框架设计的灵魂 &#xff08;使用的前提条件&#xff1a;必须先得到代表的字节码的Class&#xff0c;Class类用于表示.class文件&#xff08;字节码&#xff09;&#xff09; 在Java中&#xff0c;反射是指在运行时动态地获取、检查和操作类、对象、方法和属性的能力。J…