首页> 中国专利> 基于FPGA平台的模糊逻辑控制器在线演化优化系统

基于FPGA平台的模糊逻辑控制器在线演化优化系统

摘要

本发明提供一种基于FPGA平台的模糊逻辑控制器在线演化优化系统,设置模糊关系计算IP核和传感器控制IP核,以及遗传算法模块,模糊控制器模块和传感器控制模块,使用遗传算法优化模糊逻辑控制器的规则。系统运行时将模糊逻辑控制器的控制过程分为两个阶段,将遗传算法的个体适应值分为两个部分,替换个体时根据使用情况部分替换,实现了模糊逻辑控制器的在线演化。本发明采用软硬件协同工作的方式实现糊逻辑控制器在线演化优化,减轻了CPU负担,加快了运行速度。

著录项

  • 公开/公告号CN102063060A

    专利类型发明专利

  • 公开/公告日2011-05-18

    原文格式PDF

  • 申请/专利权人 武汉大学;

    申请/专利号CN201010103575.8

  • 发明设计人 王峰;李元香;王珑;刘海峰;聂鑫;

    申请日2010-04-27

  • 分类号

  • 代理机构武汉科皓知识产权代理事务所(特殊普通合伙);

  • 代理人张火春

  • 地址 430072 湖北省武汉市武昌珞珈山

  • 入库时间 2023-12-18 02:26:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-18

    未缴年费专利权终止 IPC(主分类):G05B13/02 授权公告日:20121205 终止日期:20170427 申请日:20100427

    专利权的终止

  • 2012-12-05

    授权

    授权

  • 2011-07-20

    实质审查的生效 IPC(主分类):G05B13/02 申请日:20100427

    实质审查的生效

  • 2011-05-18

    公开

    公开

说明书

技术领域

本发明涉及演化硬件领域,特别是涉及一种基于FPGA的模糊逻辑控制器的在线演化优化系统。

背景技术

模糊逻辑控制器已在许多方面取得成功的应用,目前其实现方法主要有两种,一种是硬件法,一种是软件法。软件法是由软件来实现。大致可分为查表法、公式法、推理法三种。由于模糊逻辑控制器的推理计算量大,常规的模糊逻辑控制器在软件实现时一般都采用离线推理的方式生成模糊逻辑控制查询表,利用查询表进行在线控制。由于一般控制器未能实现在线推理,使其应用领域受到一定限制,难以获得满意的控制效果。硬件法即是利用硬件速度高的特点,实现快速在线推理的硬件模糊逻辑控制器。

近年来,随着电子技术的发展,已经出现了很多可编程的器件(如FPGA、FPAA),基于遗传算法的演化硬件技术已成为目前研究的热点方向。H.Surmann利用现场可编程门阵列FPGA来优化模糊逻辑控制器结构(H.Surmann,A.Ungering,K.Goser.Optimized fuzzycontroller architecture for field programmable gate arrays.in Lecture Notes on Computer ScienceNr.705.Berlin:SpringerVerlag,1993.)。J.F.M Amara研究利用FPMA来实现可演化的模糊逻辑控制器,演化出了模糊逻辑控制器的取大、取小和高斯隶属度函数等模拟电路(J.F.M Amara.Towards Evolvable Analog Fuzzy Logic Controllers.2003 NASA/DOD Conference on EvolvableHardware(EH’03),2003:101-107.)。

然而,在模糊逻辑控制器设计过程中最困难的是如何确定规则,如何自适应调整结构和参数。目前已有的研究工作多是从软件的角度对规则等进行优化,但是这类优化方法多属于离线演化,其一算法的运行速率较低,其二每次调整硬件需要重新从软件部分重新获取参数,相当耗时。因此,如何提高模糊逻辑器的演化效率成为目前研究的热点。尤其在对实时性要求较高的系统中,设计快速的自适应可控模糊逻辑控制器的方法就显得尤为重要。

发明内容

为解决模糊逻辑控制器自适应演化效率较低的问题,本发明提供了一种基于FPGA平台的模糊逻辑控制器在线演化优化系统。

本发明所提供基于FPGA平台的模糊逻辑控制器在线演化优化系统,所述FPGA平台包括PLB总线、OPB总线和作为处理器的PowerPC,PowerPC连接到PLB总线,PLB总线与OPB总线通过总线桥连接;其特征在于:在FPGA平台中实现以下各部分,

