Está en la página 1de 11

Péndulo Invertido

1)Hallar el modelo matemático por Lagrange


2)Linealización
X=Ax+Bu
Y=Cx+Du
3)Aplicar un escalón unitario y observar su estabilidad programa em Matlab
4)Determinar la controlabilidad y la observabilidad
1. Aplicando Lagrange
2. Linealización del modelo
3. En Matlab

Simularemos un sistema no lineal de la dinámica de un péndulo invertido haciendo uso de


Matlab y Simulink, para ello procederemos a utilizar el entorno de Simulink con la función de
MATLAB programando para este sistema no lineal lo cual se insertará el siguiente código:
function dx = PenduloInvertido(x,u)
%Definicion de Parametros
m=1; g=9.81; L=1; b=0.5; J=m*L^2;

%Definicion de variables
x1=x(1);
x2=x(2);

dx = [x2;...
m*g*L/J*sin(x1)-b/J*x2+1/J*u];

donde las entradas están definidas como x,u y las salidas definirlas
como la derivada de los estados con respecto al tiempo (dx). Para la
definición de los parámetros se puede utilizar cualquiera de los valores.

Estructurando la forma para el modelo de Simulink haciendo comprensible


el uso de ecuaciones diferenciales se tiene:

En donde las condiciones iniciales para el integrator de 0.1 radianes y la velocidad inicial es de 0
radianes/seg. Para la entrada u se aplicará un escalón unitario y para poder visualizar las 2
señales de la simulación se usará Scope y para poder separar estas señales se usará un
demultiplexor que son x1 y x2.

Dentro de las características de la simulación se modificará para la visualización de las señales


lo cual se puede apreciar al ejecutarla en el siguiente gráfico:
Para el primer cuadro el estado x1 si comenzamos en una condición de un estado inicial de un
ángulo ligeramente positivo tendrá hasta un ángulo de 𝜋 radianes mientras que en el segundo
cuadro la velocidad angular tendera a cero mientras vaya perdiendo energía por la fricción
viscosa.
4. La controlabilidad y estabilidad
Si tenemos las ecuaciones de estado:

Podemos sacar nuestro A, B, C, D:

𝟎 𝟏 𝟎 𝟎
((𝐌 + 𝐦) × 𝐠)/(𝐌 × 𝐥) 𝟎 𝟎 𝟎
𝐀=[ ]
𝟎 𝟎 𝟎 𝟏
−(𝐦 × 𝐠)/𝐌 𝟎 𝟎 𝟎

𝟎
−𝟏/(𝐌 × 𝐥)
𝐁=[ ]
𝟎
𝟏/𝐌

𝟏 𝟎 𝟎 𝟎
𝐂=[ ]
𝟎 𝟎 𝟏 𝟎

𝐃 = [𝟎]
De lo obtenido ahora veremos la controlabilidad:
𝐌𝐜 = [𝐁 𝐀𝐁 𝐀𝟐 𝐁 𝐀𝟑 𝐁]
𝟎 −𝟏/(𝐌 × 𝐥) 𝟎 −(𝐠 × (𝐌 + 𝐦))/𝐌 𝟐
−𝟏/(𝐌 × 𝐥) 𝟎 −(𝐠 × (𝐌 + 𝐦))/𝐌 𝟐 𝟎
𝑴𝒄 =
𝟎 𝟏/𝐌 𝟎 (𝐠 × 𝐦)/(𝐌 𝟐 × 𝐥)
[ 𝟏/𝐌 𝟎 (𝐠 × 𝐦)/(𝐌 𝟐 × 𝐥) 𝟎 ]

Ahora hallamos el determinante:


(𝐌 × 𝐠 × 𝐥𝟐 − 𝐠 × 𝐦 + 𝐠 × 𝐥𝟐 × 𝐦)𝟐
|𝐌𝐜| =
(𝐌𝟔 × 𝐥𝟒 )
Al momento de reemplazar los valores de las variables por números y el cálculo nos sale
distinto de cero diremos que el sistema es controlable, caso contrario diremos que el
sistema es no controlable.
De lo obtenido al principio ahora veremos la observabilidad:
𝐂
𝐂𝐀
𝐌𝐨 = [ 𝟐 ]
𝐂𝐀
𝐂𝐀𝟑
Pero como se posee dos filas lo comprobaremos con cada una de sus filas:
𝐂𝟏 = [𝟏 𝟎 𝟎 𝟎]
𝐂𝟐 = [𝟎 𝟎 𝟏 𝟎]
Entonces para cada caso:
𝐂𝟏 𝟏 𝟎 𝟎 𝟎
𝐂𝟏𝐀 𝟎 𝟏 𝟎 𝟎
𝐌𝐨𝟏 = [ ]=[ 𝟎 ]
𝐂𝟏𝐀𝟐 (𝐠 × 𝐥 × (𝐌 + 𝐦))/𝐌 𝟎 𝟎
𝐂𝟏𝐀𝟑 𝟎 (𝐠 × 𝐥 × (𝐌 + 𝐦))/𝐌 𝟎 𝟎

𝐂𝟐 𝟎 𝟎 𝟏 𝟎
𝐂𝟐𝐀 𝟎 𝟎 𝟎 𝟏
𝐌𝐨𝟐 = [ 𝟐 ] = [−(𝐠 × 𝐦)/𝐌 𝟎 ]
𝐂𝟐𝐀 𝟎 𝟎
𝐂𝟐𝐀𝟑 𝟎 −(𝐠 × 𝐦)/𝐌 𝟎 𝟎
Ahora hallamos el determinante para ambos:
|𝐌𝐨𝟏| = 𝟎

(𝐠 𝟐 × 𝐦𝟐 )
|𝐌𝐨𝟐| =
𝐌𝟐
Al momento de reemplazar los valores de las variables por números y el cálculo nos sale
distinto de cero diremos que el sistema es observable, caso contrario diremos que el
sistema es no observable.
Pero como ambos deben cumplir esta condición y el determinante de Mo1 es cero
entonces podemos afirmar que el sistema no es observable.

También podría gustarte