主要内容

鲁棒控制的主动悬架

这个例子展示了如何使用鲁棒控制工具箱™设计主动悬架系统的鲁棒控制器。这个例子描述了1/4车辆悬架模型。然后,它计算的 H 标称系统使用的控制器hinfsyn命令。最后,展示了如何使用的例子μ合成完整的不确定系统的鲁棒控制器设计。

视频介绍

视觉预排的这个例子中,观看视频。

1/4车辆悬架模型

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

这个示例使用1/4车辆主动悬架系统的模型(见图1)。质量 b (单位:千克)代表了汽车底盘(身体)和质量 w (千克)代表车轮总成。春天 k 年代 和阻尼器 b 年代 表示被动的弹簧和减振器将车身与车轮之间的组装。春天 k t 充气轮胎的压缩模型。的变量 x b , x w , r 在米)(所有身体旅行,轮旅行,分别和道路干扰。力 f 年代 (牛顿)应用之间的身体和车轮总成由反馈控制和代表了悬架系统的活性成分。

图1:1/4车辆主动悬架的模型。

与符号 ( x 1 , x 2 , x 3 , x 4 ) : = ( x b , x b ˙ , x w , x ˙ w ) ,1/4车辆模型的线性化状态空间方程是:

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%的状态矩阵一个= [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.2731 -0.0000 + 56.2731

同样,从致动器传递函数与固有频率悬挂偏转一个虚轴零22.97 rad / s。这就是所谓的rattlespace频率

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

路扰动影响汽车的运动和悬架。旅客舒适度与小身体加速度。允许中止旅行是执行机构位移受到限制。情节道路干扰和致动器的开环增益力加速度和悬架位移。

bodemag (qcar ({“ab”,“sd”},“r”),“b”qcar ({“ab”,“sd”},“fs”),“r”,{100});传奇(“道路干扰(r)”,“执行力(fs)”,“位置”,“西南”)标题({“获得道路dist (r)和执行力(fs)”;“到身体accel (ab)和悬架(sd) '})

图包含2轴对象。轴与ylabel对象1:ab包含2线类型的对象。这些对象代表道路干扰(r),执行力(fs)。轴与ylabel对象2:sd包含2线类型的对象。这些对象代表道路干扰(r),执行力(fs)。

因为虚轴0,反馈控制不能改善道路干扰的反应 r 身体加速 一个 b tire-hop频率,从 r 对悬架挠度 年代 d 在rattlespace频率。此外,由于关系 x w = x b - - - - - - 年代 d 事实上,车轮的位置 x w 大约是 r 在低频率(少于5 rad / s),存在着一种固有的旅客舒适度和悬架挠度之间的权衡:任何减少身体的旅行在低频率将导致增加悬挂偏转。

不确定执行机构模型

液压执行机构用于主动悬架控制体重之间的连接 b 和车轮装配质量 w 。所代表的名义执行机构动力学是一阶传递函数 1 / ( 1 + 年代 / 6 0 ) 最大位移为0.05 m。

ActNom =特遣部队(1)[1]1/60);

这个名义模型只是近似的物理驱动器动力学。我们可以用一个家庭的致动器模型考虑到建模错误和可变性的致动器和1/4车辆模型。这个家庭由名义模型与频率相关的不确定性。在低频率,低于3 rad / s,该模型可以改变从其名义价值高达40%。大约3 rad / s,百分比变化开始增加。不确定性跨越100% 15 rad / s和达到2000%约1000 rad / s。加权函数 W u n c 是用来调节量的不确定性与频率。

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

结果行为是一个不确定的执行机构的状态空间模型。情节的预示反应20的样本值行为并与名义值。

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

图包含2轴对象。坐标轴对象1的标题:u: fs, ylabel级(dB)包含22行类型的对象。一个或多个行显示的值只使用这些对象标记代表行动,untitled1。坐标轴对象2 ylabel阶段(度)包含22行类型的对象。一个或多个行显示的值只使用这些对象标记代表行动,untitled1。

设计安装

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

图2:抗干扰性。

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

  • 路上的障碍 r ,建模为归一化的信号 d 1 由一个加权函数 W r o 一个 d 。模型宽带路变位大小七厘米,我们使用恒重 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 *特遣部队(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 (舒适)。由于执行机构的不确定性和虚轴0,只有寻求削弱干扰低于10 rad / s。

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

图包含2轴对象。坐标轴对象1的标题:d1, ylabel: sd包含2线类型的对象。这些对象代表开环、闭环的目标。轴与ylabel对象2:ab包含2线类型的对象。这些对象代表开环、闭环的目标。

相应的性能权重 W 年代 d , W 一个 b 这些舒适的倒数和处理目标。调查处理旅客舒适度和道路之间的权衡,构造三套重量 ( β W 年代 d , ( 1 - - - - - - β ) W 一个 b ) 对应于三个不同的权衡:安慰( β = 0 0 1 )、平衡( β = 0 5 ),和处理( β = 0 9 9 )。

%三个设计点β=重塑(0.01 [0.5—0.99],[1 1 3]);Wsd =β/ HandlingTarget;Wsd。u =“sd”;Wsd。y =“e3”;war =(1测试版)/ ComfortTarget;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)
3 x1一系列不确定的连续时间状态空间模型。每个模型有5个输出,4输入9州,和下面的不确定块:unc:不确定1 x1 LTI,峰值增益= 1,1“qcaric事件类型。NominalValue”的名义价值和“qcaric。不确定性”与不确定的交互元素。

名义上的h∞设计

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

ncont = 1;%一个控制信号,un mea = 2;%两个测量信号,sd和ab型K = 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 被动和主动停业。观察到三个控制器减少悬架挠度和身体加速rattlespace频率下(23 rad / s)。

%闭环模型K。u={“sd”,“ab”};K。y=“u”;CL =连接(qcar Act.Nominal K“r”,{“xb”;“sd”;“ab”});bodemag (qcar (:,“r”),“b”CL (:,: 1),r -。,CL (:,:, 2),“m -”。CL (:,: 3),“k -”。,{1140}),网格传奇(“开环”,“安慰”,“平衡”,“处理”,“位置”,“东南”)标题(“身体旅行,悬挂偏转,和身体加速由于道路”)

图包含3轴对象。坐标轴对象1的标题:r, ylabel: xb包含4线类型的对象。这些对象代表开环,舒适,平衡处理。轴与ylabel对象2:sd包含4线类型的对象。这些对象代表开环,舒适,平衡处理。轴与ylabel对象3:ab包含4线类型的对象。这些对象代表开环,舒适,平衡处理。

时域评价

进一步评估三个设计,执行时域模拟使用扰动信号的道路 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 Act.Nominal 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轴对象。坐标轴对象1标题身体旅行,ylabel x_b (m)包含5线类型的对象。一个或多个行显示它的值只使用标记轴对象2用标题的身体加速,ylabel a_b (m / s ^ 2)包含5线类型的对象。一个或多个行显示的值只使用标记

次要情节(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标题悬挂偏转,包含时间,ylabel s_d (m)包含5线类型的对象。一个或多个行显示它的值只使用标记轴对象2与标题控制力量,包含时间(s), ylabel f (kN)包含5线类型的对象。一个或多个行显示的值只使用这些对象标记代表开环,舒适,平衡,干扰处理、道路。

观察到人体加速度最小为控制器的控制器最大强调旅客舒适度和强调悬挂偏转。“平衡”的设计达到一个好的身体加速度和悬架挠度之间的妥协。

健壮的μ设计

到目前为止你有设计 H 控制器,满足性能目标名义上的致动器模型。正如前面所讨论的,这个模型只是一个近似的真正的致动器,您需要确保控制器性能维护的模型误差和不确定性。这就是所谓的强劲的性能

下一个使用 μ 合成设计一个控制器,实现健壮的性能对整个家庭的致动器模型。鲁棒控制器与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 5 4 0.9358 0.932 0.9348 0.9096 0.9057 0.9114 8 6 7 8 0.9103 0.907 0.9096 0.9091 0.9066 0.9094 6最好实现健壮的性能:0.906

模拟名义应对道路凹凸的鲁棒控制器Krob。获得的反应类似的“平衡” H 控制器。

%闭环模型(名义上的)Krob。u = {“sd”,“ab”};Krob。y =“u”;SIMKrob =连接(qcar Act.Nominal 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轴对象。坐标轴对象1标题身体旅行,ylabel x_b (m)包含3线类型的对象。坐标轴对象2标题身体加速,ylabel a_b (m / s ^ 2)包含2线类型的对象。坐标轴对象3标题悬挂偏转,包含时间,ylabel s_d (m)包含2线类型的对象。坐标轴对象4标题控制力量,包含时间(s), ylabel f (kN)包含2线类型的对象。这些对象代表开环,稳健设计。

下模拟响应100年道路撞致动器模型不确定的随机选择的模型集行为

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

图包含3轴对象。轴与ylabel对象1:xb包含102行类型的对象。这些对象代表驾驶输入,摄动,名义。轴与ylabel对象2:sd包含102行类型的对象。这些对象代表驾驶输入,摄动,名义。轴与ylabel对象3:ab包含102行类型的对象。这些对象代表驾驶输入,摄动,名义。

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

图包含3轴对象。轴与ylabel对象1:xb包含102行类型的对象。这些对象代表驾驶输入,摄动,名义。轴与ylabel对象2:sd包含102行类型的对象。这些对象代表驾驶输入,摄动,名义。轴与ylabel对象3:ab包含102行类型的对象。这些对象代表驾驶输入,摄动,名义。

鲁棒控制器Krob减少变化由于模型不确定性和提供更加一致的性能。

控制器简化:订单减少

鲁棒控制器Krob相比有相对较高的订单工厂。您可以使用模型降阶函数来找到一个低阶控制器达到相同级别的鲁棒性能。使用减少各种订单的生成近似。

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

下一个使用robgain计算每个降维近似健壮的性能优势。满足性能目标当闭环增益小于 γ = 1 。强劲的性能优势措施多少不确定性没有降解性能(超过能否持续 γ = 1 )。的优势1或更多表明我们可以维持100%的指定的不确定性。

%计算健壮的每个减少控制器的性能优势γ= 1;CLP =融通(qcaric (:,: 2), kr);k = 1: NS PM (k) = robgain (CLP (:,:, k)、γ);结束%比较健壮的性能降低,全阶控制器.LowerBound PMfull =点(结束);情节(StateOrders [PM.LowerBound],“这”,StateOrders repmat (PMfull [1 NS]),“r”);网格标题(的强劲性能保证金作为控制器命令的函数)传说(“降阶”,“全部订单”,“位置”,“东南”)

图包含一个坐标轴对象。坐标轴对象与标题健壮的性能优势的函数控制器包含2线类型的对象。这些对象代表减少订单,完整的订单。

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

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

或者,您可以使用musyn直接调整低阶控制器。这是更有效的比无减少全阶控制器Krob。例如,调一个三阶控制器来优化其强劲的性能。

%创建可调3 rd-order控制器K =可调参数(“K”3 ncont n mea);%优化闭环系统鲁棒性能CLCL0 =融通(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.9822 0.9985 10 4 6 10 5 0.9191 0.9175 0.9241 0.9229 0.9225 0.9315 0.92 0.9163 0.929十佳实现健壮的性能:0.916

调整控制器的性能RP = 0.92非常接近Krob。你可以看到它预示响应使用

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

图包含4轴对象。坐标轴对象的标题1:在(1),ylabel:(1)包含一个类型的对象。这个对象表示k .坐标轴对象2与ylabel:从(1)包含一个类型的对象。这个对象表示k .坐标轴对象3的标题:在(2)包含一个类型的对象。这个对象表示k .坐标轴对象4包含一个线类型的对象。这个对象表示K。

另请参阅

|

相关的话题