【PD控制】灰狼算法分数阶优化PD滑模控制器【含Matlab源码 2006期】

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

⛄一、灰狼算法优化分数阶模糊控制器参数简介

1 分数阶模糊控制系统数学模型
分数阶控制系统的特征是微分方程,在动力系统或控制算法中,分数阶通常用微分或积分模型表示。

1.1 分数阶微积分
分数阶积分是对整数阶基本算子积分与微分的推广。微积分操作算子通常被定义为aDαt,将分数阶导数和分数阶积分定义为:
在这里插入图片描述
式中:a和t表示操作算子的上下限;α表示分数阶阶次且α∈R;τ表示切向单位向量。最常用的分数阶微积分定义是Riemann-Liouvile(RL)和Grunwald-Letnikou(GL)。分数阶微分阶α被定义如下:
在这里插入图片描述
式中:Dαtf(t)表示分数阶导数。

在分数阶导数的数值计算中,α阶导数在kh(k=1,2,…)点,具体表示如下:
在这里插入图片描述
然后,分数阶差分方程的一般数值解被定义如下:
在这里插入图片描述
1.2 分数阶近似值算子
假设初始条件为零,分数算子在拉普拉斯域中定义为L(aDαtf(t))=sαF(s),其中sα为离散化微积分算子。Grunwald-Letnikov 近似值因其产生离散性质的等式值而被人们广泛使用。在这种方法下,离散化考虑以下模型:
在这里插入图片描述
式中:hα(k)是脉冲序列;Tc表示采样频率。已经证明了有理式模型比多项式模型具有更快的收敛速度。因此采用Pade近似的方法,利用文中给出的定义,从脉冲响应中得到分数阶模型,具体模型表示为:
在这里插入图片描述
式中:m、n与参数ai、bi是通过调节hα(k)的系数m+n+1得到。

2 模糊控制器
模糊控制器是模拟专家的经验,并用语言形成严格的控制规则,然后通过控制规则控制其计算,实现目标任务。模糊控制器的一个重要的特性是将控制方案划分为多个区域。在每个区域,控制策略都可以通过使用一个规则来简单地建模,该规则将特定的操作按照所形成的区域关联起来。在所列出的文献中,尽管提出了几种模糊控制器模型配置,但是本文选取模糊分数阶PDα+I模型结构,因为此结构具有较好的稳定性与鲁棒性。

控制器配置如图1所示。其中:E、DE和IE分别代表误差、偏导误差和积分误差;e表示偏差值;v表示模糊输出量;Kp、Kd、Ki、Ku为增益值,前三项表示输入项,后一项为输出项。控制函数u是E、DE和IE的非线性映射函数,表示如下:
在这里插入图片描述
图1 模糊PDα+I控制器

3 GWO
灰狼优化算法是新型的群智能优化算法[14],该算法的灵感来源于灰狼群落的领导、指挥与狩猎行为。在该算法中,灰狼群被划分为四组,分别为α、β、δ、ω,前三种类型是作为领导阶层,ω是最底层灰狼种群,追随前3种种群。α、β、δ灰狼种群的更新公式如下:

D=|C·Xp(t)-X(t)| (9)
X(t+1)=Xp(t)-A·D (10)
A=2a·r1-a (11)
C=2·r2 (12)
式中:D表示灰狼与猎物之间的位置距离向量;t表示当前的迭代时间; A、C是向量系数;Xp是猎物的位置向量;X是灰狼的位置向量;a是步长因子,随着迭代次数的增加由2降到0;r1、r2取[0,1]间的均匀随机值。

在GWO中,认定α、β、δ为捕食猎物的最好的值,在优化的过程中,α、β、δ被认为是最好的解,其他灰狼为ω,不断更新位置朝向α、β、δ种群。根据以下数学模型,调整ω狼群的位置:
Dα=|C1·Xα-X| (13)
Dβ=|C2·Xβ-X| (14)
Dδ=|C3·Xδ-X| (15)
式中:Xα表示α灰狼的位置;Xβ表示β的位置;Xδ表示δ灰狼的位置;C1、C2、C3 是随机值;X表示当前解决方案位置。用式(13)、式(14)和式(15)分别计算当前解位置与α、β、δ灰狼位置之间的距离。定义距离之后,当前解的最终位置计算如下:
X1=Xα-A1·(Dα) (16)
X2=Xβ-A2·(Dβ) (17)
X3=Xδ-A3·(Dδ) (18)
在这里插入图片描述
式(13)-式(15)定义了ω灰狼步长分别朝向α、β、δ灰狼位置。式(16)-式(19)定义了ω灰狼最终的位置。A、C这两个向量是随机值,能够有效平衡GWO勘探与开采能力。

Mirjalili 等[14]提出的GWO相比于其他著名的元启发式算法具有很高的性能。该算法具有很强的探测能力,而且能够避免局部最优。此外,较强的平衡勘探与开采能力能够有效解决一些复杂的工程问题。因此应用GWO优化模糊控制器参数问题。

