Modelado de un Pendubot utilizando Matlab y Simulink

September 27, 2017 | Author: Muzhu Cole Campoz | Category: Matrix (Mathematics), Euclidean Vector, Kinematics, Equations, Linearity
Share Embed Donate


Short Description

Descripción: Modelado de pendubot con Matlab y Simulink...

Description

Instituto Politécnico Nacional Unidad Profesional Interdisciplinaria en Ingeniería y Tecnología Avanzadas PENDUBOT Controlde Sistemas Mecatrónicos 4 MM6 Campos Jardon Luis Eduardo Macías Ochoa Carlos Alberto Santana Álvarez José Ignacio Tejeda Vallecillo Juan Carlos

INTRODUCCIÓN Durante la realización de este trabajo se tuvieron en cuenta la metodología 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 teórico que ayuda a introducirnos al ámbito de saber que es un sistema no lineal y además de describir de una forma global el funcionamiento 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 linealización del sistema considerando un punto de equilibrio tal que el sistema sea controlable. MARCO TEÓRICO El pendubot es un sistema electromecánico, que consiste en dos eslabones rígidos interconectados por uniones de revolución. Este sistema electromecánico entra como un ejemplo de sistema subactuado, el cual consiste que tiene menor cantidad de actuadores que grados de libertad. En la ilustración 1 se puede apreciar un ejemplo de este sistema; se observa que en el primer eslabón se encuentra un motor, lo que provoca que nuestro segundo eslabón actué como un péndulo simple cuyo movimiento puede controlarse por la actuación del primero.

Ilustración 1 Ejemplo de pendubot

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 matemático no lineal y caótico. 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 también son multiplicadas por la misma constante.

2. A los sistemas no lineales no se les puede aplicar el principio de superposición. La forma de representar un sistema no lineal mediante las ecuaciones de estado, en la forma matricial se aprecia a continuación:

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 función. En general, F es una función 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 método de la función 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 continuación do ecuaciones de estado no lineales:

MODELO DE UN PENDUBOT

En la figura se muestra el diagrama de un pendubot, al cual consideraremos como un péndulo invertido doble para el análisis. Para determinar las ecuaciones de movimiento de este sistema se aplicaran las ecuaciones de EulerLaGrange, considerando las siguientes variables:

�1 �2 �1 �2 �1 �2 � �1 �1 �2 �1 �2

Masa del Eslabón 1 Masa del Eslabón 2 Longitud del Eslabón 1 Longitud del Eslabón 2 Centro de Gravedad del Eslabón 1 Centro de Gravedad del Eslabón 2 Distancia al centroide de �1 � �2 Distancia al centroide de �2 Ángulo de rotación del Eslabón 1 Ángulo de rotación del Eslabón 2 Momento de Inercia del Eslabón 1 Momento de Inercia del Eslabón 1 Aceleración de la gravedad Torque aplicado en el origen de coordenadas

La ecuación de Euler-LaGrange para un sistema conservativo está dado por:

Donde el Lagrangiano se define como la diferencia de la energía cinética y la energía potencial (� = � − �), para este sistema, la energía cinética queda de la siguiente manera:

Donde ��� � �� son los vectores de la velocidad lineal de dimensión 2 y de la velocidad angular de dimensión 3 de los eslabones. También encontramos el tensor de inercia I de dimensión 3x3. Para calcular el vector de velocidad lineal consideramos un vector de posición del eje de referencia al centro de masa de cada eslabón, para los dos eslabones los vectores de posición quedan de la siguiente manera:

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 análisis de la energía cinética K, éstas quedan de la siguiente manera:

Donde: �� es el espesor, �� es la longitud y �� es el ancho del eslabón que estemos analizando. También en este tensor observamos que se agrega la densidad del material de los eslabones. Sustituyendo estos valores de cada matriz en nuestra ecuación de la energía cinética, ésta queda de la siguiente manera: Donde:

Ahora lo que necesitamos es definir la energía potencial, la cual para este sistema se define como:

Donde m es la masa del eslabón, h es la distancia entre el centro de masa y el eje x y g es la aceleración debido a la gravedad en dirección y. D es esta forma podemos decir que las distancias h para cada eslabón quedan de la siguiente forma:

Por lo que nuestra energía potencial queda definida de la siguiente manera:

Teniendo ya definidas nuestras dos ecuaciones de energía, procedemos a calcular el Lagrangiano (L=K-V), el cual estará dado por:

Como último paso, se procede a obtener los términos de la ecuación 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 � = [�1 �2]�,�� = [�1̇ �2̇ ]�,�� = Por lo tanto, nuestras matrices quedan de la siguiente forma: Matriz simétrica y definida positiva de Inercias Matriz Coriolis-Centrípeta1

