一种采用模糊算法的平衡车控制方法与流程

文档序号:14248506阅读:1010来源:国知局
一种采用模糊算法的平衡车控制方法与流程

本发明属于车辆工程技术领域,具体的说是一种采用模糊算法的平衡车控制方法。



背景技术:

近年来,两轮平衡车作为一种新型的交通工具成为设计研究领域的一个热点,所以倍受关注。它具有体积小,转向灵活,结构简单,具有自平衡能力,在人们日常生活及军事上一定会有很多用途,而两轮自平衡车具有不稳定的运动特性,所以对两轮自平衡车的平衡控制就具有非常重要的意义。

通过对平衡车进行数学建模,其模型表明受控对象有着多变量、非线性、强耦合性等特点,这些问题都是平衡车控制的难点。针对平衡车的控制方法,厦门大学周牡丹,康恺,蔡普朗,黄天健在自动化技术与应用期刊发表了一篇名为《两轮自平衡车控制系统的设计与实现》的论文,其中公开了一种平衡车的控制方法,该控制方法在平衡车的平衡控制和方向控制均采用经典的数字pid控制算法,由于平衡车系统是一个强耦合的非线性系统,如果单纯使用pid控制,可能造成平衡车的平衡控制不稳定,和速度跟随性不强,甚至整个控制系统的失效。本发明通过基于模糊pi控制平衡车,能够很好的解决平衡车的速度控制与直立控制的冲突导致平衡车的速度跟随性不强的问题。具有在平衡车到达到目标速度的同时,又能确保自身运动平衡的优点。



技术实现要素:

本发明提出了基于模糊pi控制平衡车的方法,解决平衡车的速度控制与直立控制的冲突,导致平衡车的速度跟随性不强的问题。模糊pi控制器以平衡车的速度误差e和速度误差的变化率ec作为输入,充分考虑速度控制对系统平衡控制的影响,利用模糊控制规则在线对pi参数进行修改。保证平衡车到达目标速度的同时,又确保自身运动平衡。

一种采用模糊算法的平衡车控制方法,包括以下步骤:

采用模糊自适应pi控制器,来优化平衡车系统速度控制的稳定性和跟随性。在模糊自适应pi控制器中。将实际速度和目标速度的差值e和差值变化率ec进行量化处理,确定输入、输出参数的隶属函数,然后根据模糊集论域中语言变量各值所对应的模糊子集的隶属度函数,建立pi参数的模糊推理规则库,根据建立的模糊规则,经模糊推理及反模糊化可得出相应的模糊输出p、i。把速度误差乘以p和速度误差乘以i的积分值ut相加作为速度控制的脉冲信号作用给电机,以实现速度的闭环控制。

所述的实际速度和目标速度的差值e和差值的变化率ec,是指控制器以一定的时间间隔对光电编码器的脉冲值进行读取,根据读取到的脉冲值换算成该时刻的实际速度,将该时刻的实际速度和目标速度做差值得到e,通过该时刻的e与上一时刻的e相减得到差值的变化率ec。

所述的对e和ec进行量化处理,是指假设一个反馈误差为4.5,误差空间是{‐5,‐4…4,5},量化器会使它靠近离它最近的级别,四舍五入到5。

所述的确定输入、输出参数的隶属函数,是指根据平衡车的动力学模型,和运动特性确定e,ec以及输出的p,i参数的论域和模糊子集,并确定表示各参数的各模糊语言对应的隶属度。

所述的建立模糊推理规则库,是根据专家知识、平衡车运动学模型以及运动特性,以速度误差e和速度误差的变化率ec为输入,p、i参数为输出,建立p的模糊推理规则和i的模糊推理规则;当平衡车起动或停止运行时,平衡车的速度偏差e较大,为加快响应速度,同时为了避免由于开始时偏差e的瞬时变大可能出现输出量过大对平衡车的平衡产生大的破坏,p应取中等,i应取较小的值。

