CN104570737B - 基于随机算法的pid控制器参数选定方法 - Google Patents
基于随机算法的pid控制器参数选定方法 Download PDFInfo
- Publication number
- CN104570737B CN104570737B CN201410839199.7A CN201410839199A CN104570737B CN 104570737 B CN104570737 B CN 104570737B CN 201410839199 A CN201410839199 A CN 201410839199A CN 104570737 B CN104570737 B CN 104570737B
- Authority
- CN
- China
- Prior art keywords
- parameter
- controller
- selection
- index
- cycle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Feedback Control In General (AREA)
Abstract
一种基于随机算法的PID控制器参数选定方法,属于控制器技术领域。本发明的目的是提供一种基于随机算法来简化PID控制器参数选定问题的基于随机算法的PID控制器参数选定方法。本发明分为选择随机数维数,选择循环次数和选择控制结果评判标准三步骤来完成。本发明主要针对于PID控制器参数选定问题设计开发了基于随机算法的参数选定方法。首先要明确待选取参数的个数,采用随机算法生成相应个数的参数。然后将随机产生的参数作用于控制器,进行循环实验。最后根据选定的评判标准对控制结果进行评判。并为每一个待定参数选取符合评判标准的范围。该方法操作流程简单,运用灵活,大大提高了工作效率,缩短了控制器开发周期并且具有普遍适用性。
Description
技术领域
本发明属于控制器技术领域。
背景技术
PID控制器参数选定的合理性是决定控制器能否具有很好的工作性能的先决条件和基础,合理的PID参数会提高控制器的计算速度和控制性能。但目前国内的PID参数选定技术普遍还停留在费时费力的手动辨识阶段,控制器参数选定主要存在以下问题:
1.同一个PID控制器在控制不同被控对象的时候,控制器参数也需要重新选定,这就导致工作量重复,工作效率底下。
2. 传统的人工选定PID参数需要重复进行仿真实验,不断记录控制结果,反复对比来确定,这种方法开发周期长且需要大量的人力资源。
发明内容
本发明的目的是提供一种基于随机算法来简化PID控制器参数选定问题的基于随机算法的PID控制器参数选定方法。
本发明分为选择随机数维数,选择循环次数和选择控制结果评判标准;
选择随机数维数: 首先需要明确是否需要为微分参数选择参数范围,若需要,则选择产生三维随机数据,若不需要,则选择产生二维随机数据;描述如下:
为初值,为模数,a为乘子,b为增量,,a,b,M均为非负整数;的意思是对M取余数,从而有:
;
二维随机算法如下:
;
循环次数的选择:
精度和循环次数成比例关系,数学描述如下:
是精度,是实验次数;
评判标准选择:
A、误差平均值:
数学描述如下:
对误差平均值的范围进行限定,数学描述如下:
为一次实验第i步的误差,为误差最小值,为误差最大值;
B、误差的方差和标准差:
数学描述如下:
对误差的方差和标准差进行限定:
为实验方差,为标准差,是设定的方差最小值,是设定的方差最大值,是设定的标准差最小值,是设定的标准差最大值;
C、超调量:
超调量的数学描述如下:
是被控对象的实际输出最大值,是期望值,只要通过不等式的约束就可以限定最大的可接受超调量;
D、最大误差:
;
当对控制结果的波动性有要求时,选择A;对控制器稳态性能有所要求时,选择B,对控制器快速性所有要求时,选择C;对控制器瞬态控制效果有所要求时,选择D;在对控制结果进行评判时,可以同时使用多个评判标准进行评判;
生成随机数:首先初始化参数,也就是为上述的,a,b,M赋初始值,然后用“LCG方法”产生二维或者三维的随机数,将产生的随机数每一维除以M进行归一化处理,这样就可以使随机数的每一维都在[0,1]区间上,归一化和范围放缩数学描述如下:
;
调用控制器和被控对象模型:在生成随机数后,调用控制器和被控对象模型;
处理控制结果并与评判标准对比:每次的控制结果都需要进行处理求出需要的指标,再将求出的指标与已经选好的评判标准进行对比,并存储;
判断循环次数递减:上述过程完成之后就表示着一次循环完成,循环次数要递减1,递减之后的循环次数与零进行对比,若不为零则进行下一次循环,若为零则输出参数范围图,从参数范围图上可以得到满足要求的参数范围。
本发明主要针对于PID控制器参数选定问题设计开发了基于随机算法的参数选定方法。首先要明确待选取参数的个数,采用随机算法生成相应个数的参数。然后将随机产生的参数作用于控制器,进行循环实验。最后根据选定的评判标准对控制结果进行评判。并为每一个待定参数选取符合评判标准的范围。该方法操作流程简单,运用灵活,大大提高了工作效率,缩短了控制器开发周期并且具有普遍适用性。有益效果是:
1. 传统的控制器参数选定方法都是基于大量的实验,记录,对比等一系列工作而选定的,这样的流程非常耗时,增加了控制器的开发周期。而本发明不需要反复记录对比,从而省时省力。
2. 对于PID控制器而言,有时会使参数=0形成PI控制器,传统的方法需要重新进行反复实验,而本发明只需将随机数改为二维数据就可以为PI控制器选择参数范围。
附图说明
图1是实施本发明所述的基于随机算法PID控制器参数选定总体流程图;
图2是实施本发明所述的随机算法产生随机数的流程图;
图3是实施本发明所述的随机算法产生的二维随机数的分布图;
图4是实施本发明所述的随机算法产生的三维随机数的分布图;
图5是本发明所述的实施例1选定PI控制器参数的结果,循环次数为500次,横坐标为参数的范围,纵坐标为参数的范围,两者单位均为1;
图6是本发明所述的实施例1选定PI控制器参数的结果,循环次数为2000次,横坐标为参数的范围,纵坐标为参数的范围,两者单位均为1;
图7是本发明所述的实施例1的跟踪结果,横坐标为时间,单位是s,纵坐标是电流,单位是A。黑色实线表示的是期望电流值,黑色虚线表示的是实际电流值;
图8是本发明所述的实施例1的跟踪误差,横坐标为时间,单位是s,纵坐标是误差,单位是1;
图9是本发明所述的实施例2中PID控制器选定参数的结果,三维坐标分别为参数范围,参数范围和参数范围,三者单位都是1;
图10是本发明所述的实施例2的跟踪结果,横坐标为时间,单位是s,纵坐标是氨的覆盖率,单位是1。黑色实线表示的是期望值,虚线表示的是实际值;
图11是本发明所述的实施例2的跟踪误差,横坐标为时间,单位是s,纵坐标是误差,单位是1。
具体实施方式
本发明的一种基于随机算法的控制器参数选定方法,其整体的流程图如图1所示,可分为选择初始化参数、调用控制器和被动对象模型、处理控制结果和选取合适的参数范围四个部分。
在初始化参数之前,首先要明确待选定参数的个数、循环次数和评判控制结果的指标,这样才会产生符合要求的随机数并进行实验;调用控制器和被控对象模型就是利用产生的随机数来充当控制器待选参数对被控对象进行控制,每次循环都会产生新的一组随机数,相应的也会调用一次被控对象和控制器模型;将每次循环的控制结果保存并进行运算然后和所选的评判标准对比这就是处理控制结果的目标;当处理控制结果结束后就会知道每组随机产生的参数是否合理,将满足控制要求的参数标识为好,将不满足控制要求的参数表示为坏,这样就会寻找到满足要求的控制器参数的范围。
本发明提供了一套基于以上运行原理和运行过程的装置。即基于PC机的离线基于随机算法的控制器参数选定实验平台。搭建以及运行过程如下:
1、软件选择
该系统模型是通过软件Matlab进行搭建,软件版本分别为Matlab R2010a,被控对象和控制器仿真模型通过软件Matlab/Simulink进行搭建。求解器选择和仿真步长与待选定参数的控制器模型保持一致。
2、联合仿真设置
带选定参数的控制器和被控对象需要在Matlab/Simulink中搭建,或者在能转化成Simulink可视化模型或S-function形式的软件中搭建,这里以AMESim软件为例进行简要说明,要实现二者的联合仿真,首先要在AMESim中添加输出接口模块;然后将AMESim中的模型信息编译成S-function的形式保留在Matlab/Simulink中。这样就可以使两个软件进行无缝连接。如果对AMESim中的模型结构或者参数设置进行了修改,则需要重新编译。
3、初始化参数
整个初始化参数包括三个部分:选择随机数维数,选择循环次数和选择控制结果评判标准。
选择随机数维数: 首先需要明确是否需要为微分参数 选择参数范围,若需要,则选择产生三维随机数据,若不需要,则选择产生二维随机数据;本发明中的随机算法可以称之为“线性同余发生器”,也叫“LCG方法”,由于其产生的点服从均匀正态分布且序列前后之间和各子列之间相互独立,那么可以认为这些点是随机的,是没有规律的。以一维随机数算法为例,数学描述如下:
为初值,为模数,a为乘子,b为增量,,a,b,M均为非负整数;的意思是对M取余数,从而有:
;
应用上式就可以产出均匀随机数,应适当选取参数,a,b,M,才能得到周期长且随机性好的数列。
对于线性同余发生器来说,用两个一维均匀分布随机数发生器联合后得到的二维随机向量是服从二维均匀分布的。同理得到的三维随机向量是服从三维均匀分布的。那么二维随机算法数学描述如下:
。
循环次数的选择:
本发明中一个重要的参数就是循环次数,它决定了最后结果的精度和仿真实验所需要的时间。实验结果的精度和循环次数成比例关系,数学描述如下:
是精度,是实验次数。
评判标准选择:
由于被控对象和控制需求的不同,对控制结果的评判标准也不同,所以本发明提供了几种常用的评判标准。
A、误差平均值:
误差平均值表示了误差的趋中性,是最常用的控制器稳态评判标准,数学描述如下:
对误差平均值的范围进行限定,数学描述如下:
为一次实验第i步的误差,为误差最小值,为误差最大值。
B、误差的方差和标准差:
误差的方差和标准差也是常用的控制器稳态评判标准,数学描述如下:
对误差的方差和标准差进行限定:
为实验方差,为标准差,是设定的方差最小值,是设定的方差最大值,是设定的标准差最小值,是设定的标准差最大值。
C、超调量:
对于控制器来说,超调量的大小决定着控制器的瞬态性能,对于一些有危险限制的控制系统过大的超调量是不允许的。超调量的数学描述如下:
是被控对象的实际输出最大值,是期望值,只要通过不等式的约束就可以限定最大的可接受超调量。
D、最大误差:
有些控制器对控制效果的超调量没有严格的要求,而是对最大误差有所限定;
;
当对控制结果的波动性有要求时,选择A;对控制器稳态性能有所要求时,选择B,对控制器快速性所有要求时,选择C;对控制器瞬态控制效果有所要求时,选择D;在对控制结果进行评判时,可以同时使用多个评判标准进行评判。
生成随机数:生成随机数的过程如图2所示,首先初始化参数,也就是为上述的,a,b,M赋初始值,然后用“LCG方法”产生二维或者三维的随机数,将产生的随机数每一维除以M进行归一化处理,这样就可以使随机数的每一维都在[0,1]区间上,方便了选取每一维随机数的范围。以二维随机数为例,其归一化和范围放缩数学描述如下:
;
生成的随机数分布如图3,图4所示,图3是二维随机数分布图,横纵坐标范围为[0,500],图4是三维随机数分布图,每个轴的坐标范围也是[0,500]。可以任意更改的值从而改变随机数的范围。
调用控制器和被控对象模型:在生成随机数后,调用控制器和被控对象模型,本发明会自动将随机数代入控制器,运行控制器和被控对象,运行完毕后控制结果将自动保存。
处理控制结果并与评判标准对比:每次的控制结果都需要进行处理求出需要的指标,再将求出的指标与已经选好的评判标准进行对比,并存储;若满足评判标准则将该组参数标识为“好”并储存,若不满足则将该组参数标识为“坏”,并也将“坏”的参数储存。
判断循环次数递减:上述过程完成之后就表示着一次循环完成,循环次数要递减1,递减之后的循环次数与零进行对比,若不为零则进行下一次循环,若为零则输出参数范围图,从参数范围图上可以得到满足要求的参数范围。
本发明所述的PID控制器参数选定方法是通过软件系统的仿真实现。采用的软件是Matlab/M文件。用该软件进行编程来实现参数的随机生成和仿真结果处理,而待选定参数的控制器在Matlab/Simulink软件中搭建,通过M文件对待选定参数的控制器进行调用来实现参数范围的选取。
从功能上说本发明可以包括以下几部分:循环次数选择、随机数的生成、调用待选定参数的控制器、评判标准选择和控制结果处理。下面详细说明各部分的作用:
循环次数选择的作用是选择实验循环的次数,在每次实验中都会产生一组随机数据进行控制效果的验证,循环次数越多,最后参数的范围越精确,但是实验时间也会相应的增长。
随机数生成的作用是采用概率学公式产生随机的数据,产生数据的维数和待选定参数的个数保持一致,并且数据在该维数空间内为均匀分布,即产生的数据具有随机性。
调用控制器的作用是将产生的随机数据代入控制器模型,使控制器工作,在控制器稳定工作后,停止仿真并将控制结果以数据形式保存。
选择评判标准和控制结果处理的作用是选择希望控制器达到的评判指标,如平均值的范围,方差的范围等,将控制结果进行处理,与相应的指标进行对比,从而得到满足要求的控制器参数范围并以图像的形式显示出。
实验验证
1)实施例1:选定PI控制器控制参数
实施例1中待选定参数的控制器为PI控制器,需要选定的参数是比例系数和积分系数,被控对象为直流永磁同步电机,二者都搭建于Matlab/Simulink软件,希望达到的控制标准为误差平均值大于-0.5,小于0.5,同时误差的标准差大于-0.1,小于0.1,数学描述为:
参阅图5,循环次数选为500次的实验结果如图所示,横坐标为参数的范围,纵坐标为参数的范围,图中圆圈表示为满足评判标准的点,星形表示为不满足评判标准的点,从图中的信息可得到满足要求的和范围。
参阅图6,由于PI控制器和直流永磁电机的特点,每次仿真实验所要求的时间很短,故可以增加循环次数,从而提高满足要求的参数范围的精度,图6中的循环次数为2000次,图中圆圈表示为满足评判标准的点,星形为不满足要求的点,与图5中的点对比可以发现,图6中满足要求的参数范围更加清晰,更加精确。
参阅图7,从满足要求的范围中选取参数为480,参数为120进行跟踪实验,跟踪结果如图所示,跟踪曲线为5到15的正弦曲线,从图中可以看出跟踪效果很好。
参阅图8,图中所示的为参数选取480,参数选取120的跟踪误差曲线,从该曲线可知控制效果满足要求。
以上仿真实验所得到的图像可说明本发明所述的基于随机算法的控制器参数选定方法能快捷的为PI控制器选择满足要求的参数。
2)实施例2:选定PID控制器参数
由实例1的仿真结果可知本发明提出的基于随机数控制器参数选定方法在选定两个参数时能够满足控制需求,为了进一步说明,本实施例在PID控制器上进行仿真验证,希望达到的控制标准为最大误差大于-2,小于2,同时误差平均值大于-0.4,小于0.4,仿真结果参阅图9至图11:
参阅图9,图中圆圈表示控制结果满足要求的参数值,星形表示控制结果不满足要求的参数值,从图中选取K1=170,K2=0.2,K3=1500,进行仿真实验验证控制结果。
参阅图10,控制器的跟踪结果如图所示,从图中可以看出实际氨的覆盖率能够快速稳定的跟随上期望氨的覆盖率,跟踪效果很好,没有出现明显的波动。
参阅图11,跟踪误差如图所示,从图中可以看出在跟踪稳定后,误差值非常小,这说明这组参数的控制效果十分理想,结果满足控制要求。
以上仿真实验所得到的图像可说明本发明所述的基于随机算法的PID控制器参数选定方法能快捷的选择满足要求的参数。
上述两个实施例分别检验了本发明所述的基于随机算法选定PID控制器参数的性能,首先为PI控制器选定了比例参数和积分参数,验证了此方法的正确性和完整性,然后在SCR系统的PID控制器中进行进一步验证了本发明的有效性。图7与图10表明,本发明选择的控制器参数有良好的控制效果,满足控制要求。
本发明所述的基于随机算法选定PID控制器参数方法达到了本发明的设计目标,并使得控制器有着良好的控制效果,从而可以证明本发明所述的PID控制器参数选定方法能够准确的快速的为控制器选取控制参数,且其性能优良,方便快捷,大大的缩短了控制器的开发周期。
Claims (1)
1.一种基于随机算法的PID控制器参数选定方法,其特征在于:分为选择随机数维数,选择循环次数和选择控制结果评判标准;
选择随机数维数: 首先需要明确是否需要为微分参数选择参数范围,若需要,则选择产生三维随机数据,若不需要,则选择产生二维随机数据;描述如下:
为初值,为模数,a为乘子,b为增量,,a,b,M均为非负整数;的意思是对M取余数,从而有:
;
二维随机算法如下:
;
循环次数的选择:
精度和循环次数成比例关系,数学描述如下:
是精度,是实验次数;
评判标准选择:
A、误差平均值:
数学描述如下:
对误差平均值的范围进行限定,数学描述如下:
为一次实验第i步的误差,为误差最小值,为误差最大值;
B、误差的方差和标准差:
数学描述如下:
对误差的方差和标准差进行限定:
为实验方差,为标准差,是设定的方差最小值,是设定的方差最大值,是设定的标准差最小值,是设定的标准差最大值;
C、超调量:
超调量的数学描述如下:
是被控对象的实际输出最大值,是期望值,只要通过不等式的约束就可以限定最大的可接受超调量;
D、最大误差:
;
当对控制结果的波动性有要求时,选择A;对控制器稳态性能有所要求时,选择B,对控制器快速性所有要求时,选择C;对控制器瞬态控制效果有所要求时,选择D;在对控制结果进行评判时,可以同时使用多个评判标准进行评判;
生成随机数:首先初始化参数,也就是为上述的,a,b,M赋初始值,然后用“LCG方法”产生二维或者三维的随机数,将产生的随机数每一维除以M进行归一化处理,这样就可以使随机数的每一维都在[0,1]区间上,归一化和范围放缩数学描述如下:
;
调用控制器和被控对象模型:在生成随机数后,调用控制器和被控对象模型;
处理控制结果并与评判标准对比:每次的控制结果都需要进行处理求出需要的指标,再将求出的指标与已经选好的评判标准进行对比,并存储;
判断循环次数递减:上述过程完成之后就表示着一次循环完成,循环次数要递减1,递减之后的循环次数与零进行对比,若不为零则进行下一次循环,若为零则输出参数范围图,从参数范围图上可以得到满足要求的参数范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410839199.7A CN104570737B (zh) | 2014-12-30 | 2014-12-30 | 基于随机算法的pid控制器参数选定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410839199.7A CN104570737B (zh) | 2014-12-30 | 2014-12-30 | 基于随机算法的pid控制器参数选定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104570737A CN104570737A (zh) | 2015-04-29 |
CN104570737B true CN104570737B (zh) | 2017-06-16 |
Family
ID=53087107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410839199.7A Active CN104570737B (zh) | 2014-12-30 | 2014-12-30 | 基于随机算法的pid控制器参数选定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104570737B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105221275B (zh) * | 2015-08-20 | 2017-10-13 | 吉林大学 | 基于模型辨识的涡轮增压汽油机控制系统 |
CN109617140A (zh) * | 2018-12-12 | 2019-04-12 | 云南电网有限责任公司电力科学研究院 | 一种大型水电机组调速器参数优化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3225811A1 (de) * | 1982-07-09 | 1984-01-12 | Electronics Research and Service Organisation, Industrial Technology Research Institute, Hsinchu | Selbsteinstellendes simulations- und regelungssystem |
CN103711596A (zh) * | 2013-12-31 | 2014-04-09 | 吉林大学 | 一种涡轮增压汽油机进气控制方法 |
-
2014
- 2014-12-30 CN CN201410839199.7A patent/CN104570737B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104570737A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
van der Schee | Holographic thermalization with radial flow | |
Ernst et al. | Arch-comp 2020 category report: Falsification | |
US20100049486A1 (en) | Systems and Methods for Simulating Plant Operations | |
CN109670213A (zh) | 一种风电场多机等值建模方法及装置 | |
CN107992939B (zh) | 基于深度增强学习的等切削力齿轮加工方法 | |
CN102436518B (zh) | 基于粒子群算法的去耦电容器选择方法 | |
CN104570737B (zh) | 基于随机算法的pid控制器参数选定方法 | |
EP2560113A1 (en) | Method and system for modeling a power plant | |
CN114967460B (zh) | 时滞非线性多智能体系统的分布式协同控制方法 | |
CN111049127A (zh) | 一种柔性负荷参与电网有功自动控制的仿真方法及系统 | |
CN105041696A (zh) | 一种服务器机柜风扇调速方法及服务器机柜 | |
RU158700U1 (ru) | Устройство разработки методов решения задач управления в перспективном комплексе средств автоматизации военного назначения | |
CN104361625A (zh) | 一种基于射线原理的带边界保留的云数据精简算法 | |
CN109359349A (zh) | 电厂汽轮机厂房通风模块化模拟计算方法及系统 | |
CN104156619A (zh) | 协同探测中传感器分配方法 | |
CN103294522A (zh) | 舰船雷达天线设备数值风洞仿真流程的简化方案 | |
CN110531638B (zh) | 基于整车仿真模型的phev部件工况数据统计与工况构建方法 | |
CN102279900A (zh) | 小型涡轮发动机涡轮虚拟试验系统 | |
RU158715U1 (ru) | Устройство для решения задачи прогнозирования состояния парка радиоэлектронной техники группировки войск пво | |
CN107181255B (zh) | 一种机组越限电量的调整方法和装置 | |
CN105468455A (zh) | 一种用于多设备的动态任务分配的方法及装置 | |
Al-suod et al. | Optimization of the structure of diesel-generator units of ship power system | |
CN103309747B (zh) | 一种代码文件统计任务的分配方法及装置 | |
CN104794747A (zh) | 一种基于射线原理的三维点云数据精简算法 | |
CN105752077B (zh) | 混合动力车辆的扭矩分配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |