查看:
1651
|
回复:
0
|
PID算法在多旋翼飞行器上的应用
|
|
发表于2018-10-30 23:00:07
|
显示全部楼层
1#
电梯直达
一、基本概念。 P比例I积分D微分PID控制目的在于对误差的降低,也可以说是滤波,还可以说是3种纠正方式的集合。 误差包括过去累计误差、目前误差和未来的误差。也就是时间的作用域的不同来区分的。 响应指标: 1、 对误差的反应速度。(PI实现) 2、 控制器过冲的速度。(过冲:第一次超过峰值电压)(PD实现) 3、 系统振荡的程度。(PD实现)
如何通过PID控制来降低误差呢?分以下几个步骤。 1、 通过各种传感器搜集到的输入数据(有误差的值)。 2、 控制器做出决定(滤波)。 纠正误差的3种算法(滤波) 1、 消除当前误差。 2、 平均历史误差。 3、 预测未来误差。 3、 通过输出设备来做出反应(消除误差后)。
注意:以上的滤波操作是通过PID调参实现的。
二、公式
注:如果控制系统的参数设置不当,就会控制系统的输入值就会反复振荡,导致系统可能无法达到预定值。 从上面的公式,Kp、Ki和Kd分别是三种算法的系数,我们可以看出PID算法的比例和微分部分是与时间t相关的,而积分变量是从0到t的时间,也就是t时间内的e函数的积分面积。
三、控制部分 1、比例控制器(现在误差):比例增益越大,在相同误差量下会有较大的输出,比例增益越小,同理相反。 实现方式:稳态误差+偏移量 稳态误差和比例增益成正比,和受控系统本身的增益成反比,若加入一个偏置,或加入积分控制,可以消除稳态误差,因为稳态误差是由时间造成的,正好积分控制可以通过求出平均误差来弥补这个缺点。 2、积分控制器(过去误差):求得平均误差,所以积分增益多为小数,以求平均值。 积分增益越大,趋近设定值的速度越快,不过因为积分控制会累计过去的所有误差, 可能会使反馈值出现过冲的情形。 3、 微分控制器(将来误差):导数的结果越大,那么控制系统就越能对输出结果做出更快速的反应。可以提升整定时间及系统稳定性,一般会为微分控制加上一个低通滤波器以限制高频增益和噪声。微分环节对噪声信号将产生放大作用。很少用到微分控制(20%) 注:低通滤波(Low-pass filter) 是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。但是阻隔、减弱的幅度则会依据不同的频率以及不同的滤波程序(目的)而改变。 四、PID在多旋翼飞行器中的应用 1、P控制多轴飞行器对角度变化的响应速度和力度,它产生一个目标位置跟当前位置的角度偏差大小成正比的矫正力量。P产生的控制是I和D的控制基础。P值越大,矫正力量越大,校准速度越快。在较大的P值作用下,任何外部偏转飞行器的企图,都会产生一个非常强的阻挡力量。 增加P值,飞行器的稳定性会更好,但P值过高,飞行器会失去控制,产生高频抖动,飞行器发生漂移。 2、I控制根据现在角度偏移的数值的累积,可以提供较大的矫正力量。随着时间或角度偏差越大,这个矫正力量就会随之变大,可消除误差提高精度,以防角度变得太大。 3、D抑制P和I调节时产生的过冲和振荡,也可以抵抗外界的突发干扰,组织系统的突变。 增加D值能降低多轴飞行器的角度快速变化,抑制飞行器过冲和振荡。减少D值,能提高多轴飞行器对角度快速变化的响应速度。 |
|