使用使能子系统实现控制算法
此示例显示如何使用启用的子系统来实现基于二进制逻辑信号的控制算法。当二进制信号具有值时,启用的子系统执行并实现控制算法。在这个示例中,超扭转控制算法用于稳定不稳定的动态系统。超扭转算法是一种众所周知的滑模控制技术,具有鲁棒性好的特点。
打开模型。
mdl = "enablesub.slx";
open_system(mdl)
动态系统
所考虑的动态系统由以下方程控制:
是控制输入, 是外部干扰。
控制器和控制信号
控制输入()有两个组件, 和 ,由超扭曲算法控制。 的这个基于逻辑的设计是使用启用子系统实现的。
、 和 。这些参数是从模型回调参数 PreLoadFcn 加载的。
运行仿真并可视化结果
运行仿真并使用 Scope 模块和 Simulink 数据检查器可视化结果。
out = sim(mdl);
可视化控制器输入
Simulink 数据检查器根据二进制信号显示子系统输出。输出 和 是控制器增益 的两个分量。
包含 的子系统在 0 到 1.8 秒之间以及 3 到 5 秒之间启用。
包含 的子系统在 1.8 到 3 秒之间以及 5 到 15 秒之间启用。
状态输出
状态输出表明控制器使系统稳定。
另请参阅
Enabled Subsystem | From | Goto | Integrator | Saturation
主题
参考
[1] Shtessel, Yuri, Christopher Edwards, Leonid Fridman, and Arie Levant. "Sliding mode control and observation." Vol. 10. New York: Springer New York, 2014. https://link.springer.com/book/10.1007/978-0-8176-4893-0