Vector del efecto de la gravedad

Vector que representa el Torque aplicado. Las

ecuaciones de la matriz de gravedad

�(�) pueden ser reparametrizadas para reducir el número de variables y obtener un modelo matemático más sencillo. De esta forma se introducen 5 nuevos parámetros:

Estos cinco parámetros serían suficientes para diseñar un control que desprecie la fricción del sistema. Por lo tanto nuestras matrices quedarían de la siguiente manera:

Para obtener las ecuaciones de estado del sistema no lineal del pendubot, basta con multiplicar nuestra ecuación compacta por �−1(�).

El vector de estados �� representan las posiciones angulares de cada eslabón del pendubot. Estos parámetros dependen de los 5 parámetros nuevos que se definieron, los cuales deben ser calculados a través de un algoritmo de identificación. Resolviendo nuestra ecuación compacta para determinar los valores de ��1 y ��2, tenemos que resultan de la siguiente manera:

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 método de la función 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 expansión de las ecuaciones de estado no lineales en una serie de Taylor alrededor de un punto o una trayectoria de operación lineal. Esto también se puede desarrollar en forma de matrices, las cuales son más útiles y simplifican las operaciones que realizaremos con este proyecto. La nomenclatura de estas matrices es la siguiente:

Donde la representación queda de la forma siguiente:

1

��=�Δ�+�Δ� Con base en esto, se procede a calcular cada uno de los valores en las matrices de linealización. Las dos matrices quedarían 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:

Con estas operaciones nuestras matrices A y sistema, en este caso

podemos definir B de nuestro ya linealizado.

DISEÑO DEL

CONTROLADOR

El diseño de un optimó para el sistema poder llevar acabo la necesita realizar el esta razón se le sección importante de diseño 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

explicación se podrá observar las diversas líneas del código 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 función 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 función de transferencia de la siguiente forma ya sustituyendo las variables de nuestro pendubot con valores numericos:

2

De igual forma se obtuvo la respuesta en frecuencia de la función de transferencia, esto mediante el diagrama de bode.

Para observar el comportamiento de los polos de la planta se realizó un diagrama de bloques en Simulink, teniendo como resultado la gráfica siguiente. -5

0

x 10

-0.5

-1

-1.5 0

1

2

3

4

5

6

7

8

9

10

De esta gráfica 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 querían 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 empírica, ya que conforme se movían los polos se tenía una respuesta diferente, se siguió con este método hasta encontrar los valores correctos de los polos. Para este diseño 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 líneas. 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 función 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 líneas de código. cont=A-ke*C-B*k ctrl= ss(cont,ke,k,ko) ctrlt=tf(ctrl) Se observa que la primera línea crea nuestra nueva matriz del controlador, la cual se muestra a continuación:

Las últimas líneas son las responsables de calcular la función de trasferencia de la matriz A, arrojando como resultado lo siguiente:

Esta función de trasferencia tiene un diagrama de bode como el que se muestra a continuación:

Para poder observar la respuesta de los valores, se diseñó un diagrama de bloques en Simulink, el cual sirve para observar a respuesta de nuestra planta y el controlador juntos, y así identificar si es la respuesta esperada.

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 simulación es la siguiente: 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0

2

4

6

8

10

12

14

16

18

20

Si se cambia la entrada por un escalón, 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 conclusión 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 conversión a transformada Z, mediante el siguiente comando de MATLAB se puede lograr este paso. ctrlz = c2d(ctrlt,.1) La línea anterior de código nos arroja en nuevo sistema en términos de la transformada z utilizando aproximación de “Tustin”, el resultado se visualiza a continuación.

Conclusiones En el transcurso del curso se estudió la metodología correcta para poder llevar a buen término 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 clásico 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 realización de un modelo dinámico, 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 precisión no es posible alcanzarla, debido a que los

elementos tanto mecánicos como eléctricos y de medición no poseen características que permitan realizar ajustes y obtener mediciones reales. La segunda complicación se dio al aterrizar la teoría con la práctica. Se dice esto debido a que nunca se llevó acabo alguna práctica de laboratorio que sirviera como base para realizar una programación eficiente, por esto en particular se vio muy afectada la parte de la programación. Ya que se sabe obtener cada uno de los valores necesarios para poder controlar, pero a pesar de esto la parte la programación quedaba muy vagamente dentro de los tópicos del curso. Por lo cual se sugiere realizar prácticas donde se pueda ver con anticipación la parte teórica con la práctica.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF