结合融合函数的双轮机器人二型模糊控制
2022-03-15黄泽琼谢小鹏
黄泽琼,谢小鹏
(华南理工大学机械与汽车工程学院,广东 广州 510641)
1 引言
随着嵌入式以及智能控制的发展,双轮自平衡机器人在许多领域已经广泛开展研究和投入使用[1]。双轮机器人的体积较小,转弯半径小使得其运动更加灵活。这类机器人在静态下是个典型的不稳定结构,必须实时依靠双轮移动来保持平衡[2]。也正是因为双轮机器人的高度不确定性、耦合性和非线性等引起了诸多学者对其运动模型和控制策略的研究[3]。
目前,已有许多控制技术被应用于自平衡机器人,如传统的PID控制、滑模(Sliding Mode)控制、状态反馈极点配置控制器和模糊控制等[4-5]。
传统的PID控制器在被控系统高度复杂且非线性的情况下通常是无效的。因此,许多研究者试图将PID控制器与模糊逻辑控制器(FLC)相结合,以达到比传统PID控制器更好的系统性能[6]。现有运用在双轮机器人上的模糊控制大多集中于一型模糊集合(T1-FSs),然而在实际工程应用中,一型模糊推理的前件和后件隶属度函数本身具有很大不确定性,当隶属函数不合适时,模糊系统也无法满足控制要求。当系统参数或外界情况改变时,一型模糊系统直接处理数据不确定性的能力变得有限。Zadeh在1975年引入的二型模糊集(T2-FSs)能够对这种不确定性进行建模,二型模糊将不确定性引入模糊集,使得模糊集隶属函数具有“三维”特性和“宽带”效应,提高了系统的抗噪声能力和未知数据处理能力。因此,本文根据T2-FLS设计了二型模糊PID控制器,给与实际工程情况提供了额外的自由度,使得在无法准确确定隶属度函数的情况下,控制系统的自适应性和鲁棒性明显增强。
另外,由于双轮自平衡机器人系统的输出变量较多的特点,若对每个输出量直接使用模糊理论全部模糊化,会产生维度爆炸的现象[7],使得系统复杂度大大增加。对此,本文设计了输出控制量的融合函数,根据线性二次型最优理论并结合归一化思想,将输出信息进行融合,有效简化了模糊控制系统。将上述方法在MATLAB/SIMULINK中实现并验证了控制系统的可行性。
2 两轮自平衡机器人运动建模
典型的两轮自平衡机器人主要包括一对相同的车轮、底盘、驱动器、机身和运动控制单元等部分,结构示意见图1。两轮平衡机器人本质上是一种二维移动倒立摆,两个车轮分别独立驱动,对称安装在机体的左右两端。在没有外力驱动下,双轮机器人是个不稳定的系统,会向一边自然倒下。因此,机器人必须通过自身不断的前后运动来控制动态下的平衡。
图1 自平衡机器人受力分析
该机器人平衡控制的基本思想是:当测量机体倾角的加速度传感器检测到机体产生倾斜时,控制系统根据倾角产生一个相应的力矩,通过控制电机,驱动两个车轮向机身要倒下的方向运动,以保持机器人自身的动态平衡。
图1中:M表示机器人机体质量,D为两轮之间的距离,L表示轮轴与机体重心之间的距离,θ为机身的俯仰角度,xl和xr分别为左轮右轮的位移,Hl和Hr表示机体与左轮和右轮之间相互作用力的x轴分量,Vl和Vr为机体与左轮和右轮之间相互作用力的y轴分量;Cl和Cr表示左轮电机和右轮电机的输出转矩;xp和yp表示机器人机体质心的位移。
可以得到基于运动学方程的两轮机器人系统非线性数学模型[8],具体方程式如下
(1)
Jp=MgLsinθ-ML2sin2θ-
(2)
R为左轮和右轮的半径,m为左轮和右轮的质量,Jp为机体对z轴的转动惯量,Jω为左、右轮对转轴的转动惯量,ω为y轴与机体的夹角角速度,x为左轮与右轮转轴中心的位移。
(3)
为简化表达,令
N=(2JpR2+2L2MR2)m+JpMR2+2JpJω+2L2MJω
(4)
那么(3)式中的参数可以表示为
(5)
将平衡机器人的位移和倾角作为控制系统的输出,即y=[xθ]T,可以得到输出方程为
(6)
3 整体控制系统设计
3.1 信息融合函数设计
平衡机器人是个典型的多输入多输出系统,本文设计的系统有位移、速度、倾斜角和角速度4个输出变量。使用区间二型模糊控制,若每个变量仅采用5个模糊子集,就会有54=625个规则数;若要达到模糊系统更加平滑的控制要求,使用7个模糊子集,规则数更是达到74=2401个,显然这样复杂的系统难以设计,并且过于庞大不便于投入实际应用。
由于本文所研究的系统的四个内部变量具有很强的耦合性和内部相关性,同时系统的输出信息也具有直接的耦合性,因此可以构造线性融合函数来实现降维和简化模糊控制器的设计。将平衡机器人的四个状态变量集成为误差E和误差变化EC,再输入模糊系统进行设计模糊规则。
1)根据线性二次型最优理论,结合平衡机器人的状态方程,给定性能指标
(7)
(8)
控制量为u=KXT,由最优控制理论,可求出增益矩阵K:
K=(BTPB+R)-1(BTPA)
(9)
其中P可以由下式的Ricatti方程得到
ATPA-ATPB(BTPB+R)-1BTPA+Q=P
(10)
根据机器人运动的控制要求,主要优先稳定倾角,使机器人保持直立;运动速度次之,使整体机器人保持匀速运动。选择合适的加权矩阵Q和R,调整控制器参数后,反复试验,取R=1,权矩阵Q为对角矩阵
Q=diag(1,5,8,1)
(11)
2)将上述所得的增益矩阵K进行归一化,归一化后再设计成状态融合函数。首先选取矩阵K的欧几里德范数(2-范数)作为归一化的除数,2-范数计算如下
(12)
根据得到的范数构造融合函数F
(13)
3)将融合函数作为状态反馈变量的乘积因子即可得到模糊系统的输入
(14)
3.2 双闭环二型模糊自适应PID控制
传统平衡机器人的控制系统使用双闭环PID控制,内环控制机体倾角平衡,外环控制机器人行走的运动速度或位移。本文设计使用区间二型模糊自适应PID控制对系统进行改进,对每一个闭环引入二型模糊控制来动态整定PID的比例、微分、积分增益。控制系统的整体设计如图2所示。
图2 双轮平衡机器人控制系统
控制系统中,内环直接使用平衡机器人的倾角和倾角速度信息,通过一个双输入双输出二型模糊控制器,获取PD控制器的比例增益和微分增益,对机体倾角进行反馈控制,使得机器人首先能保持平衡。外环使用平衡机器人的位移、速度、倾角和倾角速度信息,经过信息融合函数,得到二维模糊控制器的两个输入,设计一个双输入三输出的区间二型模糊模糊控制系统,输出比例增益增量Δkp、积分增益增量Δki和微分增益增量Δkd,对PID控制器进行参数整定,最后PID控制器对机器人的速度进行控制。
4 区间二型模糊控制算法
4.1 区间二型模糊集合的定义
二型模糊集合的概念是由一型模糊集合扩展而来[9]。一型模糊集合的隶属度是精确的函数,但是现实环境总是存在高度模糊的信息无法准确定义隶属值,而二型模糊则是将模糊集中隶属度值再次模糊,使其可以直接处理模糊规则的不确定性,成为了解决现实环境中高不确定性问题的有效手段[10]。
(15)
(16)
(17)
FOU作为二型模糊中一个很重要的概念,体现了模糊集合的主隶属函数存在的不确定性范围,不确定域的选取也影响着模糊推理的准确性。
4.2 区间二型模糊控制系统设计
一型模糊逻辑系统(T1-FLS)和二型模糊推理系统(T2-FLS)都有相同的四个部分,即模糊器、规则库、模糊推理机和输出解模糊接口[11]。此外,与T1-FLS不同,T2-FLS要先将推理机的模糊集合输出经过降型器(Type Reducer)再进入解模糊接口。控制系统结构如图3所示。
图3 二型模糊逻辑系统
根据本文的控制对象平衡机器人,设计两个模糊控制器。第一个是在内环控制平衡倾角的二型模糊自适应PD控制器;第二个是在外环控制直行速度的区间二型模糊自适应PID控制器。
内环控制平衡的区间二型模糊控制器规则是
外环控制速度的区间二型模糊控制器规则是:
其中规则前件是函数融合后的E和EC两个变量,E的范围是[-0.6,0.6],EC的范围是[-0.9,0.9]。规则后件是PID控制器的3个参数增量:比例增益增量Δkp、积分增益增量Δki和微分增益增量Δkd。模糊系统的每个输入和输出变量分别模糊化为7个三角形模糊子集,分别用NB、NM、NS、Z、PS、PM和PB表示。输入变量E和EC的上隶属度函数、下隶属度函数和不确定域(FOU)如图4、图5所示。
图4 输入变量E不确定域
图5 输入变量EC不确定域
一共建立7x7=49条变量融合后的E、EC与Δkp、Δki、Δkd之间的模糊推理规则,这些规则可以通过区间二型模糊系统的输出曲面展现出来。Δkp、Δki、Δkd输出控制的三维曲面如图6、图7、图8所示。
图6 Δkp输出控制曲面
图7 Δki输出控制曲面
图8 Δkd输出控制曲面
设计的区间二型模糊控制器使用“karnikmendel”(KM)方法进行降型,解模糊方法使用面积重心法[12]。
5 仿真分析
针对两轮平衡机器人的运动模型,使用本文提出的双闭环区间二型模糊控制系统,结合信息融合函数对其进行平衡控制和速度控制。设计实验考虑到机器人在不同的初始状态、不同的运动速度目标、扰动作用以及参数不确定性下的控制效果,同时与双闭环PID系统进行对比,验证本文算法的可行性与优越性。
5.1 平衡控制
图9 倾角变化曲线
图10 速度变化曲线
从中可以看出本文提出的T2FLC控制算法使得机器人在1.7s左右恢复倾角为0,即机器人平衡直立状态,同时速度为0,即保持静止;而PID控制器需要2.5 s左右使机器人保持平衡。
5.2 速度控制
图11 倾角变化曲线
图12 速度变化曲线
从曲线中可以看出平衡机器人从静止加速到0.7m/s并保持直立稳定状态,使用二型模糊控制只需1.6秒,而使用传统双闭环PID需要3秒左右。在整体速度调整过程中,二型模糊控制表现的更加平稳,倾角超调量也较小。
5.3 增加干扰
考虑增加扰动的情况,仍然以零状态变量为初始条件,设定目标速度为1m/s,当机器人达到目标速度且保持稳定之后,在t=5s时施加一个峰值为5的瞬时输入扰动,比较PID和T2FLC的控制效果,倾角和速度响应曲线如下图所示。
图13 倾角变化曲线
图14 速度变化曲线
在第5秒时,平衡机器人遇到干扰,此时倾角和速度都出现较大的波动,控制器对其进行调整,从曲线中可以看出二型模糊控制响应更快,在第6秒左右就重新恢复了机身平衡,同时也恢复速度到1m/s,而PID控制在第7秒左右才恢复原状态。
5.4 参数不确定
图15 倾角变化曲线
图16 速度变化曲线
在参数改变后可以看到,传统PID持续振荡且振幅衰减较慢,不能快速反应使机器人保持平衡,直到10秒之后依然有轻微振荡;而T2FLC控制下的平衡机器人在4秒之后就达到稳定,并且达到了1m/s的速度要求。
6 结论
本文对于双轮自平衡机器人,设计了用于控制直立平衡和行走速度的区间二型模糊控制器(T2FLC),并且考虑到模糊控制自身规则繁多的问题,使用函数融合的方法,简化控制系统的复杂度。使得模糊控制器在减少规则数量、平滑控制输出和优化控制响应性能等方面具有更大的优势。仿真结果表明,二型模糊PID控制器比传统的双闭环PID控制具有更佳的性能效果。具体而言,在相同初始条件下,T2FLC使机器人更快达到稳定平衡状态;在速度控制中,T2FLC可以迅速加速到预定速度并保持稳定。另外,本文还考虑了输入扰动和机器人参数不确定下的控制效果,仿真结果表明,T2FLC在应对扰动时可以快速调整PID参数,使得机器人较快恢复平衡,具有较强抗干扰能力;当机器人自身参数存在不确定性时,传统PID控制下机器人已经出现大幅抖动且衰减缓慢,而T2FLC仍可以快速反应并进行有效控制。未来将在机器人转向控制和硬件实现的方向上继续研究,以进一步验证和发展本文提出的算法。