MATLAB遗传算法PID大作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

遗传算法在调节控制系统参数中的应用

【摘要】自动化控制系统多采用PID 控制器来调节系统稳定性和动态性,PID 的

Kp,Ki,Kd 参数需要合理选择方能达到目标。遗传算法是一种模拟生物进化寻求最优解的有效算法,本文通过利用GAbx 工具箱实现对控制电机的PID 进行参数优化,利用matlab 的仿真功能可以观察控制效果。 1. 直流伺服电机模型 1.1物理模型

图1 直流伺服电机的物理模型

αu ---电枢输入电压(V ) a R ---电枢电阻(Ω) S L ---电枢电感(H ) q u ---感应电动势(V ) g T ---电机电磁转矩(N m ⋅) J---转动惯量(2m kg ⋅)

B---粘性阻尼系数(s m N ⋅⋅) g i ---流过电枢的电流(A ) θ---电机输出的转角(rad )

1.2传递函数

利用基尔霍夫定律和牛顿第二定律得出电机基本方程并进行拉布拉斯变换

)

()()()()()()()()()()(2s s K s U K s I s T s Bs s Js s T s I s L R s I s U s U e q t a g g a a a a q a θθθ⋅=⋅=⋅+⋅=⋅+⋅=-

式中:t K 为电机的转动常数(m N ⋅)A ;e K 为感应电动势常数(s V ⋅)rad

a

a R s L +1

S

1 B

Js +1

i K

C K

)(s U a

)(s U q

)(s I a )(s T g

)(s Ω

)(s θ

图2 直流伺服电机模型方框图

消去中间变量得系统的开环传递函数:

s

K K B Js R s L K s U s s G C t a d t

a ]))([()

()

()(+++=

=

θ

系统参数如下:s m uN B m mg J ⋅⋅=⋅=51.3,23.32

A m N K K uH L R e t a a )(03.0,75.2,4⋅===Ω=

2. PID 校正

图3 PID 校正

s K s

K K s G d i

p c ++

=)( Kp,Ki,Kd 为比例,积分,微分系数 令Kp=15、Ki=0.8 、Kd=0.6

M 文件:J=3.23E-6;

B=3.51E-6; Ra=4;

La=2.75E-6; Kt=0.03; num= Kt;

den=[(J*La) ((J*Ra)+(La*B)) ((B*Ra)+Kt*Kt) 0]; t=0:0.001:0.2; step(num,den,t); Kp=15; Ki=0.8; Kd=0.6;

numcf=[Kd Kp Ki]; dencf=[1 0];

numf=conv(numcf,num); denf=conv(dencf,den);

[numc,denc]=cloop(numf,denf); t=0:0.001:0.04; step(numc,denc,t);

matlab 进行仿真,我们可以看出不恰当的PID 参数并不能使系统达到控制系统的要求,

因此需要对PID参数进行优化。

图4 系统阶跃响应(Kp=15,Ki=0.8,Kd=0.6)

3.遗传算法

3.1 遗传算法和工具箱简介

遗传算法(GA)是基于自然选择和基因遗传学原理的优化搜索方法。它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质上是一种高效、并行、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。遗传算法操作使用适者生存的原则,在潜在的解决方案种群中逐次产生一个近似最优的方案。在遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近似解。在这个过程导致种群中个体的进化,得到的新个体比原个体更能适应环境,就像自然界中的改造一样。

表3.1遗传学和遗传算法中基本用语对照表

遗传学遗传算法

染色体(Chromosome) 解的编码(算法的操作对象)

基因(Gene)解中每一分量

等位基因(Allele)特性值

基因座(Locus)二进制串中位置

基因型(Genptype)结构

表现型(Phenotype)参数集、候选解

个体(Individual)解

适者生存在算法停止时,最优目标值的解有最大可能被留住

适应性(Fitness)适应度函数值

群体(Population)选定的一组解

复制(Reproduction)根据适应度函数值选取的一组解

交配(Crossover)通过交配产生一组新解的过程

变异(Mutation)编码的某一个分量发生变化的过程

英国谢菲尔德大学开发的遗传算法工具箱把参数,选择,交叉,变异等过程封装成函数进行操作,其基本搜索过程不变。

表3.2 遗传算法工具箱常用函数

创建种群crtbase 创建基向量

crtbp 创建任意离散随即种群crtrp 创建实值初始种群(bs2rv)

适应度计算

ranking 常用的基于秩的适应度计算

scaling 比率适应度计算

选择函数

reins

一致随机和基于适应度的

重插入

rws 轮盘选择select高级选择例程

sus 随机遍历采样

变异算子

mut 离散变异mutate高级变异函数mutbga 实值变异

交叉算子

recdis 离散重组

recint 中间重组

reclin 线性重组recmut 具有变异特征的线性重组recombine高级重组算子xovdp 两点交叉算子xovdprs 减少代理的两点交叉xovmp 通常多点交叉

xovsh 洗牌交叉xovshrs 减少代理的洗牌交叉

xovsp 单点交叉xovsprs 减少代理的单点交叉

子种群的支持migrate 在子种群间交换个体

实用函数

bs2rv 二进制串到实值的转换

rep 矩阵的复制

3.2 利用遗传算法优化过程

1)根据遗传算法优缺点这里选择遗传代数为100,种群大小为30,变量维数为3其中10≤Kp≤20,0≤Ki≤1,0≤Kd≤1,要求精度0.0001所以二进制串编码长度为17故Kp 精度为(20-10)/(-1) Ki,Kd精度为(1-0)/(-1),代沟为0.9,交叉概率为0.6,

相关文档
最新文档