PID相关参数讲解:1、比例系数Kp与静态误差

news2024/10/7 18:28:38

 PID的结构与公式

Output = K_{p}*e(t) + K_{i}*\int e(t)d_{t} + K_{d}*\frac{de(t)}{d_{t}}

来研究静态误差的同学,应该是对PID的原理有一定理解了,简单的概念也不用过多重复。
比例控制时PID控制中最简单的一个,很多能用代码编写PID代码的同学,也不一定理解这个比例系数Kp的意义,以及比例控制的原理。

讲PID最好的道具还是那个可能会漏水的水缸


假设有这么一个水缸。

你要让那个水缸的水位维持在1米的高度,(这个1米就是设定的目标值Setpoint)。

刚开始的时候水缸水位是0.2米,(这个0.2米,可以认为是初始输入值或者反馈值Input)。

计算一下,1 - 0.2 =0.8米,这个0.8米就是误差error。

主角小明可以来灌水了,假设旁边有个水源可以取水,这个时候水缸还不漏水,当前只研究比例控制算法:

Output = K_{p}*e(t) =K_{p}*error

这个Output就表示每次要加的水的量。

这个K_{p}有的博文把它与取水的容器来类比,比如水杯、水瓢,水盆等,容积越大,K_{p}就越大,其实这不是很合适,K_{p}就是一个系数,最好不要跟什么容器扯上关系。可以在不同的K_{p}来看看水缸是怎么灌满的。

假设,勤劳的小明选择用一个水瓢来灌水,比例系数K_{p} = 0.5

第一次灌水:t1,要灌的水量Output = K_{p}*error = 0.5*0.8 = 0.4,水缸的水位从0.2上升到0.6米,显然还没有到1米的水位,还差0.4米,需要继续灌水。

第二次灌水:t2,要灌的水量Output = K_{p}*error = 0.5*0.4 = 0.2,水缸的水位从0.6上升到0.8米,显然还是没到一米的水位,还差0.2米,需要继续灌水;

第三次灌水:t3,要灌的水是0.1米,水缸的水位到0.9米了;

......

一直这么灌下去,水缸肯定能接近水满。

再假设,勤劳的小明选择用一个水瓢来灌水,比例系K_{p} = 0.7

第一次灌水:t1,要灌的水量Output = K_{p}*error = 0.7*0.8 = 0.56,水缸的水位从0.2上升到0.76米,显然还没有到1米的水位,还差0.24米,需要继续灌水。

第二次灌水:t2,要灌的水量Output = K_{p}*error = 0.7*0.24 = 0.168,水缸的水位从0.76上升到0.928米,显然还是没到一米的水位,还差0.072米,需要继续灌水;

第三次灌水:t3,要灌的水是0.0504米,水缸的水位到0.9504米了;

......

一直这么灌下去,水缸也肯定能接近水满。

如果K_{p} = 1,只要一次就灌满了。

就从这三个比例系数的例子可以看出,把K_{p}越大,水缸灌满的越快。

不管K_{p}是多少,水缸都灌满了,跟静态误差好像没有半点关系。是的,是一点关系都没有,主要是因为这个水缸好。如果是一个漏水的破缸,你看看能不能把水缸给灌满。

一口漏水的破缸

假设有个漏水的水缸,每次加水的过程中,它都会漏0.1米的高度;

小明还是以比例系数K_{p} = 0.5的比例来灌水

一直灌下去,当某次把水缸的水位灌到了0.8米,这个时候问题出现了

因为误差error = 1-0.8 = 0.2,比例系数K_{p} = 0.5

那么下次要灌的水量就是0.1米,刚好漏的水量也是0.1米,是不是巧了,这个水缸永远只能被灌到0.8米的水位,距离01米的水位差0.2米,这个0.2米就是稳态误差

有兴趣的小朋友可以去算下不同的比例系数区灌水,应该都会有一个稳态的误差。

在生活中,像水缸漏水系统有很多,温度控制系统中,物体本身就会散热,这个散热就相当于“漏水”了;汽车运动过程中,有风阻和路阻,这也相当于“漏水”。所以单独的比例控制还是不能满足复杂的系统的。

