北太真元多域动态系统建模仿真平台基于北太天元数值计算通用软件研发,是建立在北太天元之上的一个重量级工具箱,同时它也可以与北太天元其他工具箱联动。北太真元主要是解决复杂系统的图形化、模块化建模、仿真与验证,可应用于汽车、航空航天、船舶、电子电力等行业。
刚刚开始接触北太真元的仿真,准备先跑一下example试一试水。结果跑标准案例的时候出现了报错:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%错误: 文件Comput_FixedorMaxStep第82行的表达式: 错误: 文件Comput_FixedorMaxStep第82行的表达式: max是脚本,调用时不能带有返回值或者输入参数由下面文件调用:1: Comput_FixedorMaxStep的第1行;2: 道路路面不平顺模拟仿真_Baltamulink2023ForAll的第20行;3: 道路路面不平顺模拟仿真_Baltamulink2023ForAll的第19行;函数执行中显示有错误信息,请反馈给开发团队。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%这是啥情况?我用simulink的时候也妹有出现这样的情况?有木有大佬帮忙看一看?
已知完全可控开环系统状态方程,其中:A = [-6 -5 -2;1 0 0;0 1 0],B = [1; 0; 0],C = [0 0 1],D = 0增益矩阵K = [8 43 78];增益L = 80。在Baltamulink中构建如下图所示的仿真模型:设置仿真参数:阶跃信号模块:阶跃时间为0;Sum1模块:符号为 ++++Sum2模块:符号为 +-Sum3模块:符号为 ++++Sum4模块:符号为 +++Gain1模块 = 80Gain2模块 = -6Gain3模块 = -5Gain4模块 = -2Gain5模块 = -6Gain6模块 = -5Gain7模块 = -2Gain8模块 = 8Gain9模块 = 43Gain10模块 = 78仿真时长:12;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:蓝色为原闭环系统的阶跃响应曲线;红色为状态反馈控制后的阶跃响应曲线。
串联超前校正是在系统中串联一个校正环节形成闭环系统。当时为串联超前校正。T1和T2的值是根据控制指标及被控系统的相位裕度得出的。已知被控对象开环传递函数为,使用超前校正环节进行仿真,比较校正前后系统的动态特性参数。在Baltamulink中构建如下图所示的仿真模型:设置仿真参数:阶跃信号模块:阶跃时间为1;Sum模块:符号为 +-仿真时长:7;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:蓝色为校正前;红色为校正后。从仿真结果中可以看出,校正前系统超调量达到80%,在稳态误差为2%的情况下,稳态时间为4.9秒左右;校正后系统超调量为27%,稳态时间为0.1s。由此可以看出,在系统出现超调前完成了校正,校正速度较快,稳态时间减少为1/50,超调量明显降低。
利用状态方程模块建模:若令:,那么微分方程: 可写成:写成状态方程为: 式中, 在Baltamulink中构建求解微分方程的模型并仿真,根据系统状态方程构建如下图所示的仿真模型:模型中各个模块说明如下。(1) u(t) 模块:设置阶跃时间为 0。(2) stateSpace模块:A、B、C、D 系数依次为 [0,1;-0.4,-0.2]、[0;0.2]、[1,0] 和 0。仿真时长:20s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:
利用传递函数模块建模:对方程: 两边取拉普拉斯变换,得:经整理得传递函数:在Baltamulink中构建求解微分方程的模型并仿真,根据系统传递函数构建如下图所示的仿真模型:模型中各个模块说明如下。(1) u(t) 模块:设置阶跃时间为 0。(2) transferFunc 模块:分子多项式系数 [0.2];分母多项式的系数 [1,0.2,0.4]。仿真时长:20s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:
控制系统稳定与否是绝对稳定性的概念。而对一个稳定的系统而言,还有一个稳定的程度,即相对稳定性的概念。相对稳定性与系统的动态性能指标有着密切的关系。在设计一个控制系统时,不仅要求它必须是绝对稳定的,而且还应保证系统具有一定的稳定程度。只有这样,才能不致因系统参数变化而导致系统性能变差甚至不稳定。对于一个最小相角系统而言,曲线越靠近点,系统阶跃响应的振荡就越强烈,系统的相对稳定性就越差。因此,可用曲线对点的接近程度来表示系统的相对稳定性。通常,这种接近程度是以相角裕度和幅值裕度来表示的。要计算相角裕度,首先要知道截止频率。求较方便的方法是先由绘制曲线,由与线的交点确定。而求幅值裕度首先要知道相角交界频率,对于阶数不太高的系统,直接解三角方程是求较方便的方法。通常是将写成虚部和实部, 令虚部为零而解得。【金沙博彩支持】 某单位反馈系统的开环传递函数为:试求时系统的相角裕度和幅值裕度。将该开环传递函数变换为:在实际工程设计中,只要绘出曲线即可。根据该传递函数模型,在北太真元搭建稳定裕度系统模型如下图所示: 设置仿真参数:从上到下,传递函数参数依次为:num = [52];den = [1 0];num = [1];den = [1 1];num = [1];den = [1 5];仿真时长:10s;步长0.1s;求解器:ode4得到的仿真结果,如下图所示:
已知某系统的开环对数频率特性如下图所示,试确定其开环传递函数。 根据对数幅频特性曲线,可以写出开环传递函数的表达形式如下: 根据对数频率特性的坐标特点有,可以确定开环增益。根据相频特性的变化趋势(-270°-> -90°),可以判定系统为非最小相角系统。G(s)中一阶复合微分环节和惯性环节至少有一个是“非最小相角”的,将系统可能的开环零点极点分布画出来,如下表所示: 分析相角的变化趋势,可见,只有当惯性环节极点在右半s平面,一阶复合微分环节零点在左半s平面是,相角才符合从-270°到-90°的变化规律。因此可以确定系统的开环传递函数为:对于最小相角系统,对数幅频特性与对数相频特性之间存在唯一确定的对应关系,根据对数幅频特性就完全可以确定相应的对数相频特性和传递函数,反之亦然。由于对数幅频特性容易绘制,所以在分析最小相角系统时,通常只画其对数幅频特性,对数相频特性则只需概略画出,或者不画。根据该传递函数模型,在北太真元搭建最小相角系统模型如下图所示: 设置仿真参数:从上到下,传递函数参数依次为:num = [1];den = [1 0];num = [1 1];den = [1 -1];仿真时长:10s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:
已知开环系统传递函数:首先将G(s)化为唯一标准形式:此系统由比例环节、积分环节、惯性环节、一阶微分环节和振荡环节共5个环节组成。惯性环节转折频率:一阶复合微分环节转折频率:振荡环节转折频率:开环增益:K=4,积分环节数v=1,低频起始段由K/s=4/s决定。根据该传递函数模型,在北太真元建立模型如下图所示: 设置仿真参数:从上到下,传递函数参数依次为:num = [1];den = [1 0];num = [1];den = [1 0.5];num = [64 128];den = [1 3.2 64];仿真时长:10s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:
针对标准二阶系统传递函数:改变ζ(阻尼比)和ωn(自由振荡频率)的参数设置,观察对系统输出的影响。在二阶系统自由振荡频率ωn不变的情况下,改变阻尼系数ζ为无阻尼(ζ= 0)、欠阻尼(0<ζ< 1)、临界阻尼(ζ= 1)和过阻尼(ζ> 1)的4中状态,分别取ζ= 0,ζ= 0.5,ζ= 1,ζ= 2带入二阶系统传递函数 中,搭建4个不同的仿真模型,输出结果,观察仿真结果得出结论。根据该传递函数模型,在北太真元建立模型如下图所示: 设置仿真参数:从上到下,传递函数参数依次为:num = [4];den = [1 0 4];num = [4];den = [1 2 4];num = [4];den = [1 4 4];num = [4];den = [1 8 4];阶跃信号模块的阶跃时间为0;仿真时长:6s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示: 结论:从仿真结果可以看出,改变阻尼比,系统的超调量也在变化,系统达到稳态的时间也发生变化。当ζ= 0无阻尼时,出现等幅振荡曲线,超调量为100%,稳态时间为无穷大;当ζ< 1时,信号曲线衰减振荡,有超调量;当ζ≥ 1时,没有超调量,随着ζ增大,达到稳态的时间也增大。
零极点增益模型实际上是传递函数的另一种表现形式,其原理是分别对源系统传递函数的分子、分母进行因式分解处理,以获得系统零点和几点的表示形式。 式中,k为系统增益;zi(i = 1,2,3,...,m)为分子多项式的根,称为系统的零点;pj(j = 1,2,...,n)是分母多项式的根,称为系统的极点。传递函数的分母多项式就是它的特征多项式,它等于零的方程就是传递函数的特征方程,特征方程的根也就是传递函数的极点。传递函数的极点决定了所描述系统的自由运动状态;零点影响系统各模态在系统响应中的比重。零点增益模型的命令格式如下:ZPG = zpk(z, p, k)其中ZPG是建立的零极点增益模型;z、p、k分别是系统的零点向量、极点向量和增益。例:利用Baltamulink建立系统G(s) = 18(s + 2) / (s + 0.4)(s + 15)(s + 25)的零点增益模型,进行系统仿真。将上面零点增益模型进行转换得到模型的传递函数如下:G(s) = 18(s + 2)/(s^3 + 40.4s^2 + 391s + 150)根据该传递函数模型,在北太真元建立模型如下图所示: 设置仿真参数:仿真时长:20s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:
力——质量系统,要拉动一个箱子(拉力f=1N),箱子质量为M(1kg),箱子与地面的摩擦力为[(b=0.4N.m/s)],其大小与车子的速度成正比。如下图所示: 其运动方程式为:F - bx’ = Mx’’拉力作用时间为2s。在北太真元建立模型如下图所示: 设置仿真参数:设置stepInputOne模块的阶跃时间为0,表示摩擦力作用时间;设置stepInputTwo模块的阶跃时间为2,表示拉力作用时间;设置gainTwo模块的增益值为0.4表示摩擦力;仿真时长:10s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示: 因为有摩擦力存在,箱子最终会停止前进。
求解二阶微分方程:x’’(t) + 0.4x’(t) + 0.9x(t) = 0.7u(t) 的解,其中u(t)是脉冲信号。 在北太真元建立模型如下图所示: 设置仿真参数:脉冲信号u(t)为方波信号模块,参数振幅 = 1;周期 = 2.5;脉冲宽度 = 50;相位 = 0;仿真时长:10s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:
已知二自由度质量-弹簧-阻尼串联系统模型如下图所示: 这个系统由两个质量块(小车)和三组弹簧阻尼器组成,假设地面是光滑的,这样系统中没有摩擦作用。 u1(t) 和 u2(t) 分别是两个质量块所受的外力, x1(t) 和 x2(t) 分别是两个质量块的位移。 m1,2、k1,2,3 和 b1,2,3 分别对应图中的质量、弹簧刚度和阻尼系数。是对于整个系统而言,输入两个外力,输出两个位移,因此这是一个多输入多输出系统。两个小车都只能沿横向左右运动,因此为二自由度系统。根据牛顿第二定律,物体所受合力等于物体的惯性力,而惯性力是物体质量与加速度的乘积。可以理解为物体受力后产生加速度,而有加速度存在就会产生运动趋势,造成物体运动。对两个质量块分别进行受力分析: 首先需定义系统的状态变量,在这种情况下一般用物体的位移和速度作为状态变量。设状态向量 Z分别对应质量块1的位移和速度、质量块2的质量和速度: 根据上面对模型的数学推导,当将各状态向量 z 对时间求导(微分),可以将系统整理为各状态量的一阶微分方程组: 因为这是一个线性系统,因此系统的状态可以表示为矩阵形式: 式中,A 为系统状态矩阵;B 为输入矩阵;u 为输入(控制)向量: 有了系统的状态空间方程,接下来考虑系统的输出,也就是我们希望得到的量。我们假设对两个质量块的位移感兴趣,即 z1 和 z3 ,那么就将它两个状态作为系统的输出,则输出方程的矩阵形式为:y = Cz;式中,y 为输出向量;C 为输出矩阵: 以上,使用状态空间模型对系统完成描述。令,质量:m = 1kg;弹簧刚度: k = 1N/m;阻尼系数:b = 1N.s/m。则,状态空间方程系数如下:A = [0 1 0 0;-2 -2 1 1;0 0 0 1;1 1 -2 -2];B = [0 0;1 0;0 0;0 1];C = [1 0 0 0;0 0 1 0];D = [0 0;0 0]; 在北太真元建立模型如下图所示: 设置仿真参数:两个质量块所受的外力u1是常量模块 = 2 N; u2是阶跃型号=1N。仿真时长:10s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:
已知质量块质量 m = 1kg,阻尼 b = 3 N.s/m,弹簧系数 k = 90 N/m,且物块的初始位移 x(0) = 0.04m,其初始速度为x’(0) = 0.01 m/s。创建该系统的北太真元模型,并运行仿真。弹簧-质量-阻尼系统如下图所示: 建立理论数学模型。对于无外力的系统,根据牛顿定理可以得到:mx’’ + bx’ + kx = 0代入数值并整理得:x’’ = -3x’ - 90x在北太真元建立模型如下图所示: 设置仿真参数:仿真时长:10s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:
1 线性插值线性插值是指插值函数为一次多项式的插值方式,其在插值节点上的插值误差为零。线性插值相比其他插值方式,如抛物线插值,具有简单、方便的特点。线性插值的几何意义即为概述图中利用过A点和B点的直线来近似表示原函数。线性插值可以用来近似代替原函数,也可以用来计算得到查表过程中表中没有的数值。1.2 基础知识已知函数在区间上个互异点上的函数值,若存在一简单函数,使 并要求误差 的绝对值在整个区间上比较小。这样的问题称为插值问题。其中::插值节点:被插值函数:插值函数:插值区间如果在插值区间内部用代替则称为内插;在插值区间以外,用代替则称为外插。1.3 简介线性插值是一种较为简单的插值方法,其插值函数为一次多项式。线性插值,在各插值节点上插值的误差为0。设函数在两点,上的值分别为,,求多项式 使满足 由解析几何可知 称为在处的一阶均差,记以。于是,得 如果按照整理,则 以上插值多项式为一次多项式,这种插值称为线性插值。1.4 几何意义线性插值的几何意义如图1所示,即为利用过点和的直线来近似原函数。 1.5 应用1)线性插值在一定允许误差下,可以近似代替原来函数;2)在查询各种数值表时,可通过线性插值来得到表中没有的数值。2一维线性插值仿真实例首先,在Baltamulink中,添加输出正弦波模块、一维插值模块、信号合并模块、输出模块,建立一维插值仿真模型,每个模块参数都设置为默认值;模型如下图所示; 设置仿真参数:仿真时长:10s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示: 绿色代表原正弦波金沙博彩;橙色表示一维插值后的正弦波金沙博彩。
基于Baltamulink的衰减曲线法整定参数使用4:1衰减曲线法设计下列被控传递函数的PI控制器,分别计算P控制、PI控制的参数值,并绘制控制前后系统的单位阶跃响应曲线。4:1衰减法控制参数计算公式如下表所示:4:1衰减法控制被控传递函数方程如下:Gp(s) =1 / 100^3 + 80^s + 17s + -1;调节参数时,比例系数由小变大,并增加扰动观察响应过程,知道响应曲线峰值衰减比为4:1,记录此时的比例系数Kp为Ks,两个峰值之间的时间周期为周期Ts。假设:响应曲线峰值衰减比为4:1时的比例系数 Ks= 4.74; 两个峰值之间的时间周期 Ts = 21.9967;则,按照上面4:1衰减法控制表中的计算公式可得:P控制:比例系数 Kp = Ks = 4.74;PI控制:比例系数 Kp = Ks/1.2 = 3.95; 积分时间常数 Ti = 0.5 * Ts = 10.9984; 积分系数 Ki = Kp / Ti = 3.95 / 10.9984 = 0.3591;P(比例)控制首先,把控制器设置成纯比例控制,即令积分系数Ki和微分系数Kd为零,在北太真元建立模型,形成比例控制系统,结构如下图所示; 设置参数:仿真时长:30s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示: PI(比例积分)控制首先,在纯比例控制系统的基础上增加积分系数Ki,令微分系数Kd为零,在北太真元建立模型,形成比例控制系统,结构如下图所示; 设置参数:仿真时长:30s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示:
基于Baltamulink状态空间模型的汽车时域特性仿真问题:利用汽车横摆角速度传递函数和质心侧偏角传递函数,对汽车时域响应进行仿真,绘制汽车横摆角速度和质心偏侧角的时域特性曲线。汽车时域响应仿真所需参数见下表。 取状态向量为X = [β ωr]’,输入向量U = [δ1],输出向量为Y = [β ωr]’,状态空间方程为: 式中,A = [(K1+K2)/mu, (aK1 - BK2)/mu²-1; (aK1-bK2)/Iz, (a²K1+b²K2)/Iz*u] 称为系统矩阵;B = [-K1/mu; -aK1/Iz] 称为控制矩阵;C = [1 0; 0 1] 称为输出矩阵;D = [0; 0] 称为传递矩阵。汽车速度分别选取20m/s、30m/s、40m/s;在仿真时间0s时给前轮一个阶跃信号,使前轮转角从0°转到10°,并保持不变。根据汽车状态空间模型,建立模型,绘制不同车速下的汽车横摆角速度和质心侧偏角的时域特性曲线。 首先:通过北太天元计算汽车状态空间方程的系统矩阵和控制矩阵,在北太天元依次输入下面语句;>> m=2050;Iz=5600;a=1.5;b=1.8;L=3.3;>> k1=-38900;k2=-39200;>> u= [20 30 40];>> a11 = (k1 + k2)/m./u;>> a12 = (a*k1 - b*k2 -m.*u.^2)/m./u.^2;>> a21 = (a*k1 - b*k2)/Iz;>> a22=(a^2*k1 + b^2*k2)/Iz./u;>> b11 = -k1/m./u;>> b21 = -a*k1/Iz;得到结果如下图1所示 ;图1将命令行窗口,和工作区窗口放大后如图2、图3所示;图2 图3 因为,汽车状态空间方程的系统矩阵为:A = [a11, a12; a21, a22];控制矩阵为:B = [ b11; b21]; 所以,从图3红色框中可以得到各项系数如下:当汽车速度 s = 20 m/s 时,系统矩阵:A = [-1.90488,-0.98511;2.18036,-1.91547]; 控制矩阵:B = [0.94878; 10.4196];当汽车速度 s = 30 m/s 时,系统矩阵:A = [-1.26992,-0.993382;2.180436,-1.27698]; 控制矩阵:B = [0.63252; 10.4196];当汽车速度 s = 40 m/s 时,系统矩阵:A = [-0.952439,-0.996277;2.180436,-0.957737]; 控制矩阵:B = [0.47439; 10.4196];状态方程输出矩阵C = [1 0; 0 1];传递矩阵D = [0; 0]。又因为,在仿真时间0s时给前轮一个阶跃信号,使前轮转角从0°转到10°;所以模型还需一个阶跃信号模块,阶跃时间=0;且,还需一个增益模块,增益= pi*10/180 = 0.1745。通过北太真元建立汽车状态空间模型,如下图所示: 设置参数:仿真时长:10s;步长0.01s;求解器:ode4得到的仿真结果,如下图所示: 上半部分代表汽车横摆角速度时域特性曲线;即: 墨绿色代表速度20m/s时的特性曲线;绿色代表速度30m/s时的特性曲线;红色代表速度40m/s时的特性曲线。 下半部分代表汽车质心侧偏角时域特性曲线;即: 紫色代表速度20m/s时的特性曲线;橙色代表速度30m/s时的特性曲线;蓝色代表速度40m/s时的特性曲线。
基于Baltamulink传递函数分析阻尼系数和固有频率对性能的影响实例:已知传递函数G(s) = ω²/ s²+ 2ζωs + ω²,分析阻尼系数和固有频率对性能的影响。(1)假设 ω = 1, ζ = 0, 0.8, 1.5;(2)假设 ζ = 1, ω = 1, 2, 3; 从(1)可得,阻尼系数传递函数的系数可以是:G(s1) = [1; 1 0 1];G(s2) = [1; 1 1.6 1];G(s3) = [1; 1 3 1]; 通过北太真元建立“阻尼系数对系统性能的影响”模型,如下图所示: 设置参数:仿真时长:20s;步长0.1s;求解器:ode4得到的仿真结果,如下图所示: 墨绿色代表阻尼系数=0时的特性曲线;淡绿色代表阻尼系数=0.8时的特性曲线;红色代表阻尼系数=1.5时的特性曲线。从结果图中可以看出,阻尼系数决定了系统的振荡幅度,阻尼系数越小,振荡幅度越大。从(2)可得,固有频率传递函数的系数可以是:G(s1) = [1; 1 0.5 1];G(s2) = [4; 1 1 4];G(s3) = [9; 1 1.5 9];通过北太真元建立“固有频率对系统性能的影响”模型,同上模型;设置参数:仿真时长:20s;步长0.1s;求解器:ode4得到的仿真结果,如下图所示: 墨绿色代表固有频率=1时的特性曲线;淡绿色代表固有频率=2时的特性曲线;紫色代表固有频率=3时的特性曲线。从结果图中可以看出,固有频率决定了系统的振荡频率,固有频率越大,系统的振荡越高,响应速度也越快。