基于Simulink实现模糊PID仿真
fancc椰
引言
传统 PID 控制器自出现以来,凭借其控制原理简单、稳定性好、工作可靠、易于实现等优点成为工业控制主要技术,常被用于机器人驱动控制。但是传统 PID 参数整定异常麻烦,当被控对象的结构和参数具有一定的不确定性,无法对其建立精确的模型时,传统 PID 无法进行实时调节, 为了获得更好的速度控制性能和循迹动态响应,但常规PID 控制难以解决被控对象数学模型复杂、非线性以及时变不确定性等系统问题,而自适应模糊 PID 控制可以有效解决此问题。本文依靠 MATLAB/SIMULINK 的模糊逻辑工具箱的Fuzzy Logic Controller 与常规 PID Controller 结合,针对水下航行器控制系统进行PID仿真实验。
一 确定仿真模型
针对水下航行器控制系统参数变化和海洋环境干扰等影响,研究水下航行器运动控制系统中的深度控制问题。依据水下航行器的构造特点和水动力特性,建立水下航行器在地球坐标系中的六自由度动力学模型,结合模糊控制理论和传统PID控制方法设计水下航行器模糊PID控制器,在保留传统PID控制器的优点的基础上易于在实际应用中进行微调。实现在MATLB中Simulink仿真环境中模糊PID控制与传统PID控制的深度控制仿真,并对仿真结果进行比较。
(一)建立运动模型
水下航行器可以被当作是典型刚体,其动力学涉及地球坐标系和航行器坐标系两个参照系,如图1所示,
图1 ROV 地球坐标系和航行器坐标系
六自由度运动的水下航行器有6个变量的速度矢量,其中分别称沿OX、OY、OZ 轴平移为纵荡、横荡和升沉,称沿OX、OY、OZ 轴转动为横倾、纵倾和偏航。考虑广义惯性力、水动力效应、重力和浮力以及执行器的力,使用国际通用的“海 军 建 筑 师 和海洋工程师协会”SNAME符号的水下航行器运动模型可以写成:
Mv+C(v)v+D(v)v+g(n)=t+we(t)(1)
η=J(η)v(2)
式中:v=[u,v,w,p,q,r]T表示航行器坐标系中的速度矢量,η=[x,y,z,φ,0,ψ]T表示地球坐标系中的位姿矢量,J(η)∈R6×6是航行器坐标系到地球坐标系的速度变换矩阵。M∈R66是考虑附加质量影响的惯性矩阵;C(v)∈R6×6是考虑周围水体的科里奥利力和离心力矩阵;D(v)∈R6×6是考虑附加质量影响的流体动力阻尼矩阵;g(η)∈R6是重力、浮力和力矩的矢量;τ∈R6是对应航行器六自由度运动的控制力和力矩,w。(t)∈R6表示外部干扰矢量。
据状态变量和模型参数的运动学变换,将水下航行器动力学公式表示为航行