两轮自平衡车的吸引区域估算方法
2020-10-21岳玉环赵永华郜峰
岳玉环,赵永华,郜峰
(嘉兴职业技术学院,浙江 嘉兴 314036)
0 引言
众所周知,在很多情况下,精确地求解系统吸引区域是非常困难的,所以只能采用估算的方法来尽可能地近似地求解吸引区域。常用的方法是基于Lyapunov 函数的方法。由于Lyapunov 函数的选择对于吸引区域的估计有很大的影响,所以如何选择一个合适的Lyapunov函数来估计吸引区域仍然具有很大的难度。 其中相对简单的二次Lyapunov 函数常用来进行吸引区域的估算[1]。此外,文献[2-3]对多项式系统的吸引区域估计提出不同解决方法。然而,其中很多实际系统,例如轮摆、有饱和系统等都属于非多项式系统。在文献[4] 中提出了针对非多项式系统寻找吸引区域的估计方法。这些方法都是基于线性矩阵不等式(LMI)展开式求解多项式最优解实现的,计算量很大。
本文以两轮自平衡车为例,介绍利用二次Lyapunov 函数通过坐标变换方法来扩大吸引区域估算值。通过与吸引区域估算结果的对比,证明了该坐标变换方法的有效性和计算的简便性。
1 两轮自平衡车的数学模型
两轮自平衡车以其结构简单,运动灵活的特点广泛应用于现代交通中。它是一种多变量、 非线性、绝对不稳定的两轮机器人系统,典型的商业化产品有Segway。两轮自平衡车在静止状态下不能稳定平衡。车体的平衡是一个动态过程,在平衡点附近根据车体实时的方位信息和运动速度来调节控制信号以保持车体的平衡,这实际上是一个运动的倒立摆平衡系统[5-9]。两轮自平衡车的结构简图如图1所示,变量定义及具体数值见表1[10]。本文只研究两轮自平衡车沿直线运动的情况。
图1 两轮自平衡车结构简图
接下来应用拉格朗日方程建立系统的数学模型。
系统的总动能T包括车体的动能T1, 左、右轮子动能T2,即
T=T1+T2=
表1 两轮自平衡车的变量
以车轮中心轴线所在的x-y平面为零势能面,系统的势能为U=mpgLcosθ。
(1)
(2)
式中τ为电动机的转矩。为了计算简便,此处忽略了电动机电刷处的摩擦力。
由此得到系统的状态方程为
应用文献[11] 中的部分反馈线性化方法,将电动机的转矩τ作为控制输入信号,并选择如下形式:
(3)
此外,在构造平衡车结构时,使条件α=η成立。此时,该系统的状态方程可表示为
(4)
为了控制车体在竖直方向的平衡稳定,将系统在期望的平衡点(x1,x2,x3)=(0,0,ν0) 处进行线性化。这里需要说明的是:在x3=C(常数)时(状态变量x3是相对角速度),(x1,x2,x3)=(0,0,C)均为系统平衡点。
应用泰勒展开得到该系统的线性状态方程
x=Ax+Bu
(5)
该线性系统显然是可控的,所以可以通过选择合适参数的PID控制策略u=-Kx实现该系统在竖直位置的平衡控制,此处K=(k1,k2,k3)。
2 吸引区域估算结果对比
2.1 基于二次Lyapunov函数吸引区域估计
从最基本的二次Lyapunov函数出发,在吸引区域内部通过寻找适当的几何图形来逼近吸引区域边界,从而近似估计吸引区域的大小。
将控制信号u=-Kx施加到式(5)中,得到的闭环系统的表达式为
(6)
进一步得到
(7)
在椭球中,最大的球体可以表示为
(8)
采用表1中的数值, 应用Python语言编写程序进行吸引区域的数值估算[13]。通过调用scipy库中的linalg.solve_continuous_are()函数和solve_lyapunov()函数,估算出吸引区域约为R=1.2×10-3。可见,该吸引区域的估算数值非常小,不足以满足系统实际控制和调试之用。
2.2 利用坐标变换,扩大吸引区域估算值
本小节,通过坐标变换的方法寻找更大的吸引区域估计值。为了简单起见,假定
(9)
在新坐标系下,式(6)可写作
与原坐标系下的闭环系统表达式(6)对比,得到
在新坐标系下,线性系统的Lyapunov方程
至此,可以得到如式(8)相同定义的最大球体
(10)
观察式(10),它实质上是一个在原坐标系下受到M值影响的椭球。
(11)
通过选取合理的M值,相当于对原坐标系下的式(8)进行适当地拉伸,可以较为明显地扩大x的取值范围,即扩大吸引区域。
3 系统仿真
参照得到的较大的吸引区域估算值,选取偏离平衡位置较远的点x=(0.1rad,-0.5rad/s,3rad/s)作为系统的初始条件,利用Python程序进行系统的响应仿真,仿真结果如图2所示。
图2 系统的响应曲线
图2中实线为K=(-90.18,-2.83,-0.79),可以看出车体在4s内达到平衡点并稳定下来,说明了线性控制器u=-Kx的有效性,同时证明了吸引区域的估算值的可用性。虚线为K=(-90.18,-10,-0.79)得到的系统响应效果,发现系统获得了较好的动态响应效果。由此也可以得出:在进行吸引区域估计时得到的K能够实现系统的稳定控制,并且为PID线性控制器的参数整定优化提供一定的方向性指导。
4 结语
基于二次Lyapunov函数,对两轮自平衡车的平衡控制通过变换坐标的方法来获得较大吸引区域估算值,并从几何学上直观地解释了坐标变化的意义。通过Python程序仿真系统响应过程,验证了在扩大的吸引区域内的初始条件,均可通过PID线性控制器达到稳定平衡的控制效果。这种利用开源的Python 对控制系统的控制仿真获得了成本更低、更简便直观的良好效果,对Python在众多科研人员中的普及和推广有很好的借鉴意义。