Тёмный

Controle de Estabilidade. Projeto do Sistema de Controle 

Prof. André Murilo
Подписаться 1,8 тыс.
Просмотров 624
50% 1

Nesta aula, apresentaremos a estratégia de controle para a função ESC baseado no controlador Proporcional-Derivativo (PD). Abordaremos o controle do side-slip angle e do yaw rate para sistemas com 2 e 3 graus de liberdade. Serão simulados cenários no Matlab/Simulink para avaliação do desempenho do controlador em diversas situações de funcionamento.
%% Função para Calcular a Manobra Fishhook
function [tempo Saida]=Fishhook(A,t)
tempo=[0:0.01:t];
flag=0;
Saida(1:100)=0;
i=100;
alpha=A/0.25;
while lt(Saida(i),A)
i=i+1;
Saida(i)=min(alpha*(tempo(i)-1),A);
end
ref_tempo=tempo(i);
while lt(tempo(i),(ref_tempo+0.25))
Saida(i)=A;
i=i+1;
end
ref_tempo=tempo(i);
while gt(Saida(i-1),-A)
Saida(i)=max(A-alpha*(tempo(i)-ref_tempo),-A);
i=i+1;
end
ref_tempo=tempo(i);
while lt(tempo(i),(ref_tempo+3))
Saida(i)=-A;
i=i+1;
end
ref_tempo=tempo(i);
while lt(Saida(i-1),0)
Saida(i)=min(-A+(A/4)*(tempo(i)-ref_tempo),0);
i=i+1;
end
Saida(i:length(tempo))=0;
%% Script para Plotagem dos Gráficos - Sistema de Controle
%% Preparação das variáveis para plotar os gráficos
time=tout; % Tempo
vel_lateral_2=yout(:,1); % Velocidade Lateral - 2DOF
yaw_rate_2=yout(:,2)*180/pi; % Taxa de Guinada - 2DOF
beta_2=atan2(vel_lateral_2,u0)*180/pi; % Ângulo Deslizamento Lateral - 2DOF
vel_lateral_3=yout(:,3); % Velocidade Lateral - 3DOF
beta_3=atan2(vel_lateral_3,u0)*180/pi; % Ângulo Deslizamento Lateral - 3DOF
yaw_rate_3=yout(:,4)*180/pi; % Taxa de Guinada - 3DOF
roll_rate_3=yout(:,5)*180/pi; % Taxa de Rolagem - 3DOF
roll_3=yout(:,6)*180/pi; % Ângulo de Rolagem - 3DOF
Mesc_2=yout(:,7); % Momento Corretor de Guinada - 2DOF
Mesc_3=yout(:,8); % Momento Corretor de Guinada - 3DOF
yaw_rate_desired_2=yout(:,9)*180/pi; % Taxa de Guinada Desejada - 2DOF
yaw_rate_desired_3=yout(:,10)*180/pi; % Taxa de Guinada Desejada - 3DOF
Fyf_2=yout(:,11); % Força Lateral Dianteira - 2DOF
Fyr_2=yout(:,12); % Força Lateral Traseira - 2DOF
Fyf_3=yout(:,13); % Força Lateral Dianteira - 3DOF
Fyr_3=yout(:,14); % Força Lateral Traseira - 3DOF
%% Plota os gráficos
% Posiciona a 1ª figura
figure('Position',[400 200 550 450]);
% Side-Slip Angle - 2DOF e 3DOF
subplot(2,2,1)
p=plot(time,beta_2,time,beta_3,'r--'); p(2).LineWidth = 1.5; grid on
line([0 10],[limite_beta*180/pi limite_beta*180/pi],'Color','k','LineStyle','--','LineWidth',1.0);
line([0 10],[-limite_beta*180/pi -limite_beta*180/pi],'Color','k','LineStyle','--','LineWidth',1.0);
line([0 10],[limite_high*180/pi limite_high*180/pi],'Color','g','LineStyle','--','LineWidth',0.5);
line([0 10],[-limite_high*180/pi -limite_high*180/pi],'Color','g','LineStyle','--','LineWidth',0.5);
line([0 10],[limite_low*180/pi limite_low*180/pi],'Color','g','LineStyle','--','LineWidth',0.5);
line([0 10],[-limite_low*180/pi -limite_low*180/pi],'Color','g','LineStyle','--','LineWidth',0.5);
title('Side-Slip Angle \beta [deg]');xlabel('Time [s]');legend('2DOF','3DOF')
% Yaw Rate - 2DOF e 3DOF
subplot(2,2,2)
p=plot(time,yaw_rate_2,time,yaw_rate_desired_2,'k-',time,yaw_rate_3,'r--',time,yaw_rate_desired_3,'g--');
p(2).LineWidth = 1.5; p(3).LineWidth = 1.0; p(4).LineWidth = 1.0; grid on
title('Yaw Rate r [deg/s]');xlabel('Time [s]');
legend('2DOF','Ref 2DOF','3DOF','Ref 3DOF','Location','southeast');
% Roll Rate
subplot(2,2,3)
plot(time,roll_rate_3,'r--','LineWidth',1.5); grid on
title('Roll Rate p [deg/s]');xlabel('Time [s]');legend('3DOF')
% Roll Angle
subplot(2,2,4)
plot(time,roll_3,'r--','LineWidth',1.5); grid on
title('Roll Angle \phi [deg]');xlabel('Time [s]');legend('3DOF')
% Posiciona a 2ª Figura
figure('Position',[950 200 550 450]);
% ESC Yaw Moment - 2DOF/3DOF
subplot(2,1,1)
p=plot(time,Mesc_2,'b',time,Mesc_3,'r--'); grid on
p(2).LineWidth = 1.5;
title('M_{esc} - Yaw Moment [N.m]');xlabel('Time [s]');
legend('M_{esc2} 2DOF','M_{esc3} 3DOF')
% Lateral Force - 2DOF/3DOF
subplot(2,1,2)
p=plot(time,Fyf_2,'b',time,Fyr_2,'b--',time,Fyf_3,'r',time,Fyr_3,'r--'); grid on
p(2).LineWidth = 1.5;p(4).LineWidth = 1.5;
title('Lateral Force F_y [N]');xlabel('Time [s]');
legend('F_{yf} 2DOF','F_{yr} 2DOF','F_{yf} 3DOF','F_{yr} 3DOF')

Опубликовано:

 

9 окт 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии    
Далее
The $5 Mid-2000s Mini PC - Thrift Store Finds
32:43
Просмотров 53 тыс.
What Are Phased Arrays?
17:36
Просмотров 104 тыс.
Simbologia Hidráulica!!!!!
7:18
Просмотров 3,3 тыс.
Fuga de Cérebros: Como matar metade de um continente
12:19
The moment we stopped understanding AI [AlexNet]
17:38
Просмотров 847 тыс.