第3章 CHAPTER 3 气动肌肉机器人 视频讲解 机器人通常有3类驱动方式,分别为液压执行器驱动、气动执行器驱动和电动执行器驱动。其中,电动执行器驱动的方式受电池的影响,可承担的负载比较小; 气动执行器由于自身带有的非线性特性,一般控制精度不高; 液压执行器在目前由于动力比较强,控制比较容易得到广泛的应用。 近年来,气动肌肉(Pneumatic Muscle)材料和结构等的不断发展与应用,新型的气动肌肉成本小、柔顺性强和高输出质量比。气动人工肌肉结构简单、材料轻便、生物适应性好,在医疗康复、航空航天、水下作业、抢险救灾等领域均具有良好的适应性,可方便地用于驱动机器人完成多项复杂任务,然而由于气动肌肉本身有非常强的非线性、迟滞、蠕变等特性,对其驱动的柔性机器人的精准建模和控制带来了挑战。 虽然气动肌肉的控制有较大的难度,但是气动肌肉作为驱动器在仿生机器人领域、康复机器人领域以及服务机器人领域等都有很广阔的应用前景。本章将着重介绍由气动肌肉驱动的仿人机械腿和肘关节手臂,并对两者进行数学建模,运用不同算法对其进行控制仿真分析。 3.1气动肌肉模型特性 由于气动肌肉的强非线性,建立理论数学模型具有较大误差,故对其进行实验建模,根据气动肌肉的物理性质以及从气动肌肉的输入输出量将气动肌肉简化为3个单元共同作用的结果,3个单元分别为收缩、弹簧、阻尼。由于气动肌肉结构与气压驱动等关系,气动肌肉一般处于较低的频率下工作。在频率比较低时,3个单元中的阻尼单元比较小,在实验建模的过程中可以忽略不计。如图3.1所示,可以将气动肌肉简化为由收缩力与 图3.1气动肌肉简化模型 弹簧所产生的力形成气动肌肉的收缩力和位移。 气动肌肉实验模型可以表示为 F(x,p)=Fce(p)-K(p)x(3.1) 式中,F(x,p)表示气动肌肉的拉力,Fce(p)表示收缩单元在气压为p的状态下的收缩力,K(p)表示弹簧单元气压为p的状态下的刚性。Fce(p)和K(p)可以表示为气压p的多项式,在实验建模中可以通过实验参数辨识获得。 整体的实验步骤分为以下几步: 第一步,设定比例调压阀的气压为给定值,给被测气动肌肉充气,并保持给定值。慢慢手动调节减压阀,使负载气动肌肉的气压超过死区,稳定后记录相应的拉力、位移。使用减压阀,使负载气动肌肉提供的拉力在0~800N范围内变化,稳定后记录相应的拉力、位移。 第二步,将比例调压阀的气压以0.005MPa的步长在0.005~0.6MPa范围内变化,每次变化,重复第一步,并记录数据。 第三步,将每组收集的数据拟合成相应气压下,气动肌肉收缩单元的收缩力与位移的关系。然后由此得出气动肌肉的气压与刚度的关系以及气压与收缩力的关系。 实验针对气动肌肉机械腿所用的3种规格的McKibben型气动肌肉进行了建模,所得结果如下: 长度为156mm直径为20mm的气动肌肉实验模型为 Fce(p)=199.33p+222.55,0<p≤6 K(p)=-21.93p+53.94,0<p≤1.5448 3.41p+14.80,1.5448<p≤6(3.2) 长度为133mm直径为20mm的气动肌肉实验模型为 Fce(p)=207.76p+391.1424,0<p≤6 K(p)=-45.48p+120.47,0<p≤2.1155 6.14p+11.27,2.1155<p≤6(3.3) 长度为185mm直径为20mm的气动肌肉实验模型为 Fce(p)=231.68p+125.88,0<p≤6 K(p)=-24.22p+67.37,0<p≤2.1456 5.10p+4.46,2.1456<p≤6(3.4) 下面对比例调压阀进行实验建模,在建模前调整比例阀的量程范围,对调压比例阀进行阶跃实验。为了得出比例调压阀的数学模型,将进行以0.1MPa为步长,变化范围为0.1~0.6MPa的阶跃测试,每组采集数据的周期为10ms。对实验数据进行处理,首先确定各个实验图的曲线特征,可以观察有无拐点、曲率变化、最终趋势等,可以得出调压比例阀的数学模型的结构为一阶惯性环节。 Tp·=-p+ku(3.5) 式中,T=0.05s为比例调压阀的时间常数,k=0.833为比例阀的增益系数,u为比例阀的输入信号,即输入电压,p为比例阀出气口的气压。 3.2气动肌肉机械腿 3.2.1气动肌肉机械腿平台 气动肌肉机械腿实物如图3.2所示,主要是由髋关节与膝关节组成,有两个自由度。髋关节是由两根气动肌肉、链条和齿轮组成。气动肌肉的安装方式为拮抗式,其传动的方式为链轮传动。链轮传动的特点是没有弹性滑动、打滑的现象,并且不用皮带传动机制所需要有预紧力。髋关节的主要材质为钢材料,在气动肌肉机械腿实验中可以承受更强的力矩,外框为铝型材结构易于拆卸与改装。膝关节是由两根气动肌肉与四连杆结构的关节组成。 图3.2气动肌肉机械腿实物图 气动肌肉的安装方式为拮抗式,其传动方式为四连杆传动。四连杆传动的特点是体积小、质量轻、在气动肌肉收缩时可以保证气动肌肉的运动方向,但存在一定的问题,比如建模比较困难、结构比较复杂等。膝关节的主要材质为碳纤维和铝合金。四连杆结构的关节主要是铝合金材质,可以承受比较大的冲击力,并且质量比较小,运动时对于髋关节的影响比较小。大腿与小腿部分为碳纤维材质,可以有效减轻腿的整体质量。 气动肌肉机械腿系统的硬件信号传递如图3.3所示,由倍福嵌入式控制器输出控制量,通过模拟量I/O模块输出对应的电压。储气罐通过减压阀给比例调压阀供给稳定为0.55MPa的气源。比例调压阀接收模拟量模块输出的电压输出相应的气压,控制两对拮抗式气动肌肉收缩。然后由角度传感器和拉力传感器测得信息,传回倍福嵌入式控制器。 图3.3机械腿硬件信号图 视频讲解 3.2.2气动肌肉机械腿建模 图3.4机械腿简化模型 将气动肌肉机械腿简化为悬挂状态的2自由度刚体模型。以髋关节为原点,垂直地面方向为Z轴方向建立坐标系,如图3.4所示。 在图3.4中,m1和m2分别为大腿和小腿的质量,L1和L2(如表3.1所示)分别为大腿与小腿的长度,lm1和lm2分别为大腿和小腿的质心离髋关节与膝关节质心的距离,θh和θk分别为髋关节与膝关节转动的角度。下面利用拉格朗日建模方法对其进行建模。 大腿质心的坐标为 xm1=lm1sinθh zm1=-lm1cosθh(3.6) 表3.1物理参数测量值 系数名称m1 /kgm2 /kgL1 /mL2 /mlm1 /mlm2 /mI1 /(kg·m2)I2 /(kg·m2) 数值2.9700.5400.4000.3550.1240.1460.111750.00708 小腿质心的坐标为 xm2=L1sinθh-lm2sin(θk-θh) zm2=-L1cosθh-lm2cos(θk-θh)(3.7) 大腿质心的速度为 vm1=lm1cosθh0 lm1sinθh0θ·h θ·k(3.8) 小腿质心的速度为 vm2=L1cosθh+lm2cos(θk-θh)-lm2cos(θk-θh) L1sinθh-lm2sin(θk-θh)lm2sin(θk-θh)θ·h θ·k(3.9) 大腿与小腿的动能分别为 T1=12m1l2m1θ·2h+12I1θ·2h(3.10) T2=12m2L21+12m2l2m2+12I2+m2L1lm2cosθkθ·2h + 12m2l2m2+12I2θ·2k-m2L1lm2cosθk+ml2m2+I2θ·hθ·k(3.11) 大腿的位能为 U1=-gm1lm1cosθh(3.12) 小腿的势能为 U2=-m2g[L1cosθh+lm2cos(θk-θh)](3.13) 机械腿的总势能为 U=U1+U2(3.14) 机械腿的总动能为 T=T1+T2(3.15) 根据拉格朗日法 τi=ddtLθ·i-Lθii=h,k(3.16) 式中,L=T-U。 求得机械腿的动力学模型为 I(θ)θ¨+C(θ,θ·)θ·+G(θ)=τ(3.17) 式中,θ=[θhθk]T,I(θ)为惯量矩阵,C(θ,θ·)为加速度矩阵,G(θ)为重力项,τ=[τhτk]T为输入力矩。 惯性矩阵I(θ)为 I(θ)=m1l2m1+m2(L21+lm2+2L1lm2cosθk)+I1+I2I2 I2m2l2m2+I2(3.18) 式中,I1和I2分别为大腿与小腿的转动惯量。 加速度矩阵C(θ,θ·)为 C(θ,θ·)=-θ·km2L1lm2sinθk-θ·hm2L1lm2sinθk 00(3.19) 重力项G(θ)为 G(θ)=gm1lm1sinθh+gm2L1sinθh+gm2lm2sin(θh-θk) -gm2lm2sin(θh-θk)(3.20) 视频讲解 3.2.3自适应反步算法仿真 将气动肌肉机械腿运动学建模所得的模型(3.17)引入扰动τd为 I(θ)θ¨+C(θ,θ·)θ·+G(θ)=τ+τd(3.21) 式中,τ表示模型输入的力矩,即系统输入量,τd为未知扰动,I(θ)、G(θ)、C(θ,θ·)分别为已知的函数。 为了提高模型的精度,本章对建模误差进行简单的量化,则实际的惯性矩阵和科氏力矩阵为 I^(θ)=I(θ)+k1I(θ) C^(θ,θ·)=C(θ,θ·)+k2C(θ,θ·)(3.22) 式中,I(θ)、C(θ,θ·)表示真实值。I^(θ)、C^(θ,θ·)表示实际的测量值。k1、k2表示对测量误差线性建模的系数,其范围为-1<k1<1,-1<k2<1。 然后令Km和Kc为 1+k1=Km 1+k2=1Kc(3.23) 将式(3.23)代入式(3.22)可得 I(θ)=11+k1I^(θ)=1KmI^(θ) C(θ,θ·)=11+k2C^(θ,θ·)=KcC^(θ,θ·)(3.24) 此时,气动肌肉机械腿的数学模型可以写成如下形式 1KmI^(θ)θ¨+KcC^(θ,θ·)θ·+G(θ)=τ+τd(3.25) 整理为状态方程的形式 x·1=x2 x·2=KmI^(θ)-1(τ+τd-G(θ)-KcC^(θ,θ·)x2)(3.26) 式中,x1=[θh,θk]T,x2=[θ·h,θ·k]T表示系统的状态量,本章所设计的目标是使输出x1跟踪上参考信号yr。 为了实现设计目标,对气动肌肉机械腿模型进行自适应反步控制器设计,需要满足以下假设。 假设1: τd为时变的扰动,并且满足Kmτd的2范数小于τ~,τ~为一个正的常数。 假设2: 跟踪的参考信号yr,参考信号yr的一阶导数和二阶导数都是连续、有界的。 假设3: 未知变量Km的符号已知。 在满足以上3个假设的基础上,根据气动肌肉的模型设计相应的自适应反步控制器。 第一步,定义坐标变换 z1=x1-yr z2=x2-α1-y·r(3.27) 式中,z1和z2为定义的误差变量。z1表示为实际系统的输出与参考信号之间的差值,即系统的跟踪误差。z2表示第一个子系统输入与理想的虚拟输入之间的差值。x2作为第一个子系统的控制输入,α1表示第一个子系统的虚拟控制律,yr和y·r分别为参考信号和参考信号的一阶导数。 对系统的跟踪误差z1进行求导,并将坐标变换代入其中可得 z·1=x·1-y·r=z2+α1+y·r-y·r=z2+α1(3.28) 为了确保第一个子系统稳定,设计虚拟控制器α1为如下形式 α1=-C1z1(3.29) 式中,C1为正的任意常数。 验证所设的虚拟控制器是否可以保证第一个子系统稳定,并且完成设计的任务输出x1跟踪上参考信号yr,设计如下李雅普诺夫函数 V1=12zT1z1(3.30) 对所设计的李雅普诺夫函数求导 V·1=zT1z·1=zT1(z2+α1+y·r-y·r)=zT1(z2+α1)(3.31) 将第一个子系统的虚拟控制律α1代入式(3.31)可得 V·1=zT1z2-zT1C1z1(3.32) 由此可得,当第二个子系统控制稳定并达到设计目标时,即z2=0时,V·1=-zT1C1z1≤0,验证了所设计的虚拟控制律α1可以使第一个子系统达到稳定,并且达到设计目标z1→0。 第二步,对定义的误差z2进行求导,并将式(3.29)代入 z·2=x·2-α·1-y¨r =KmI^-1(θ)τ+KmI^-1(θ)τd-KmI^-1(θ)G(θ)-KmI^-1(θ)KcC^(θ,θ·)x2+ C1(z2+α1)-y¨r (3.33) 在设计控制律与更新率之前,令 a=1Km,b=KmKc(3.34) 并且 a~=a-a^,b~=b-b^(3.35) 然后对式(3.35)进行求导 a=-a,b=-b(3.36) 为了使系统稳定,设计自适应反步控制的控制律与更新率。 系统控制律 τ=I^(θ)a^u-+G(θ)(3.37) u-=-z1-C2z2+b^I^-1(θ)C^(θ,θ·)x2-C1(z2+α1)+y¨r-zT2‖I^-1(θ)‖2(3.38) 系统更新率 b=-ηbzT2I^-1(θ)C^(θ,θ·)x2-ηbσbb^ a=-ηasign(Km)zT2u--ηaσaa^(3.39) 式中,C2、ηb、ηa、σa、σb为正的常数。 对上述设计的控制律进行稳定性分析。 考虑第二个李雅普诺夫函数为 V2=V1+12zT2z2+|Km|2ηaa~2+12ηbb~2(3.40) 在对V2求导前,可以先得 KmI^-1(θ)τ=KmI^-1(θ)(I^(θ)a^u-+G(θ)) =KmI^-1(θ)I^(θ)a^u-+KmI^-1(θ)G(θ) =u--Kma~u-+KmI^-1(θ)G(θ)(3.41) 对V2进行求导可以得 V·2=V·1+zT2z·2-|Km|ηaa~a-1ηbb~b(3.42) 将式(3.32)代入得到 V·2=zT1z2-C1zT1z1+ zT2(-z1-C2z2+b~I^-1(θ)C^(θ,θ·)x2-C1(z2+α1)+y¨r-zT2‖I^-1(θ)‖2- Kma~u-+KmI^-1(θ)G(θ)+KmI^-1(θ)τd-KmI^-1(θ)G(θ)- KmI^-1(θ)KcC^(θ,θ·)x2+C1(z2+α1)-y¨r)-|Km|ηaa~a-1ηbb~b(3.43) V·2整理可以得到 V·2=-C1zT1z1-zT2C2z2-zT2b~I^-1(θ)C^(θ,θ·)x2-zT2z2‖I^-1(θ)‖2 -zT2Kma~u-+zT2KmI^-1(θ)τd-|Km|ηaa~a-1ηbb~b =-C1zT1z1-zT2C2z2-1ηbb~(b+ηbzT2I^-1(θ)C^(θ,θ·)x2)- |Km|ηaa~(a+ηa·sign(Km)zT2u-)-zT2z2‖I^-1(θ)‖2+ zT2KmI^-1(θ)τd(3.44) 代入控制律式(3.37)、式(3.38)与更新率式(3.39)得 V·2=-zT1C1z1-zT2C2z2+σbb~b +|Km|σaa~a-zT2z2‖I^-1(θ)‖2+zT2KmI^-1(θ)τd(3.45) 因为存在不等式 zT2I-1(θ)Kmτd≤‖zT2I-1(θ)‖2+14‖τ~‖2 ≤zT2z2‖I-1(θ)‖2+14‖τ~‖2(3.46) 由此可得 V·2≤-C1zT1z1-zT2C2z2-12σbb~2-12σbb2-12|Km|σaa~2 +12|Km|σaa2+14‖Kmτd‖2(3.47) 定义系数c、d使得 c=minC1,C2,12σb,|Km|2σa(3.48) d=12σbb2+12|Km|σaa2+14‖Kmτd‖2(3.49) 整理式(3.47)得 V·2≤-cV2+d(3.50) 解微分不等式可以得 0≤V2≤zctV2(0)+∫t0(z-c(t-τ)d)dτ =cd+V2(0)-dcz-ct(3.51) 由式(3.51)可以得 limt→∞V2(t)=cd(3.52) 因此,只要选择合适的参数C1、C2、ηa、ηb、σa、σb,可以保证两个子系统的误差z1、z2以及对于系统参数误差的估计a^、b^为全局一致有界的,并且当时间趋向于无穷时,z1,z2→0。对于其他的系统变量x1、x2,因为x1=z1+yr,且yr为有界的参考信号,所以控制系统的输出y=x1为有界的。同理,状态变量x2=z2+α1+y·r,其中α1、z2、y·r都可以从设计过程中判断为有界的,所以状态变量是有界的。同时设计的控制器也为有界的,所以由定理可以得控制系统可以实现误差有界。 图3.5为气动肌肉机械腿的Simulink仿真框图。首先,由参考信号与实际系统输出的信号做差,所得的误差值传给自适应反步算法作为算法的输入,自适应反步算法的输出为两个关节的力矩。然后,由机械腿关节映射把两个关节的力矩映射成四根气动肌肉的力,并通过气动肌肉拉力控制器,即PI控制,来分别控制4根气动肌肉达到设定的力。最后,4根气动肌肉的输出力转化为力矩来控制机械腿动力学模型,最终机械腿动力学模型的输出为两个关节的角度。 图3.5气动肌肉机械腿Simulink仿真框图 选取髋关节理想追踪曲线为yhip=8sin(0.05πt)+45°,膝关节理想追踪曲线为yknee=-12sin(0.05πt)+75°。图3.6为配套资源中的fangzhentu.m文件运行的仿真实验结果,图3.6(a)和图3.6(b)中 给出了 目标曲线和跟踪曲线。图3.6(c)和图3.6(d)为两个关节角度跟踪误差曲线,从局部放大图中可以看出,机械腿髋关节的误差为-0.0034°~0.0155°,膝关节的误差为-0.0901°~0.0230°。图3.6(e)和图3.6(f)为两个关节的力矩跟踪图, 目标曲线由自适应反步算法计算得出,跟踪曲线由4根气动肌肉经过PI控制输出得到的。图3.6(g)和图3.6(h)为仿真中对参数a、b的估计。 图3.6仿真实验结果图 3.3气动肌肉仿人手臂 3.3.1仿人肘关节建模 仿人肘关节简易模型如图3.7所示。 图3.7仿人肘关节简易模型 按照人体手臂尺寸得到上臂和下臂尺寸,按照手臂肌肉发力原理设计成级联式拮抗结构。OPH为上臂连杆,随着上臂的两根气动肌肉伸缩,带动杆PAPD绕O为中心转动θ1,下臂的两根气动肌肉带动连杆OPG绕O为中心转动θ2,初始值为0°,逆时针旋转为正方向。其中上臂和下臂的两根气动肌肉分别能使肘关节角度转动45°,肘关节转动角度合计为90°。H表示气动肌肉的长度,下标l、r、u、d分别表示肘关节左、右、上、下的气动肌肉。 仿人肘关节的静态模型为 Fucduc-Fuedue+Fdcddc-Fdedde=Ml2θ¨+Mglsinθ(3.53) 式中,u、d、c、e分别代表上臂、下臂、收缩侧、伸长侧,分别是指上臂收缩侧肌肉输出力、上臂伸长侧肌肉输出力、下臂收缩侧肌肉输出力、下臂伸长侧肌肉输出力,duc、due、ddc、dde为Fuc、Fue、Fdc、Fde四个气动肌肉输出力的力臂,M为下臂质量,l为下臂长度。 其中,duc、due、ddc、dde分别为 duc=rcosθ1-3sinθ1(3.54) due=rcosθ1+3sinθ1(3.55) ddc=rcos(θ2+θ0)(3.56) dde=rcos(θ2-θ0)(3.57) 式中,θ1=θ2=θ2,θ为仿人肘关节转过的角度,θ1、θ2为上臂肌肉、下臂肌肉完成的转动角度,θ0=arctan(r0/l0)。 气动肌肉长度为 Hlu=L2u+2r20-2r0L2u+r20cos(π/2+θ1-θu) Hru=L2u+2r20-2r0L2u+r20cos(π/2-θ1-θu)(3.58) Hld=L2d+2r20-2r0L2d+r20cos(π/2+θ2-θd) Hrd=L2d+2r20-2r0L2d+r20cos(π/2-θ2-θd)(3.59) 式中,θu和θd分别表示上臂和下臂杆件固定的偏置角度,即∠OPHPC和∠OPGPE,θd=arctan(r0/Ld),θu=arctan(r0/Lu),Lu表示上臂OPH,Ld表示下臂OPG的长度,r0表示PAPD杆转动的半径。d表示气动肌肉输出力相对于旋转原点的力臂,下标表示同上。其中根据条件r0Lu,Ld,可简化公式为 dlu≈r20/Lusinθ1+r0cosθ1 dru≈r0cosθ1-r20/Lusinθ1(3.60) dld≈(r0L2d+r20/2r20+L2d)cos(θ2+θd) drd≈(r0L2d+r20/2r20+L2d)cos(θ2-θd)(3.61) 完整的肘关节模型可写成 Juθ¨1-c1θ·1=Frudru-Fludlu Jdθ¨2-c2θ·2=Frddrd-Flddld(3.62) 式中,J为转动惯量,c为转动摩擦系数,F为气动肌肉收缩力。 为了简化模型,假设 (1) 做控制时同侧的气动肌肉气压相同,假定θ1=θ2。 (2) 上臂的两根气动肌肉和下臂的两根气动肌肉输出力间无耦合。 (3) 关节无转动摩擦,即c1和c2为0。 (4) 根据肘关节设计可近似得到Ju=Jd=J。 则式(3.62)可简化为 Jθ¨=τ τ=Frudru-Fludlu+Frddrd-Flddld (3.63) 肘关节的4根气动肌肉的气压设计成偏置方式,且同侧的气动肌肉压力相同,即 Pr=P0+ΔP Pl=P0-ΔP(3.64) 式中,ΔP表示偏置气压,P0表示初始气压。 将式(3.60)式(3.61)式(3.64)代入式(3.63),可得 τ=β0(εru,εlu,εrd,εld)+β1(εru,εlu,εrd,εld)ΔP(3.65) β0=[α0(εru)+α1(εru)P0]dru-[α0(εlu)+α1(εlu)P0]dlu+ [α0(εrd)+α1(εrd)P0]drd-[α0(εld)+α1(εld)P0]dld(3.66) β1=α1(εru)dru+α1(εlu)dlu+α1(εrd)drd+α1(εld)dld(3.67) 肘关节模型可表示为 Jθ¨=β0(εru,εlu,εrd,εld)+β1(εru,εlu,εrd,εld)ΔP(3.68) 3.3.2基于干扰观测器的滑模控制仿真 由于在实际的模型中,模型误差肯定存在,有必要设计干扰观测器来实时前馈掉模型的误差,设计基于干扰观测器的滑模控制(Sliding Mode Control Based on Disturb Observer, SMCDO)。 实验时肘关节模型会存在参数摄动和外界的干扰。通常情况下无法精确得到模型的真实参数,只能通过建模得到对象的名义模型。外界干扰用d表示,则 θ·n=fn(θ,θ·)+gn(θ,θ·)Δp-d 式中,fn和gn分别表示f和g的名义值。 设计干扰观测器 d=k1(ω·-θ·) ω=-d^+fn(θ,θ·)+gn(θ,θ·)ΔP-k2(ω·-θ·)(3.69) 式中,d^是对deq的估计,ω^是对θ·的估计,系数k1>0,k2>0,其中k1越大,估计d^更接近deq。 基于干扰观测器的滑模控制律可表示为 ΔP=(θ¨d-fn+ce·n+ηsat(s)+ks+d^)/gn(3.70) 肘关节模型参数如表3.2所示。 表3.2模型参数 参数r0/mP0/MPaLu/mLd/mJ/kg·m2 值0.030.40.30.2450.02 1. 阶跃响应 为验证改进后的饱和函数能否减弱抖振,设计合适仿真模型和参数。给定轨迹为正弦信号,幅值为40°,周期为20s,不给模型添加外界干扰。为验证改进后的饱和函数的效果,取适中边界层Δ=0.5,通过适当调大切换增益η=250和调大步长到0.02s,只改变sat(s)函数,其他条件都相同。仿真结果如图3.8(a)和图3.8(b)所示。 图3.8改进后饱和函数仿真效果图 图3.8中的仿真结果表明,改进前的饱和函数的跟踪曲线有明显抖振,跟踪误差在±4°,并在全程范围内波动幅度相似; 改进后的跟踪曲线在做趋近运动时与改进前的一样,会有一定波动,跟踪误 彩色图片 差在±2°,在1.5s后发生滑模运动,抖振消失,误差在±0.5°附近。由于改进后的饱和函数在滑模面s=0附近变化缓慢,使曲线能平滑过渡。 图3.9和图3.10表示的是两种滑模控制算法的Simulink仿真,其中ctrl、plant和obv模块都用S函数实现。 图3.9滑模控制Simulink仿真框图 图3.10基于干扰观测器的滑模控制Simulink仿真框图 给定轨迹为阶跃信号,幅值为40°,采用滑模控制和基于干扰观测器的滑模控制进行控制仿真,并给模型添加较大的外界干扰d=0.4(等效为控制输入气压值干扰,单位为MPa)。图3.11(a)表示滑模控制的角度跟踪曲线,控制参数为c=8,η=80,k=30,Δ=0.5。图3.11(b)表示基于干扰观测器滑模控制的角度跟踪曲线,控制参数为c=8,η=80,k=30,Δ=0.5,k1=2000,k2=200。 仿真结果表明,滑模控制的阶跃响应上升时间为0.55s,稳态时的角度跟踪误差为2.8°,因为外部加了比较大的干扰,滑模控制在大干扰的情况下会有稳态误差,所以不能随着滑动模态收敛到相轨迹的原点。而基于干扰观测器的滑模控制的阶跃响应上升时间为0.45s,稳态时的角度跟踪误差为零。 图3.11阶跃跟踪响应仿真 2. 正弦响应 给定轨迹为正弦信号,幅值为40°,周期为20s,外界干扰幅值设为0.2MPa,周期和正弦信号相同。图3.12(a)表示滑模控制的角度跟踪曲线,控制参数为c=8,η=80,k=30,Δ=0.5。图3.12(b)表示基于干扰观测器滑模控制的角度跟踪曲线,控制参数为c=8,η=80,k=30,Δ=0.5,k1=2000,k2=200。 彩色图片 仿真结果表明,滑模控制的角度跟踪误差在±0.2°上下波动,而基于干扰观测器的滑模控制的角度跟踪误差在±0.08°上下波动。加了干扰观测器的滑模控制明显比普通滑模控制跟踪效果好。 图3.12两种滑模控制算法正弦跟踪仿真 3.3.3不同控制算法的正弦跟踪响应 给定正弦轨迹的幅值为40°,周期为20s的正弦波。分别用PID控制、滑模控制和基于干扰观测器的滑模控制进行正弦跟踪实验,分别做无负载和有负载实验。在手臂末端加上固定质量的外界负载,用半瓶矿泉水代替(300g),用水在运动中的质心波动代替外界的不确定性干扰。 图3.13(a)和图3.13(b)分别表示PID控制在无负载和有负载情况下的跟踪曲线,控制参数为kP=0.2,kI=0.02,kD=0。 图3.13PID控制正弦跟踪实验 图3.14(a)和图3.14(b)分别表示滑模控制在无负载和有负载情况下的跟踪曲线,控制参数为c=8,η=50,k=30,Δ=0.75。 图3.14滑模控制正弦跟踪实验 图3.15(a)和图3.15(b)分别表示基于干扰观测器的滑模控制在无负载和有负载情况下跟踪曲线,控制参数为c=12,η=40,k=20,Δ=1,k1=8000,k2=200。 图3.15基于干扰观测器的滑模控制正弦跟踪实验 3种控制算法的结果可用表3.3表示。 表3.33种控制算法比较 项目负载情况PIDSMCSMCDO 最大误差 无负载7°4.1°2.8° 有负载6.9°4.8°2.9° 续表 项目负载情况PIDSMCSMCDO 误差均值 无负载3.48°2.30°0.78° 有负载3.87°2.61°0.74° 均方误差 无负载1.36°1.16°0.44° 有负载1.65°1.29°0.6° 实验结果表明,SMCDO位置跟踪精度要明显优于PID和滑模控制。SMCDO在有负载和无负载的情况下,误差均值和均方误差的变化量要明显小于PID和滑模控制,所以SMCDO更具有鲁棒性。仿真测试时等效干扰为一个固定幅值的正弦函数,实际系统的等效干扰为一个时变的、非线性等复杂信号的叠加; 肘关节的数学模型已经过简化,与实际系统的数学模型有一定误差。 习题 3.1气动执行器相比于电机驱动执行器有何优缺点? 3.2气动肌肉的静态和动态建模有哪些方法? 3.3气动肌肉驱动的有哪些仿生机器人? 3.4尝试建立如图3.16所示的两根气动肌肉驱动的单关节的动力学模型。 图3.16气动肌肉单关节结构图 3.5给定如下系统 x·1=x2 x·2=-25x1+100u+F(t) 其中F(t)为外部干扰。采用如下控制器和自适应率: u=100-1(-k1(z2-c1z1)-25(z2+x·d-(c1z1)-F^+x¨d-c1z·1-h(α1+α2sgn(α1))) F=-γα1 利用反步滑模控制算法实现对F的估计。选取F(t)=-3sin(0.1t),跟踪信号取xd=sint,γ=30,c1=10,k1=20,h=20。利用MATLAB画出位置和速度、控制输入以及F的变化曲线。