当前位置: 首页 > news >正文

深圳福田做网站公司哪家好顾氏网站建设有限公司怎么样

深圳福田做网站公司哪家好,顾氏网站建设有限公司怎么样,抖音代运营公司加盟,怎么看网站的建设时间PID 控制算法概念 在我们的生活中可能大家都没有听说过 PID 控制算法,但它可以说是无处不在,小到空调的温度控制、无人机的精准悬停、机器人运作系统,大到飞机和火箭的飞行姿态控制都有 PID 的身影。 PID 控制算法,即比例 - 积分…

PID 控制算法概念

在我们的生活中可能大家都没有听说过 PID 控制算法,但它可以说是无处不在,小到空调的温度控制、无人机的精准悬停、机器人运作系统,大到飞机和火箭的飞行姿态控制都有 PID 的身影。

PID 控制算法,即比例 - 积分 - 微分(Proportional-Integral-Derivative)控制算法,是一种广泛应用于各种自动控制系统中的反馈控制算法。PID 控制器通过计算控制误差的三种成分 —— 比例(P)、积分(I)和微分(D)来调节系统输出,使得系统的输出达到目标值。

PID 控制算法的运行步骤

1 比例控制(P 部分)

这是 PID 中的最简单基本比例控制算法。这个环节产生的分力是: f p = k p × e ( t ) f_p=k_p\times e(t) fp=kp×e(t) 我们就拿水桶倒水来介绍 PID 控制算法。设水位目标高度为 1 1 1,当前水位为 0.2 0.2 0.2 米,那么当前时刻的水位和目标水位之间是存在一个误差的 e ( t ) e(t) e(t),且 e ( t ) = 10 − 2 = 8 e(t)=10-2=8 e(t)=102=8 米。如果单纯的用比例控制算法,就是指加入的水位 f p f_p fp 和误差 e ( t ) e(t) e(t) 是成正比的。假设 k p kp kp 0.5 0.5 0.5
那么 t = 1 t=1 t=1 时(表示第 1 1 1 次加水,也就是第 1 1 1 次对系统施加控制),那么 f p = 0.5 × 0.8 = 0.4 f_p=0.5\times 0.8=0.4 fp=0.5×0.8=0.4,所以这一次加入的水量会使水位在 0.2 0.2 0.2 的基础上上升 0.4 0.4 0.4,达到 0.6 0.6 0.6。接着, t = 2 t=2 t=2 时(第 2 2 2 次施加控制),当前水位是 0.6 0.6 0.6,所以 e ( t ) e(t) e(t) 0.4 0.4 0.4 f p = 0.5 × 0.4 = 0.2 f_p=0.5\times 0.4=0.2 fp=0.5×0.4=0.2,会使水位再次上升 0.2 0.2 0.2,达到 0.8 0.8 0.8。如此这么循环下去,就是比例控制算法的运行方法。可以看到,最终水位会达到我们需要的 1 1 1 米。

2 微分控制(D 部分)

从上面我们可以看出来在不断加水的过程中是会产生震荡的,那想要阻止震荡就只能用微分控制了。微分环节也会计算出一个分力,计算方法是: f d = k d × d e ( t ) d t f_d=k_d\times\frac{\mathrm{d}e(t)}{{\rm d}t} fd=kd×dtde(t) 也就是说,这个分力与误差的变化速度有关。假设目标位置不变,水位向上运动时误差减小,即误差变化速度为负,分力向下;反之当水位向下运动时分力向上;综合看来,微分环节产生的分力始终阻碍水位的运动。

因此如果在刚刚的基础上加入微分产生的分力,就会产生一个阻尼效果,水位会仿佛始终受到一个阻力,因此上下摆动的幅度会逐渐减小,最终收敛到目标位置上。

3 积分控制(I 部分)

但现在,我们更希望在水位有一些外部干扰时也能实现上面的效果,比如我们在水桶上有一个洞,这样就要使用积分控制了,它的计算方法是: f i = k i × ∫ e ( t ) d t f_i=k_i\times \int_{}^{} e(t)\, {\rm d}t fi=ki×e(t)dt 也就是说积分环节产生的分力正比于误差的积分,当误差持续存在时,这个分力会逐渐变大,试图消除误差。

加入积分作用,我们的 PID 就能完美实现在有恒力干扰的情况下对水位的控制了

公式

经上面分析可得知: u ( t ) = k p × e ( t ) + k d × d e ( t ) d t + k i × ∫ e ( t ) d t u(t)=k_p\times e(t)+k_d\times\frac{\mathrm{d}e(t)}{{\rm d}t}+k_i\times \int_{}^{} e(t)\, {\rm d}t u(t)=kp×e(t)+kd×dtde(t)+ki×e(t)dt

PID 控制算法代码实现

#include<bits/stdc++.h>
using namespace std;
double tl=0.0;	//目标追踪位置
double nl=0.0;	//目标当前位置
float kp,ki,kd;
int main(){double ep=0;		//kp误差double ei=0;		//ki误差double ed=0;		//kd误差double edp=0;	//表示e(k-1),上一次的kp误差,用于计算kd误差cout<<"请输入目标追踪值"<<endl;cin>>tl;cout<<"请输入kp"<<endl;cin>>kp;cout<<"请输入ki"<<endl;cin>>ki;cout<<"请输入kd"<<endl;cin>>kd;edp=tl-nl;//整个系统第一次计算kd时、 e(k)-e(k-1)。 while(nl!=tl){ep=tl-nl;ei+=ep;ed=ep-edp;edp=ep;nl+=kp*ep+ki*ei+kd*ed;cout<<"当前位置为:"<<nl<<"当前的误差为"<<tl-nl<<endl;}
}
http://www.yayakq.cn/news/214603/

相关文章:

  • 开网站供免费下载oa系统哪个品牌好
  • 百度搜索网站打开错误深圳互联时空网站优化怎么样
  • 自主建站平台wordpress 小程序主题
  • 广东电商网站建设专注小程序定制开发
  • wordpress反馈插件某个网站seo分析实例
  • 江苏省建设工程八大员考试网站烟台牟平住房建设局网站
  • 自己办网站html5开发网站
  • 做曖网站辛集手机网站建设
  • 网站构建的过程的网站
  • 广州站停运最新消息重庆网站seo技术
  • 江苏恒健建设集团有限公司网站wap软件
  • 建设好网站能赚到钱吗?wordpress实现文章阅读次数
  • 天津住房与城乡建设部网站网站建设推广入什么费用
  • 做网站图片怎么做长沙市住房与城乡建设厅网站
  • 手机 网站 系统私人网站免费观看
  • 石家庄做网站哪家公司好云南省火电建设公司网站
  • 沈阳家用电梯公司网站制作网站开发公司怎么查询
  • 手机响应式网站开发手机端网站首页怎么做
  • 搭建网站复杂吗网站前端工程师
  • 免费网站提供查企业信息查询平台
  • wordpress 标题长度宁波seo推广定制平台
  • 站长网站素材大连网站排名优化价格
  • 网站建设的完整流程包括哪些视频剪辑软件
  • 阿里云服务器可以做商业网站个人博客主页登录
  • 肇庆做网站的有如何加盟网站建设
  • 上海普陀网站建设wordpress滑动注册
  • 教育类网站前置审批设计师网络用语
  • 烟台市芝罘区建设局网站做app和网站怎样
  • 网站开发企业官网合肥网站建设 合肥网络推广
  • 做模板网站的公司wordpress阅读量随机生成