PID控制原理

2023-09-19 11:29:57

一.概述

开环控制: 没有反馈

闭环控制:有反馈调节的控制

PID控制环节由比例,积分,微分 调节 三个环节构成,三个环节在控制过程中相互配合,共同对输入输出间的误差进行调控,最终满足控制要求 ,如下图所示

Pid控制完整图示

二、各部分说明

1. Proportion(比例控制)

比例控制就是好每次调节的高度是误差的Kp倍.

说明::err是误差,h是期望高度,hn是反馈高度(当前高度,观测到的).假设Kp=0.5

用无人机的高度控制来说明,让无人机期望悬停在10m的高度,而此时无人机的高度为2m

第一次误差:err = h - h0 = 8m

第二次调节: Kp * err = 4

第一次调节高度为4m,此时无人机上升到h1 = 6m

第二次误差:err = h - h1 = 4m

第二次调节: Kp * err = 2

第一次调节高度为4m,此时无人机上升到h2 = 8m

依次进行下去,随着随着误差的减小,每次上升的量也逐渐减小,但最终会接近10s的目标高度.整个过程就是比例控制.

1.1 效果

比例系数Kp越大, 系统反应越快,可以更快的接近期望目标

1.2 弱点

存在干扰时候可能永远到达不了目标.如无人机上升过程中存在风力或其他干扰因素使得无人机每次下讲1m,而此时若无人机在8m的高度,比例控制调节的1m(Kp * err = 0.5 * (10 - 2) )会被干扰因素抵消掉,无人机会在8m的高度保持一个被其他因素抵消掉而导致的平衡状态,导致其永远到达不了期望值(例子中的10m高度). 这就是静态误差,也叫稳态误差. 而Kp的调节避免不了稳态误差.

为了消除稳态误差,引入积分控制.

2. Integration(积分控制)

积分控制是对过去所有的误差求和

Kp * err + Ki * ∫ err

无人机经过两次控制,第一次误差是8 ,第二次误差是4,第二次后它的累积误差就是8 + 4 = 12m, 取Ki = 0.1

此时即时向下吹的风和比例控制上升的效果抵消.积分控制还是可以让无人机上升1.2m,这样还是可以逐渐到达目标高度.

2.1 效能

对于阶跃效应,加入合适的积分控制系数后,被控量可以快速精准的到达期望值.

2.2 不足

曲线不完美,超调量太大

·如果这个超调是自动驾驶方向盘的调节,如此大的过冲容易让乘客惊心动魄.需要微分控制出场了

3.Differential(微分控制)

微分控制是通过当前时刻与上一时刻误差量的差值,对未来做预测.

Kp * err + Ki * ∫ err + Kd * Δerr

如果差值为正,认为误差逐渐变大,需要加大控制强度,使得误差降下来;反正让控制强度小一些,使目标平稳缓和的到达期望值.

噪声可能引起发散导致 震荡

尤其噪声大的时候,而且一般d参数会比较小

加入后系统超调量得到有效控制,最终得到期望控制曲线.

更多推荐

GPT4RoI: Instruction Tuning Large Language Model on Region-of-Interest

在图像-文本对上调整大语言模型(LLM)的指令已经实现了前所未有的视觉-语言多模态能力。然而,他们的视觉语言对齐仅建立在图像级别上,缺乏区域级别对齐限制了他​​们在细粒度多模态理解方面的进步。在本文中,我们提出对感兴趣区域进行指令调整。关键设计是将边界框重新表述为空间指令的格式。将空间指令和语言嵌入提取的视觉特征的交错

计算机网络基础知识(非常详细)

1.网络模型1.1OSI七层参考模型七层模型,亦称OSI(OpenSystemInterconnection)参考模型,即开放式系统互联,是网络通信的标准模型。一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。物理层:负责传输原始的比特流,数模转换、模数转

Postman应用——Collection、Folder和Request

文章目录Collection新建CollectionCollection重命名保存Request到Collection在Collection下创建Request删除CollectionFolder新建FolderFolder重命名保存Request到Folder在Folder下创建Request在Folder下创建Fo

MySQL数据库详解 一:安装MySQL数据库及基本管理

文章目录1.数据库的基本概念1.1数据库的组成1.1.1数据1.1.2表1.1.3数据库1.2当前主流数据库及其特点1.3数据库类型1.3.1关系数据库1.3.1.1关系数据库的组成1.3.1.2非关系数据库2.安装MySQL2.1yum安装2.2编译安装MySQL2.2.1前置准备2.2.2编译安装2.2.3修改my

成集云 | 用友U8集成聚水潭ERP(用友U8主管供应链)| 解决方案

源系统成集云目标系统方案介绍用友U8是一套企业级的解决方案,可满足不同的制造、商务模式下,不同运营模式下的企业经营管理。它全面集成了财务、生产制造及供应链的成熟应用,并延伸客户管理至客户关系管理(CRM),以及零售、分销领域实现了全面整合。聚水潭是一款以SaaSERP为核心,集多种商家服务为一体的SaaS协同平台,为全

Flink-CDC 抽取SQLServer问题总结

Flink-CDC抽取SQLServer问题总结背景flink-cdc抽取数据到kafka中,使用flink-sql进行开发,相关问题总结flink-cdc配置SQLServercdc参数1.创建CDC使用的角色,并授权给其查询待采集数据数据库--a.创建角色createroleflink_role;--b.授权给角色

保证接口幂等性

什么是幂等性幂等性是系统服务对外一种承诺,承诺只要调用接口成功,外部多次调用对系统的影响是一致的。声明为幂等的服务会认为外部调用失败是常态,并且失败之后必然会有重试。什么情况下需要幂等以SQL为例:SELECTcol1FROMtab1WHERcol2=2,无论执行多少次都不会改变状态,是天然的幂等。UPDATEtab1

什么是 BSD 协议?

BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类

【Redis】使用rpm包安装redis

背景说明公司环境处于内网,某同事需要安装redis,如果使用通过源码编译安装redis,很多编译工具如gcc就需要先安装,但处于内网安装起来不太方便,当然也不是不可以。我们此处就选用通过redis的rpm包进行安装。rpm包查找及下载找一台可以上互联网的干净服务器(干净的目的是防止以前有些包安装过,就不会再下载),最好

MFC-GetAdaptersAddresses获取网卡信息

需要:#pragmacomment(lib,"IPHLPAPI.lib")GetAdaptersAddresses函数参数说明ULONGbufferSize=0;ULONGresult=::GetAdaptersAddresses(AF_UNSPEC,GAA_FLAG_INCLUDE_PREFIX,nullptr,nu

以php为后端,vue为前端的租房微信小程序

租房微信小程序是一个非常有用的应用,它不仅可以帮助人们快速找到心仪的房屋,还可以提供便捷的房屋租赁服务。本文将介绍如何使用PHP作为后端语言和Vue作为前端框架来开发一个租房微信小程序。环境搭建首先,需要在本地或云上安装并配置PHP和Vue环境。可以使用XAMPP、WAMP、MAMP等集成的开发环境,也可以手动安装和配

热文推荐