主要内容

小车上的倒立摆控制

这个示例使用systune控制小车上的倒立摆。

摆/车总成

小车/摆组件如图1所示,并使用Simscape™Multibody™在Simulink®中建模。金宝app

图1:小车上的倒立摆

图2:Simscape多体模型

这个系统通过施加一个可变的力来控制$ F $在购物车。控制器需要保持摆直立,同时移动小车到一个新的位置或当摆向前推动(脉冲干扰dF美元).

控制结构

直立位置是倒立摆的不稳定平衡。电厂的不稳定性使控制任务更具挑战性。对于本例,您使用以下双循环控制结构:

open_system (“rct_pendulum.slx”) set_param (“rct_pendulum”“SimMechanicsOpenEditorOnUpdate”“关闭”);

内环使用二阶状态空间控制器稳定摆在其直立位置(\θ美元控制),而外部回路使用比例导数(PD)控制器控制小车的位置。你使用一个PD而不是PID控制器,因为植物已经提供了一些积分动作。

设计要求

使用TuningGoal要求指定所需的闭环行为。指定3秒的响应时间,用于跟踪购物车位置的设置点变化x美元

%跟踪x命令req1 = TuningGoal。跟踪(“xref”“x”3);

充分拒绝脉冲干扰dF美元在钟摆的顶端,使用LQR惩罚的形式

$ $ \ int_0 ^ \ infty(16 \θ^ 2 (t) + x ^ 2 (t) + 0.01 F ^ 2 (t)) dt $ $

这强调了一个小的角度偏差\θ美元限制了控制的努力$ F $

%脉冲干扰抑制Qxu = diag([16 1 0.01]);req2 = TuningGoal。LQG (“dF”, {“θ”“x”“F”} 1 Qxu);

为了稳健性,需要至少6 dB的增益裕度和40度的相位裕度在植物输入。

%稳定利润req3 = TuningGoal。利润(“F”6、40);

最后,约束闭环极点的阻尼和固有频率,以防止突跳或欠阻尼瞬态。

%杆位置MinDamping = 0.5;MaxFrequency = 45;req4 = TuningGoal.Poles (0 MinDamping MaxFrequency);

控制系统优化

闭环系统对于PD和状态空间控制器(1和2美元/ s $分别)。您可以使用systune来联合调优这两个控制器。使用slTuner接口来指定可调块并注册植物输入F作为测量稳定性裕度的分析点。

ST0 = slTuner (“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进一步分析最佳设计如何针对每种需求。

图(“位置”viewGoal([req1,req3,req4],ST)

这些图确认了前两个要求几乎得到了满足,而后两个严格执行。接下来,绘制对位置上的一步变化和对小车上的力脉冲的响应。

T = getIOTransfer (ST, {“xref”“dF”},{“x”“θ”});图(“位置”,[100 100 650 420]);次要情节(121),步骤(T(: 1), 10)标题(“跟踪设置点位置变化”subplot(122), impulse(T(:,2),10) title(“抑制冲动干扰”

在期望的稳定时间内,响应是平滑的。检查调优的控制器值。

C1 = getBlockValue(圣位置控制器的
C1 = s Kp + Kd * -------- Tf*s+1与Kp = 5.9, Kd = 1.93, Tf = 0.051名称:Position_Controller连续时间PDF控制器并行形式。
C2 = zpk (getBlockValue(圣“角控制器”))
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:带有调谐控制器的小车/摆仿真。

仿真完成后关闭模型。

set_param (“rct_pendulum”“SimMechanicsOpenEditorOnUpdate”“上”);close_system (“rct_pendulum”, 0);

另请参阅

(金宝app仿真软件控制设计)|(金宝app仿真软件控制设计)

相关的话题