You are on page 1of 13

Observadores de Estado en Control Multivariable.

Por: Jaime F. Ricardo B. 27 de Noviembre de 2012

Observador en Lazo Cerrado de Orden Completo.

Observador en Lazo Cerrado de Orden Reducido.

Ejemplo: Controlador basado en un Observador de Estados.

Ejemplo: Controlador basado en un Observador de Estados.


Condicin Inicial: El Pndulo comenzar en equilibrio vertical hacia arriba; es decir, el ngulo = Radianes. Requisitos de Diseo: Tiempo de Establecimiento de es menor a 5 segundos. Tiempo de Establecimiento de Distancia Deseada es menor a 5 segundos. El ngulo del pndulo no debe alejarse ms de 0.35 Radianes de la Vertical. Error de Estado Estacionario para y Distancia Deseada es menor a 2%. Distancia Deseada de Desplazamiento del Carro es 0.2 mts desde el origen.

Ejemplo: Controlador basado en un Observador de Estados.

Ejemplo: Controlador basado en un Observador de Estados.

Ejemplo: Controlador basado en un Observador de Estados. Cdigo en Matlab.


clear; clc; % -------------------------------------------------------% Datos del Sistema % -------------------------------------------------------M = 0.5; % Masa del Carro ( Kg ) m = 0.2; % Masa del pendulo ( Kg ) b = 0.1; % Coeficiente de Friccion del Carro ( N/m/sec ) i = 0.006; % Momento de Inercia del Pendulo ( kg.m^2 ) g = 9.8; % Gravedad ( m/s^2 ) l = 0.3; % Mitad de la Longitud del Pendulo ( m )

% -------------------------------------------------------% Matrices A, B, C, D del sistema en Espacio de Estados. % -------------------------------------------------------% ***** Variable de Estado 1: Desplazamiento del Carro. % Derivada 1: Velocidad del Carro. % Derivada 2: Aceleracion del Carro. % ***** Variable de Estado 2: Angulo del Pendulo, 0 es arriba. % Derivada 1: Velocidad del Pendulo. % Derivada 2: , Aceleracion del Pendulo.

Ejemplo: Controlador basado en un Observador de Estados. Cdigo en Matlab.


p = i*(M+m)+M*m*l^2; % Denominador A = [0 1 0 0; 0 -(i+m*l^2)*b/p (m^2*g*l^2)/p 0; 0 0 0 1; 0 -(m*l*b)/p m*g*l*(M+m)/p 0];

B = [0; (i+m*l^2)/p; 0; m*l/p]; C = [1 0 0 0; 0 0 1 0]; D = [0;0]; % -------------------------------------------------------% Calculo de K (Controlador) % Si R aumenta y Q disminuye, entonces, se usa menos energa y ms tiempo de establecimiento. % Si R disminuye y Q aumenta, entonces, se usa menos tiempo de establecimiento y ms energa. % -------------------------------------------------------x=5000; % Se puede variar para manipular Q. y=100; % Se puede variar para manipular Q. Q=[x 0 0 0; 0 0 0 0; 0 0 y 0; 0 0 0 0]; % 2 salidas del sistema. R = 1; % Caso Simple R = 1. % Si ya se sabe dnde quiere ubicar los polos a lazo cerrado, % se puede usar la funcin place o acker; de lo contrario lqr. K = lqr(A,B,Q,R)

Ejemplo: Controlador basado en un Observador de Estados. Cdigo en Matlab.


% -------------------------------------------------------% Diseo del Observador (Estimador) % -------------------------------------------------------Cn=[1 0 0 0]; Nbar=rscale(A,B,Cn,0,K); % Compensacion, culpa de Matriz B. Bcn=[Nbar*B]; P = [-40 -41 -42 -43]; % Polos 10 veces mas rapido que polo mas lento. L = place(A',C',P)' % Estimador.

% -------------------------------------------------------% Ecuaciones combinadas de ESTADOS y ERROR % usando el OBSERVADOR y la REALIMENTACION DE TODOS LOS ESTADOS % -------------------------------------------------------Ace = [A-B*K B*K; zeros(size(A)) (A-L*C)]; Bce = [ B*Nbar; zeros(size(B))]; Cce = [C zeros(size(C))]; Dce = [0;0]; T = 0:0.01:5; % Tiempo U = 0.2*ones(size(T)); % Entrada: Mover 0.2 mts el carro. [Y,X] = lsim(Ace,Bce,Cce,Dce,U,T); figure(1) plot(T,Y) %Grafica la Respuesta del Sistema legend('Desplazamiento del Carro ( Metros )','Desplazamiento del Pndulo ( Radianes ))

Ejemplo: Controlador basado en un Observador de Estados. Funcin rscale.m


function[Nbar]=rscale(A,B,C,D,K) % Given the single-input linear system: % . % x = Ax + Bu % y = Cx + Du % and the feedback matrix K, % % the function rscale(A,B,C,D,K) finds the scale factor N which will % eliminate the steady-state error to a step reference % using the schematic below: % % /---------\ % R + u |. | % ---> N --->() ---->| X=Ax+Bu |--> y=Cx ---> y % -| \---------/ % | | % |<---- K <----| % % 8/21/96 Yanjie Sun of the University of Michigan % under the supervision of Prof. D. Tilbury % s = size(A,1); Z = [zeros([1,s]) 1]; N = inv([A,B;C,D])*Z'; Nx = N(1:s); Nu = N(1+s); Nbar=Nu + K*Nx;

Referencias Bibliogrficas.
http://ctms.engin.umich.edu/CTMS/index.php?example=InvertedPendulum&sec tion=SystemModeling

http://www.eng.newcastle.edu.au/~jhb519/teaching/caut2/etc/InvPen/invSS.html
www2.udec.cl/~joseespi/CMV/543760_CMV_Apuntes.pdf

Muchas Gracias por su atencin.

You might also like