与OPB总线连接的硬件IP核,包括模糊关系计算IP核和传感器控制IP核;

在PowerPC上实现的演化控制核心模块,所述演化控制核心模块包含遗传算法模块,用于采用遗传算法演化模糊控制规则,并输出给模糊关系计算IP核;模糊控制器模块,用于与模糊关系计算IP核协同对控制对象进行模糊控制,即由模糊关系计算IP核根据遗传算法模块所提供的模糊控制规则计算模糊查询表,由模糊控制器模块根据该模糊查询表进行模糊控制;传感器控制模块,用于与传感器控制IP核协同完成传感器控制并获取控制对象的采样数据;

与OPB总线连接的非易失性存储器,用于存储系统信息。

而且,所述模糊关系计算IP核,固定了模糊等级划分和隶属度函数,根据输入的模糊控制规则,自动计算模糊查询表输出并输出给模糊控制器模块。

而且,所述传感器控制IP核,包括有输入寄存器、输出寄存器、采样命令发送模块、采样数据接收模块和计时模块;其中输入寄存器包括开始位和命令位,输出寄存器包括结束位、超时位和采样数据位;

所述传感器控制模块拥有一个与传感器所构成的无线网络对应的节点集合,不同的节点对应的采样命令不同;

所述传感器控制模块与传感器控制IP核协同完成传感器控制并获取控制对象的采样数据,实现方式包括以下步骤,

传感器控制模块从节点集合中选择一个节点,将该节点的采样命令写入传感器控制IP核的输入寄存器中的命令位,然后置输入寄存器中的开始位为‘1’,然后循环检测输出寄存器的结束位和超时位;

传感器控制IP核中,发送采样命令模块检测到输入寄存器的开始位为‘1’后,发送输入寄存器中的命令位所提供采样命令,同时计时模块开始计时,采样数据接收模块准备接收数据;当传感器有数据发送回,采样数据接收模块读接收该数据,将数据写入输出寄存器的采样数据位,并置结束位为‘1’;

传感器控制模块检测到传感器控制IP核中输出寄存器的结束位为‘1’后,从输出寄存器读取采样数据位的数据并分析数据,如果数据不合法,则采样不成功,增加失败次数并重新采样;

传感器控制IP核中,计时模块的计时器到时后,置输出寄存器的超时位为‘1’;传感器控制模块检测到超时位为‘1’而结束位为‘0’,增加失败次数并重新采样;

当某节点采样失败次数超过设定次数,从传感器控制模块的节点集合中去除该节点,节点集合为空后,关闭系统。

而且,按照模糊控制器特性将模糊控制过程分为宏调阶段和微调阶段;所述模糊控制器模块,在宏调阶段是将控制对象从初态调节至设定目标的预设误差范围内,在微调阶段是将控制对象在宏调阶段所得结果基础上微幅调节的过程。

而且,所述非易失性存储器中存储有四个文件,即info.dat、init.dat、popu.dat和fit.dat,info.dat存储系统的初始化状态;init.dat存储遗传算法的初始种群;popu.dat存储系统当前种群信息;fit.dat存储popu.dat中系统当前种群的适应值;

在线演化模糊逻辑控制器的运行过程依次分为系统初始化阶段、宏调阶段、微调阶段和信息保存阶段,

(1)系统初始化阶段中,遗传算法模块首先读取非易失性存储器中的info.dat文件,然后检查info.dat文件中的初始化位,如果标志系统初始化状态的初始化位为‘0’,则遗传算法的种群从popu.dat文件读取,种群的适应值从fit.dat中读取;如果标识系统初始化状态的初始化位为‘1’,则遗传算法的种群从init.dat读取,种群的适应值全部置为一个大数;

(2)宏调阶段中,包括以下两个步骤,

步骤2.1,遗传算法模块产生一个新个体,即一个模糊控制规则,模糊关系计算IP核通过该个体计算模糊查询表;

步骤2.2,传感器控制模块与传感器控制IP核协同获取控制对象的采样数据,模糊控制器模块计算控制对象的采样数据变化及变化率后进行模糊运算,将计算所得的控制量输出,如果采样数据显示控制对象已达设定目标的预设误差范围之内,则将系统调节时间作为该个体适应值,遗传算法根据替换策略进行个体替换,宏调阶段结束;

