这个例子展示了如何使用slTuner
和systune
调整旋翼飞行器的多回路控制器。
这个例子使用8状态直升机模型在悬停修剪条件。的状态向量x = [u, w, q,θ,v, p,φ,r)
由
纵向速度u
(米/秒)
横向速度v
(米/秒)
正常的速度w
(米/秒)
螺旋角θ
(度)
横摇角φ
(度)
滚转率p
(度/秒)
节速度问
(度/秒)
偏航率r
(度/秒)。
控制器生成命令ds特区dT
在度为纵向循环,横向循环,和尾桨集体使用的测量θ
,φ
,p
,问
,r
.
下面的Simulink模型描金宝app述了控制体系结构:
open_system (“rct_helico”)
控制系统由两个反馈回路组成。内环(静态输出反馈)提供稳定性增强和解耦。外环(PI控制器)提供所需的设定点跟踪性能。主要控制目标如下:
轨迹设定点的变化θ
,φ
,r
稳定状态误差为零,上升时间约为2秒,超调量最小,交叉耦合最小
限制控制带宽,以防止忽略高频转子动力学和测量噪声
提供强的多变量增益和相位裕度(对工厂输入和输出同步增益/相位变化的稳健性,参见diskmargin
详情)。
我们使用截止为40 rad/s的低通滤波器来部分加强第二个目标。
控件可以联合调整内部和外部循环systune
命令。这个命令只需要设备和控制器的模型以及所需的带宽(这是所需响应时间的函数)。当控制系统在Simulink中建模时,您可以使用金宝appslTuner
接口来快速设置调优任务。使用要调优的块列表创建此接口的实例。
ST0 = slTuner (“rct_helico”, {“软件”,“皮”,“PI3”,SOF的});
每个可调块根据其类型自动参数化,并使用其在Simulink模型中的值进行初始化(金宝appPI控制器为零,静态输出反馈增益为零)。仿真模型表明,对于这些初始值,控制系统是不稳定的:
为设置点跟踪标记感兴趣的I/O信号,并识别测量稳定裕度的工厂输入和输出(控制和测量信号)。
addPoint (ST0, {“theta-ref”,“phi-ref”,“r-ref”})%选点命令addPoint (ST0, {“θ”,“φ”,“r”})%相应的输出addPoint (ST0, {“u”,“y”});
最后,使用TuningGoal
对象。我们在这个例子中使用了以下要求:
跟踪需求:回应θ
,φ
,r
一步命令theta_ref
,phi_ref
,r_ref
必须类似于一秒时间常数的一阶解耦响应
稳定的利润:工厂投入的多变量增益和相位裕度u
和植物输出y
必须至少5分贝和40度
快速动态:闭环极点的大小不能超过25,以防止快速动态和瞬变
与参考模型1不匹配小于20% /(s+1)TrackReq = TuningGoal。StepTracking ({“theta-ref”,“phi-ref”,“r-ref”}, {“θ”,“φ”,“r”1)};TrackReq。RelGap = 0.2;%工厂投入和产出的增益和相位裕度MarginReq1 = TuningGoal。利润(“u”5、40);MarginReq2 = TuningGoal。利润(“y”5、40);%限制快速动态MaxFrequency = 25;PoleReq = TuningGoal.Poles (0, 0, MaxFrequency);
您现在可以使用systune
联合整定所有控制器参数。这将返回调优后的版本相约
控制系统的ST0
.
AllReqs = [TrackReq MarginReq1、MarginReq2 PoleReq);相约= systune (ST0 AllReqs);
Final:软= 1.12,硬= -Inf,迭代= 75
最后的值接近1,所以要求几乎满足。绘制对阶跃命令的调谐响应,单位为,r:
T1 = getIOTransfer(相约,{“theta-ref”,“phi-ref”,“r-ref”}, {“θ”,“φ”,“r”});步骤(T1, 5)
上升时间约2秒,没有超调,交叉耦合少。您可以使用viewGoal
对于每个需求的更彻底的验证,包括多变量稳定裕度的目视评估(见diskmargin
细节):
图(“位置”[100100900474]) viewGoal (AllReqs相约)
检查PI控制器和静态输出反馈增益的调谐值。
showTunable(死神)
Block 1: rct_helico/PI1 = 1 Kp + Ki *——s with Kp = 1.04, Ki = 2.11 Name: PI1 parallel form连续时间PI控制器----------------------------------- 块2:rct_helico / PI2 = 1 + Ki *——年代Kp = -0.111, Ki = -1.32名称:皮连续时间比例积分控制器并联形式。----------------------------------- 块3:rct_helico / PI3 = 1 + Ki *——年代Kp = 0.144, Ki = -2.24名称:PI3连续时间比例积分控制器并联形式。----------------------------------- Block 4: rct_helico/SOF = D = u1 u2 u3 u4 u5 y1 2.247 -0.3153 -0.003408 0.786 -0.01543 y2 -0.1808 -1.249 0.01881 -0.07823 -0.1181 y3 -0.01772 -0.01091 -1.904 0.005976 0.06484名称:SOF静态增益。
你可能想知道是否静态输出反馈是必要的,是否PID控制器不足以控制直升机。这个问题很容易回答,通过重新调整控制器与内环打开。的后面添加一个打开的循环,首先打破内部循环SOF
布洛克:
addOpening (ST0SOF的)
然后删除SOF
块,并将PI块重新参数化为具有正确循环符号的成熟pid(从第一个设计推断)。
PID = PID(0、0.001、0.001 . 01);% PID控制器的初始猜想removeBlock (ST0SOF的);setBlockParam (ST0...“软件”tunablePID (“C1”PID),...“皮”tunablePID (C2的pid),...“PI3”tunablePID (“C3”pid));
重新调整三个PID控制器并绘制闭环步进响应。
ST2 = systune (ST0 AllReqs);
Final:软= 4.94,硬= -Inf,迭代= 66
T2 = getIOTransfer (ST2, {“theta-ref”,“phi-ref”,“r-ref”}, {“θ”,“φ”,“r”});图中,步骤(T2, 5)
最终值不再接近1,并且阶跃响应确认了较差的性能,关于上升时间、超调和解耦。这表明内环具有重要的稳定作用,应予以保留。
systune (slTuner)
(金宝app仿真软件控制设计)|slTuner
(金宝app仿真软件控制设计)|TuningGoal。StepTracking
|TuningGoal。利润率
|TuningGoal。波兰人