稳态误差怎么消除,那就是下一章要聊的积分控制。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++进阶—多态

目录 0. 前言 1. 多态的概念 1.1 概念 2. 多态的定义及实现 2.1多态的构成条件 2.2 虚函数 2.3虚函数的重写 2.4 C11 override 和 final 3. 抽象类 3.1 概念 3.2 接口继承和实现继承 4.多态的原理 4.1虚函数表 4.2 变态选择题分析多态调用 4.3 多态的原理 4.4 动…

透过小说中的境界划分,看看你的能力处于哪个水平

文章目录 1. 写在前面2. 散修3. 练气期4. 筑基期5. 结丹期6. 元婴期7. 化神期8. 练虚期 1. 写在前面 当我们某天开始走出校园,踏入社会的时候,是否也会感到一丝恐惧与焦虑?当我们各自奔走加入到江湖大大小小的门派中,为了企业与老…

EL标签-给JSP减负

https://blog.csdn.net/weixin_42259823/article/details/85945149 安装使用 1. 通过命令行创建maven项目 2. 安装jstl包 <dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version> </depen…

仙境传说RO:服务器外网架设登陆教程

仙境传说RO&#xff1a;服务器外网架设登陆教程 大家好我是艾西&#xff0c;今天跟大家说一下自己编译的仙境传说RO服务端怎么开启外网让小伙伴和你一起玩。 目前开放的现成端有以下版本&#xff1a; 仙境传说ro守护永恒的爱 仙境传说ro爱如初见 仙境传说ro黑色派对 仙境…

docker-compose把微服务部署到centos7

前言 这里主要记录以下微服务使用docker、docker-compose部署遇到的一些问题&#xff0c;大佬可以绕道去看看自动化集成这篇文章 部署之前你需要准备一些内容 微服务 这里feign-api是用来做服务之间相互调用的&#xff0c;单独抽离成了一个模块&#xff0c;gateway是服务网关&…

中国电子学会2023年05月份青少年软件编程C++等级考试试卷三级真题(含答案)

1.找和为K的两个元素 在一个长度为n(n < 1000)的整数序列中&#xff0c;判断是否存在某两个元素之和为k。 【输入】 第一行输入序列的长度n和k&#xff0c;用空格分开。 第二行输入序列中的n个整数&#xff0c;用空格分开。 【输出】 如果存在某两个元素的和为k&#xff0c…

CentOs中文件权限命令

文件权限&#xff1a; ls -l命令查看文件详情&#xff0c;前十位就是文件的类型和权限 第一位&#xff1a;类型&#xff1a; - 普通文件 d 目录 l 链接文件&#xff08;快捷方式&#xff09;link 2~4位&#xff1a;所有者的权限 5~7位&#xff1a;所有者所在组其它用户的权限 …

AI绘图-StableDiffusion安装

AI绘图-StableDiffusion安装 安装Python 1、去官网 https://www.python.org/downloads/ 下载Python3.10.10版本&#xff0c;网上建议下载3.10.6版本。 2、安装Python,打开安装界面&#xff0c;注意把Add Python to PATH选项勾上&#xff0c;然后选择自定义安装 3、点击WinR…

【数据结构与算法】2、链表(简单模拟 Java 中的 LinkedList 集合,反转链表面试题)

目录 一、链表基本概念和基本代码实现二、链表、动态数组整合&#xff08;面向接口编程&#xff09;三、clear()四、add(int index, E element)(1) 找到 index 位置的节点(2) get(int index) 和 set(int index, E element)(3) add(int index, E element) 五、remove(int index)…

基于Java+Swing+Socket实现中国象棋-网络版

基于JavaSwingSocket实现中国象棋-网络版 一、系统介绍二、功能展示1.系统登陆2.选择黑色方进行对局3.整体页面4、保存棋谱5、认输 三、其他系统四、获取源码 前言 中国象棋是起源于中国的一种棋&#xff0c;属于二人对抗性游戏的一种&#xff0c;在中国有着悠久的历史。由于用…

