如何让闭环控制参数调节事半功倍

描述

闭环控制系统是现代自动控制系统的一种典型结构,其原理是把控制系统输出量通过一定方法(一般为传感器)反送回系统的输入端,然后将反馈信息与原输入指令进行比较,再将比较的结果施加于系统进行控制,避免系统偏离预定目标。

构型和参数对闭环控制系统的性能好坏起着决定性的作用,选择合适的构型,找出最佳的控制参数,也是控制工程师夜以继日追求的目标。

在所有开发阶段,MATLAB 和 Simulink 都为控制系统工程师量身定做了一系列的工具,这其中自然也包括了设计和调节反馈控制器。

在这个阶段,工程师期望工具能够帮助分析闭环控制的关键性能参数,如超调量、上升时间和稳定裕度,配平和线性化非线性模型,分析不确定因素对于模型性能和稳定性的影响等等。

这些功能被 MathWorks 集成在 Simulink Control Design 中,从而方便用户利用波特图、根轨迹图和其他线性或非线性控制设计方法,使用预置工具自动调节多变量控制器,满足上升时间和超调量等约束条件。

Simulink Control Design 在最近的 MATLAB 版本中进行了较大更新,以满足日益增长的用户需求。

在本文中,我们将通过列举一些重要的功能更新和增强,阐述 MathWorks 的解决方案如何使您的闭环控制参数调节事半功倍。

Simulink Control Design 概述

Simulink Control Design 是为控制工程师在 Simulink 环境下进行闭环控制器设计所量身打造的工具。

用户可以基于在 Simulink 下建立的被控对象模型,开展闭环控制器的设计,或者基于 Simulink Control Design 提供的丰富资源与案例库,快速搭建闭环控制算法原型,并通过自动代码生成直接部署到硬件进行调整与测试,实现快速原型迭代。

Simulink Control Design 本身支持多种类型的闭环控制构型,包括:

比例-积分-微分(PID)

增益调度

超前-滞后补偿

单输入单输出(SISO)控制

多输入多输出(MIMO)控制

为了上述闭环控制器参数的调节,Simulink Control Design 还支持对 Simulink 被控对象模型进行工作点计算(配平)、线性化和频域响应估计等工作,以帮助用户获取合适的被控对象模型来进行控制参数的自动调节和仿真验证。

对于已经在 Simulink 环境下建立对象模型的用户,Simulink Control Design 可以提供灵活的交互式应用,帮助计算稳态工作点并实现在各种工作条件下的精确线性化。

同时,在不修改模型的情况下计算基于仿真的频率响应,以适应解析线性化不适用的情况(如带有开关器件的电力电子对象)。     

对于仅有实际物理对象而无法建立Simulink模型的情况,用户可以利用 Simulink Control Design 中封装好的模块库(Library)与案例(Example),快速搭建复杂结构的控制算法模型,包括多输入多输出控制算法,或者自适应控制算法,并通过自动代码生成的方式直接部署到实际系统中,进行快速原型迭代或在线自动参数调节。 

Simulink Control Design 的核心价值和重要更新

Simulink Control Design 提供了连接非线性 Simulink 对象模型与控制理论,特别以线性系统为核心的经典控制理论的绝佳桥梁。

它大幅减少了客户在此过程中所需要做的繁重工作,比如线性化 Simulink 模型,在桌面端设计与分析控制器,并最终部署到硬件运行。

在最近的几个 MATLAB 版本中,Simulink Control Design 进行了大幅的更新。在控制设计方面,我们首先收到了众多用户对于更先进、更智能的控制算法的应用需求。

于是在 R2021a 和 R2021b,Simulink Control Design 改善了对自适应控制算法的支持,推出了封装好的、直接可用的两个自适应模块:极值搜索控制(Extremum Seeking Control)模块和模型参考自适应控制(Model Reference Adaptive Control)模块。

自适应控制是一种能够适应动态变化过程的控制器,适用于被控对象在运行过程中动态特性变化大且带有不确定性的情况。自适应控制器内部存在着某种学习机制,可以根据系统的运行状态来自动更新控制参数,以实现更好的控制性能。

