PID控制方法及装置与流程

文档序号:12661231阅读:493来源:国知局
PID控制方法及装置与流程

本发明实施例涉及PID技术领域,尤其涉及一种PID控制方法及装置。



背景技术:

在控制系统的各种方法中,PID(proportion-integral-derivative,比例-积分-微分控制器)控制方法具有结构简单、易于实现的优点。PID控制最初被应用于过程控制,随着电子技术的发展,PID控制逐步进入计算机控制领域,其中就包含飞行控制计算机中的导航控制回路。

常规PID控制方法如下:

其中,u(k)为输出控制变量值,KP为比例增益,e(k)为被控变量值和预设期望值的误差值,Ki为积分增益,Kd为微分增益,Δt为控制周期。

式中,积分调节与系统的稳态精度密切相关,加入积分能够消除系统的稳态误差,提高系统的跟踪精度。然而,积分项的加入会在一定程度上导致系统的响应发生滞后,不利于系统的响应品质。



技术实现要素:

本发明实施例提供一种PID控制方法及装置,能够兼顾系统的跟踪速度和响应品质。

第一方面,本发明实施例提供了一种PID控制方法,包括:

在控制周期内获取受控设备的被控变量值,并计算所述被控变量值与对应的预设期望值的误差值;

计算当前控制周期对应的第一误差值与上一控制周期对应的第二误差值的差值,得到目标差值;

当所述目标差值和所述第一误差值满足预设条件时,根据所述第一误差值的变化率确定PID控制公式中的对应所述当前控制周期的积分项,得到目标PID控制公式;

根据所述目标PID控制公式计算输出控制变量值,并根据所得输出控制变量值对所述受控设备进行相应的控制。

进一步的,所述预设条件包括:

所述目标差值小于0且所述第一误差值大于或等于预设变化值。

进一步的,所述预设变化值为控制周期与预设最大变化率的乘积。

进一步的,根据所述第一误差值的变化率确定PID控制公式中的积分项,包括:

根据如下公式确定PID控制公式中的积分项:

其中,I(k)为当前控制周期对应的积分项;

e(k)为当前控制周期对应的第一误差值;

Δt为控制周期;

I(k-1)为上一控制周期对应的积分项;

为预设最大变化率。

进一步的,所述目标PID控制公式为:

u(k)=KPe(k)+I(k)+Kd[e(k)-e(k-1)]

其中,u(k)为输出控制变量值;

KP为比例增益;

Kd为微分增益。

进一步的,当所述目标差值或所述第一误差值不满足预设条件时,根据常规PID控制公式计算输出控制变量值,并根据所得输出控制变量值对所述受控设备进行相应的控制。

进一步的,所述受控设备包括无人机或无人驾驶汽车。

第二方面,本发明实施例还提供了一种PID控制装置,包括:

误差值计算模块,用于在控制周期内获取受控设备的被控变量值,并计算所述被控变量值与对应的预设期望值的误差值;

目标差值计算模块,用于计算当前控制周期对应的第一误差值与上一控制周期对应的第二误差值的差值,得到目标差值;

目标PID控制公式获取模块,用于当所述目标差值和所述第一误差值满足预设条件时,根据所述第一误差值的变化率确定PID控制公式中的对应所述当前控制周期的积分项,得到目标PID控制公式;

控制模块,用于根据所述目标PID控制公式计算输出控制变量值,并根据所得输出控制变量值对所述受控设备进行相应的控制。

进一步的,所述目标差值小于且所述第一误差值大于或等于预设变化值。

进一步的,所述预设变化值为控制周期与预设最大变化率的乘积。

本发明实施例提供了一种PID控制方法及装置,通过计算第一误差值与目标差值,当目标差值和第一误差值同时满足预设条件时,根据第一误差值的变化率确定PID控制公式中的对应当前控制周期的积分项,得到目标PID控制公式,再根据目标PID控制公式计算输出控制变量值,并根据所得输出控制变量值对受控设备进行相应的控制,在现有PID控制公式的基础上,对积分项进行了改进,实现了能够同时兼顾系统的跟踪速度与响应品质的有益效果。

附图说明

图1A是本发明实施例一中的一种PID控制方法的流程图;

图1B是本发明实施例一中的一种无人机PID控制方法的流程图;

