天天看點

基于模糊PID的混合磁懸浮減振器的設計及控制研究

目錄

​​一、理論基礎​​

​​二、核心程式​​

​​三、仿真測試結果​​

作者ID  :fpga和matlab
擅長技術:
1.無線基帶,無線圖傳,編解碼 
2.機器視覺,圖像處理,三維重建 
3.人工智能,深度學習 
4.智能控制,智能優化
5.其他      

一、理論基礎

        磁流變減振控制的阻尼具有可控性、非線性、滞後和飽和等特性,控制器的開發具有非常大的複雜性.結合磁流變阻尼控制器的控制原理以及設計功能進行模糊PID控制,提出采用三閉環磁流變阻尼控制系統的設計思路.包括加速度環、電壓環和電流環,以保證控制系統的精度和實時性,本文詳細介紹并進行了磁流變減振控制器的硬體電路設計和DSP控制系統的軟體設計,對磁流變減振控制的台架試驗.試驗結果表明,磁流變阻尼控制器是準确可行的.

       采用模糊自适應PID控制器的車輛行駛控制仿真設計,旨在解決前車自動跟車,接收前車傳輸的行駛狀态,計算前方路況,實作自動駕駛控制的實作。主要設計過程是基于預覽理論設計汽車的自動跟随模型并指定要跟随的實體量。模糊PID控制器設計控制方法跟蹤給定的實體量,仿真結果為獲得。該方法已被證明具有良好的魯棒性,可確定智能汽車具有良好的路況計算和車輛跟蹤精度。并且模糊PID人智能控制器比傳統的PID控制器更健壯,控制精度更高。

基于模糊PID的混合磁懸浮減振器的設計及控制研究

這是減振系統的原理圖

基于模糊PID的混合磁懸浮減振器的設計及控制研究

這是減振系統的電磁子產品

電磁子產品不太了解的話 我有參考文獻供參考。

要求設計LQR控制器通過matlab作出 在外力幹擾下

基于模糊PID的混合磁懸浮減振器的設計及控制研究

其中Xs,Xr,Xu本質上均為t的關系式。

這裡,我們需要做一個假設,即Xr的二階導數為0。(否則三個變量,兩個方程,沒法求解的)

這樣,我們就可以建立關于地面位移的相對位移的方程式

于是上面的式子可以等效為:

基于模糊PID的混合磁懸浮減振器的設計及控制研究
基于模糊PID的混合磁懸浮減振器的設計及控制研究

 是以,這個系統滿足振動系統的基本方程模式。

基于模糊PID的混合磁懸浮減振器的設計及控制研究

我們根據上面的模型,進行控制對象的模組化,然後再基于這個控制對象,進行LQR控制器的設計,最後在Simulink中仿真實作。

        這個式子和一般式子不同的是,他的方程右邊有一個随着時間而發生變化的變量。

這個方程,我們用如下的式子表示:

基于模糊PID的混合磁懸浮減振器的設計及控制研究

 假設系統的控制輸出Z,那麼Z的表達式為:

基于模糊PID的混合磁懸浮減振器的設計及控制研究
基于模糊PID的混合磁懸浮減振器的設計及控制研究

以上就是推導得到的系統的狀态方程,下面我們基于這個狀态方程計算對應的LQR控制器。

       根據上面的式子,我們可以設計最優LQR控制器:

下面,我們讨論一下關于輸入U1和U2,從方程上講,U1和U2,就是對應的

基于模糊PID的混合磁懸浮減振器的設計及控制研究

這裡,随時間變化的就是f這個變量,mg和fd為常量。 

二、核心程式

clc;
clear;
close all;
warning off;

m1  = 25;
m2  = 20;
S   = 0.009;
N   = 500;
R   = 1;
i0  = 0.2;
lnm = 64;
A   = 5.12;
k1  = 0.3;
kd  = 0.6;
c1  = 0.5;
cd  = 0.3;

g   = 9.18;
L0  = 1000;
k1s = -244043.62;
k2s = -5002.34;
k3s = -35.68;
m   = 311.84;
z0  = 20;
u0  = 10;
Hc  = 800;
hmp = 34;
ur  = 10000;


%計算狀态方程
AA1 = [0,0,m1,0;
       0,0,0,m2;   
       m1,0,0,0;
       0,m2,0,0;];
AA2= [-m1,0,0,0;
      0,-m2,0,0;
      0,0,k1,0;
      0,0,0,kd];
AA = -inv(AA1)*AA2;


BB1= AA1;
BB2= [0,0;
      0,0;
      1,0;
      0,1];
BB = inv(BB1)*BB2;


CC = [1,0,0,0;
      0,1,0,0;
      0,0,0,0;
      0,0,0,0];
  
DD = [0,0;
      0,0;
      0,0;
      0,0];  
  
sys=ss(AA,BB,CC,DD)  
  
Q               = diag([5 1 2 6]);
R               = eye(2);
k               = LQR(AA,BB,Q,R);


%The LQR Controller
k11             = k(1,1);
k21             = k(1,2);
k31             = k(1,3);
k41             = k(1,4);


k12             = k(2,1);
k22             = k(2,2);
k32             = k(2,3);
k42             = k(2,4);      

三、仿真測試結果

繼續閱讀