m基于UKF控制器的倒立摆控制系统matlab仿真

简介: m基于UKF控制器的倒立摆控制系统matlab仿真

1.算法仿真效果
matlab2022a仿真结果如下:
d6a608dab3b959a1fa6bd3c2a4b07248_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
04e07975592a50338360b62804532966_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
6f7c799e1042605f65549c75967a9571_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要
倒立摆控制,使摆杆尽快达到平衡位置,且无大的振荡和过大的角度和速度的控制系统。当摆杆到达期望位置后,系统能克服随机扰动而保持稳定。该控制系统的输入为小车的位移(即位置)和摆杆的倾斜角度期望值,计算机在每一个采样周期中采集来自传感器的小车与摆杆的实际位置信号,与期望值进行比较后,通过控制算法得到控制量,再经数模转换驱动直流电机实现倒立摆的实时控制。按摆杆数量,分为一级、二级、三级倒立摆等。该系统是一个复杂的、不稳定的非线性系统,是进行控制理论研究的理想实验平台。对倒立摆系统的研究能有效地反映控制中的许多典型问题,如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。

     倒立摆,Inverted Pendulum ,是典型的多变量、高阶次 ,非线性、强耦合、自然不稳定系统。倒立摆系统的稳定控制是控制理论中的典型问题 ,在倒立摆的控制过程中能有效反映控制理论中的许多关键问题 ,如非线性问题、鲁棒性问题、随动问题、镇定、跟踪问题等。因此倒立摆系统作为控制理论教学与科研中典型的物理模型 ,常被用来检验新的控制理论和算法的正确性及其在实际应用中的有效性。从 20 世纪 60 年代开始 ,各国的专家学者对倒立摆系统进行了不懈的研究和探索。
   倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。同时,其控制方法在军工、航天、机器人和一般工业过程领域中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制和卫星飞行中的姿态控制等。
    本课程,我们的倒立摆模型如下:

41dd526e48df91039a0b87ec8e089f9d_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.MATLAB核心程序
```global Jb;
global lp;
global mp;
global g;

LEN= 10000;
%离散
ts = 0.01;
mp = 0.17;
r = 0.16;
Jb = 0.0024;
R = 8.3;
Km = 0.023;
Kg = 120/16;
lp = 0.2;
g = 9.8;

%根据
a1 = -mprg/Jb;
a2 = -Kg^2Km^2/R/Jb;
a3 = g
(Jb + mpr^2)/lp/Jb;
a4 = r
KgKgKmKm/R/lp/Jb;
b1 = Kg
Km/R/Jb;
b2 = -rKgKm/R/lp/Jb;

A = [0,0 ,1 ,0;
0,0 ,0 ,1;
0,a1,a2,0;
0,a3,a4,0];

B = [0;
0
b1;
b2];

[F,G] = c2d(A,B,ts);
Q = diag([1 1 0 0]);
R = [1];
[K,p,e] = dlqr(F,G,Q,R);
F = F-G*K;

%初始条件
x1_0 = 0;
x2_0 = pi/2;
x3_0 = 0;
x4_0 = pi/2;
u_0 = 10;

for k=1:1:LEN
k
.........................................................................
%PF
X(k) = func_ukf_filter(y);
u_0 = X(k);
x1_0 = x1(k);
x2_0 = x2(k);
x3_0 = x3(k);
x4_0 = x4(k);
end
```

相关文章
|
2月前
|
5G
基于IEEE 802.11a标准的物理层MATLAB仿真
基于IEEE 802.11a标准的物理层MATLAB仿真
193 0
|
2月前
|
算法
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
2月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
3月前
|
机器学习/深度学习 存储 算法
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
328 0
|
3月前
|
传感器 资源调度 算法
【数据融合】【状态估计】基于KF、UKF、EKF、PF、FKF、DKF卡尔曼滤波KF、无迹卡尔曼滤波UKF、拓展卡尔曼滤波数据融合研究(Matlab代码实现)
【数据融合】【状态估计】基于KF、UKF、EKF、PF、FKF、DKF卡尔曼滤波KF、无迹卡尔曼滤波UKF、拓展卡尔曼滤波数据融合研究(Matlab代码实现)
351 0
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
268 0
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
132 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
117 0
|
2月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
131 0

热门文章

最新文章