图1C是一种基于常规PID控制方法得到下一控制周期的速率误差示意图;

图1D是本发明实施例提供的PID控制方法得到下一控制周期的速率误差示意图;

图2是本发明实施例二中的一种PID控制装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1A为本发明实施例一提供的一种PID控制方法的流程图,本实施例可适用于各种需要PID控制方法的情况,该方法可以由本发明实施例提供的PID控制装置来执行,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供PID控制功能的设备中,例如可以是电脑或者受控设备。如图1A所示,具体包括:

S110、在控制周期内获取受控设备的被控变量值,并计算所述被控变量值与对应的预设期望值的误差值。

其中,控制周期可以为人为设定的任意值,控制周期的取值越小,对受控设备运行状态的控制越精确;受控设备为基于PID控制方法而运行的设备,如无人机、无人驾驶汽车、机器人以及各种基于误差测量来修正的生产设备等;被控变量可包括受控设备的运行状态参数,相应的,被控变量值可包括受控设备的运行状态参数对应的取值;预设期望值可以为人为设定的受控设备的预期运行状态参数对应的取值。在控制周期内获取受控设备的被控变量值可以是在控制周期初始或者控制周期中任意时刻获取的运行状态参数对应的取值,也可以是在控制周期中进行多次取值后取的均值。需要说明是,由于受控设备在运行过程中有多个控制周期,因此需要实时监测每个控制周期中的运行状态参数,以保证受控设备状态不偏离预设的运动状态等。因为PID控制方法只与被控变量值与预设期望值的误差值有关,所以在获取不同控制周期中的受控设备的被控变量值时,可以在不同控制周期中的同一时刻取值,也可以在不同控制周期中的不同时刻取值。

优选的,在本实施例中,所述受控设备包括无人机或无人驾驶汽车。

例如,当受控设备为无人机时,PID控制方法可以用于控制无人机的导航控制回路。相对应的,在无人机的导航控制回路中,被控变量可包括无人机飞行的运行状态参数,例如姿态角、姿态角速率、速度、加速度以及位置中的至少一种。再例如,选取无人机在控制周期内的速度作为被控变量,其中,无人机飞行时的速度取值可以由速度传感器和惯性传感器实时监测。将获取的速度值与速度的预设期望值进行对比,得到速度误差值。或例如,选取无人机在控制周期内的姿态角度值作为被控变量,姿态角度值可以由陀螺仪实时监测,将获取的姿态角度值与姿态角度值的预设期望值进行对比,得到姿态角度误差值。

需要说明的是,当受控设备为无人驾驶汽车时,PID控制方法同样可以获取无人驾驶汽车时的运行状态参数,根据预设期望值计算误差值。其中,当受控设备为无人驾驶汽车时,被控变量可包括速度、加速度、转向角以及转向角速度等中的至少一种。

S120、计算当前控制周期对应的第一误差值与上一控制周期对应的第二误差值的差值,得到目标差值。

具体的,目标差值的计算为相邻两个周期的误差值之差。根据目标差值的大小,可以获知受控设备在当前控制周期对应的第一误差值是否小于上一控制周期对应的第二误差值,从而判断当前受控设备的被控变量值与预设期望值的误差是否有减少趋势。当当前受控设备的被控变量值与预设期望值的误差具有减少趋势时,则可判断当前控制周期的第一误差值较小,那么控制该误差在一定范围内不再增加即可;当当前受控设备的被控变量值与预设期望值的误差没有减少趋势时,则可以在原来的控制变量值基础上增加幅度较大的控制变量值,以确保系统快速响应,减少误差。

需要说明的是,当前控制周期对应的第一误差值与上一控制周期对应的第二误差值之间的差值优选为绝对值的差值,即目标差值可以为当前控制周期对应的第一误差值的绝对值与上一控制周期对应的第二误差值绝对值之间的差值。

S130、当所述目标差值和所述第一误差值满足预设条件时,根据所述第一误差值的变化率确定PID控制公式中的对应所述当前控制周期的积分项,得到目标PID控制公式。

具体的,PID控制公式中的积分项与系统的稳态精度密切相关,加入积分项能够消除系统的稳态误差,提高系统的跟踪精度。但是由于现有的PID控制方法没有对受控设备的当前控制周期与上一控制周期之间目标差值的正负值进行区分,即没有对当前受控设备的被控变量值与预设期望值的误差是否具有减少趋势进行判断,而是均代入常规PID控制公式,因此会导致受控设备系统的误差不断减小时,之前累积的积分项仍较大,最终导致受控设备系统的响应发生滞后,不利于系统的响应品质。而本发明实施例中提供的预设条件可以对当前受控设备的被控变量值与预设期望值的误差是否具有减少趋势进行判断。同时,采用第一误差值是否满足预设条件来确定PID控制公式中的积分项是否为正值。当目标差值和所述第一误差值满足预设条件时,根据所述第一误差值的变化率确定PID控制公式中的对应所述当前控制周期的积分项,得到目标PID控制公式。

在本实施例中,所述预设条件包括:所述目标差值小于0且所述第一误差值大于或等于预设变化值。

具体的,当当前控制周期对应的第一误差值与上一控制周期对应的第二误差值的目标差值小于0时,说明在当前控制周期中,受控设备的被控变量与预设期望值之间的误差在减少,意味着受控设备在当前控制周期中的运行状态更接近预设路线。

在本实施例中,所述预设变化值优选为控制周期与预设最大变化率的乘积。

其中,受控设备的预设最大变化率与受控设备本身的惯性和动力有关,且每台受控设备的预设最大变化率为定值。并且,当受控设备为无人机时,预设最大变化率则与转动惯量以及动力有关。其中,转动惯量为刚体转动时惯性的量度,其量值取决于物体的形状、质量分布及转轴的位置;动力则只与拉力的最大值有关。

具体的,通过受控设备的控制周期与不同被控变量值的预设最大变化率乘积的方式可以得到相应被控变量值的预设变化值,且对于每台受控设备而言,预设变化值为一固定临界阈值。例如,受控设备为某台无人机时,对于被控变量角速度,其角速度最大变化率为500°/s;对于被控变量加速度,其加速度最大变化率为2000deg/s2。再通过对受控设备不同被控变量值的第一误差值与相对应的预设变化值进行对比,即可得到第一误差值是否大于固定临界阈值。

具体的,当受控设备的目标差值小于0且第一误差值大于或等于预设变化值时,根据第一误差值的变化率确定PID控制公式中的对应当前控制周期的积分项。

在本实施例中,根据所述第一误差值的变化率确定PID控制公式中的积分项,包括:

根据如下公式确定PID控制公式中的积分项:

其中,I(k)为当前控制周期对应的积分项;

e(k)为当前控制周期对应的第一误差值;

Δt为控制周期;

I(k-1)为上一控制周期对应的积分项;

为预设最大变化率。

需要说明的是,本实施例中的积分项为e变化率衰减的规律,使得当当前受控设备的被控变量值与预设期望值的误差具有减少趋势时,积分项的值也相应的进行微调,以保证误差在控制范围之内。

当受控设备的目标差值和第一误差值满足预设条件时,计算当前控制周期的积分项,且将该当前控制周期的积分项代入目标PID控制公式。

在本发明实施例中,所述目标PID控制公式为:

u(k)=KPe(k)+I(k)+Kd[e(k)-e(k-1]

其中,u(k)为输出控制变量值;

KP为比例增益;

Kd为微分增益。

需要说明的是,在本实施例中的e(k)为当前控制周期的第一误差值,同时为被控变量值和预设期望值的误差值;e(k-1)为前一控制周期的第二误差值,因此,受控设备的目标差值公式为:e(k)-e(k-1),且优选为|e(k)-e(k-1)|。

S140、根据所述目标PID控制公式计算输出控制变量值,并根据所得输出控制变量值对所述受控设备进行相应的控制。

其中,输出控制变量为受控设备在下一控制周期中所调整的参数,输出控制变量值为所调整的参数对应的数值。无人机的输出控制变量可包括油门、副翼、方向舵和升降舵中的至少一种。例如,油门由电调控制,通过控制电调输出电流的大小来改变飞机螺旋桨的转速,进而改变推力,调节受控设备的速度。通过对当前周期对应的第一速度误差值与上一周期对应的第二速度误差值的计算,可以得到受控设备的目标速度差值与第一速度误差值是否同时满足预设条件。若同时满足预设条件,则计算当前控制周期的积分项,且将该当前控制周期的积分项代入目标PID控制公式,得到下一周期期望的油门控制量。

在本实施例中,当所述目标差值或所述第一误差值不满足预设条件时,根据常规PID控制公式计算输出控制变量值,并根据所得输出控制变量值对所述受控设备进行相应的控制。

其中,常规PID控制公式:

其中,KP为比例增益;

积分项为:

具体的,只要受控设备的目标差值与当前控制周期对应的第一误差值中有一个条件不满足预设条件时,即受控设备的目标差值大于等于0或者当前控制周期对应的第一误差值小于预设变化值时,根据常规PID控制公式计算输出控制变量值,并根据所得输出控制变量值对受控设备进行相应的控制。当受控设备的目标差值大于等于0时,说明当前受控设备的被控变量值与预设期望值的误差增大,因此需要采用常规PID控制公式中的积分项用于使输出控制量持续增大以得到更强的修正量,快速减小跟踪误差。而当当前控制周期对应的第一误差值小于预设变化值时,代入本发明实施例中的积分项则为负值,由于不符合“积分单向衰减、符号不变”的设计原则,因此仍需采用常规PID控制公式。若不按照设计原则执行时,当算出来的当前控制周期的积分项与上一控制周期的积分项正负相反时,也就是正的累积误差突然变成负的累积误差了,不符合常理。因为当采用衰减积分项方式的PID方法时,需要的是将该积分项进行衰减,并且不改变正负。

需要说明的是,本发明实施例的设计原则为预先设定的“正常积分、快速衰减;积分单向衰减、符号不变”的积分原则。具体是,PID中的积分项可以理解为误差的累积量,由于误差可正可负,因此积分项亦可正可负。当采用衰减积分项方式的PID时,其条件之一是误差大于一定阈值,那么在第一误差值衰减到阈值范围内之前,第一误差值的符号始终保持不变,而积分项的符号在此时间内与第一误差值符号保持一致,因此无论使用何种衰减方式,在此时间内积分项的符号都不应发生变化。而当当前控制周期对应的第一误差值小于预设变化值时,若仍代入本发明实施例中的积分衰减算法,则会导致积分项符号相反,不符合单向衰减设计原则。

需要说明的是,常规PID控制公式可以直接采用以下公式进行表示:

u(k)=KPe(k)+[I(k-1)+Kie(k)Δt]+Kd[e(k)-e(k-1)]

如图1B所示,图1B为PID控制无人机导航控制回路的流程示意图。理想情况下,导航控制回路能够控制无人机沿预设航线进行正常飞行。但是在飞行过程中难免会遇到空气流等外界因素,因此通过PID控制方法能够在无人机出现偏离航线的情况下进行及时调整,使得无人机快速回到预定的飞机航线。

在输入当前周期的被控变量值之前,先对控制方法过程中涉及的参数进行初始化。在某个控制周期中,当分析无人机在飞行过程中存在偏差时,可以采集无人机的姿态角度值作为被控变量值,则控制输出变量为姿态角度变值。例如,无人机在某个控制周期中的预设姿态角度期望值为36°,根据陀螺仪实际测量该无人机的当前姿态角度为30°,则第一误差值为6°,且假设上一控制周期的第二误差值为6.5°,最终积分值为1.5。将预设角度期望值36°与实际角度值30°代入图1B中的PID控制方法流程图。由于满足预设条件,因此通过代入改善的积分项以及PID公式计算得出控制输出变量(姿态角速度变值)为(P+D+1.375)。其中P、D为PID控制器中P项、D项计算结果。随后,无人机根据姿态角度调整电机转速以改变姿态角,最终达到维持机体姿态的目的。

需要说明的是,本发明实施例提供的PID控制方法为基于常规PID控制方法的改进。如果将上述预设角度期望值为36°与实际角度值30°代入常规PID控制公式,那么计算出的常规控制输出变量(姿态角度变值)为(P+D+1.506)。由此可知,使用常规控制输出变量调整无人机在下一控制周期的控制参数,比上一控制周期的积分值不降反增,即使后期实际误差值会调整,逐渐减小,但是无疑增加了系统调节时间,减慢了误差修正达到稳态的速度,如图1C与1D所示。

图1C为基于常规PID控制方法得到下一控制周期的姿态角速率误差示意图;图1D为本发明实施例提供的PID控制方法得到下一控制周期的姿态角速率误差示意图,横坐标为时间,纵坐标为姿态角速率误差值。图1C与图1D分别采用常规PID控制方法与本发明实施例提供的PID控制方法对加入积分项后的姿态角度误差的控制结果进行了直观对比。由于积分项直接输入到执行设备,驱动电机转速变化,而电机转速变化可以由角速度传感器检测到其最先引起的旋转变化,因此通过观察姿态角速率误差能够准确反映该积分项起作用后的控制效果,也能够反映该积分项起的作用,图1C与图1D曲线的波动特征能够直接反映电机输出的平顺性和姿态的稳定性,且姿态角速率进行一次积分计算可得到姿态角度值。当姿态角速率误差值为0时,说明无人机的运行轨迹与预设的运动状态毫无偏差,通过对图1C与图1D对比可知,图1D后半部分的曲线上下波动情况明显小于图1C中所示的曲线,因此,本发明实施例提供的PID控制方法进行调整的无人机在下一控制周期的运行状态更加平稳。

本发明实施例提供了一种PID控制方法,通过计算第一误差值与目标差值,当目标差值和第一误差值同时满足预设条件时,根据第一误差值的变化率确定PID控制公式中的对应当前控制周期的积分项,得到目标PID控制公式,再根据目标PID控制公式计算输出控制变量值,并根据所得输出控制变量值对受控设备进行相应的控制,在现有PID控制公式的基础上,对积分项进行了改进,实现了能够同时兼顾系统的跟踪速度与响应品质的有益效果。

实施例二

图2为本发明实施例二提供的一种PID控制装置的结构示意图,本实施例可适用于各种需要PID控制方法的情况,该方法可以由本发明实施例提供的PID控制装置来执行,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供PID控制功能的设备中,例如可以是电脑或受控设备。如图2所示,具体包括:误差值计算模块21、目标差值计算模块22、目标PID控制公式获取模块和控制模块24。

误差值计算模块21,用于在控制周期内获取受控设备的被控变量值,并计算所述被控变量值与对应的预设期望值的误差值;

目标差值计算模块22,用于计算当前控制周期对应的第一误差值与上一控制周期对应的第二误差值的差值,得到目标差值;

目标PID控制公式获取模块23,用于当所述目标差值和所述第一误差值满足预设条件时,根据所述第一误差值的变化率确定PID控制公式中的对应所述当前控制周期的积分项,得到目标PID控制公式;

控制模块24,用于根据所述目标PID控制公式计算输出控制变量值,并根据所得输出控制变量值对所述受控设备进行相应的控制。

在上述实施例的基础上,所述预设条件包括:所述目标差值大于或等于0且所述第一误差值大于或等于预设变化值。

在上述实施例的基础上,所述预设变化值为控制周期与预设最大变化率的乘积。

在上述实施例的基础上,目标PID控制公式获取模块23用于:

根据如下公式确定PID控制公式中的积分项:

其中,I(k)为当前控制周期对应的积分项;

e(k)为被控变量值和预设期望值的误差值;

Δt为控制周期;

I(k-1)为上一控制周期对应的积分项;

为预设最大变化率。

在上述实施例的基础上,所述目标PID控制公式为:

u(k)=KPe(k)+I(k)+Kd[e(k)-e(k-1)]

其中,u(k)为输出控制变量值;

KP为比例增益;

Kd为微分增益。

在上述实施例的基础上,当所述目标差值或所述第一误差值不满足预设条件时,根据常规PID控制公式计算输出控制变量值,并根据所得输出控制变量值对所述受控设备进行相应的控制。

在上述实施例的基础上,所述受控设备包括无人机或无人驾驶汽车。

本发明实施例提供了一种PID控制装置,通过计算第一误差值与目标差值,当目标差值和第一误差值同时满足预设条件时,根据第一误差值的变化率确定PID控制公式中的对应当前控制周期的积分项,得到目标PID控制公式,再根据目标PID控制公式计算输出控制变量值,并根据所得输出控制变量值对受控设备进行相应的控制,在现有PID控制公式的基础上,对积分项进行了改进,实现了能够同时兼顾系统的跟踪速度与响应品质的有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1