模型参考自适应控制器(MRAC)是一种典型的自适应控制器,其通过内部的学习机制,持续优化控制器的参数以抵消系统不确定性的影响,利用反馈和前馈增益,保证闭环系统的响应跟随一个用户预先定义好的参考模型。

控制器

图 4-模型参考自适应控制(MRAC)原理

MRAC 适用于被控对象模型未知,且存在一定不确定性扰动的情况。目前,在航空航天,汽车、能源等领域,已经有了一些 MRAC 的应用案例,在 R2021b 中,MATLAB 也提供了一个三角翼飞机在发生机翼摇摆时的滚转/滚转率控制案例。以展示在系统模型未知的情况下,如何使用 MRAC 使受控系统匹配理想的参考模型。

更多有关 MRAC 案例的详情,可参阅 MATLAB 软件的帮助文档:https://ww2.mathworks.cn/help/slcontrol/ug/model-reference-adaptive-control-of-aircraft-undergoing-wing-rock.html。

对于被控对象模型(特别是用于闭环控制调参的线性模型)很难获取的情况,Simulink Control Design 也希望用户能够利用其它方法,设计出性能满足要求的闭环控制器。

以工程应用最为广泛的 PID 控制器为例,MATLAB 自 R2018a 版本开始逐步完善“在线自动参数调节(Open-Loop PID Autotuner/ Closed-Loop PID Autotuner)”模块的功能,该模块允许用户直接针对实际的物理设备实时调节PID控制器的参数。

结合自动代码生成,用户可以直接将实现参数调优算法的代码部署到硬件上,使得后续参数调优的过程在摆脱 Simulink 的真实硬件环境下进行。

针对电机控制这一应用广泛的场景,MATLAB 在 R2020a 中,推出了 Motor Control Blockset,其中包含了磁场定向控制(FOC)参数的在线自动调节模块,用户现在可以根据 Motor Control Blockset 所支持的硬件规格,将FOC在线自动调节模块生成代码部署到真实硬件,轻松完成电机 FOC 闭环控制中转速、电流和磁通回路(flux loops)参数的调节。

在以电力电子为例的领域中,由于系统中带有开关等强非线性组件,从时域获取被控对象的响应特性比较困难,这时我们需要通过频域响应估计的方式来设计闭环控制器。

Simulink Control Design 同样也支持用户通过 MATLAB 软件来完成这一工作。该工作可以基于非线性 Simulink 模型,在仿真环境下开展,也可以通过自动代码生成,激励实际的物理对象来实现。

在第二种模式下,频域响应估计模块将信号注入实际被控对象并测量试验输出,以实时测量物理设备的频率响应。

在从 R2020a 到 R2021b 的四个版本中,我们着力改善了频域响应估计的实际使用体验。使用伪随机序列(PRBS)作为估计激励,使用 MATLAB 对像电力电子和通讯系统这样的高频开关系统进行频域响应估计的耗时被大幅缩短。

同时,现在 Simulink Control Design 也具备根据用户需求自动调整 PRBS 信号参数的能力,再加上滤波等手段的应用,用户得到的估计结果质量也会得到提升。

控制器

写在最后

随着系统功能的日益复杂,以及硬件运算能力的快速提升,越来越多的先进控制理论与算法被投入到工程应用当中。

除了本文中提到的自适应控制、在线自动参数调节、频域响应估计等功能,像鲁棒控制、模糊逻辑、模型预测控制、强化学习等以往可能被嵌入式处理器性能极限所拒之门外的算法,都成为了实际工业产品的可选方案之一。

这使得更多的控制工程师把精力投入到了更智能、更复杂的算法本身,而忽略了被控对象本身的响应特性与约束。

在这里,作者也想分享一下自己在行业里被“毒打”多年的心得,即“对被控对象本身的特性了解越多,设计出的控制器性能就会越出色”。

所以,在关注先进控制理论与参数调节方法的同时,别忘了对您的受控系统做一个更加深入、精准的分析哟~

当然,MathWorks 也会继续,为我们的用户在对象建模和控制设计等方面,提供强有力的支持。

除了本文中所述的 Simulink Control Design 工具,如果您对物理对象建模、鲁棒/模糊控制、模型预测控制,甚至是强化学习感兴趣,也欢迎与我们联系!

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分