员工管理业务开发 -- 手把手教你做ssm+springboot入门后端项目黑马程序员瑞吉外卖(三)

文章目录 前言六、员工管理业务开发1.开发功能预览2.新增员工功能1&#xff09;需求分析2&#xff09;数据模型&#xff08;表&#xff09;3&#xff09;代码开发4&#xff09;功能测试5&#xff09;编写全局异常处理器 3.员工信息分页查询1&#xff09;需求分析2&#xff09;代…

VS Code的下载安装,及其简单使用

目录 前言 一.下载 二.安装 三.VS Code的插件安装 &#x1f496;插件正常安装 &#x1f496;插件安装异常 四.VS Code的配置 五.VS Code的基本使用 总结 &#x1f381;个人主页&#xff1a;tq02的博客_CSDN博客-C语言,Java领域博主 &#x1f3a5; 本文由 tq02 原创&#…

Redis 分布式锁实现

Redis 分布式锁 分布式锁&#xff1a;满足分布式系统或集群模式下多进程可见并且互斥的锁 特点&#xff1a; 多线程可见互斥高可用高性能&#xff08;高并发&#xff09;安全性、可重入性、重试机制、锁超时自动续期等 … 加锁之后&#xff0c;对整个分布式集群都有效 基于…

多线程之常用线程安全类型分析

写在前面 本文一起看下在日常工作中我们经常用到的线程安全的数据类型&#xff0c;以及一些经验总结。 1&#xff1a;常用线程安全数据类型 1.1&#xff1a;jdk集合数据类型 jdk的集合数据类型分为两类&#xff0c;一种是线性数据结构&#xff0c;另外一种是字典结构&#…

【系统架构】第五章-软件工程基础知识(一)

软考-系统架构设计师知识点提炼-系统架构设计师教程&#xff08;第2版&#xff09; 软件工程 一、软件过程模型 1、瀑布模型 特点&#xff1a;前一个阶段工作的输出结果&#xff0c;是后一个阶段工作的输入 缺点&#xff1a; 软件需求的完整性、正确性等很难确定&#xff0c…

人力资源外包系统(社会实践管理系统)需求分析文档

该系统主要针对当前在校大学生、中专院校学生寒、暑假社会实践而设计的管理系统&#xff1b; 主要用户群为人力资源外包公司&#xff0c;也可以是各个学校管理学生使用&#xff1b; 主要功能有维护企业信息&#xff0c;招工信息&#xff0c;企业宣传资料&#xff1b;维护学校…

基于JavaSpringBoot+uniapp制作一个记账小程序

你不理财,财不理你,制作一个记账小程序对自己的收入/支出明细进行管理,守护好自己的钱袋子。 一、小程序1.1 项目创建1.2 首页1.3 收支报表页1.4 记账提交页1.5 记账列表页

NCI Core Framework

3.1 概述 NCI 核心包括以下必需的功能&#xff1a;  通过 NCI 传输命令、响应、通知和数据消息的数据包格式。  用于设备主机和 NFC 控制器之间不同操作&#xff08;第 4 节中指定&#xff09;的命令、响应和通知的定义。 &#xff08;本规范后面的一些部分定义了不属于…

一起学SF框架系列4.7-模块context-MessageResource

Spring通过MessageSource接口提供了国际化&#xff08;“i18n”&#xff09;功能。搞明白MessageResource相关接口和类&#xff0c;基本就掌握了国际化功能。 MessageSource接口 定义了消息访问接口。 String getMessage&#xff08;String code&#xff0c;Object[]args&…

全网唯一!Matlab原神配色包MGenshin

前段时间&#xff0c;在原神官网逛了一圈&#xff0c;发现里面角色的原画配色十分的好看&#xff0c;便突发奇想&#xff1a;要是把原神配色用在SCI论文插图上&#xff0c;emmmmm…… 于是&#xff0c;我默默打开了自己的Matlab&#xff0c;用TheColor工具箱的图片主题色提取功…