Modelado de Un Pendubot Utilizando Matlab y Simulink
Modelado de Un Pendubot Utilizando Matlab y Simulink
Modelado de Un Pendubot Utilizando Matlab y Simulink
INTRODUCCIN
Durante la realizacin de este trabajo se tuvieron en cuenta la metodologa de Euler-LaGrange
para poder encontrar las ecuaciones de movimiento que rige el sistema de nuestro pendubot.
El modelo que obtenido es no lineal, es por ello que se busca un punto donde el sistema sea
estable.
Se observa un marco terico que ayuda a introducirnos al mbito de saber que es un sistema
no lineal y adems de describir de una forma global el funcionamiento del pendubot.
Debido a que las tcnicas de control que se aplican para el desarrollo del control del pendubot
se restringen a sistemas lineales, es necesario realizar la linealizacin del sistema
considerando un punto de equilibrio tal que el sistema sea controlable.
MARCO TERICO
El pendubot es un sistema electromecnico, que consiste en dos eslabones rgidos
interconectados por uniones de revolucin. Este sistema electromecnico entra como un
ejemplo de sistema subactuado, el cual consiste que tiene menor cantidad de actuadores que
grados de libertad. En la ilustracin 1 se puede apreciar un ejemplo de este sistema; se
observa que en el primer eslabn se encuentra un motor, lo que provoca que nuestro segundo
eslabn actu como un pndulo simple cuyo movimiento puede controlarse por la actuacin del
primero.
Por el hecho de ser un sistema subactuado convierte al pendubot en un sistema que tiene
problemas al controlarlo, ya que este contiene un modelo matemtico no lineal y catico.
Para comenzar debemos definir que es un sistema no lineal. Un sistema no es lineal si la salida
no sigue de manera proporcional los cambios producidos en la entrada, lo cual quiere decir que
no cumple con alguna de estas dos propiedades:
1. Si las entradas son multiplicadas por una constante, la salida tambin son multiplicadas por la
misma constante.
En donde x (t) representa el vector de estado, r (t) es el vector de entrada y f [x (t), r (t)] denota
un vector de funcin. En general, F es una funcin del vector de estado y del vector de entrada.
La capacidad de representar un sistema no lineal y/o variante con el tiempo mediante
ecuaciones de estado es una ventaja que distingue al enfoque de variables de estado sobre el
mtodo de la funcin de transferencia, ya que este ltimo solamente est definido
estrictamente para sistemas lineales invariantes en el tiempo. Como un ejemplo meramente
ilustrativo se observa a continuacin do ecuaciones de estado no lineales:
MODELO DE UN PENDUBOT
1
2
1
2
1
2
1
1
2
1
2
En cada caso, 1(),2(),4() 5() son las proyecciones del centro de masa de los eslabones
sobre el eje x y y. Derivando con respecto al tiempo para velocidades angulares y el tensor de
Inercia I para nuestro anlisis de la energa cintica K, stas quedan de la
siguiente manera:
Donde:
es el espesor, es la longitud y es el ancho del eslabn que estemos analizando. Tambin
en este tensor observamos que se agrega la densidad del material de los eslabones.
Sustituyendo estos valores de cada matriz en nuestra ecuacin de la energa cintica, sta
queda de la siguiente manera:
Donde:
Ahora lo que necesitamos es definir la energa potencial, la cual para este sistema se
define como:
Donde = [1 2], = [1 2 ], =
Por lo tanto, nuestras matrices quedan de la siguiente forma:
Matriz simtrica y definida positiva de Inercias
Matriz Coriolis-Centrpeta1
Estos cinco parmetros seran suficientes para disear un control que desprecie la friccin
del sistema. Por lo tanto nuestras matrices quedaran de la siguiente manera:
Para obtener las ecuaciones de estado del sistema no lineal del pendubot, basta con
multiplicar nuestra ecuacin compacta por 1().
Para obtener estos valores que presentamos, se realiz un programa en el software de Matlab,
el cual calcula la inversa de la matriz D y realiza las operaciones anteriormente descritas1.
La capacidad de representar un sistema no lineal y/o variante con el tiempo mediante
ecuaciones de estado es una ventaja que distingue al enfoque de variables de estado sobre el
mtodo de la funcin de transferencia, ya que este ltimo solamente est definido estrictamente
para sistemas lineales invariantes en el tiempo.
Por lo tanto, obtenidos estos vectores de estado, podemos linealizar nuestro sistema. Una
forma de hacer esto es por medio de la expansin de las ecuaciones de estado no lineales
en una serie de Taylor alrededor de un punto o una trayectoria de operacin lineal. Esto
tambin se puede desarrollar en forma de matrices, las cuales son ms tiles y simplifican
las operaciones que realizaremos con este proyecto. La nomenclatura de estas matrices
es la siguiente:
=+
Con base en esto, se procede a calcular cada uno de los valores en las
matrices de linealizacin.
Las dos matrices quedaran de la siguiente manera:
Haciendo las operaciones establecidas en estas matrices, es decir, derivar con respecto a
nuestras variables 1, 2 y nuestra , obtenemos los siguientes valores:
podemos definir
B de nuestro
ya linealizado.
DISEO DEL
CONTROLADOR
El diseo de un
optim para el sistema
poder llevar acabo la
necesita realizar el
esta razn se le
seccin importante de
diseo del controlador.
controlador
es crucial para
tarea
que
pendubot.
Por
dedica
una
este trabajo al
Para
elaborar
el
controlador
se
dise un programa especial en el software MATLAB, conforme se avanza en la
explicacin se podr observar las diversas lneas del cdigo que se implement para llevar
acabo el controlador2.
Para iniciar se declararon las matrices del sistema linealizado alrededor del punto [0, 0, 0,
0].
Declaradas las matrices, es necesario pasarlos a un estado de tiempo continuo, esto significa
obtener la funcin de transferencia de la planta. Esto se logra ocupando los siguientes
comandos:
sysO=ss(A,B,C,D)
sysR=tf(sysO)
sysR=ss(sysR)
Teniendo como resultado una funcin de transferencia de la siguiente forma ya sustituyendo las
variables de nuestro pendubot con valores numericos:
x 10
-0.5
-1
-1.5
0
10
De esta grfica se puede observar que los polos se comportan oscilando, por lo cual son
polos imaginarios.
El siguiente paso es ubicar los polos deseados que se queran para el sistema. Los polos
del controlador se proponen, mientras que los de observador se sigui la sugerencia del
profesor, la cual consiste en que estos fueran 5 veces mayor al valor de los polos del
controlador. Esta parte resulto muy emprica, ya que conforme se movan los polos se
tena una respuesta diferente, se sigui con este mtodo hasta encontrar los valores
correctos de los polos. Para este diseo se tomaron los siguientes polos:
p=[-100 -101 -102 -104];
q=[-500 -505 -510 -520];
Ahora se tienen que calcular las matriz de ganancia para el observador y controlador, para lograr
este hecho se tomaron las siguiente lneas.
k=place(A,B,p)
ke=(place(A',C',q))'
ko=0;
Con esto se obtuvo los valores de Ke y K, lo cuales son los siguientes:
Ahora se procede a obtener la funcin de transferencia de nuestro controlador, esto para poder
implementarlo al final de un diagrama de bloques de Simulink. En este paso se realizaron las
siguientes lneas de cdigo.
cont=A-ke*C-B*k
ctrl= ss(cont,ke,k,ko)
ctrlt=tf(ctrl)
Se observa que la primera lnea crea nuestra nueva matriz del controlador, la cual se muestra a
continuacin:
Las ltimas lneas son las responsables de calcular la funcin de trasferencia de la matriz A,
arrojando como resultado lo siguiente:
Se espera que la respuesta del sistema sea estable en un punto, esto quiere decir que no
existan ninguna clase de perturbaciones en la salida. El resultado de esta simulacin es la
siguiente:
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
10
12
14
16
18
20
Si se cambia la entrada por un escaln, la salida debe de ser muy semejante a la entrada,
para este experimento se obtuvo el siguiente resultado.
Con estos dos experimentos se llega a la conclusin de que los polos que se escogieron
son los adecuados ya que se obtiene la respuesta esperada por parte del sistema.
Para finalizar se realiza la conversin a transformada Z, mediante el siguiente comando de
MATLAB se puede lograr este paso.
ctrlz = c2d(ctrlt,.1)
La lnea anterior de cdigo nos arroja en nuevo sistema en trminos de la transformada z
utilizando aproximacin de Tustin, el resultado se visualiza a continuacin.
Conclusiones
En el transcurso del curso se estudi la metodologa correcta para poder llevar a buen
trmino un controlador y observador, realmente esta parte es muy importante, ya que
simplifica en gran medida el trabajo, claro si lo comparamos con el control clsico que
se acostumbra a realizar.
Al momento de llevar a cabo el pendubot se apreciaron diversas dificultades que en
realidad afectan mucho al control.
La primera de ellas fue la realizacin de un modelo dinmico, este modelo debe de ser
lo suficientemente preciso ya que es el cimiento del trabajo, por lo cual es una parte
muy importante. Pero tal precisin no es posible alcanzarla, debido a que los