否则重复步骤2.2继续采样及控制的循环,直到采样数据显示已达设定目标的预设误差范围之内;

(3)微调阶段中,包括以下两个步骤,

步骤3.1,由遗传算法模块产生一个新个体,即一个模糊控制规则,模糊关系计算IP核通过该个体计算模糊查询表;

步骤3.2,通过传感器控制模块与传感器控制IP核协同获取采样数据,模糊控制器模块计算控制对象的采样数据变化及变化率后进行模糊运算,将计算所得的控制量输出并计算误差积累;

如果步骤3.1中该个体生成的模糊查询表控制运行时间超过指定的时间,则将误差积累作为该个体的适应值,遗传算法模块进行个体替换,并检查停机位,如果停机位为‘0’,返回步骤3.1由遗传算法模块产生新个体循环执行;如果停机位为‘1’,微调阶段结束;

(4)信息保存阶段中,遗传算法模块将全部种群和适应值写回非易失性存储器,如果info.dat文件中的初始化位为‘0’,改写该位为‘1’。

本发明采用软硬件协同工作的方式,将遗传算法和模糊逻辑控制器相结合。系统可以采取自学习的方式(每次调整硬件无需从软件部分重新获取参数),通过遗传算法对模糊逻辑控制器的优化实现整个模糊逻辑控制器的在线演化。同时,采用FPGA平台和无线传感器网络相结合,通过无线传感器网络采集信息,可以使环境整体达到最优。由通信协议控制的FPGA平台和无线传感器网络的交互确保了采集的信息准确有效。系统具有良好的健壮性,当某个传感器节点出现故障后,系统能够自动排除该节点,不采集该节点的信息,使系统能够继续正常运行。

附图说明

图1为本发明的系统总体结构图;

图2为模糊关系计算IP核FLC的隶属度函数图;

图3为模糊关系计算IP核FLC结构图;

图4为传感器控制IP核SensorCtrl结构图;

图5为实施例的系统运行流程图;

图6为实施例的初始化阶段流程图;

图7为实施例的宏调阶段流程图;

图8为实施例的微调阶段流程图.

具体实施方式

下面结合附图与实施例对本发明进行详细描述:

本实施例是在XC2VP30 FPGA开发板上实现,使用PowerPC(一种精简指令集架构的中央处理器)作为处理器,使用片上内存和DDR内存条作为存储器,采用CF卡作为非易失性存储器。传感器节点使用ATmega128,所有传感器节点构成无线网络,即无线传感器网络。具体实施时,可以将其中一个传感器作基站用,其他作为采集数据用。例如,当控制对象为温度时,将一个传感器作为基站传感器,其他作为温度采集用传感器,温度采集传感器通过无线信号与基站传感器通信,基站传感器通过串口与FPGA相连。

如图1所示,系统的总体结构主要包括PLB总线(处理器局部总线)和OPB总线(外围设备总线),两总线通过plb2opb IP核(即总线桥plb2opb_bridge)桥接。连接在PLB总线上的IP核有PowerPC,片上内存BRAM(实施例采用128KB容量)和片外内存DDR SDRAM(实施例采用512MB容量)。连接在OPB总线上的是本发明提供的模糊关系计算IP核FLC,传感器控制IP核SensorCtrl和其他外设(Other slaves)。例如实施例中的CF卡即为一个外设。在PLB总线和OPB总线支持下,本发明所提供与OPB总线连接的模糊关系计算IP核和传感器控制IP核、非易失性存储器,以及在PowerPC上实现的演化控制核心模块之间,均能建立通信。在PowerPC上实现的演化控制核心模块,包含遗传算法模块、模糊控制器模块和传感器控制模块,这些模块实际上可以采用软件模块化设计技术实现。为了便于实施参考,提供实施例的各部分具体设计如下:

本发明的模糊关系计算IP核,固定了模糊等级划分和隶属度函数,根据输入的模糊控制规则,自动计算模糊查询表输出并输出给模糊控制器模块。具体实施时,可以通过在模糊关系计算IP核中设置读写寄存器(包括输入寄存器和输出寄存器),实现模糊控制器模块与模糊关系计算IP核的通信。本实施例中的模糊逻辑控制器的有两输入一输出,输入为温度和温度变化率。输入的模糊集为7个:NB(Negative Big,负大),NM(Negative Medium,负中),NS(Negative Small,负小),ZR(Zero,零),PS(Positive Small,正小),PM(Positive Medium,正中),PB(Positive Big,正大);输入输出的论域均划分为13级:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};隶属度函数如图2所示,隶属度从0到1,采用纵坐标表示。

如图3所示,模糊关系计算IP核FLC的输入寄存器包括规则位rule、时钟信号位clk、复位信号位reset和开始信号位start;输出寄存器包括模糊查询表位relation和结束信号位finish。生成该IP核的时候,FPGA平台会自动为时钟信号位clk、复位信号位reset分别提供时钟信号、复位信号,以便提供工作时钟和支持复位操作。其内部模糊查询表的计算方法由于是现有的一种通用算法,实现程序不详细介绍。具体实施时可参考文献:李少远,王景成。智能控制[M],机械工业出版社,2005。

具体使用时,模糊控制器模块首先在模糊关系计算IP核的复位信号位中写入‘1’,然后再写入‘0’,完成模糊关系计算IP核的复位操作,然后将遗传算法产生的规则写入到规则位中,然后在开始信号位写入‘1’,然后就循环检测模糊关系计算IP核的结束信号位,一旦检测到该信号位为‘1’,表示计算完成,就可以从模糊关系计算IP核的查询表位读取模糊查询表,进行之后的控制;

模糊关系计算IP核在开始信号位为‘1’后开始计算模糊查询表,计算完成后将计算所得模糊查询表放在输出寄存器的模糊查询表位,并置结束信号位为‘1’。

如图4所示,传感器控制IP核SensorCtrl可分为发送采样命令模块、接收采样数据模块和计时模块。传感器控制模块与传感器控制IP核通过寄存器(包括输入寄存器和输出寄存器)通信,传感器控制IP核与无线传感器网络通过串口通信。传感器IP核内部三个模块的工作方式为:发送采样命令模块将采样命令通过串口发送给无线传感器网络,在发送采样命令的同时计时模块开始计时,接收采样数据模块等待接收无线传感器网络中的传感器发送来数据。如果有数据到来,接收采样数据模块通过寄存器告知传感器控制模块读取数据,计时器超时,计时器通过寄存器模块告知传感器控制模块超时。传感器控制模块拥有一个节点集合,该集合中存放着有效的节点标号和该节点对应的采样命令。要对某一节点采样时,先找到该节点对应的采样命令,然后通过发送采样命令模块发送该采样命令。如果某一节点失效,则从节点集合中删除该节点。当该集合为空时,则表明系统全部节点都失效,系统自动关闭。具体实施时,PowerPC上的传感器控制模块收到超时信号或者分析接收到的数据发现数据不合法,则要求发送采样命令模块重新发送采样命令。可设定重试超过三次,认为该节点失效,去除该节点,修改采样节点集合,进行下一节点采样。

实施例中,传感器控制IP核的输入寄存器包括开始位和命令位,输出寄存器包括结束位、超时位和采样数据位;所述传感器控制模块与传感器控制IP核协同完成传感器控制并获取采样数据,实现方式包括以下步骤:

传感器控制模块从节点集合中选择一个节点,将该节点的采样命令写入传感器控制IP核的输入寄存器中的命令位,然后置输入寄存器中的开始位为‘1’,然后循环检测输出寄存器的结束位和超时位;

传感器控制IP核中,发送采样命令模块检测到输入寄存器的开始位为‘1’后,发送输入寄存器中的命令位所提供采样命令,同时计时模块开始计时,采样数据接收模块准备接收数据;当传感器有数据发送回,采样数据接收模块读取该数据,将数据写入输出寄存器的采样数据位,并置结束位为‘1’;

传感器控制模块检测到传感器控制IP核中输出寄存器的结束位为‘1’后,从输出寄存器读取该数据,分析数据,如果数据不合法,则采样不成功,增加失败次数并重新采样;

传感器控制IP核中,计时模块的计时器到时后,置输出寄存器的超时位为‘1’;传感器控制模块检测到超时位为‘1’而结束位为‘0’,增加失败次数并重新采样;

