主要内容

主动悬架的鲁棒控制

这个例子展示了如何使用鲁棒控制工具箱™为主动悬架系统设计鲁棒控制器。这个例子描述了四分之一汽车悬架模型。然后,它计算an H 控制器的标称系统使用hinfsyn命令。最后,该示例展示了如何使用μ-综合,为全不确定系统设计鲁棒控制器。

1/4车辆悬架模型

传统的被动悬架在车身和车轮之间使用弹簧和阻尼器。选择弹簧阻尼特性是为了强调几个相互冲突的目标之一,如乘客舒适度、道路处理和悬挂挠度。主动悬架允许设计师在底盘和车轮装配之间使用反馈控制器液压执行器来平衡这些目标。

本例使用了四分之一车型的主动悬架系统(见图1) b (千克)代表汽车底盘(车身)和质量 w (公斤)代表车轮总成。春天 k 年代 和阻尼器 b 年代 代表放置在车身和车轮总成之间的被动弹簧和减震器。春天 k t 对充气轮胎的可压缩性进行了建模。的变量 x b x w , r (均以米为单位)分别为车身移动、车轮移动和道路扰动。力 f 年代 (千牛顿)应用于车身和车轮总成之间,由反馈控制,代表悬架系统的主动组件。

图1:主动悬架的四分之一车模型。

与符号 x 1 x 2 x 3. x 4 x b x b ˙ x w x ˙ w ,四分之一车模型的线性化状态空间方程为:

x 1 ˙ x 2 x 2 ˙ - 1 / b k 年代 x 1 - x 3. + b 年代 x 2 - x 4 - 1 0 3. f 年代 x 3. ˙ x 4 x 4 ˙ 1 / w k 年代 x 1 - x 3. + b 年代 x 2 - x 4 - k t x 3. - r - 1 0 3. f 年代

构建状态空间模型qcar代表这些方程。

%物理参数mb = 300;%公斤mw = 60;%公斤b = 1000;% N / m / sKs = 16000;% N / mkt次方= 190000;% N / m%的状态矩阵A = [0 1 0 0;[-ks -bs ks bs]/mb;...0 0 0 1;[ks bs -ks-kt -bs]/mw];B = [0 0;0 1 e3 / mb;0 0;(kt 1 e3) / mw);C = [1 0 0 0;1 0 -1 0;(2)):;D = [0 0; 0 0; B(2,:)]; qcar = ss(A,B,C,D); qcar.StateName = {“身体旅行(m)”“身体韦尔(m / s)的...“轮旅行(m)”“轮韦尔(m / s)”};qcar。InputName = {“r”“fs”};qcar。OutputName = {“xb”“sd”“ab”};

从执行机构到身体的行程和加速度的传递函数具有一个虚轴零,其固有频率为56.27 rad/s。这叫做tire-hop频率

tzero (qcar ({“xb”“ab”},“fs”))
ans =2×1复杂-0.0000 -56.2731i

同样,从执行器到悬架偏转的传递函数具有一个虚轴零,其固有频率为22.97 rad/s。这叫做rattlespace频率

0 (qcar (“sd”“fs”))
ans =2×1复杂0.0000 +22.9734i

道路扰动会影响汽车和悬架的运动。乘客舒适度与小的车身加速度有关。允许的悬架行程受到执行机构位移的限制。绘制从道路扰动和作动器力到车身加速度和悬架位移的开环增益。

bodemag (qcar ({“ab”“sd”},“r”),“b”qcar ({“ab”“sd”},“fs”),“r”, {100});传奇(“道路干扰(r)”“执行力(fs)”“位置”“西南”)标题({'从道路dist (r)和致动器力(fs)获得的收益''到车身加速(ab)和悬挂行程(sd)'})

图中包含2个轴。axis 1包含2个类型为line的对象。这些对象分别表示道路扰动(r)、致动器力(fs)。axis 2包含2个类型为line的对象。这些对象分别表示道路扰动(r)、致动器力(fs)。

由于虚拟轴零点的存在,反馈控制无法改善道路干扰的响应 r 身体加速 一个 b 在轮胎跳跃频率,从 r 对悬架挠度 年代 d 在震动空间频率。而且,因为这种关系 x w x b - 年代 d 事实上,车轮的位置 x w 大约是 r 在低频(小于5 rad/s)时,乘客舒适度和悬架挠度之间存在内在的权衡:在低频时,车身行程的任何减少都会导致悬架挠度的增加。

