modelado de un pendubot utilizando matlab y simulink

Upload: muzhu-cole-campoz

Post on 03-Mar-2018

306 views

Category:

Documents


3 download

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