图形化控制系统设计与仿真工具

2015-12-20 06:57霍占强李晓君王志衡
计算机工程与设计 2015年9期
关键词:图形化控制算法工具

霍占强,李晓君,邓 超,王志衡

(河南理工大学 计算机科学与技术学院,河南 焦作454003)

0 引 言

如何针对具体的复杂对象在众多控制算法中选择最合适的算法达到严苛条件下高精度快响应的高目标,成为工程技术人员面临的一个难题。

国内外已研发的可用于控制系统建模、控制算法设计与仿真的典型工具有很多,文献 [1-4]中所用的仿真软件虽能进行动态系统建模及控制律设计仿真,但不是专门针对控制算法设计与验证,使用时用户需进行二次编程开发,控制算法设计复杂,工作量大,不适合技术人员实现快速高效定制与仿真。因此设计并开发一种适用于工程技术人员的一体化建模及控制算法开发验证工具,即仅需进行图形化操作而不需要进行任何二次编程开发的仿真实验工具具有重要实践意义。

本文在分析控制问题与方法特征间的映射关系的基础上,提出一种图形化控制系统设计与仿真工具并进行实现,以达到精确建模和高效仿真的目的。与上述仿真工具相比,本文设计的仿真工具能针对不同控制问题提供合适的控制算法模块并迅速搭建仿真模型进行验证,简化了建模过程,操作也更为简便。

1 控制方法集成体系

近些年来,新的控制思想和方法不断涌现,特别是随着计算机技术的发展与普及,信息处理能力大大加强,解决高维大系统控制、优化问题的大系统理论,解决带有不确定性控制问题的鲁棒/自适应控制理论及解决难以数学建模系统控制问题的智能控制理论等都成为自动化研究领域中新的热点。这些控制方法具有各自的特点与优势,适用于不同的控制问题。如何熟练掌握各类控制方法,结合控制对象的具体特点,提出创新的控制解决方案,是广大自动化领域科研人员和技术人员面临的重要难题。自动化学科已经产生多种先进的控制方法,取得了多种成功的应用,但对各类先进控制方法的典型特征及适应性还缺乏系统的总结,不利于各种方法有针对性的应用及整体优势的发挥。因此通过对多种先进控制方法进行适当的凝练,并结合系统建模技术,形成了一套完整的先进控制方法集成体系。其研究思路为归纳控制问题特征、凝练控制方法特征及建立特征-方法映射,梳理控制问题解决流程,构建控制方法集成体系。

1.1 特征归纳与方法凝练

特征归纳是指从复杂控制对象的众多控制问题中归纳出问题的特征,建立问题特征集合。首先,从倒立摆控制、机械臂控制、双容水箱控制、四旋翼控制等多种具体复杂对象的控制问题中整理和归纳出它们的共性特征,例如:快时变、强耦合、非线性、多变量、高阶次等,如表1 所示。其次,将上述这些控制问题的共性特征进一步抽象化,尝试用一个或者几个数学解析表达式来描述。最后,建立复杂对象控制问题的特征集合。

表1 控制模型特征的归纳

控制方法凝练指从古典控制理论、现代控制理论以及智能控制理论等已有控制方法和最新控制方法研究成果中凝练出先进控制方法的特征。首先,在传统的线性控制和非线性控制的基础上,对滑模控制[5]、模糊控制[6]、非线性动态逆控制[7]、自抗扰控制[8]等多种先进、智能控制方法进行适当的凝练,分析各种算法的优缺点 (如对检测数据的学习能力、自适应能力、鲁棒性等)及其适用对象的范围与对各种控制问题的控制能力。其次,从中整合出具有针对性的功能结构,例如:可以提供学习能力和高逼近性能的径向基函数神经网络结构、可以提供解耦与线性化能力的逆系统结构等。最后,建立控制方法与控制特征之间的对应关系,见表2。

表2 控制方法的凝练

1.2 建立特征-方法映射