不确定执行机构模型

用于主动悬架控制的液压作动器之间连接着车身质量 b 和车轮装配质量 w .标称作动器动力学用一阶传递函数表示 1 / 1 + 年代 / 6 0 最大排量0.05 m。

ActNom = tf(1,[1/60 1]);

这个名义模型只是近似的物理驱动器动力学。我们可以使用一组致动器模型来解释致动器和四分之一车模型中的建模误差和可变性。这个系列包括一个具有频率依赖的不确定性量的名义模型。在低频率,低于3 rad/s,模型可以从其标称值变化高达40%。在3 rad/s左右,百分比变化开始增加。在15 rad/s时不确定度超过100%,在大约1000 rad/s时达到2000%。加权函数 W u n c 用频率调制不确定度的量。

Wunc =补足重量的东西(3)0.40,15日;unc = ultidyn (“unc”[1],“SampleStateDim”5);Act = ActNom*(1 + Wunc*unc);的行为。InputName =“u”;的行为。OutputName =“fs”

结果行为为执行器的不确定状态空间模型。绘制20个样本值的波德响应曲线行为并与票面价值进行比较。

rng (“默认”)波德(行动,“b”,行动。NominalValue,' r + ', logspace (3120))

图中包含2个轴。标题为From: u To: fs的轴1包含22个line类型的对象。这些对象代表Act, untitled1。axis 2包含22个类型为line的对象。这些对象代表Act, untitled1。

设计安装

主要控制目标是根据乘客舒适度和与车身加速度相关的道路处理制定的 一个 b 和中止旅行 年代 d .其他影响控制设计的因素包括道路干扰的特性、用于反馈的传感器测量的质量以及可用控制力的限制。使用 H 在合成算法中,我们必须将这些目标表达为一个要最小化的单一成本函数。如图2所示。

图2:干扰抑制公式。

反馈控制器使用测量 y 1 y 2 悬挂行程的 年代 d 和身体加速 一个 b 来计算控制信号 u 驱动液压执行器。有三个外部干扰源:

  • 路上的障碍 r ,模型化为归一化信号 d 1 由一个加权函数形成的 W r o 一个 d .为了模拟7厘米量级的宽带道路偏转,我们使用了恒重 W r o 一个 d 0 0 7

  • 两种测量的传感器噪声,建模为归一化信号 d 2 d 3. 由权重函数塑造 W d 2 W d 3. .我们使用 W d 2 0 0 1 W d 3. 0 5 分别对强度为0.01和0.5的宽带传感器噪声进行建模。在更现实的设计中,这些权重将依赖于频率,以模拟位移和加速度传感器的噪声频谱。

控制目标可以重新解释为抗干扰性目标:将干扰的影响降到最低 d 1 d 2 d 3. 控制努力的加权组合 u ,中止旅行 年代 d ,身体加速度 一个 b .当使用 H 范数(峰值增益)来衡量“影响”,这相当于设计一个控制器,使其最小化 H 干扰输入范数 d 1 d 2 d 3. 误差信号 e 1 e 2 e 3.

创建图2所示的权重函数,并对其I/O通道进行标记,以方便互连。使用高通滤波器 W 一个 c t 惩罚控制信号的高频内容,从而限制控制带宽。

Wroad = ss (0.07);Wroad。u =“d1”;Wroad。y =“r”;Wact = 0.8*tf([1 50],[1 500]);Wact。u =“u”;Wact。y =“e1”;Wd2 = ss (0.01);Wd2。u =“d2”;Wd2。y =“Wd2”;Wd3 = ss (0.5);Wd3。u =“d3”;Wd3。y =“Wd3”

为道路干扰的增益指定闭环目标 r 对悬架挠度 年代 d (操纵)和身体加速 一个 b (舒适)。由于执行器的不确定性和虚轴零点,只寻求衰减干扰低于10 rad/s。