所述的模糊推理及反模糊化,是指根据输出量p和i所对应在不同偏差和偏差变化率下的所以模糊规则的隶属度,根据每条模糊规则隶属度,采用重心法解模糊化可得p和i的输出模糊值。

所述的实际速度和目标速度的差值e和差值的变化率ec、输出参数p、i的模糊集论域分别为e={-100,100},ec={-50,50},p={-70,70},i={-30,30};所述的实际速度和目标速度的差值e和差值的变化率ec、输出参数p、i分为7个模糊子集,其模糊语言为:{nb,nm,ns,no,ps,pm,pb},其中nb代表负大、nm代表负中、ns代表负小、no代表零、ps代表正小、pm代表正中、pb代表正大。

所述p的模糊推理规则库中的p的推理规则为49条,见下表:

所述i的模糊推理规则库中的i的推理规则为49条,见下表:

当平衡车速度逐渐往上加速时,速度偏差e和速度偏差变化率ec处于逐渐减小的过程,此时平衡的系统处于一个相对稳定的状态,为加快响应速度,p应取较大的值,同时为了避免微分过饱和而使控制作用超出许可范围,i应取中等。

当平衡车速度基本恒定时,此时速度偏差e较小,为使系统速度跟随性和稳定性增强,应该增加i的值,同时避免系统在设定值附近出现振荡现象,并考虑系统的抗干扰性能,p的取值相当重要。一般e较小时,p取小一些,e较大时,p取大一些。

将所述每时刻的速度误差e和速度误差变化率ec在其论域内等分并构造输入组合;然后针对每一种输入组合,分别调用p和i的模糊推理器,计算出每时刻实时的p、i参数。

本发明专利的有益效果是:利用传统pid控制理论和模糊控制理论,设计出模糊pi控制器,通过模糊pi控制器实时在线修改速度环的pi参数。有效地提高了平衡车系统的稳定性和鲁棒性,有效的解决了直立车速度跟随性不强问题。

附图说明

图1为平衡车控制系统总体方案;

图2为平衡车控制器的流程框图;

图3为模糊自适应pi控制器的设计图;

图4为速度误差e的隶属函数;

图5为速度误差变化率ec的隶属函数;

图6为输出参数p的隶属函数;

图7为输出参数i的隶属函数;

图8为平衡车模型简图;

图9为平衡车在速度为4m/s下的速度,角度曲线;

图10为平衡车在速度为2m/s下的速度,角度曲线。

具体实施方式

下面结合图1~图10对本发明作进一步说明。

图1是采用模糊pi控制器的平衡车控制系统总体方案,其具体包括以下步骤:

平衡车系统上电运行后,处理器会对各个模块进行初始化包括用于脉冲累加的脉冲捕捉模块,脉冲输出模块等,模块初始化完毕后,读取陀螺仪的零偏值。

使用处理器的一个定时器,产生一毫秒的周期中断。中断服务程序的任务被均匀分配在0-1的中断片段中。因此每个中断片段中的任务执行的周期为2毫秒。

这些任务包括:平衡车测速脉冲计数器读取与清除。累积平衡车速度,为后面平衡车速度控制提供平均数;然后将计算的到的实时速度与目标速度做差得到速度误差,对速度误差求导,的到速度误差变化率,将速度误差和速度误差变化率作为输入量,输入个模糊自适应pi控制器,得到实时的速度控制输出量;读取陀螺仪和加速度计信号,通过互补滤波,得到当前平衡车倾角,以及平衡车角速度,将平衡车倾角,以及平衡车角速度作为pd控制器的输入量,然后通过pd控制器得到当前平衡所需的控制量。

