Pid引入
水管水龙头和工人,水龙头扭大,流量大,小,流量小。
工人用来控制水龙头,1.让流量保持稳定2.改变流量
需要1l/s,当前0.9升,工人加大流量,控制流量稳定和改变流量
一个系统中需要一个工人来控制,工人根据实时流量反馈到眼睛,眼睛给大脑,大脑觉得流量过大或过小,自己调节
Pid用来代替工人工作,pid检查当前流量值并通过判断,调节阀门。
适用二阶以内线性系统
齐次性2.叠加性
正比例,一阶线性其次微分,二阶线性其次微分
宏观上rl电路 rlc电路
基础知识
一个系统有输入和输出
开环控制系统:期望输出(x)-》控制器(pid,根据输入,执行一个运算,给到执行器uc控制信号)-》执行器(执行器通过uc控制信号做出反应)产生ua-》对象,对象根据ua,对象根据ua输出y(流量举例,期望流量为x,人知道输入,为控制器,做出运算,uc为扭一圈,执行器为阀门,根据uc得到ua(对象为阀门大小),最后流量变化)
缺点,不会进行第二次调节,无反馈
原有理想状态下添加干扰,为了补偿干扰,在干扰前面添加干扰测量器,通过测量器,控制器计算出需要补偿干扰多少p:前馈控制系统
比开环输出多了个闭环,实际输出会反馈到期望输出(举例流量,)e是偏差,做差处理
双闭环,多了个主对象,副对象给传感器一个输入,主对象也是
(人脑是控制器做出运算,执行器是水阀控制流量,福对象是管道,输出水流量,水流量给水箱作用,水箱输出水位,人眼为传感器)
期望水位为1,与实际水位做差得e1,给人脑做出运算,控制阀门加大还是减少,控制器输出和流量变化相减,再给人脑做运算,最终决定阀门加大还是减少,阀门加大后给副对象,执行器加大,副对象增大主对象随之增大,
内环中,流量在里面是随动的,在一个稳定范围内,加大对水位控制,如果无内环,对水管的干扰对控制不友好,用内环让流量相对稳定
内环中将干扰传递来抵消干扰
误差:期望输出减去实际输出
输出:e
执行器输出:口变化
系统输出y
连续离散信号(用离散的数字信号模拟模拟信号,pwm)
一个时间间隔内信号不变
c为控制器输出uc,e为误差,p,ti,td为我们调的参数
连续变离散,对应变化,3个参数就是我们要调的pid
ei当前误差,误差累加,误差变化值
形象解释
对小车进行控制系统建模(用单闭环)
电机产生运动作用到小车,小车呈现速度或者位置,小车把位置或者速度给到输入,我们设置参数,输入设置为期望位置,输出为实际
Pid可以只用p,pi或pd,p设置为0.1,进行运算,开始误差为100,计算10给电机执行,输出10m/s的速度,作用到小车,输出位置,不断反馈作用
调整p,曲线变化,p可以控制系统到达时间和速度
100转浮空,当p<1时候,无人机不动,故要大于1,若p=2,会发现在50米时候p不动,p在100,悬停在99米,只靠p无法到达100m,引入i
稳态误差,稳定时候的误差,用i来弥补
P为比例,i为积分,d为微分
问题误差为1,i为过往误差累加,产生新的升力,离散情况下达到理想误差
当到达100时候,p失去作用,i作用不受当前影响,过往累加,不在积累,保持定值。
飞机转速过快,导致飞过头,所以引入i微分项,来控制飞机。
i对误差进行求导,过头,误差为负数,求导,导数为负值,给出负的信号,来抵消p和i
Pid参数整定(kp,ki,kd)
单个p无法到达期望位置,引入ki项,ki引入减少误差,小,消除误差效果不太好,大的话效果好,可以快速响应
Kd减少系统震荡作用,不能太大,太大影响调节时间
先慢慢给kp,直到曲线贴合目标值,加入i项也是从小到大,出现比较贴合目标值,然后要求时间,在把ki给大点,再加入kd,调完。一般用pi,d只用于震荡明显情况下
其余相关控制知识
积分限幅如果有人按着飞机,飞机无法起飞,p不变,i不断增大,突然放手,p和i加起来很大,由于积分项的不断积累,飞的很高,且飞不下来,对积分限幅
积分分离
达到目标值,p无贡献,用i悬停,一开始若误差较大,i值大导致系统震荡过猛,限制,设置阀值,当i大于阀值,让他为0;通过p条件让他到大
微分先行
先把传感器数据给d项,突变时候影响先给到pi,不会影响d