HandlingTarget = 0.04 * tf([1/8 1],[1/80 1]);ComfortTarget = 0.4 * tf([1/0.45 1],[1/150 1]);target = [HandlingTarget;ComfortTarget];bodemag (qcar ({“sd”“ab”},“r”) * Wroad,“b”目标,“r——”、{1000})、网格标题(“对道路干扰的回应”)传说(“开环”“闭环目标”

图中包含2个轴。标题为d1的轴1包含2个类型为line的对象。这些对象代表开环和闭环目标。axis 2包含2个类型为line的对象。这些对象代表开环和闭环目标。

相应的性能权重 W 年代 d W 一个 b 是这些舒适和操纵目标的反义词。为了调查乘客舒适度和道路处理之间的权衡,构建三套重量 β W 年代 d 1 - β W 一个 b 对应三种不同的权衡:舒适( β 0 0 1 )、平衡( β 0 5 )及处理( β 0 9 9 ).

%设计三分Beta =重塑([0.01 0.5 0.99],[1 1 3]);Wsd = beta / HandlingTarget;Wsd。u =“sd”;Wsd。y =“e3”;Wab = (1-beta) / comfortttarget;war。u =“ab”;war。y =“e2”

最后,使用连接构建一个模型qcaric图2的框图。请注意,qcaric是三个模型的数组,每个设计点一个 β .同时,qcaric是否不确定模型,因为它包含不确定执行器模型行为

sdmeas = sumblk (“y1 = sd + Wd2”);abmeas = sumblk (“y2 = ab + Wd3”);ICinputs = {“d1”“d2”“d3”“u”};ICoutputs = {“e1”“e2”“e3”“日元”“日元”};qcaric =连接(qcar(2:3,:),行动,Wroad, Wact, war, Wsd, Wd2, Wd3,...sdmeas、abmeas ICinputs ICoutputs)
Qcaric = 3x1不确定连续时间状态空间模型阵列。每个模型有5个输出,4个输入,9个状态,和以下不确定块:unc:不确定1x1 LTI,峰值增益= 1,1出现类型“qcaric。NominalValue“查看名义值”,get(qcaric)“查看所有属性”,以及“qcaric. properties”。“不确定性”与不确定因素相互作用。

名义上的h∞设计

使用hinfsyn计算一个 H 控制器的每个值的混合因素 β

ncont = 1;% 1控制信号n mea = 2;%两个测量信号,sd和abK = ss (0 (ncont n mea 3));γ= 0 (3,1);我= 1:3 (K(:,:我)~,γ(i)) = hinfsyn (qcaric(:,:我),n mea, ncont);结束γ
γ=3×10.9405 0.6727 0.8892

三个控制器实现闭环控制 H 规范分别为0.94、0.67和0.89。建立相应的闭环模型,比较道路扰动的增益 x b 年代 d 一个 b 用于被动和主动悬架。观察所有三个控制器将悬挂偏转和车身加速度降低到震动空间频率(23 rad/s)以下。

%闭环模型K.u = {“sd”“ab”};梁龙骥=“u”;CL =连接(qcar行动。名义,K,“r”, {“xb”“sd”“ab”});bodemag (qcar (:,“r”),“b”CL (:,: 1),r -。...CL (:,:, 2),“m -”。CL (:,: 3),“k -”。,{1140}),网格传奇(“开环”“安慰”“平衡”“处理”“位置”“东南”)标题(“车身行程、悬挂挠度和因道路引起的车身加速度”

图中包含3个轴。标题为From: r的轴1包含4个类型为line的对象。这些对象代表开环,舒适,平衡,处理。axis 2包含4个类型为line的对象。这些对象代表开环,舒适,平衡,处理。axis 3包含4个类型为line的对象。这些对象代表开环,舒适,平衡,处理。

时域评价

为了进一步评估这三种设计,使用道路干扰信号进行时域仿真 r t 表示高度为5厘米的凹凸路面。

%道路干扰t = 0:0.0025:1;roaddist = 0(大小(t));roaddist (1:10 1) = 0.025 * (1-cos(8 *π* t (1:10 1)));%闭环模型SIMK =连接(qcar行动。名义,K,“r”, {“xb”“sd”“ab”“fs”});%模拟p1 = lsim (qcar (: 1), roaddist, t);日元= lsim (SIMK (1:4, 1, 1), roaddist, t);y2 = lsim (SIMK (1:4, 1, 2), roaddist, t);y3 = lsim (SIMK (1:4, 1, 3), roaddist, t);%绘制结果次要情节(211)情节(t, p1 (: 1),“b”、t、y₁(:1),“r”。, t, y2 (: 1),“m”。t y3 (: 1),“k”。t roaddist‘g’)标题(“身体旅行”), ylabel (“x_b (m)的)次要情节(212)情节(t, p1 (:, 3),“b”、t、y₁(:3)“r”。, t, y2 (:, 3),“m”。t y3 (:, 3),“k”。t roaddist‘g’)标题(“身体加速”), ylabel (“a_b (m / s ^ 2)”

图中包含2个轴。标题为Body travel的轴1包含5个类型为line的对象。标题为Body acceleration的坐标轴2包含5个line类型的对象。

次要情节(211)情节(t, p1 (:, 2),“b”、t、y₁(:,2),“r”。, t, y2 (:, 2),“m”。t y3 (:, 2),“k”。t roaddist‘g’)标题(“悬架挠度”),包含(“时间(s)”), ylabel (“s_d (m)的)次要情节(212)情节(t, 0(大小(t)),“b”、t、y₁(:4)“r”。, t, y2 (:, 4),“m”。t y3 (:, 4),“k”。t roaddist‘g’)标题(“控制力”),包含(“时间(s)”), ylabel (f (kN)”)传说(“开环”“安慰”“平衡”“处理”“道路干扰”“位置”“东南”

图中包含2个轴。带有标题的轴1悬挂偏转包含5个线型对象。控制力包含5个线型对象。这些物体代表开环,舒适,平衡,操纵,道路干扰。

观察,强调乘客舒适性的控制器的车身加速度最小,强调悬挂偏转的控制器的车身加速度最大。“平衡”设计实现了车身加速度和悬挂挠度之间的良好妥协。

健壮的μ设计

到目前为止,你已经设计好了 H 控制器满足的性能目标名义上的致动器模型。如前所述,该模型只是真正执行器的近似,您需要确保控制器性能在面对模型误差和不确定性时保持不变。这就是所谓的强劲的性能

下一个使用 μ -synthesis,为整个系列的执行器模型设计一个实现鲁棒性能的控制器。利用不确定模型,利用musyn函数合成鲁棒控制器qcaric (:: 2)对应“均衡”表现( β 0 5 ).

[Krob, rpMU] = musyn (qcaric (:,: 2), n mea, ncont);
D-K迭代总结:----------------------------------------------------------------- 强劲的性能符合订单  ----------------------------------------------------------------- Iter K步峰μ适合D 1 1.193 1.125 1.139 4 2 3 0.9991 0.946 0.9559 1.091 - 1.025 1.033 - 4 4 4 0.9358 0.932 0.9348 4 5 6 0.9103 0.907 0.9096 0.9096 0.9057 0.9114 8 8 7 0.9091 - 0.9066最佳实现的健壮性能:0.906

用鲁棒控制器模拟路面颠簸的标称响应Krob.这些答复与“平衡”的答复相似。 H 控制器。

%闭环模型(标称)Krob。u = {“sd”“ab”};Krob。y =“u”;SIMKrob =连接(qcar行动。Krob名义,“r”, {“xb”“sd”“ab”“fs”});%模拟p1 = lsim (qcar (: 1), roaddist, t);日元= lsim (SIMKrob (1:4, 1), roaddist, t);%绘制结果clf,次要情节(221)情节(t, p1 (: 1),“b”、t、y₁(:1),“r”t roaddist‘g’)标题(“身体旅行”), ylabel (“x_b (m)的)次要情节(222)情节(t, p1 (:, 3),“b”、t、y₁(:3)“r”)标题(“身体加速”), ylabel (“a_b (m / s ^ 2)”)次要情节(223)情节(t, p1 (:, 2),“b”、t、y₁(:,2),“r”)标题(“悬架挠度”),包含(“时间(s)”), ylabel (“s_d (m)的)次要情节(224)情节(t, 0(大小(t)),“b”、t、y₁(:4)“r”)标题(“控制力”),包含(“时间(s)”), ylabel (f (kN)”)传说(“开环”“稳健设计”“位置”“东南”

图中包含4个轴。标题为Body travel的轴1包含3个类型为line的对象。标题为Body acceleration的坐标轴2包含2个line类型的对象。带有标题的轴3悬挂偏转包含2个线型对象。带有标题控制力的轴4包含2个类型为line的对象。这些对象代表开环、稳健设计。

接下来,从不确定模型集中随机选取100个作动器模型,模拟路面颠簸的响应行为

rng (“默认”), nsamp = 100;clf具有平衡h -∞控制器的不确定闭环模型CLU =连接(qcar法案,K (:,:, 2),“r”, {“xb”“sd”“ab”});lsim (usample (CLU, nsamp),“b”,健身房。名义,“r”、roaddist t)标题(“名义上的“平衡”的设计”)传说(“不安”“名义”“位置”“东南”

图中包含3个轴。axis 1包含102个line类型的对象。这些对象代表驱动输入、扰动输入、标称输入。axis 2包含102个line类型的对象。这些对象代表驱动输入、扰动输入、标称输入。axis 3包含102个line类型的对象。这些对象代表驱动输入、扰动输入、标称输入。

具有平衡鲁棒控制器的不确定闭环模型CLU =连接(Krob qcar,行动,“r”, {“xb”“sd”“ab”});lsim (usample (CLU, nsamp),“b”,健身房。名义,“r”、roaddist t)标题(健壮的“平衡”设计的)传说(“不安”“名义”“位置”“东南”

图中包含3个轴。axis 1包含102个line类型的对象。这些对象代表驱动输入、扰动输入、标称输入。axis 2包含102个line类型的对象。这些对象代表驱动输入、扰动输入、标称输入。axis 3包含102个line类型的对象。这些对象代表驱动输入、扰动输入、标称输入。

鲁棒控制器Krob减少由于模型不确定性造成的可变性,并提供更一致的性能。

简化控制器:减少订单

鲁棒控制器Krob与工厂相比有较高的次序。您可以使用模型缩减函数来找到实现相同鲁棒性能水平的低阶控制器。使用减少生成不同阶数的近似。

%创建降序控制器数组NS =订单(Krob);StateOrders = 1: NS;基米-雷克南=减少(Krob StateOrders);

下一个使用robgain计算每个降阶近似的稳健性能裕度。当闭环增益小于时,性能目标得到满足 γ 1 .稳健的性能边际衡量的是在不降低性能的情况下,能够维持多少不确定性(超过 γ 1 ).一个或更多的边际值表明我们可以承受100%的指定不确定性。

%计算每个减少的控制器的稳健性能裕度γ= 1;CLP =融通(qcaric (:,: 2), kr);k=1:NS PM(k) = robgain(CLP(:,:,k),gamma);结束%比较降阶和全阶控制器的鲁棒性能.LowerBound PMfull =点(结束);情节(StateOrders[点。下界),“这”...StateOrders repmat (PMfull [1 NS]),“r”);网格标题(“作为控制器顺序函数的鲁棒性能裕度”)传说(“降阶”“全部订单”“位置”“东南”

图中包含一个坐标轴。以鲁棒性能裕度为控制器阶函数的轴包含2个线型对象。这些对象表示降序,全序。

您可以使用鲁棒性能大于1的最小控制器阶数。

控制器简化:固定顺序调优

或者,您可以使用musyn直接调整低阶控制器。这通常比全阶控制器的后验约简更有效Krob.例如,调整三阶控制器以优化其鲁棒性能。

%创建可调的三阶控制器K =可调参数(“K”3 ncont n mea);闭环系统的稳健性能CL0 =融通(qcaric (:,: 2), K);(CL, RP) = musyn (CL0);
D-K迭代总结:----------------------------------------------------------------- 强劲的性能符合订单  ----------------------------------------------------------------- Iter K步峰μD适合10 2 D 1 1.189 1.104 1.12 1.076 1.062 1.073 10 3 0.9899 0.9702 0.9874 10 4 6 10 5 0.9189 0.9153 0.9212 0.9226 0.9222 0.9333 0.9199 0.9159 0.9255 10最好实现了健壮的性能:0.915

调整后的控制器具有性能RP = 0.92,非常接近Krob.您可以看到它的Bode响应使用

K3 = getBlockValue (CL,“K”);波德(K3)

图中包含4个轴。在(1)中包含一个类型为line的对象。这个对象表示k坐标轴2包含一个类型为line的对象。该对象表示标题为From: In(2)的K. Axes 3包含一个类型为line的对象。这个对象表示k。Axes 4包含一个类型为line的对象。这个对象代表K。

另请参阅

|

相关的话题