4 用GWO对分数阶模糊控制器参数优化
在分数阶模糊控制系统的设计阶段,将参数计算过程转化为一个多维优化问题,将分数阶模糊控制器参数作为决策变量。在这种方法中,优化问题的复杂性往往产生多模态误差曲面,其代价函数往往难以最小化。提出一种分数阶模糊控制系统参数优化标定算法,采用GWO确定最优的参数值,如图2所示。
在这里插入图片描述
图2 基于GWO优化模糊控制器的参数问题
在GWO求解模糊控制器参数问题中,GWO中的最优解表示分数阶模糊控制器的一组最优的参数。分数模糊控制器参数(α,Kp,Kd,Ki,Ku)确定GWO候选解的维度。GWO的生物空间对应分数模糊控制器参数整定的解空间。另外,GWO的评价函数是分数模糊控制器的积分时间绝对误差(ITAE)[25]。ITAE指标J由以下模型定义:
J(α,Kp,Kd,Ki,Ku)=∫∞0t|r(t)-y(t)| (20)
式中:y(t)表示闭环阶跃响应函数;r(t)表示阶跃函数。
最小化目标函数为:
J(X) X=(α,Kp,Kd,Ki,Ku)∈R5 (21)

约束函数为:
0≤α≤3
0≤Kp≤5
0≤Kd≤5
0≤Ku≤5

控制器的参数值对控制器的性能具有较高的影响。例如,比例系数Kp值增加时,系统会变得敏感,响应速度更快,系统的稳态误差得以减小,从而使控制的精度提高。GWO优化的过程是通过连续计算ITAE值来评价该参数的质量,根据GWO的优化规则,通过连续迭代求出ITAE的最小值,从而得到一组分数阶模糊控制器的控制参数。

⛄二、部分源代码

clear all
clc
close all
tic
%%Initilization
x0=[-pi pi 0 0 0 0];
Ts=[0 5]; %time span
%%Robot Specifications
L1=1; %link 1
L2=1; %link 2
M1=1; %mass 1
M2=1; %mass 2
%
%
% Ks=10;
% gama=9;
% alpha=4;
% beta=3;
% miu=1.5;
% % PID parameters for theta 1
% Kp1=38;
% Kd1=6;
% % PID parameters for theta 2
% Kp2=38;
% Kd2=6;

lb=[30 4 30 4 8 0 0 0 0];
ub=[51 12 51 12 20 14 8 5 3];
dim=9;

SearchAgents_no=5; % Number of search agents
Max_iteration=1; % Maximum numbef of iterations

[Best_score,Best_pos,GWO_cg_curve]=GWOr(SearchAgents_no,Max_iteration,lb,ub,dim);

Kpd=Best_pos
[T,X] = ode45(@(t,x) r2dof(t,x,Kpd),Ts,x0);

qd1=sin(4.17T);
qdot_r1=4.17
cos(4.17T);
qdot2_r1=-4.17
4.17sin(4.17T);
qd2=1.2sin(5.11T);
qdot_r2=1.25.11cos(5.11T);
qdot2_r2=-1.2
5.115.11sin(5.11*T);
%%Output
th1=X(:,1); %theta1 wavwform
th2=X(:,2); %theta2 wavwform
th3=X(:,3);
th4=X(:,4);
th5=X(:,5);
th6=X(:,6);
%torque inputs computation from the 7th,8th states inside ODE
% F1=diff(X(:,5))./diff(T);
% F2=diff(X(:,6))./diff(T);
x1=L1.*sin(th1); % X1
y1=L1.*cos(th1); % Y1
x2=L1.*sin(th1)+L2.*sin(th1+th2); % X2
y2=L1.*cos(th1)+L2.*cos(th1+th2); % Y2

% Positions
GWO_cg_curve

toc

%theta1 error plot
figure(1)
hold on
plot(T,th1-qd1,‘r’)
legend(‘NCFOPDSMC’)
ylabel(‘Position tracking error of theta1’)
xlabel(‘time (sec)’)
hold off

%theta2 error plot
figure(2)
hold on
plot(T,th2-qd2,‘r’)
legend(‘NCFOPDSMC’)
ylabel(‘Position tracking error of theta2’)
xlabel(‘time (sec)’)
hold off

figure(3)
hold on
plot(T,th1,‘r’)
legend(‘qd1’,‘FOPD’,‘FSMC’,‘NCFOPDSMC’)
ylabel(‘Position tracking of theta1’)
xlabel(‘time (sec)’)
hold off

figure(4)
hold on
plot(T,th2,‘r’)
legend(‘qd2’,‘FOPD’,‘FSMC’,‘NCFOPDSMC’)
ylabel(‘Position tracking of theta2’)
xlabel(‘time (sec)’)
hold off

figure(5)
hold on
plot(T,th5,‘r’)
legend(‘FOPD’,‘FSMC’,‘NCFOPDSMC’)
ylabel(‘Control input1 (N.m)’)
xlabel(‘time (sec)’)
hold off

figure(6)
hold on
plot(T,th6,‘r’)
legend(‘FOPD’,‘FSMC’,‘NCFOPDSMC’)
ylabel(‘Control input2 (N.m)’)
xlabel(‘time (sec)’)
hold off

figure(7)
hold on
plot(T,th3,‘r’)
legend(‘FOPD’,‘FSMC’,‘NCFOPDSMC’)
ylabel(‘Velocity of theta1’)
xlabel(‘time (sec)’)
hold off

figure(8)
hold on
plot(T,th4,‘r’)
legend(‘FOPD’,‘FSMC’,‘NCFOPDSMC’)
ylabel(‘Velocity of theta2’)
xlabel(‘time (sec)’)
hold off

figure (9)
plot(GWO_cg_curve)
% close all

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 范鲁娜.灰狼算法优化分数阶模糊控制器参数[J].计算机应用与软件. 2021,38(10)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值