在控制问题特征归纳和控制方法凝练的基础上,建立控制问题特征与控制方法之间的映射关系。映射关系的示意图,如图1所示。控制问题特征与控制方法之间为多对多的关系,即一个控制问题特征对应多个控制方法,一个控制方法可能满足多个控制问题的特征。

图1 特征方法映射

具体操作步骤如下:首先,针对复杂对象的控制问题集合和控制方法集合,在领域专家的帮助下,建立初步的特征-方法对应关系;其次,经过反复实验,对特定控制方法解决特定控制问题的解决方案给出评价,如优缺点、效率等;最后,考虑不断涌现的最新控制问题,引入控制方法的最新研究成果,对特征-方法对应关系进行扩充,建立完备的特征-方法映射关系。

1.3 构建控制方法集成体系

控制方法集成体系包括3部分内容:精密感知、精确建模和先进控制,其关系如图2所示。首先,通过精确感知系统感知外部环境相关物理量和控制对象的状态;其次,结合感知数据和多源知识,采用离线训练、在线学习的方式建立系统的精确模型;再次,针对控制对象精确模型的特征,查找特征-方法映射,选择合适的控制结构和方法;最后,控制对象产生新的状态,并被精密感知系统所感知,形成控制的良性循环。

控制方法集成体系类似于发明问题解决理论 (TRIZ)中的冲突解决理论。集成体系中的问题特征集合相当于冲突解决理论中的通用工程参数,集成体系中的特征—方法特征集合相当于冲突理论中的冲突矩阵,集成系统中的先进控制方法集合相当于冲突理论中的发明原理。

图2 控制方法集成体系结构

2 仿真工具的设计

2.1 系统架构设计

系统架构设计采用了分层的设计思想,分为用户界面层 (UI层),仿真控制层,业务逻辑层,执行层四层。层次之间的关系以及各层的主要职责,如图3所示。

图3 系统架构设计

用户界面层 (即UI层),采用Winform 和WPF 技术实现,为用户提供友好的可视化操作平台。用户可在前台界面执行控制模块选择、模块及仿真参数设置、仿真模型搭建、运行并显示仿真结果等操作,该层负责响应用户操作展示仿真结果。

仿真控制层,采用C#编程技术实现,负责获得模型参数、封装仿真模型、调用业务逻辑层、返回仿真结果等。获得模型参数指读取用户界面层传递的模型参数,包括仿真模块参数和系统仿真参数;封装仿真模型指用户在UI层搭建的控制系统封装为自定义的仿真模型,考虑到仿真模块库的可扩展性,系统采用了基于xml格式的可扩展模块库设计方案,使用xml配置文件保存相关参数设置。此外,该层还负责调用业务逻辑层,并传递仿真模型数据,以及将仿真结果数据返回给用户界面层。

业务逻辑层的相关功能也是由C#编程技术实现,负责解析仿真控制层传递的仿真模型数据、实现xml格式仿真模型到Simulink可识别的mdl格式仿真模型之间的转换、调用执行层、向仿真控制层返回仿真结果数据。

执行层由MATLAB 引擎和Simulink 服务实现,该层负责接收业务逻辑层传递的每一条仿真指令,并依次执行,将执行结果存入workspace,将workspace中的数据返回业务逻辑层,然后返回仿真控制层,最终由用户界面层的MSChart技术负责展示仿真结果。

2.2 功能模块设计

仿真工具的功能模块设计如图4所示,包括实验方案管理、模块库管理、建模过程管理、仿真结果管理、仿真辅助工具功能模块。

图4 功能模块设计

(1)实验方案管理:实验方案管理模块实现用户自定义方案的打开、保存功能。一个方案即一个xml格式的模型文件,存储了实验方案所用模块的输入参数、输出参数、属性以及模块间的连接关系等。

(2)模块库管理:模块库管理模块实现对控制系统仿真类库的分类集成与显示,在软件安装时完成已开发模块的分类自动添加,以及用户对自定义模型和方案的自主添加。

(3)建模过程管理:建模过程管理模块主要实现常规的模块操作,完成建模过程。具体实现功能为模块的拖放,模块与模块之间的连接与定位,建模区域内选中模块后能够进行的相关功能操作,模块的封装和分解,对典型控制系统的一级子系统查看以及对模块完备性的检测功能等。

