基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真

目录

一、理论基础

二、核心程序

三、仿真测试结果


作者ID  :fpga和matlab
CSDN主页:https://blog.csdn.net/ccsss22?type=blog
擅长技术:
1.无线基带,无线图传,编解码 
2.机器视觉,图像处理,三维重建 
3.人工智能,深度学习 
4.智能控制,智能优化
5.其他

一、理论基础

       运动系统中的状态反馈控制是保障系统稳定运行、提高系统运动性能的重要组成部分。基于全阶观测器能够以运动物体本身作为参考模型,模拟运动物体的实际运动情况,构建状态方程对运动系统进行全面观测。由于运动系统存在多个自由度,而且任何一个自由度均对运动系统的性能存在重要影响,因此涉及到多输入、多输出、多回路的复杂系统设计

      三自由度运动控制系统被广泛应用于各行各业,尤其是随着电力行业和工业自动化的快速发展,其得到了快速发展。通常情况下,三自由度运动控制系统由三个运动链组成,每个运动链都有其特定输入和输出,然后同时并联到运动控制系统中。在运动过程中,控制系统给出XrYrƟ的运动位置,需要对运动物体进行坐标变化,转化为XY两个直接位置,才能实现三自由度运动的控制。运动位置坐标转化公式如下:

基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真_第1张图片

 基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真_第2张图片

 根据公式

基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真_第3张图片

多输入多输出系统的状态反馈结构 

基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真_第4张图片

       对多数实际被控系统,由于输入和输出之间总存在惯性,所以传递矩阵D=0。对应的状态空间表达式为 :

       在图1中构成闭环系统以改善原被控系统的性能,其反馈控制律由状态变量乘以相应的反馈增益值,与参考输入v组成。从图2-1可以看出,反馈控制律为状态变量的线性函数,即   

基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真_第5张图片

        输出反馈是用被控系统输出向量的线性反馈构成闭环系统。图2-2是多输入多输出系统输出反馈的基本结构。 

二、核心程序

clc;
clear;
close all;
warning off;
addpath 'func0\'


%%
%STEP1:车辆的数学建模
Car_3DOF      = func_car_3DOF_model();
%%
%STEP2:转换为空间状态方程
[A0,B0,C0,D0] = func_ABCD_State(Car_3DOF);
%%
%STEP2:根据参数将数据进行例化
[A,B,C,D]     = func_ABCD_State_example(A0,B0,C0,D0);

%%
[num,den]     = ss2tf(A,B,C,D,1);

figure;
bode(num,den,'k-*');
grid on;		 
figure;
rlocus(num,den);
grid on;					
[Z,P,K]=tf2zp(num,den);	
fprintf('零极点:\n\n');
Z
P
K

[Y,T,X] = step(num,den,30);		
figure;
%闭环阶跃响应
plot(X,Y,'linewidth',2);
title('阶跃响应');
grid on;
function Car_3DOF = func_car_3DOF_model();
%定义参量
syms_parameter;
%侧偏角
%前轮
Fx1           = Jd_a1 + Jd_de - Jd_bi - Coffa*Wr/Uer ;
%后轮
Fx2           = Jd_a2 + Coffb*Wr/Uer - Jd_bi;
%加速度
Fa1           = Ay - Uer*side_addspeed - Uer*Wr;
%地面对前后轮作用力
Ff1           = Fy1 - Coff1*Jd_a1;
Ff2           = Fy2 - Coff2*Jd_a2;
%力矩平衡
Fm            = Jd_kd*Jd_dN - Jd_kd*Jd_de - Fy1*Xin;
%力平衡
Fl            = mass*Ay - Fy1 - Fy2;
%力矩平衡
Flj           = I*Driver_w -  Coffa*Fy1 + Coffb*Fy2;
%汽车数学模型
Car_3DOF      = solve(Fx1,Fx2,Fa1,Ff1,Ff2,Fm,Fl,Flj,Driver_w,side_addspeed,Jd_de,Ay,Jd_a1,Jd_a2,Fy1,Fy2);

三、仿真测试结果

基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真_第6张图片

       波特图是线性非时变系统的传递函数对频率的半对数坐标图,其横轴频率以对数尺度(log scale)表示,利用波特图可以看出系统的频率响应,又称幅频响应和相频响应曲线图。波特图一般是由二张图组合而成,一张幅频图表示频率响应增益的分贝值对频率的变化,另一张相频图则是频率响应的相位对频率的变化。利用波特图可以看出在不同频率下,系统增益的大小及相位,也可以看出大小及相位随频率变化的趋势。波特图的图形和系统的增益,极点、零点的个数及位置有关。

 基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真_第7张图片

 基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真_第8张图片

A08-58

你可能感兴趣的:(MATLAB,板块8:控制器)