这个示例使用systune
控制手推车上的倒立摆。
购物车/摆组件如图1所示,并使用Simscape™Multibody™在Simulink®中建模。金宝app
图1:推车上的倒立摆
图2:Simscape多体模型
该系统通过施加可变力来控制在购物车。当推车移动到一个新的位置或当摆被向前推(脉冲扰动)时,控制器需要保持摆垂直).
直立位置是倒立摆的不稳定平衡。电厂的不稳定特性使控制任务更具挑战性。对于本例,使用以下两个回路控制结构:
开放式系统(“rct_pendulum.slx”) set_param (“rct_pendulum”,“SimmechanicsOpenEditorUpdate”,“关”);
内环使用二阶状态空间控制器使钟摆稳定在垂直位置(控制),而外回路使用比例微分(PD)控制器控制小车位置。您使用PD而不是PID控制器,因为电厂已经提供了一些整体动作。
使用调谐目标
指定所需闭环行为的要求。指定3秒的响应时间,用于跟踪小车位置的设定点变化.
%x命令的跟踪req1 = TuningGoal。跟踪(“外部参照”,“x”3);
充分抑制脉冲干扰在摆锤顶端,使用以下形式的LQR惩罚
这强调了一个小的角度偏差并限制了控制努力.
脉冲干扰抑制率Qxu = diag([16 1 0.01]);req2 = TuningGoal。LQG (“dF”,{“θ”,“x”,“F”} 1 Qxu);
为了稳健性,在工厂输入处需要至少6db的增益裕度和40度的相位裕度。
%稳定裕度req3 = TuningGoal。利润(“F”,6,40);
最后,约束闭环极点的阻尼和固有频率,以防止不稳定或欠阻尼瞬态。
%杆位置MinDamping = 0.5;MaxFrequency = 45;req4 = TuningGoal.Poles (0 MinDamping MaxFrequency);
闭环系统对于PD和状态空间控制器(1和2)的初始值是不稳定的分别)。您可以使用systune
要联合调整这两个控制器,请使用slTuner
接口,用于指定可调块并注册设备输入F
作为测量稳定裕度的分析点。
ST0=单反调谐器(“rct_pendulum”,{“位置控制器”,“角度控制器”});addPoint (ST0“F”);
接下来,使用systune
调整PD和状态空间控制器以满足上述性能要求。根据稳定裕度和极点位置约束(硬要求)优化跟踪和抗干扰性能(软要求)。
rng(0) Options = systuneOptions(“RandomStart”5);[ST, fSoft] = systune(ST0,[req1,req2],[req3,req4],Options);
最终:软=1.36,硬=0.9982,迭代次数=274最终:软=1.44,硬=0.99907,迭代次数=154最终:软=1.44,硬=0.99859,迭代次数=293最终:软=1.26,硬=0.99958,迭代次数=283最终:软=1.44,硬=0.99753,迭代次数=272最终:软=1.26,硬=0.99997,迭代次数=236
最佳设计在满足硬需求的同时,软需求的值接近于1 (硬
< 1)。这意味着调谐控制系统在满足稳定裕度和极点位置约束的情况下,几乎达到了跟踪和抗扰的目标性能。
使用viewGoal
进一步分析最佳设计如何满足每个需求。
图(“位置”,[100 100 575 660])视图目标([req1,req3,req4],ST)
这些图确认前两个要求几乎得到满足,而后两个要求得到严格执行。接下来,绘制对位置阶跃变化和小车上的力脉冲的响应。
T=getIOTransfer(ST{“外部参照”,“dF”},{“x”,“θ”});图(“位置”,[100 100 650 420]);次要情节(121),步骤(T(: 1), 10)标题(“跟踪设定点的位置变化”)子图(122),脉冲(T(:,2),10)标题(“脉冲干扰抑制”)
响应平稳,达到所需的稳定时间。检查控制器的调谐值。
C1 = getBlockValue(圣“位置控制器”)
名称:Position_Controller并联的连续时间PDF控制器。
C2=zpk(getBlockValue(ST,“角度控制器”))
C2 (s + 4.317) = -1616.6 (s + 12.9 ) -------------------------- ( s + 135.3) (s - 14.31)名称:Angle_Controller连续时间零/钢管/增益模型。
注意,角度控制器有一个不稳定极点,它与工厂不稳定极点成对,以稳定倒立摆。要看到这一点,在植物输入处获得开环转移并绘制根轨迹。
L = getLoopTransfer(圣,“F”1);图rlocus (L)集(gca,“XLim”20 [-25],“YLim”20 [-20])
为了完成验证,将调整后的值上传到Simulink中,模拟小车/摆总成的非线性响应。金宝app下面是模拟结果的视频。
writeBlockValue (ST)
图3:带调谐控制器的小车/摆锤模拟。
模拟后关闭模型。
设置参数(“rct_pendulum”,“SimmechanicsOpenEditorUpdate”,“上”); 封闭系统(“rct_pendulum”,0);
systune
(金宝app仿真软件控制设计)|slTuner
(金宝app仿真软件控制设计)