modelado de un pendubot utilizando matlab y simulink
TRANSCRIPT
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
1/17
Instituto Politcnico Nacional
Unidad Profesional Interdisciplinaria enIngeniera y Tecnologa Avanzadas
PENDUBOT
Controlde SistemasMecatrnicos
! MM"
Campos #ardon $uis %duardoMacas &c'oa Carlos Al(ertoSantana )lvarez #os Ignacio
Te*eda +allecillo #uan Carlos
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
2/17
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 auda a introducirnos al !mbito de saber que es un sistema
no lineal adem!s de describir de una "orma global el "uncionamiento del pendubot.
Debido a que las t#cnicas 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 electromec!nico, que consiste en dos eslabones rgidos
interconectados por uniones de revolucin. Este sistema electromec!nico entra como unejemplo de sistema subactuado, el cual consiste que tiene menor cantidad de actuadores que
grados de libertad. En la ilustracin $ 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 p#ndulo simple cuo movimiento puede controlarse por la actuacin del
primero.
Ilustracin 1 Ejemplo de pendubot
&or el 'ec'o de ser un sistema subactuado convierte al pendubot en un sistema que tiene
problemas al controlarlo, a que este contiene un modelo matem!tico no lineal catico.
&ara comenzar debemos de"inir que es un sistema no lineal. (n 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)
$. Si las entradas son multiplicadas por una constante, la salida tambi#n son multiplicadas por la
misma constante.
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
3/17
*. + los sistemas no lineales no se les puede aplicar el principio de superposicin.
La "orma de representar un sistema no lineal mediante las ecuaciones de estado, en la "orma
matricial se aprecia a continuacin)
En dondex (t)representa el vector de estado, r (t)es el vector de entrada f [x (t), r (t)]denotaun vector de "uncin. En general, es una "uncin del vector de estado del vector de entrada.
La capacidad de representar un sistema no lineal o variante con el tiempo mediante
ecuaciones de estado es una ventaja que distingue al en"oque de variables de estado sobre el
m#todo de la "uncin de trans"erencia, a que este ltimo solamente est! de"inido
estrictamente para sistemas lineales invariantes en el tiempo. /omo un ejemplo meramente
ilustrativo se observa a continuacin do ecuaciones de estado no lineales)
MODEO DE UN !ENDU"OT
En la "igura se muestra el diagrama de un pendubot, al cual consideraremos como un p#nduloinvertido doble para el an!lisis. &ara determinar las ecuaciones de movimiento de este sistema
se aplicaran las ecuaciones de EulerLaGrange, considerando las siguientes variables)
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
4/17
, Masa del Eslabn 1- Masa del Eslabn 2, Longitud del Eslabn 1- Longitud del Eslabn 2, Centro de Gravedad del Eslabn 1- Centro de Gravedad del Eslabn 2 , Distania al entroide de , - Distania al entroide de -, !ngulo de rotain del Eslabn 1- !ngulo de rotain del Eslabn 2, Mo"ento de #neria del Eslabn 1- Mo"ento de #neria del Eslabn 1 $elerain de la gravedad
%or&ue a'liado en el origen de oordenadas
La ecuacin de Euler-LaGrange para un sistema conservativo est! dado por)
Donde el Lagrangiano se de"ine como la di"erencia de la energa cin#tica la energa potencial
0 . / 1, para este sistema, la energa cin#tica queda de la siguiente manera)
Donde son los vectores de la velocidad lineal de dimensin * de la velocidad angular
de dimensin 2 de los eslabones. 3ambi#n encontramos el tensor de inercia #de dimensin242.
&ara calcular el vector de velocidad lineal consideramos un vector de posicin del eje de
re"erencia al centro de masa de cada eslabn, para los dos eslabones los vectores de posicin
quedan de la siguiente manera)
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
5/17
siguiente manera0
En cada caso, , 1( , - 1( , ! 1( 2 1( son las proecciones del centro de masa de los eslabonessobre el ejex Derivando con respecto al tiempo para velocidades angulares el tensor de5nercia #para nuestro an!lisis de la energa cin#tica *, #stas quedan de la
Donde)
es el espesor, es la longitud es el anc'o del eslabn que estemos analizando. 3ambi#n
en este tensor observamos que se agrega la densidad del material de los eslabones.
Sustituendo estos valores de cada matriz en nuestra ecuacin de la energa cin#tica, #sta
queda de la siguiente manera)
Donde)
+'ora lo que necesitamos es de"inir la energa potencial, la cual para este sistema se
de"ine como)
Donde m es la masa del eslabn, ' es la distancia entre el centro de masa el eje 4 g es
la aceleracin debido a la gravedad en direccin . D es esta "orma podemos decir que las
distancias + para cada eslabn quedan de la siguiente "orma)
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
6/17
&or lo que nuestra energa potencial queda de"inida de la siguiente manera)
3eniendo a de"inidas nuestras dos ecuaciones de energa, procedemos a calcular el
Lagrangiano 0L*-.1, el cual estar! dado por)
/omo ltimo paso, se procede a obtener los t#rminos de la ecuacin de Euler-LaGrange
que se describi al principio de este apartado.
La din!mica del pendubot se puede describir como)
De manera m!s compacta, estas ecuaciones las podemos escribir como)
Donde . [,-3 ., [,4-43 .,
&or lo tanto, nuestras matrices quedan de la siguiente "orma)
Matri/ si"0tria definida 'ositiva de #nerias
Matri/ Coriolis-Centr'eta1
.etor del efeto de la gravedad
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
7/17
+ector 5ue representa elTor5ue aplicado6
$as ecuaciones de la matriz de gravedad
1( pueden ser reparametrizadas para reducir el nmero de variables obtenerun modelo matem!tico m!s sencillo. De esta "orma se introducen 6 nuevos par!metros)
Estos cinco par!metros seran su"icientes para dise7ar un control que desprecie la "riccin
del sistema. &or lo tanto nuestras matrices quedaran de la siguiente manera)
&ara obtener las ecuaciones de estado del sistema no lineal del pendubot, basta con
multiplicar nuestra ecuacin compacta por/, 1( .
El vector de estados representan las posiciones angulares de cada eslabn delpendubot. Estos par!metros dependen de los 6 par!metros nuevos que se de"inieron, los
cuales deben ser calculados a trav#s de un algoritmo de identi"icacin.
8esolviendo nuestra ecuacin compacta para determinar los valores de , -, tenemos que
resultan de la siguiente manera)
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
8/17
&ara obtener estos valores que presentamos, se realiz un programa en el so"t9are de :atlab,
el cual calcula la inversa de la matriz D realiza las operaciones anteriormente descritas $.
La capacidad de representar un sistema no lineal o variante con el tiempo mediante
ecuaciones de estado es una ventaja que distingue al en"oque de variables de estado sobre elm#todo de la "uncin de trans"erencia, a que este ltimo solamente est! de"inido estrictamente
para sistemas lineales invariantes en el tiempo.
&or lo tanto, obtenidos estos vectores de estado, podemos linealizar nuestro sistema. (na
"orma de 'acer esto es por medio de la e4pansin de las ecuaciones de estado no lineales
en una serie de 3alor alrededor de un punto o una traectoria de operacin lineal. Esto
tambi#n se puede desarrollar en "orma de matrices, las cuales son m!s tiles simpli"ican
las operaciones que realizaremos con este proecto. La nomenclatura de estas matrices
es la siguiente)
Donde la representacin queda de la "orma siguiente)
$
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
9/17
=+
Con (ase en esto7 se procede a calcular cada uno de los valores en lasmatrices de linealizacin6$as dos matrices 5uedaran de la siguiente manera0
;aciendo las operaciones establecidas en estas matrices, es decir, derivar con respecto a
nuestras variables ,, - nuestra , obtenemos los siguientes valores)
/on estas operaciones podemos de"inir nuestras matrices + < de nuestro
sistema, en este caso a linealizado.
DI#E$O DE CONTROADOR
El dise7o de un controlador
optim para el sistema es crucial para
poder llevar acabo la tarea que
necesita realizar el pendubot. &or
esta razn se le dedica una
seccin importante de este trabajo al
dise7o del controlador.
&ara elaborar el controlador se
dise7 un programa especial en el so"t9are :+3L+
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
10/17
e4plicacin se podr! observar las diversas lneas del cdigo que se implement para llevar
acabo el controlador*.
&ara iniciar se declararon las matrices del sistema linealizado alrededor del punto 897 97 9793.
Declaradas las matrices, es necesario pasarlos a un estado de tiempo continuo, esto signi"ica
obtener la "uncin de trans"erencia de la planta. Esto se logra ocupando los siguientescomandos)
ss=>ss0+,t"0ss=1
ss8>ss0ss81
3eniendo como resultado una "uncin de trans"erencia de la siguiente "orma a sustituendo las
variables de nuestro pendubot con valores numericos)
*
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
11/17
9 , - : ! 2 " ; < = ,9>,62
>,
>962
9? ,9
>2
De igual "orma se obtuvo la respuesta en "recuencia de la "uncin de trans"erencia, esto
mediante el diagrama de bode.
&ara observar el comportamiento de los polos de la planta se realiz un diagrama de bloques enSimulin?, teniendo como resultado la gr!"ica siguiente.
De esta gr!"ica se puede observar que los polos se comportan oscilando, por lo cual son
polos imaginarios.
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
12/17
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
pro"esor, la cual consiste en que estos "ueran 6 veces maor al valor de los polos del
controlador. Esta parte resulto mu emprica, a que con"orme se movan los polos se
tena una respuesta di"erente, se sigui con este m#todo 'asta encontrar los valores
correctos de los polos. &ara este dise7o se tomaron los siguientes polos)
p>@-$AA -$A$ -$A* -$ABC%q>@-6AA -6A6 -6$A -6*AC%
+'ora se tienen que calcular las matriz de ganancia para el observador controlador, para lograr
este 'ec'o se tomaron las siguiente lneas.
?>place0+,0place0+,/,q11
?o>A%
/on esto se obtuvo los valores de e , lo cuales son los siguientes)
+'ora se procede a obtener la "uncin de trans"erencia de nuestro controlador, esto para poder
implementarlo al "inal de un diagrama de bloques de Simulin?. En este paso se realizaron las
siguientes lneas de cdigo.
cont>+-?eF/- ss0cont,?e,?,?o1
ctrlt>t"0ctrl1
Se observa que la primera lnea crea nuestra nueva matriz del controlador, la cual se muestra a
continuacin)
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
13/17
Las ltimas lneas son las responsables de calcular la "uncin de tras"erencia de la matriz +,
arrojando como resultado lo siguiente)
Esta "uncin de tras"erencia tiene un diagrama de bode como el que se muestra a
continuacin)
-
7/26/2019 Modelado de un Pendubot utilizando Matlab y Simulink
14/17
9 - ! " < ,9 ,- ,! ," ,< -9>,
>9696"
>96!
>96-
9
96-
96!
96"
96