在机电操控体系中,为完结快速的盯梢,常选用前馈补偿。但是在目标模型不知道时,前馈操控系数难以事前确认,因此,该前馈体系尽管理论成果抱负,但实用价值不高。
近年来,遗传算法(GA)作为一强有力的优化手法遭到广泛重视。它是模仿自然界遗传变和物竞天择的机理所构成的随机查找算法。正如Thomas等人指出的,其络绎出特点是:选用纯数值核算办法和随机进行战略,无需梯度信息,对模型的表述要求低,处理问题更具有灵敏性、习惯性、鲁棒性和大局性[1~2],因此在操控体系优化规划中有着广泛的使用。
现在,国内GA在操控体系优化规划中的使用大都会集在核算机仿真优化规划上。本文将GA的使用拓宽到了在线操控范畴,在虚拟仪器的操控下,经过GA同操控算法的有机交融,在试验运转中取得优前馈操控系数。它不需求体系的数字模型,也适用于时变体系,所得优化参数使体系成功完结了快速盯梢。
1 前馈速度伺服体系理论规划
所规划的前馈速度伺服体系的操控体系框图如图1所示。
其间,an为测速反应系数;Kp为放大器的电压放大系数;Ks为晶闸管整流器与触发设备的电压放大系数;Km为电动机环节的放大系数,即1/Ce;Tm为电机机电时间常数;L为体系的扰动输入;wr为输入的角速度(虚拟);w为输出的角速度;W0、W1、Wn为前馈操控系数。将输入wr、振荡L和固定值VD作为三个独立的输入量,运用线性迭加定理得到整个体系的输入wr与输出w的联系式:
要完结整个体系的彻底补偿,即体系输出对输入、彻底跟从,上式应满意以下联系:
KpKsKman+(W0+W1S)KsKmaN=KpKsKman+Tms+1 (1)
KsKmWnVD-KmL=0 (2)
因此便得到Wn、W0、W1三个参数的真值:
Wn=L/(KsVD); W0=1/(KmKsan); W1=Tn/KmKsan;
2 前馈系数的遗传算法在线整定
GA的原理最早是由Holland教授提出的[3],在本文的GA在线试验计划中,W0、W1、Wn被界说为染色体中的基因,它们遭到规范GA[4]的进化。基因的查找空设定足够大的规模,这样做有利于寻找到大局最长处。GA的调理使命是使功用指J最小。J选用ISE为功用指标,即:
所以得到体系在线整定的优化模型如下:
minJ
s.t.
其间W0*、W1*、Wn*别离指前馈操控系数最大或许取值。
图2所示为GA在线优作业流程图。经过不断发动体系,种群中的每一个染色体的好坏都得到试验的查验。速度和电流量经过高速A/D进行采样和存储,使用这些数据能够核算每个染色体的习惯度评价值J。明显,试验的总次数等于种群数乘总世代数。为了削减试验时间,需求进步GA的收敛功率。这儿选用了实数编码和“最优”挑选办法。实数编码比二进制编码更能进步GA的功用[3],而“最优”挑选能保证安稳渐进的收敛[4]。恰当挑选种群数、穿插率和变异率对小种群GA的功用也很重要,一些原则可参考文献[5]。
3 虚拟仪器规划
虚拟仪器是一种新式的测控仪器,它以核算机为中心、虚拟操控面板为标志,经过核算机软件完结对数据的显现、存储以及剖析处理,以满意用户对功用设置的灵敏多样要求,完结一般测验仪器无法比拟的功用。虚拟仪器可集成各种工业主动操控体系及专用仪器体系,将核算机硬件资源与仪器硬件有机地交融为一体,美国NI公司为该范畴的杰出代表。为完结本文杂乱的操控整定作业,本文选用了美国NI公司的LabWindows/CVI虚拟仪器软件开发渠道[8]。CVI强壮的功用旭功于其非常丰富的库函数,可供给的库函数从用户图形界面、数据收集、数据剖析、仪器操控到现在Internet年代的TCP,所以说CVI在丈量范畴成为前锋 的一起又与当时年代的新科技坚持了同步。
体系虚拟操控面板包含主操控面板和辅佐面板。辅佐面板首要担任体系各设备的运转状况及其外界环境的监控,辅佐面板可在主面板中调用。本文仅对主面板进行介绍,如图3所示。
主面板分为四大模块:(1)输入、输出、差错显现;(2)体系操控参数设定;(3)遗传算法整定;(4)文件、数据处理。
在主面板中,能够直接发动体系,对体系的输入起伏等参数进行实时调理并实时监控体系的输入输出改变。在体系发动前,能够预先对各参数进行调理后再让体系运转。对体系的优化整定需在发动体系之后方可进行,整定进程的输出、差错及参数均可实时动态显现。主面板还供给了一些附加的文件、数据处理功用,可实时对体系状况进行保存、打印等操作。
该操控界面的编制除了对各面板控件回调函数及数据处理函的编写外,还有两大编程要点:遗传算法的整定程序和实时多线程操控程序。因为篇幅有限,在此仅对编程关键技能-多线程编程做一介绍。
Windows9x渠道答使用户一起运转多个使用程序,这种技能被称为多使命技能(Multitasking)。在当今的大大都操作体系中,还引进了一个全新的概念-线程。经过多使命和多线程技能,用户能够在同一时间履行多个使用程序,而每个使用程序在同一时间又能够履行多个线程。现场操作体系现已广泛地使用了线程,如Mach、Unix、Windows、Linux等。惋惜的是在CVI中并不供给直接的多线程函数库,用户有必要自行编写。
因为CVI选用C言语编写,因此多线程能够面向C++的程序编程接口(API)修改,也能够直接面向Windows(Win32 API)编写。本文选用后者来编写多线程程序。
(1)创立线程
C言语向用户供给了多品种,用来封装线程目标,如CwinThread类。本体系创立线程选用该成员函数CreateThread完结创立进程。
(2)线程的停止
ExitThread函数是退出一个线程的较好办法。如果在调用这个函数时,线程是进程中的最终一个线程,则此线程的进程也被停止。
体系分为两个线程:面板控件函数回调与显现线程,操控与算法整定线程。为防止两线程之间的数据抵触,在程序中只要线程供给仅有的数据通道并设置了独立的“信号灯”,加强了线程间数据通信的安稳性。
4 体系运转试验
本研讨中GA参数设定为:种群数Pop_size=10,穿插率Pc=0.6,变异率Pm=0.3。体系各参数值约为:VD=1.0,an=0.02,Km=5.1,Tm=0.075,L=1.0,Ks=19.4。Kp任选一值,如Kp=10,ΔT取0.1(s)。试验时,按“整定”按钮,核算机主动发生正弦波(周期为10s;起伏为1000rad/s)作为体系输入,并试验性发动体系,进行前馈系数的在线整定。试验所选用的数据收集卡为NI公司出产的PCI-6024E。图4为示波器显现的整定进程差错波形。开始时,输出与输入不能完结盯梢,发生了较大的差错,1分钟左右差错超于零,此刻,W0=0.513,W1=0.038,Wn=0.029,按近理论全补偿值。尔后体系能够依照实践要求的输入信号继续运转,然后完结了体系快速盯梢要求。
选用虚拟仪器进行体系操控,能够彻底完结其它核算机操控体系所要求的运转成果,并且相对而言,虚拟仪器更显得灵敏易用、直观生动。GA引进到在线参数整定是一次斗胆深度。提导GA查找的功用指标J取自实时测验的成果,它不需求数学模型,因此是另一有用的优化体系参数的办法,特别是在体系模型时变、难以或不行描绘的状况下,作用更为明显。
本文将遗传算法、虚拟仪器操控有机地结合,充分发挥了遗传算法、虚拟仪器的优势,使体系操控达到了较高的功用,其基本原理、办法和技能具有普遍性,可望在其它杂乱操控体系中得到广泛的工程使用。