(4)仿真结果管理:仿真结果管理模块实现仿真模型运行和实验结果的图形化展示功能。用户通过对模块参数和仿真参数的修改可以观察仿真实验结果的变化,实时地展现实验运行过程和实验结果并将实验结果数据传入工作空间。

(5)仿真辅助工具:仿真辅助工具模块实现了命令行操作和半物理仿真,提供帮助文档以及模糊控制工具。用户可通过命令窗口输入命令,通过半物理仿真接口实现软件和硬件之间的交互实验,调用模糊控制工具来辅助仿真操作。

3 仿真工具实现

控制系统仿真工具主界面如图5所示。主要分为6个工作区域,分别是菜单及工具栏、仿真类库、建模窗口、工作空间、命令窗口、结果窗口。

图5 仿真工具主界面

3.1 模块库管理模块

模块库管理模块完成仿真模块的分类集成,以控制方法集成体系为基础将各个仿真模块分类集成在各个模块库中,如图6所示。

图6 仿真类库的集成显示

仿真类库中包含模型库,建模方法库,控制算法库,典型控制系统库,基本模块库以及串口通信库。以控制算法库为例,该库在控制方法集成体系基础上集成了33种先进控制算法模块,涵括了各类PID 控制算法,LQR 控制算法和极点配置控制算法在内的线性控制算法,以及不同种类的动态逆算法,自适应控制算法,滑模控制算法等各类控制算法。用户采用控制算法时,只需根据情况直接调用控制算法模块进行模型搭建,简单设置合适的模块参数后即可运行实现系统仿真。若利用Simulink进行仿真,Simulink的库浏览器中虽然包含大量不同类型的模块库,但都只提供了基本元件方块图,需要用户去研究控制算法、设计控制算法结构,再搭建框架图来实现控制算法,期间需要编写大量m 文件来实现控制算法。仿真工具将控制算法封装成图形模块集成在模块库中,使得用户从繁琐的数学建模中解放出来从而专注于控制系统本身的设计,且不需要编写任何程序代码。图7为一个应用实例的模型结构框图,用户只需设置模块参数及仿真参数即可仿真运行结果,极大简化建模过程。图中的SMC_Pow 为封装好的基于幂次趋近率滑模控制算法模块,该模块针对形如的二阶单输入单输出系统的状态跟踪控制。其中模块输入:F:系统状态函数f(x,x),G:系统控制函数g(x,x),x:被控状态,xd:指定状态。模块输出:u:控制量。

图7 基于幂次趋近率滑模控制算法应用模型结构框架

3.2 建模过程管理模块

建模过程管理模块实现仿真过程中模块的添加、删除、重命名、属性设置等常规功能,以及模型的完备性检查、模块的封装分解和典型控制系统的一级子系统查看功能。

搭建仿真模型的主要操作包括:①在仿真类库中选择仿真模块放置在建模窗口中;②通过工具栏上的 “连接”实现模块间的连线功能;③在建模窗口中对模块进行拖拽,调整模块和连线到合适的位置;④通过右键菜单的属性选项完成属性参数的设置;⑤对复杂的控制系统可以应用封装子系统功能,选择需要进行封装的模块集合,单击右键菜单中的 “封装子系统”,对模块进行封装,且封装和分解操作是可逆的;⑥进行模型完备性检查,若模型不完备时,模块周围将有红色虚线警示。

在系统所提供的典型控制系统中,包含已封装好的闭合模型,这些闭合模型都是基于控制方法集成体系且经过实践验证的控制系统。图8 为典型控制系统BallBeam _LQR 的一级子系统的内部结构。

图8 典型控制系统BallBeam_LQR 一级子系统

仿真模型中的所有信息存储为xml格式的模型文件,使用XML DOM 分析器[9]完成DOM 模型的解析,实现DOM模型到Simulink中mdl模型的转换,从而完成建模仿真。

3.3 实验方案管理模块

实验方案管理模块主要实现用户自定义方案的打开、保存功能。实验方案采用xml格式存储,用户可在建模窗口中搭建模型完成实验方案的设计,通过工具栏上的 “保存”将实验方案存储至本地磁盘。对于已有的实验方案,通过工具栏上的 “打开”进行读取。

仿真模型是仿真分析的对象,而仿真模块是构造模型的基础。模型中通常包含多个功能模块和模块间的连接关系等。系统采用基于xml格式文件对模型内部数据进行存储和描述,简化数据共享与数据传输[10]。文件结构主体设计如下:

3.4 仿真结果管理模块

仿真结果展示模块用于显示控制系统的运行结果,实现实验结果的图形化展示。分为图形化显示和工作空间数据两种显示方式。图形化显示方式是用一条或多条仿真曲线展示仿真结果,仿真曲线的横坐标为时间,纵坐标为输出模块输出端子的数值。用户可对仿真结果图进行放大缩小以及保存操作。工作空间数据方式用表格形式展示仿真结果数据,且可导出数据至本地磁盘。

图形化方式的仿真结果展示采用MSChart组件实现。若在Simulink中进行仿真后,需选择相应示波器查看仿真结果,导出数据图像时还需后续的一些操作。与之相比,仿真工具的仿真结果根据仿真数据进行绘制,保证了仿真结果的准确性,同时更加直观,便于进行结果对比和仿真结果的导出和保存。图9 为图7 所示模型分别采用两种控制算法的仿真结果,其中scope 和scope3所示结果分别是采用基于幂次趋近率的滑模控制算法和基于等速趋近率的滑模控制算法的非线性系统控制量曲线。仿真曲线表明滑模控制可实现对给定指令的跟踪,但控制量存在抖动。

4 应用实例

图9 仿真结果展示

典型控制系统是基于控制方法集成体系,针对典型控制问题,经过反复实验,选取较匹配的控制算法,并将控制对象与控制算法一起封装的典型控制系统的集合。典型控制系统模块包含完整的控制问题模型与控制算法,用户只需简单建模,设置参数即可完成对其完成仿真结果的显示。如图10所示,以搭建单级倒立摆LQR Controller控制系统模型为例,典型控制系统SingleInvertedPendulum _LQR 模块能够完整实现单级倒立摆的LQR 控制演示。

图10 单级倒立摆LQR Controller控制系统仿真

LQR 已经成为一种基本的线性系统控制方法。展示模块所运用的LQR 控制算法优点是原理简单,所求取的控制律能使闭环系统满足多项性能指标,模型输出端口为状态向量 珤X =(φ,φ,x,x),分 别 为 倒 立 摆 摆 角,摆 角 角 速 率,小车位移,小车速度。通过选择不同的控制矩阵Q 和R 能灵活地改进控制性能,进一步验证了仿真工具和控制方法集成体系的有效性。如图10所示,用户无需再考虑算法设计与实现,只需将控制系统模块拖入新建窗口,输出端口接4个示波器,分别显示倒立摆摆角,角速率,小车位移和速度。右键选中模块选择属性选项打开控制参数输入对话框,在其中输入倒立摆质量,摆长,小车质量,初始状态向量,状态权重向和控制权重向量,运行仿真模块即可完成仿真。其结果显示在结果窗口区域中,可单击选择对应图片进行相关操作。主界面工作空间窗口,即可查看仿真数据,通过工具栏 “导出数据”可把数据以txt或excel格式存储在本地磁盘中。

5 结束语

本文给出控制问题特征归纳、控制方法凝练、建立特征-方法映射等构建控制方法集成体系的具体步骤。基于控制方法集成体系,阐述了图形化控制系统设计与仿真工具的架构设计和功能模块设计方案。详细描述了各功能模型的实现效果。最后通过一个典型控制系统展示了在该仿真实验工具中系统模型的图形化设计及仿真流程。与已有仿真工具相比,该图形化控制系统设计与仿真工具基于控制方法集成体系,提供了多种模型,建模方法,控制算法,以及典型控制系统,操作简便,极大简化了建模过程,具有良好的可扩展性和开放性,可作为高校、科研院所自动化等相关专业学生的教学实验工具。

[1]YIN Yunhua,ZHENG Bin,ZHENG Haoxin,et al.A method for modeling and simulation of brushless DC motor control system based on MATLAB [J].Journal of System Simulation,2008,20 (2):293-298 (in Chinese).[殷云华,郑宾,郑浩鑫,等.一种基于MATLAB的无刷直流电机控制系统建模仿真方法 [J].系统仿真学报,2008,20 (2):293-298.]

[2]Alan Duffy,Brian Yates,Hu Yongfeng,et al.Using MapleSim to model a six-strut kinematic mount for aligning optical components [C]//Advances in Computational Methods for X-ray Optics II,2011.

[3]WANG Hongjun,CHEN Jiaxin,HUANG Guogang,et al.Study on simulation for servo press based on multi-domain uniform modeling [J].Journal of System Simulation,2013,25(6):1332-1337 (in Chinese). [王红军,陈佳鑫,黄国钢,等.基于多领域统一建模的伺服压力机仿真研究 [J].系统仿真学报,2013,25 (6):1332-1337.]

[4]Akesson J,Arzen KE,Gafvert M,et al.Modeling and optimization with optimica and JModelica.org-Languages and tools for solving large-scale dynamic optimization problems [J].Computers & Chemical Engineering,2010,34 (11):1737-1749.

[5]LIU Jinkun,SUN Fuchun.Research and development on the oryandalgorithms of sliding mode control [J].Control Theory&Applications,2007,24 (3):407-418 (in Chinese).[刘金琨,孙富春.滑模变结构控制理论及其算法研究进展[J].控制理论与应用,2007,24 (3):407-418.]

[6]JIANG Wenrui,LU Zesheng.Modeling and simulation of micro actuator based on speed change integral fuzzy control[J].Journal of System Simulation,2009,21 (6):1553-1556(in Chinese).[姜文锐,卢泽生.基于变速积分模糊控制的微驱器建模与仿真[J].系统仿真学报,2009,21 (6):1553-1556.]

[7]TAN Xiangmin,YI Jianqiang,ZHAO Dongbin,et al.Simulation research on tracking control for hypersonic aircraft[J].Journal of System Simulation,2011,23 (4):745-749 (in Chinese).[谭湘敏,易建强,赵冬斌,等.高超声速飞行器轨迹跟踪控制仿真研究 [J].系统仿真学报,2011,23 (4):745-749.]

[8]WANG Bingshu,JIANG Ping,LIN Yongjun.Building userdefined block library for active-disturbance-rejection-control technology in SIMULINK [J].Journal of System Simulation,2010,3 (22):610-615 (in Chinese). [王兵树,姜萍,林永君.SIMULINK 中自抗扰控制技术自定义模块库的创建 [J].系统仿真学报,2010,3 (22):610-615.]

[9]WEI Xiaojuan,RAN Jing,LI Aihua,et al.XML parse and application based on DOM [J].Computer Technology and Development,2007,17 (4):86-88 (in Chinese).[蔚晓娟,冉静,李爱华,等.基于DOM 的XML 解析与应用 [J].计算机技术与发展,2007,17 (4):86-88.]

[10]DUAN Chunhu,SHEN Weiqun,SONG Zishan.Application of XML storage structure in simulation database [J].Computer Simulation,2008,25 (2):33-34 (in Chinese).[段春虎,沈为群,宋子善.XML存储结构在仿真数据库中的应用研究 [J].计算机仿真,2008,25 (2):33-34.]

猜你喜欢
图形化控制算法工具
波比的工具
波比的工具
准备工具:步骤:
LKJ自动化测试系统图形化技术研究
基于ARM+FPGA的模块化同步控制算法研究
“巧用”工具
运用图形化听写式复习,构建高效地理课堂
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
图形化地区电网无功优化软件开发与应用
一种非圆旋转工件支撑装置控制算法