Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
ANÁLISE E CONTROLE DE SISTEMAS NÃO LINEARES
SEMESTRE 2023.1
EQUIPE:
GABRIEL FONSECA LEITE - 500955
JÉSSICA FEITOSA DE OLIVEIRA - 472961
01 DE MAIO DE 2023
1 PLANTA ESCOLHIDA
Conforme o artigo que baseia esse trabalho, devido à equação quadrática, o termo
q aparecendo no subsistema mecânico, onde q representa a carga no dispositivo (cf. (1)
na Descrição matemática), a linearização jacobiana de tal sistema não é controlável em
pontos onde q = 0. Consequentemente, os controles derivados da linearização de
feedback geralmente “explodirão” conforme a trajetória do sistema está se aproximando
desses pontos.
2 DESCRIÇÃO MATEMÁTICA
𝑥̇ 1 = 𝑥2 (2𝑎)
2𝑞̅ 1
𝑥̇ 2 = −𝑥1 − 2ζ𝑥2 + 𝑥3 + 𝑥3 2 (2𝑏)
3 3
1 2
𝑥̇ 3 = − (𝑞̅ 𝑥1 + 𝑥1 𝑥3 + (𝑥̅ − 1)𝑥3 ) + 𝑢 (2𝑐)
𝑟 3𝑟
que é definido no espaço de estados
𝑥̇ 3 = 𝑢̅ (3)
O controle real pode ser obtido invertendo (4), que é dado por:
(5)
Note que
3 SIMULAÇÃO GRÁFICA
1. Dissipatividade global
Residual norm: 4.4665e-15
iter: 4
feasratio: 1.0000
pinf: 0
dinf: 0
numerr: 0
r0: 4.4661e-15
timing: [0.0170 0.0470 0.0020]
wallsec: 0.0660
cpusec: 0.0781
ans =
-0.3868
2. Dissipatividade local
Residual norm: 1.9103e-08
iter: 15
feasratio: 1.0000
pinf: 0
dinf: 0
numerr: 0
r0: 1.0000e-08
timing: [0.0640 0.8950 0.0090]
wallsec: 0.9680
cpusec: 0.8594
ans =
-2.1596
Dessa forma é indicado que a ferramenta SOSTOOLS conseguiu resolver a
condição de dissipatividade estrita global e local, ou seja, o sistema selecionado é
globalmente dissipativo estrito, em ambos com delta < 0.
No entanto, por meio dos deltas, é possível observar que há instabilidade no sistema.
4 CÓDIGO .M
% % -----------------------------------------------
% % Análise e Controle de Sistemas Não Lineares
% % Simulação Atuador Eletrostático de Placas Paralelas
% % Alunos:
% % Gabriel Fonseca Leite (500955)
% % Jessica Feitosa de Oliveira (472961)
% % Professor:
% % Diego de Sousa Madeira
% % -----------------------------------------------
% Inicialização
clear;
close all;
clc
%ponto de operação
y= 0.9;
a=1;
[x1, x2, x3] = meshgrid(-2:0.5:a*2, -2*a:0.5:a*2 , -2*a:0.5:a*2);
dx1 = x2;
dx2 = -x1 -(x2.*2)*0.1 + x3.*(2/3)*sqrt(3*y) + (1/3)* x3.^2;
dx3 = x1.*(sqrt(3*y)) + x1.*x3 + (1-y).*x3 +(2/3)*u;
% Malha fechada:
syms x1 x2 x3
k1 = .01;
k2 = .8;
a = 1;
[x1, x2, x3] = meshgrid(-2:0.5:a*2, -2*a:0.5:a*2, -2*a:0.5:a*2);
h = min(x2,0);
x3d = k1*sign(sqrt(3*y)) * h .* (1 - x1 - y);
dx3d = k1*sign(sqrt(3*y)) * h .* (2*(1 - x1 - y).*dx2 - h.*x2);
u = -k2*(x3 - x3d) - x2.*(sqrt(3*y)*x2 + (1/2)*(x3+x3d)) + (3/2)*dx3d
- (3/2)*(sqrt(3*y)*x1 +x1.*x3 + (y-1)*x3);
dx1u = x2;
dx2u = -x1 -(x2.*2)*0.1 + x3.*(2/3)*sqrt(3*y) + (1/3)* x3.^2;
dx3u = x1.*(sqrt(3*y)) + x1.*x3 + (1-y).*x3 +(2/3)*u;
%Figuras
figure(1)
tiledlayout(1,2)
ax1 = nexttile;
quiver3(ax1,x1,x2,x3,dx1,dx2,dx3,2);
title(ax1,'Sem controle')
ax2 = nexttile;
quiver3(ax2,x1,x2,x3,dx1u,dx2u,dx3u,3);
title(ax2,'Com controle')
xlabel('x1')
ylabel('x2')
zlabel('x3')
[prog,V] = sospolyvar(prog,monomials(x1,2:4),'wscoeff');
[prog,T] = sospolyvar(prog,monomials(x,1:2),'wscoeff');
Vx1 = diff(V,x1);
Vx2 = diff(V,x2);
Vx3 = diff(V,x3);
GradV = [Vx1 Vx2 Vx3];
prog = sosdecvar(prog,(rho));
[prog, Q] = sospolymatrixvar(prog, monomials(vars, 0), [length(h),
length(h)], 'symmetric');
[prog, S] = sospolymatrixvar(prog, monomials(vars, 0), [length(h),
length(u)]);
[prog, R] = sospolymatrixvar(prog, monomials(vars, 0), [length(u),
length(u)], 'symmetric');
solver_opt.solver = 'sedumi';
prog = sossolve(prog,solver_opt);
q = sosgetsol(prog,Q);
r = sosgetsol(prog,R);
s = sosgetsol(prog,S);
delta = s*(1/r)*s'-q;
eig(double(delta))
[prog,V1] = sospolyvar(prog,monomials(x1,2:4),'wscoeff');
[prog,T] = sospolyvar(prog,monomials(x,1:2),'wscoeff');
prog = sosdecvar(prog,(rho));
[prog, Q] = sospolymatrixvar(prog, monomials(vars, 0), [length(h),
length(h)], 'symmetric');
[prog, S] = sospolymatrixvar(prog, monomials(vars, 0), [length(h),
length(u)]);
[prog, R] = sospolymatrixvar(prog, monomials(vars, 0), [length(u),
length(u)], 'symmetric');
solver_opt.solver = 'sedumi';
prog = sossolve(prog,solver_opt);
q = sosgetsol(prog,Q);
r = sosgetsol(prog,R);
s = sosgetsol(prog,S);
delta = s*(1/r)*s'-q;
5 REFERÊNCIAS BIBLIOGRÁFICAS