当某节点采样失败次数超过设定次数,从传感器控制模块的节点集合中去除该节点,节点集合为空后,关闭系统。

如图5所示,将在线演化模糊控制器的运行过程分为四个阶段:系统初始化阶段、宏调阶段、微调阶段和信息保存阶段。

实施例在非易失性存储器中存储有四个文件,即info.dat、init.dat、popu.dat和fit.dat,info.dat存储系统的初始化状态;init.dat存储遗传算法的初始种群;popu.dat存储系统当前种群信息;fit.dat存储popu.dat中系统当前种群的适应值。因此系统允许从选择读取这些提供系统信息的文件开始。如图6所示,系统初始化过程为首先由遗传算法模块读取非易失性存储器中的info.dat文件,然后检查info.dat文件中的初始化位,如果初始化位为‘0’,则遗传算法的种群从popu.dat读取,种群的适应值从fit.dat中读取;如果系统的初始化位为‘1’,则遗传算法的种群从init.dat读取,种群的适应值全部置为一个大数(选择大数的具体范围可视应用情况而定,因为本实施例的种群的适应值是一个16位二进制的数,因此置为0xffff)。初始化后进入宏调阶段。

本发明是按照模糊控制器特性将模糊控制过程分为宏调阶段和微调阶段,在宏调阶段的目标是将控制对象从初态调节至设定目标的预设误差范围(建议设置在设定目标的±5%)内;在微调阶段则是将控制对象在宏调阶段所得结果基础上微幅调节,以便进一步提高精度。假如控制对象的初态和设定目标的差的绝对值为d,具体实施时,可设定微幅调节就是在设定目标的±10%d的范围内调节。实施例中控制对象为温度,遗传算法的适应值分为两个部分,宏调适应值和微调适应值,宏调适应值为系统初始化到将温度调节至设定温度的预设误差范围内的时间。微调适应值为在设定的运行时间内,采样温度和设定温度的误差积累。在调节的过程中记录遗传算法个体基因片段的使用情况,在个体替换时,只替换控制过程中使用到的片段。

如图7所示,在系统的宏调阶段,先由遗传算法模块(记为GA)产生一个新个体,模糊关系计算IP核通过该个体(即产生模糊逻辑控制器的控制规则,本发明简称模糊控制规则)计算模糊查询表。然后,传感器控制模块开始数据采样(与传感器控制IP核协同实现),数据采样完毕后模糊控制器模块对采样的数据进行模糊运算,将计算所得的控制量输出。如果采样数据显示控制对象已达设定目标的设定的误差范围之内,将系统初始化到当前的运行时间作为前面遗传算法产生的个体的适应值,遗传算法模块根据替换策略进行个体替换,宏调阶段结束。否则继续采样及控制的循环,直到采样数据显示已达设定目标的设定的误差范围之内,宏调阶段结束。

如图8所示,在系统的微调阶段,先由遗传算法模块(GA)产生一个新个体,模糊关系计算IP核通过该个体生成模糊查询表。通传感器控制模块开始数据采样,数据采样完毕后模糊控制器模块对采样所得数据进行模糊运算,将计算所得的控制量输出并计算误差积累。如果先前遗传算法模块产生的个体生成的模糊查询表控制运行时间超过指定的时间,遗传算法模块根据替换策略进行个体,替换。如果停机位为‘0’,返回GA产生新个体循环执行。如果停机位为‘1’,微调阶段结束。进入信息保存阶段。具体实施时,停机位也可以采用硬件IP核实现,即在其他外设(Other slaves)中包含一个用于关闭系统的IP核,该IP核有一个寄存器,该寄存器通过引脚绑定到FPGA上的一个开关。该寄存器包含一个停机位,开关的‘开’‘关’状态反映在寄存器中的停机位是‘1’和‘0’。这样使用者可以通过开关方便地控制系统是否运行。

第四阶段为信息保存阶段。遗传算法模块将全部种群和适应值写回非易失性存储器。如果info.dat的初始化位为‘0’,改写该位为‘1’。可见,本发明实施例用初始化位为‘0’和‘1’分别标志是否进行过在线演化。

本发明保护范围不限于以上实施例,任何等同方案也应当属于其中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号