步行机器人自适应模糊伺服控制器设计

  摘要: 本文提出一种新的模型参考自适应模糊控制器,并应用于步行机器人关节速度伺服控制.实验结果表明,该控制方案较好地解决了转速给定变化范围大和被控对象增益时变问题,改善了控制系统的鲁棒性和动态响应特性.
  关键词: 步行机器人; 伺服控制; 自适应模糊控制

The Design of Adaptive Fuzzy Servo
Controller for Quadruped Robot

Pan Qielu and Pan Junmin
(Department of Information and Control Engineering,Shanghai Jiaotong
University.Shanghai,200030,P.R.China)

  Abstract:This paper presents a new adaptive fuzzy control scheme and its application to speed servo control for a quadruped robot.The scheme solves two problems successfully which are the large range of speed set points and the time-variant gain of the controlled object.Experiment study shows that the new scheme improves dynamic characteristic and robustness of the control system efficiently.
  Key words:quadruped robot; servo control; adaptive fuzzy control

1 引言(Introduction)

  步行机器人伺服控制技术是决定机器人行走性能的关键技术之一.在上海交通大学研制的JTUWM-Ⅲ型四足步行机器人关节伺服系统中,被控对象是一个非线性复杂系统,其增益随四足机器人腿的姿态变化而改变.另外,由于转速给定变化范围大,故传统的PID调节器难以满足步行机器人的伺服控制要求.
  近几年来,模糊控制、自适应控制发展很快,在许多复杂工业过程中取得了成功的应用,将模糊控制与自适应控制相结合,有望对非线性、参数时变的控制对象取得较好的控制效果[1].在电气传动控制中,由于采样周期短(几毫秒到几十毫秒之间),对控制算法的实时性要求高,从而限制了自适应模糊控制在这一领域中的应用[2].本文提出一种增量式模型参考自适应模糊控制器,并应用于步行机器人速度伺服控制中.该控制器在不同的转速给定下和被控对象增益时变时,均能取得好的控制效果,从而有效地改善了控制系统的鲁棒性和动态响应特性.

2 伺服控制系统简介(Description of the servo control system)

  步行机器人单关节速度伺服控制系统主要由8098单片机、PWM功率放大电路、直流伺服电机、机器人关节和测速发电机组成,如图1所示.图中,ns为转速给定,n为实测转速,Vs为直流电源电压,u为PWM控制量输出信号,Vd为直流伺服电机电枢电压.

图1 电机转速控制系统框图
Fig.1 Schematic diagram of the motor speed control system

  由于伺服电机的机电时间常数Tm远大于电磁时间常数T1,故广义被控对象传递函数可描述为[3]:

  (1)

式中Ifz为等效负载电流.K为非线性增益.τ是从控制量u的输出到电枢电压Vd的建立之间的时间延迟.K′为常系数.

3 控制方案设计(Designing the control scheme)

3.1 控制器结构(The controller structure)
  速度伺服控制器结构如图2所示.由图可见,控制器主要包括模糊控制算法和增量式模型参考自适应算法两部分,下面分别予以介绍.

图2离散速度人伺服控制系统结构图
Fig.2 Discrete model of the speed control system

3.2 模糊控制算法(Fuzzy control algorithm)
  模糊控制本质上是一类非线性控制,故对于一些非线性被控对象往往能取得好的控制效果.为了克服在不同的转速给定条件下因非线性而给控制性能带来的不利影响,并节省计算时间,本文采用了自调整修正因子的模糊控制器[4].修正因子α根据偏差大小计算得出.具体控制算法如下:

ΔU(k)=β[e(k)-αe(k-1)],  (2)

  (3)

式中,为正实常数,是α=αs时所对应的速度偏差的绝对值.β是转速偏差e(k)及偏差变化率[e(k)-e(k-1)]的量化因子.

3.3 自适应控制算法(Adaptive control algorithm)
   由于被控对象增益是变化的,这就给控制系统的动态性能造成了不利的影响,严重时导致系统不稳定,因此有必要进行增益补偿.文[5]介绍了一种前馈增益模型参考自适应控制方案.但该算法并不能直接应用.由式(1)可见,电机转速不仅与控制量u有关,而且与负载力矩有关.由于四足步行机器人伺服控制系统中无法测量负载力矩,故不能按式(1)建立参考模型.
   下面我们首先讨论负载力矩恒定不变的情况,此时Ifz为常数.假定上式中纯滞后τ满足:

