模糊控制算法的研究及其在两轮平衡车中的应用

(整期优先)网络出版时间:2018-12-22
/ 1

模糊控制算法的研究及其在两轮平衡车中的应用

董文亮王颖锋谢晗薛陶庆金定富

(江苏大学江苏镇江212000)

摘要:模糊控制在解决非线性问题时具有良好的鲁棒性和其他优点。在自行设计的电磁两轮平衡车中,用传统的PD算法达到的转向控制存在明显的控制非线性问题,为了优化转向控制,将模糊控制算法与传统的PD算法相结合,形成一种新的自适应PD算法,并应用于转向控制,使平衡车可以根据路面情况的变化,做出良好的控制策略。

关键词:模糊控制;两轮平衡车;PD算法;

1引言

传统的PID控制器结构简单,性能稳定,调试方便,已成为工业控制的主要技术。但在实际的应用中,大多数工业过程都不同程度的存在非线性、参数时变等问题,传统的PID控制无法实现对此的精确控制。基于模糊数学的模糊控制对数学模型的依赖性较弱,不需要建立精确的过程数学模型。将模糊控制算法应用于非线性模型的控制可以获得更好的结果。因此,我们将完善的模糊控制算法搭载于两轮平衡车中进行验证,与普通的PD控制算法进行对比,得到了相关的结果。

2自适应模糊PD控制算法的模型建立

在传统的PD控制中,将给定值与测量值进行比较以获得偏差e(t),并且根据偏差,给出控制动作u(t),然后作用于受控对象。输出c(t)同时反馈,形成闭环系统。

自适应模糊PD控制器在PD算法的基础上使用误差E和误差差分Ec作为输入,并使用模糊规则进行模糊推理。然后查询模糊规则表,调整参数,满足不同条件下PD参数自整定的E和Ec要求。模糊参数用于在线修改PD参数。下面通过MATLAB仿真来说明。

两轮平衡车主要由两个电机驱动,并由转向控制。所以,我先进行电机控制算法的建模,直流电机的传递函数模型为:

该数学模型即为被控对象的传递函数。

传统PD控制系统和模糊自适应PD控制系统仿真步骤如下:

(1)使用FIS模糊编辑器创建两个输入(E、Ec)和两个输出(P、D)的Mamdani推理的模糊控制器。假设(E,Ec)的输入字段值为(-3,3),输出(P,D)的模糊域为(-3,3)。

(2)取相应论域上的语言值为负大(NB)、负中(NM)、负小(NS)、零(ZO)、正小(PS)、正中(PM)和正大(PB),所有输入和输出变量的隶属函数,如图1和图2所示,分别是输入和输出的模糊域和隶属函数。

(3)构建模糊自适应PD控制系统的仿真模型,同时我将传统PD控制的仿真模型加在了下方,如图1所示,其中的输入为单位阶跃响应,使系统模拟车模过弯时的方向控制,但实际车模运动情况往往复杂得多。最后的仿真结果为两种模型的结果,其中超调量较大的为传统PD控制系统的仿真结果,过冲更小,更稳定的是自适应PD控制系统的仿真结果,如图2所示。

3自适应模糊PD控制算法在两轮平衡车中的应用

两轮平衡车通过采集车的瞬时角度再通过传统PD算法使平衡车保持平衡。平衡车通过两个小电感切割赛道中的20KHz的电磁场的磁感线从而采集得到的电流值进行换算后的数值进行方向控制。每4ms更新一次数值,得到偏差E和偏差Ec,运用传统PD算法得到电机输出值。但当车速达到一定数值时,可以发现车模的行驶往往达不到期待的效果,这是由于车模的运行存在严重的非线性问题,且运行时存在其他复杂的影响因素,传统的PD算法无法做到较好的控制效果。通过以上的建模和仿真结果分析,模糊控制于PD算法结合而成的自适应模糊PD算法对于车模在赛道上的行驶将有更好的效果。出于对MCU处理能力考虑,模糊控制的隶属度函数采用三角函数,解模糊时采用重心法——输出较为平滑,适合于平衡车的控制。部分代码如图3所示

图3自适应模糊PD算法部分代码

4总结

本研究主要关注两轮平衡车的方向控制问题。目前,通过将电机的转速和转向相互耦合,可以解决车模在高速时拐弯不平滑的问题,但在经过曲率较大的弯道时更可能是车模过冲。在此基础上灵活地添加模糊控制是最重要的。实时调整PD参数将有效解决车模受磁场的干扰和过冲的问题。

参考文献:

[1]兰艳亭.基于免疫机制的智能车转向控制系统研究[D].太原:中北大学,2017,3:4-6

[2]张莉莉,武艳.模糊理论概述[J].硅谷,2012,17:177-178.