主要内容

直升机的多回路控制

这个例子说明如何使用slTunersystune来调谐多环控制器,用于旋翼飞行器。

直升机模型

此示例使用在悬停修整条件的8状态直升机模型。状态向量X = [U,W,Q,θ,V,P,PHI,R]由组成

  • 纵向速度(米/秒)

  • 横向速度V.(米/秒)

  • 正常的速度W.(米/秒)

  • 螺旋角THETA(度)

  • 侧倾角φ(度)

  • 滚转率P.(度/秒)

  • 俯仰率问:(度/秒)

  • 偏航率R.(度/秒)。

控制器生成命令ds特区dT以度为纵环状,横向周期,和尾部旋翼集体使用的测量THETAφP.问:,R.

控制体系结构

以下Simulink模型描述金宝app了控制架构:

open_system ('rct_helico'

控制系统由两个反馈回路。内环(静态输出反馈)提供增稳和解耦。外环(PI控制器)提供了期望的设定点的跟踪性能。主要控制目标如下:

  • 轨迹设定点的变化THETAφ,R.稳定状态误差为零,上升时间约为2秒,超调量最小,交叉耦合最小

  • 限制控制带宽,以防止忽略高频转子动力学和测量噪声

  • 提供强的多变量增益和相位裕度(对工厂输入和输出同步增益/相位变化的稳健性,参见diskmargin详情)。

我们在40弧度使用低通滤波器的截止/ s至部分地强制执行所述第二目标。

控制器整

您可以共同调整内环和外环与systune命令。该命令只需要对象和控制器的模型与所需的带宽(这是所希望的响应时间的函数)一起。当控制系统在Simulink中建模,您可以使用金宝appslTuner接口来快速设置调优任务。使用要调优的块列表创建此接口的实例。

ST0 = slTuner ('rct_helico', {'PI1''PI2'“PI3”“特种部队”});

每个可调块根据其类型自动参数化,并使用其在Simulink模型中的值进行初始化(金宝app$ 1 + 1 / S $PI控制器为零,静态输出反馈增益为零)。仿真模型表明,对于这些初始值,控制系统是不稳定的:

为设置点跟踪标记感兴趣的I/O信号,并识别测量稳定裕度的工厂输入和输出(控制和测量信号)。

addPoint(ST0,{“theta-ref”“phi-ref”“r-ref”})%设定点命令addPoint(ST0,{'THETA'“φ”'R'})%相应的输出addPoint(ST0,{'U'“y”});

最后,使用捕捉设计要求TuningGoal对象。我们在这个例子中使用了以下要求:

  • 跟踪需求:的响应THETAφR.到步骤命令theta_refphi_refr_ref必须类似于一秒时间常数的一阶解耦响应

  • 稳定裕度:工厂投入的多变量增益和相位裕度和植物输出y必须至少5分贝和40度

  • 快速动态:闭环极点的幅度不得超过25,以防止快速的动态和瞬态生涩

与参考模型1不匹配小于20% /(s+1)TrackReq = TuningGoal.StepTracking({“theta-ref”“phi-ref”“r-ref”},{'THETA'“φ”'R'1)};TrackReq。RelGap = 0.2;%的增益和相位裕度在工厂输入和输出MarginReq1 = TuningGoal.Margins('U',5,40);MarginReq2 = TuningGoal.Margins(“y”,5,40);%限制快速动态MaxFrequency = 25;PoleReq = TuningGoal.Poles(0,0,MaxFrequency);

您现在可以使用systune共同调整所有控制器参数。这将返回调谐版相约控制系统的ST0

AllReqs = [TrackReq,MarginReq1,MarginReq2,PoleReq];ST1 = systune(ST0,AllReqs);
决赛:软= 1.12,硬= -Inf,迭代次数= 71

最后的值接近1,所以要求几乎满足。绘制对阶跃命令的调谐响应,单位为,r:

T1 = getIOTransfer(ST1,{“theta-ref”“phi-ref”“r-ref”},{'THETA'“φ”'R'});步骤(T1, 5)

上升时间约2秒,没有超调,交叉耦合少。您可以使用viewGoal对于每个需求的更彻底的验证,包括多变量稳定裕度的目视评估(见diskmargin细节):

图(“位置”[100100900474]) viewGoal (AllReqs相约)

检查PI控制器和静态输出反馈增益的调谐值。

showTunable(死神)
块1:rct_helico / PI1 = 1的Kp +的Ki * --- S采用的Kp = 1.04,奇= 2.07名称:并联形式PI1连续时间PI控制器。-----------------------------------块2:rct_helico / PI2 = 1的Kp +的Ki * ---S采用的Kp = -0.0994,奇= -1.35名称:并联形式PI2连续时间PI控制器。-----------------------------------块3:rct_helico / PI3 = 1的Kp +的Ki * ---S采用的Kp = 0.138,奇= -2.2名称:并联形式PI3连续时间PI控制器。-----------------------------------块4:rct_helico / SOF = d = U1 U2 U3 U4 U5 Y12.214 -0.3123 -0.003393 0.7855 -0.01528 Y2 -0.1918 -1.293 0.01821 -0.08494 -0.1195 Y3 -0.02143 -0.01528 -1.897 -0.002676 0.06789名称:SOF静态增益。

在内蒙古河套效益

你可能想知道是否静态输出反馈是必要的,是否PID控制器不足以控制直升机。这个问题很容易回答,通过重新调整控制器与内环打开。的后面添加一个打开的循环,首先打破内部循环SOF堵塞:

addOpening (ST0“特种部队”

然后取出SOF从可调谐块列表框和重新参数化该PI块作为与正确的循环体征盛放的PID(如从第一设计推断)。

PID = PID(0,0.001,0.001,0.01);%为PID控制器的初始猜测removeBlock(ST0,“特种部队”);setBlockParam(ST0,......'PI1',tunablePID('C1',PID),......'PI2',tunablePID('C2',-pid)......“PI3”,tunablePID('C3'pid));

重新调整三个PID控制器并绘制闭环步进响应。

ST2 = systune(ST0,AllReqs);
Final:软= 4.94,硬= -Inf,迭代= 67
T2 = getIOTransfer (ST2, {“theta-ref”“phi-ref”“r-ref”},{'THETA'“φ”'R'});图中,步骤(T2,5)

最终值是不再接近1和步骤就可以确认关于性能较差上升时间,过冲和去耦。这表明,内环具有应保留的一个重要的稳定作用。

也可以看看

|||(金宝appSimulink的控制设计)|(金宝appSimulink的控制设计)

相关的话题