τ=(d-1)Ts+L; 0<L<Ts.  (4)

式中d是正整数,Ts是满足香农定理的采样周期.当采用零阶采样保持器时,离散系统的z传递函数是:

n(z)=H(z)u(z)+K′Ifz,  (5)

  (6)

式中

  (7)

  (8)

  (9)

为消除恒定负载力矩对自适应算法的影响,对式(5)两边同乘以(1-z-1)并建立参考模型,即可导出增量式模型参考自适应系统,其结构如图2方框中所示.以上介绍的增量式模型参考自适应算法可以用下面一组差分方程描述:

y(k)=[n(k)-n(k-1)]+a1[n(k-1)-n(k-2)],  (10)

ym(k)=b0Δu(k-d)+b1Δu(k-d-1),  (11)

ε(k)=y(k)-ym(k),  (12)

θ(k)=-γε(k)ym(k)+θ(k-1);θ(0)=1.0,  (13)

u(k)=θ(k)Δu(k)+u(k-1).  (14)

式(13)中,γ为自适应速率.式(10)~(14)与式(2)(3)构成了一套完整的自适应模糊控制算法.由图2可见,自适应环节的输出θ作用于Δu(k),而非直接作用于u(k),其目的是避免因θ的改变而对被控对象造成较大的冲击,(因为|u(k)Δθ|>>|Δu(k)Δθ|).

3.4 自适应算法的完善(The amendment of the adaptive algorithm)
3.4.1 收敛性条件(Convergence conditions)
  在以上自适应模糊控制算法中,根据平均理论的平衡状态分析[6],参考模型输入指令信号Δu(k)必须至少是一阶激励信号,并要保证激励信号有一定的幅值,参数θ才能收敛于其真值.
  步行机器人伺服过程是这样的:首先由静止加速至给定转速,然后保持在这一恒定转速运转,即将到达目标位置时减速,进入位置伺服阶段.显然,在加速、减速阶段,参考模型指令信号Δu(k)是幅值很大的阶跃信号,根据持续激励信号判别定理[6],阶跃信号是一阶持续激励信号,故满足收敛条件.但是在恒速运行区,当负载力矩保持不变时,理想情况下Δu(k)趋近于零,若在这一阶段继续进行自适应运算,将导致前馈增益θ估计方差不断增大.一个简单的办法是在自适应算法中引入死区,算法如下:

|n(k)-ns|≥ndead时,继续自适应算法;
|n(k)-ns|<ndead时,中止自适应运算;

式中ndead为常数,现场调试时根据自适应效果加以确定.
3.4.2 自适应速率修正(Modifying the adaptive rate)
  由稳定性分析[6]知道,自适应回路稳定性同参考模型输入信号Δu(k)幅值有关.当Δu(k)幅值增加时,为保持稳定,自适应速率应相应减小.另一方面,由收敛性分析[6]可知,前馈增益θ的收敛速度正比于Δu(k)幅值的平方,这显然是不合理的,一个合理的参数调整律应与参考模型输入信号的幅值无关.基于以上两方面原因,有必要对自适应速率进行修正.
  由式(2)可知,输出控制量增量Δu(k)在数量级上近似正比于转速偏差,故我们采用了下面这种自适应速率修正方法:

  (15)

式中,γ0为自适应速率初值.为了避免除零现象,引入常数λ>0.由于采样时存在测量噪声,故Δu(k)幅值较小时,使自适应速率正比于其幅值的平方是有益的,因此λ不宜太小.
3.4.3 负载力矩扰动的影响及补偿(The effect of load interference and its compensation)
  前面提出的增量式模型参考自适应系统是基于负载力矩为恒值这一前提下得出的.事实上,负载力矩是不断变化的,而且有可能发生大幅度跃变,这就会给自适应算法造成一定的影响.
  由图2可见,自适应环节中包含一个积分器,这相当于一个低通滤波器,可以滤去负载力矩扰动带来的高频噪声.由于自适应速率取值较小,故小幅度的负载力矩波动(假定为白噪声)对自适应环节输出θ不产生任何影响.当负载力矩以较小的速率持续递增或递减时,不难分析,自适应输出θ将与真值有一定程度的偏离(偏差大小由外力矩变化速率决定).但这不会给控制系统带来不利的影响,相反,它相当于给控制系统加上了负载力矩前馈作用,某种程度上可以提高控制性能.当负载力矩变化速率较大且幅度也较大时,比如大幅度的跃变,就会给自适应环节带来不利影响,θ值大幅度波动,严重时导致系统不稳定.为了克服这一缺点,采取以下算法:

|ym(k)-y(k)|≤η[|ym(k)|+
|y(k)|]时,继续自适应算法;
|ym(k)-y(k)|>η[|ym(k)|+
|y(k)|]时,中止自适应算法;

式中,η为[0,1]区间上的常数.该算法的实质是当外力矩扰动较大时,ym(k)与y(k)之间产生较大的偏差,计算机认为这次采样是坏值,予以剔除.调节η值大小,即相当于调整好值与坏值的划分界限.η值太小,往往导致自适应环节不能及时补偿被控对象增益的变化;η值太大,θ受负载力矩干扰严重,波动较大.故η值应根据调试时实际情况加以选取.

4 实验结果(Experiment results)

  本文利用MCS98汇编语言编制了伺服控制程序,在JTUWM-Ⅲ型四足步行机器人上进行了实验研究.机器人关节直流伺服电机为日本三洋公司生产的R406T-11型电机.选择采样周期为4ms.为提高计算精度,程序中采用了三字节浮点数运算.另外,为降低测量噪声,对速度采样信号进行了数字滤波处理.
  为突出自适应效果,实验中通过改变电源电压Vs来增大被控对象增益K的变化范围.图3给出了负载力矩阶跃扰动情况下一组对比实验曲线.图中,横坐标表示时间,单位是秒.左纵坐标轴表示转速的A/D转换值(十进制数),转速给定ns=80.实验过程如下:首先断开自适应回路,在电源电压为13V时,调节模糊控制器参数获取最佳阶跃响应曲线(图3(a)).然后保持模糊控制器参数不变,将电源电压升到24V,测取阶跃响应曲线(图3(b)).进一步,闭合自适应回路,在同样模糊控制器参数条件下,按同样的步骤分别测取两种电压条件下的阶跃响应曲线(图3(c)、图3(d)).图3(c)、图3(d)中还给出了控制过程中前馈增益θ的变化曲线,其右纵坐标轴表示θ.另外,在以上实验过程中,当转速稳定在设定值附近后,人为地加上大小相等的负载力矩阶跃扰动,以观察负载力矩扰动情况下自适应模糊控制算法的效果.
  比较图3(a)、图3(b)可见,在未采用自适应环节的条件下,当电源电压由13V增至24V时,模糊控制器控制效果大幅度下降,速度振荡加剧.采用了自适应环节后,当电源电压Vs为13V时,由图3(c)可见,前馈增益θ保持在1.0附近;而当电源电压升至24V时,由图3(d)可见,θ由1.0降至0.40左右,比较精确地补偿了被控对象增益K的变化,从而获得比较好的控制效果.由图3(c)、3(d)还可看出,由于采用了一些完善措施,有效地克服了负载力矩扰动对自适应算法带来的不利影响,在负载力矩大幅度变化时,本文算法仍能可靠地工作.

图3.自适应效果对比试验结果
Fig.3 Experiment results with and with out the adaptive algaritm

  图4是电源电压为24V时,在不同转速给定下的速度阶跃响应曲线,坐标轴表示方法与图3(c)相同.由图可见,由于采用了非线性的模糊控制策略,较好地克服了转速给定变化范围大给控制性能带来的不利影响,在不同的转速给定下,该自适应模糊控制器均取得了好的控制效果.另外,多次实验表明,若采用常规模糊控制算法,转速波动均方差在6~15范围之间,而采用了本文算法后,该均方差保持在7以内,效果改善显著.

图4 不同转速给定条件下实验结果
Fig.4 Experiment results with different speed set poins

5 结束语(Conclusion)

  本文针对步行机器人速度伺服控制中转速给定变化范围大和被控对象增益时变的问题,设计了一种增量式模型参考自适应模糊控制器,并对算法实施过程中遇到的一些具体问题给出了切实可行的解决办法.实验结果表明,该控制器算法简单,实时性好,大大提高了控制系统的鲁棒性和动态响应特性.在过程控制等其它控制领域中,许多被控对象都可描述为式(1)所示的形式,在这些领域中应用本文提出的自适应模糊控制方案,可望获得好的控制效果.

作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2022/12/8520.html