主要内容

控制推车上的倒挂摆

这个例子用途Systune.倒立摆控制手推车上的倒立摆

摆型/推车组件

CART / PENDULUM组件如图1所示,使用SIMVESCE™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.tracking(“xref”'X',3);

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

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

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

%抑制脉冲障碍DFqxu = diag([16 1 0.01]);req2 = tuninggoal.lqg('df', {'theta''X''F'},1,qxu);

对于稳健性,在工厂输入需要至少6 dB的增益余量和40度的相余量。

%稳定利润req3 = tuninggoal.margins('F'6、40);

最后,限制闭环磁极的阻尼和固有频率,以防止混蛋或欠扰的瞬变。

%极点位置造白= 0.5;maxfrequency = 45;REQ4 = TuningGoal.poles(0,造版,MaxFrequency);

控制系统调整

闭环系统在PD和状态空间控制器(1和$ 2 / s $, 分别)。您可以使用Systune.联合调优这两个控制器。使用SLTUNER.接口指定可调块并注册植物输入F作为测量稳定性边缘的分析点。

ST0 = slTuner ('rct_pendulum', {位置控制器的“角控制器”});addpoint(st0,'F');

下一步,使用Systune.调整PD和状态空间控制器,根据上面指定的性能要求。优化符合稳定性边缘和极点定位约束(硬要求)的追踪和干扰抑制性能(软件)。

RNG(0)选项= SystuneOptions('OrmyStart'5);[ST,FSOFT] = SYSTUNE(ST0,[REQ1,REQ2],[REQ3,REQ4],选项);
最终:Soft = 1.38,硬= 0.99548,迭代= 248 Final:Soft = 1.44,硬= 0.9992,迭代= 140最终:软= 1.44,硬= 0.9999,迭代= 317 Final:Soft = 1.28,硬= 0.9991,迭代= 264 Final:Soft = 1.44,硬= 0.99957,迭代= 253 Final:Soft = 1.26,硬= 0.99985,迭代= 257

最好的设计实现了靠近1的值,以满足硬要求(难的<1)。这意味着调谐控制系统几乎达到了跟踪和扰动抑制的目标性能,同时满足稳定性边缘和极点定位约束。

验证

使用viewgoal.进一步分析最佳设计如何满足每一个需求。

数字(“位置”,[100 100 575 660])视图目标(req1,req3,req4)

这些地块证实,前两个要求几乎得到了满足,而后两个要求得到了严格执行。接下来,绘制对位置的步长变化和对手推车上的力脉冲的响应。

T = getIOTransfer (ST, {“xref”'df'},{'X''theta'});数字(“位置”,[100 100 650 420]);子图(121),步骤(t(:,1),10)标题('追踪定点变化位置')子图(122),脉冲(t(:,2),10)标题(“脉冲干扰的抑制”

响应是平滑的与期望的安定时间。检查控制器的调优值。

c1 = getblockvalue(st,位置控制器的
C1 = s Kp + Kd * -------- Tf*s+1 with Kp = 5.98, Kd = 2.07, Tf = 0.0518
C2 = zpk (getBlockValue(圣“角控制器”)))
C2 (s + 12.75) = -1605.6 (s + 4.435 ) --------------------------- ( s + 134.9) (s - 14.14)名称:Angle_Controller连续时间零/钢管/增益模型。

注意,角度控制器具有不稳定的杆,其与植物不稳定杆对进行稳定倒摆。要查看此功能,请在工厂输入中获取开环传输并绘制根轨迹。

l = getlooptransfer(st,'F',-1);图Rlocus(L)集(GCA,“XLim”,[ -  25 20],'ylim',[ -  20 20])

要完成验证,请将调谐值上传到Simulink并模拟购物车/摆动组件的非线性响应。金宝app结果模拟的视频显示在下面。

writeblockvalue(st)

图3:带有调整控制器的推车/摆模拟。

仿真后关闭模型。

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

也可以看看

(金宝appSimulink Control Design)|(金宝appSimulink Control Design)

相关的话题