图2是平衡车控制器的流程框图,其具体包括以下方面:平衡车的平衡角度控制采用普通pd器,自适应模糊pi控制器控制直立车的速度,类似双闭环并联pid控制,可以实现直立车平稳运行;将平衡车的平衡控制系统的输入为系统倾角和角速度,在平衡控制中,把系统目标倾角减去系统实际倾角,得到系统倾角的误差,把此误差乘以平衡控制的pa参数,把此乘积直接作为平衡控制的pwn作用给电机,使系统向倾角误差减小的方向运行,以实现系统倾角的闭环控制。由于pa参数过大后会导致系统超调而产生系统震荡,甚至使系统失去控制。为了抑制这种震荡,再引入da参数,把da参数直接乘以系统角速度,再与pa参数与角度误差的乘积相加,即可实现抑制系统震荡的效果。

在模糊自适应pi控制器中。将实际速度和目标速度的差值e和差值变化率ec为输入量,通过模糊自适应pi控制器计算出pi系数,把速度误差乘以p和速度误差乘以i的积分值speed_control_i,相加作为速度控制的pwm作用给电机,以实现速度的闭环控制。

倾角计算公式:

end_angle_n+=(ec_speed+(may_angle-end_angle_n)/tg)*dt

end_angle:陀螺仪与加速度计融合后得出的倾角;ec_speed:陀螺仪采集到的角速度;may_angle:加速度计采集到的角度;tg:互补滤波补偿系数;dt:系统采样时间。

平衡pwm计算公式:

pwmcontrol=pa*end_angle_n+da*ec_speed

pwmcontrol:平衡控制pwm值;pa:平衡控制比例系数;da:平衡控制微分系数;速度pwm计算公式:speed_pwm=speed_control_k+speed_control_i;speed_pwm:速度控制pwm值;speed_control_k:速度控制pwm值比例项;speed_control_i:速度控制pwm值积分项。

速度控制pwm值比例项计算公式:

speed_control_k=p*e

p:模糊自适应pi控制器的到的比例系数;e:速度误差。

速度控制pwm值积分项计算公式:

speed_control_i+=i*e

i:模糊自适应pi控制器的到的积分系数。

图3是模糊自适应pi控制器的设计图,其具体原理包括以下:

模糊自适应pi控制器以速度误差e和速度误差变化率ec作为输入,pi参数p、i作为输出。以速度误差e和速度误差变化率ec作为输入,可以满足不同时刻的e和ec对pi参数自整定的要求。

图4是速度误差e的隶属函数,速度误差分为7个模糊子集,其模糊语言为:{nb,nm,ns,no,ps,pm,pb},其中nb代表负大、nm代表负中、ns代表负小、no代表零、ps代表正小、pm代表正中、pb代表正大,图中横坐标表示速度误差e各模糊语言的论域范围,纵坐标表示速度误差e各模糊语言对应的隶属度。

图5是速度误差变化率ec的隶属函数,速度误差变化率分为7个模糊子集,其模糊语言为:{nb,nm,ns,no,ps,pm,pb},其中nb代表负大、nm代表负中、ns代表负小、no代表零、ps代表正小、pm代表正中、pb代表正大,图中横坐标表示速度误差变化率ec各模糊语言的论域范围,纵坐标表示速度误差变化率ec各模糊语言对应的隶属度。

图6是输出参数p的隶属函数,输出参数p分为7个模糊子集,其模糊语言为:{nb,nm,ns,no,ps,pm,pb},其中nb代表负大、nm代表负中、ns代表负小、no代表零、ps代表正小、pm代表正中、pb代表正大,图中横坐标表示输出参数p各模糊语言的论域范围,纵坐标表示输出参数p各模糊语言对应的隶属度。

图7是输出参数i的隶属函数,输出参数i分为7个模糊子集,其模糊语言为:{nb,nm,ns,no,ps,pm,pb},其中nb代表负大、nm代表负中、ns代表负小、no代表零、ps代表正小、pm代表正中、pb代表正大,图中横坐标表示输出参数i各模糊语言的论域范围,纵坐标表示输出参数i各模糊语言对应的隶属度。

下表是输出参数p的模糊推理规则表,是根据专家知识、平衡车运动学模型以及运动特性制定的。本实施制定了49条输出参数p的模糊推理规则:

部分推理规则的描述如下:

r1:ife=nbandec=nbthenp=nm;

r2:ife=nmandec=nbthenp=nb;

……………

r49:ife=pbandec=pbthenp=pm;

以第一条规则为例,其含义是当速度误差负大、速度误差变化率负大,推理结果为输出参数p负中。

下表是输出参数i的模糊推理规则表,是根据专家知识、平衡车运动学模型以及运动特性制定的。本实施制定了49条输出参数i的模糊推理规则:

部分推理规则如下:

以第一条规则为例,其含义是当速度误差负大、速度误差变化率负大,推理结果为输出参数i负小。

将每时刻的速度误差e和速度误差变化率ec在其论域内等分并构造输入组合;然后针对每一种输入组合,分别调用p和i的模糊推理器,计算出每时刻实时的p、i参数。

综上所述,本发明公开了一种采用模糊算法的平衡车控制方法,较好的解决了平衡车系统速度控制与平衡控制的冲突,导致平衡车速度跟随性、鲁棒性不强的问题。在车辆工程、智能家居等领域具有广泛的应用前景。

为了验证本发明方法的有效性,进行了平衡车模型建立与分析以及控制器仿真。

平衡车模型建立与分析:

由图八平衡车简化模型图得,其中m为车的质量,j为平衡车的转动惯量,l为平衡车重心距离轮子着地点的距离,θ、ω为平衡车向前方倾倒的角度及角速度,f为地面对平衡车水平作用力,v为平衡车轮子上的线速度。

由水平方向的动量定理可以得到式(1),其中p0是常量,表示平衡车水平方向的初始动量。

由功能关系可以得到式(2),其中是常量e0,为平衡车系统初始机械能。

对式(1)和式(2)求导,可以得到(3)和(4):

将式(3)代入(4)得到式(5),其中式(3)和(5)是关键的平衡车系统运动方程

对于平衡车的电特性,考虑到电路部分的响应时间远小于机械部分,故此处忽略电机电枢电感的影响,直流电机特性如式(6)

式(6)中n为电机转速,u为施加于电机的电压,t为电机输出的转矩。ce、ct、ra

为电机固有参数,对于他励直流电机可视为常数。同时根据平衡车的传动特性容易得出,v∝n,f∝t。

所以式(6)可改写为式(7),其中cu、cv为常数。

f=cuu-cvv(7)

结合式(3)、(5)和(7),可得平衡车机电特性综合模型如方程(8)所描述。

由方程组(8)解得的方程(9)。

对模型进行线性化,当θ和ω都较小时,可忽略二阶及以上无穷小量,得到线性化后的方程(10)。

由(10)平衡车运动学模型可知平衡车的角加速度受单摆模型的角度θ,电机输入的电压u和水平方向的运动速度v的控制,而平衡车水平方向的加速度也受电机输入的电压u,平衡车模型的角度θ和水平方向的速度v的控制,平衡车的角加速度和水平方向的加速度间接的反应的平衡车模型的角度θ和平衡车模型水平方向的速度v,可知平衡车模型的角度θ和平衡车模型水平方向的速度v是相互影响,存在较强的耦合性。

simulink仿真验证:

仿真采用式(8)所描述的数学模型,通过simulink进行仿真,用经典pd算法控制平衡车的平衡,用模糊pi控制平衡车速度,虽然被控对象有强耦合的特点。但是仿真结果显示如图9、10所示,该控制器在不同目标速度下都能有很好的速度跟随性,同时又保持平衡车平衡,且平衡车在不同工况下的速度、角度达到平衡不超过10s,表明该使用该控制器的系统具有良好的动态稳定性能和鲁棒性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1