c098se lego servomotor

Upload: pegasus1986

Post on 04-Jun-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 C098SE Lego Servomotor

    1/6

    RESUMEN

    Se presenta el estudio y modelamiento de un servomotor

    NXT del kit de robtica LEGO MINDSTOMSTM y la

    aplicacin de tcnicas de Identificacin de sistemas ISIS para la

    determinacin de sus parmetros. Se explican las etapas

    desarrolladas en el proceso de identificacin, adquisicin de los

    datos de entrada y salida con el programa Robolab 2.9

    categora Investigator y el controlador NXT, la obtencin del

    modelo con el Toolbox de Identificacin de Matlab y la

    comparacin de los modelos propuestos con las respuestasreales. Los resultados se muestran como ejemplo como ejemplo

    para la determinacin de los parmetros requeridos en

    cualquier plataforma robtica mvil.

    Palabras Clave Servomotor, Kit de Robtica, Identificacin

    de Sistemas, Parmetros.

    I.INTRODUCCIN

    partir de los modelos geomtricos, cinemticos ydinmicos es posible simular un sistema robtico y

    establecer el diseo de controladores para los mismos. Dichosmodelos se basan en la aplicacin de ciertas leyes de la fsicacon la intervencin de las caractersticas geomtricas oparmetros del robot, para el planteamiento de ecuaciones quedescriben las variables asociadas a su comportamiento(posicin, orientacin, velocidades, fuerzas, etc.) (Ollero,2001).

    A

    Existen dos mtodos principales para obtener el modelo deun sistema: el modelado terico: se trata de un mtodoanaltico, en el que se recurre a leyes bsicas de la fsica paradescribir el comportamiento dinmico de un fenmeno oproceso; y la identificacin del sistema: se trata de un mtodoexperimental que permite obtener el modelo de un sistema apartir de datos reales recogidos de la planta bajo estudio.

    Los sistemas de Robtica: LEGO DACTA yMINDTORMS NXT Hardware Developer Kit (LEGO,2006) se presentan como herramientas especialmente tilespara el diseo, construccin programacin y modelado dediversos prototipos robticos mviles y articulados. Ambossistemas, estn constituido por una serie de piezas LEGO,un dispositivo programable, un conjunto de sensores

    (entradas) y actuadores (salidas) compatibles, que permitenarmar estructuras robticas, tomar seales de ambiente,procesar datos y ejecutar ciertas tareas.

    El conjunto de actuadores del kit LEGO MINDTORMSNXT se compone por tres motores que incorporan un sensorde posicin, que al ser insertados y relacionados con otraspiezas, generan los movimientos en el robot. Con ciertasespecificaciones de los fabricantes y algunos experimentoscuyos resultados estn disponible va web (Hurbain, 2006),

    (Hurbain, 2007), se pueden conocer algunas caractersticasmecnicas y elctricas de estos servomotores; sin embargo, lainformacin presentada no incluye valores para todos susparmetros, lo cual afecta el modelado de la plataformarobtica en la cual se incluye dicho motor. A continuacin sepresenta la aplicacin de algunos conceptos de modelamiento,identificacin de sistemas ISIS y simulacin con el fin dedeterminar y calcular los parmetros para el servomotorNXT.

    Este artculo se presenta como resultado explorativo delestudio y modelado de las Plataformas Robticas Mviles

    dentro de las actividades realizadas como Joven Investigadora2007 Colciencias en el Grupo de Investigacin en RobticaMvil ROMA de la Universidad Distrital Francisco Jos deCaldas y el Grupo de Investigacin en Robtica yAutomatizacin Industrial GIRA de la UniversidadPedaggica y Tecnolgica de Colombia.

    II.LOS SERVOMOTORES NXT

    Los servomotores del kit de robtica LEGOMINDTORMS son motores DC que incorporan un sensor

    de posicin con un grado de resolucin y una velocidad derotacin del eje de 170 rpm. El modelo de los servomotorescomo actuadores del sistema, se define teniendo en cuenta losparmetros elctricos de un motor DC y la caja reductora develocidad que lo compone. Un esquema representativo semuestra en la figura 1. En (Hurbain, 2007) se presentanalgunos datos y curvas caractersticas de los motores para loskits de Robtica de LEGO sobre los valores elctricos(voltaje aplicado, corriente, potencia elctrica) y mecnicos(velocidad de rotacin, potencia mecnica, eficiencia).

    Determinacin de los Parmetros para elServomotor NXT LEGO Mindstoms con

    Tcnicas de Identificacin de SistemasIng. Mara Luisa Pinto Salamanca, MSc. Giovanni Rodrigo Bermdez Bohrquez

  • 8/13/2019 C098SE Lego Servomotor

    2/6

    Fig. 1. Diagrama Esquemtico Motor

    Para modelar el comportamiento de cada servomotor serequiri definir los siguientes parmetros:

    Ra: Resistencia de armadura [ ]

    La: Inductancia de armadura [H]

    Ke: Constante de fuerza contraelectromotriz Vrads

    KT

    : Constante de torque Nm A J

    m: Momento de Inercia del Motor Kgm2

    Bm

    : Coeficiente de friccin viscosa del motor

    Nm rad s N : Relacin de reduccin del motor

    Jl: Momento de Inercia de la carga

    2Kgm

    :lB Coeficiente de friccin viscosa de la carga motor

    Nm rad s

    Los valores disponibles en parmetros del motor valoresparmetros del motor hallados en (Hurbain, 2007), fueron:

    ledespreciabLR aa :,8562,6 = (1)

    A

    NmKt 3179.0=(2)

    srad

    VK

    e/

    46389.0= (3)

    srad

    NmBm

    /101278,1

    3= (4)

    El factor de reduccin se determin de acuerdo a la relacinentre la velocidad del eje del motor y el valor real derevoluciones sensado por el encoder que esta acopladomediante una relacin de dos piones, al lado de dicho eje

    segn se aprecia en las figuras 2 y 3. Segn el nmero deranuras del encoder que deben analizarse por vuelta, larelacin aparente entre la velocidad del motor y el eje desalida que debe ser la misma que se mide por el sensor es de1:15, as que N=15. Esto se confirma en los clculos de(Hurbain, 2007). Valor que puede aceptarse debido a que enla figura 5 no es muy visible la relacin entre el nmero dedientes de cada pin en la caja reductora, sumado a ladificultad de desarmar el servomotor sin destruirlo.

    Fig. 2. Servomotor NXT (LEGO education, 2006)

    Fig. 3. Encoder Servomotor NXT (Hurbain, 2006)

    Para corroborar la aproximacin de estos valores y ladeterminacin de los parmetros restantes, a continuacin seaplican ciertas tcnicas de identificacin de sistemas ISIS.

    III.OBTENCIN DE DATOS DE ENTRADA/SALIDA Y

    TRATAMIENTO PREVIO DE LOS DATOS REGISTRADOS

    La Identificacin del Sistemas se trata de un mtodoexperimental que permite obtener el modelo de un sistema apartir de datos reales recogidos de la planta bajo estudio. Entrminos generales, el proceso de identificacin comprende laobtencin de datos de entrada/salida; el tratamiento previo delos datos registrados; la eleccin de la estructura del modelo;la obtencin de los parmetros del modelo; y finalmente lavalidacin del modelo (Guillen, 2006).

    Para el caso de la identificacin de los parmetros y elmodelo del servomotor NXT se debi analizar la estructura

    interna del motor, la caja de reduccin, los circuitos decontrol y de mando que se encontraron en el controladorNXT y en el mismo servomotor.

    Aprovechando las caractersticas de adquisicin de lasseales dadas por los sensores del Kit Lego Mindstorms,incluidos los encoders de cada servomotor, a travs delprograma Robolab 2.9 categora INVESTIGATOR, seobtuvieron las posiciones angulares (en grados) para cadamotor. La figura 5 muestra el procedimiento realizado, en leque se incluye el programa diseado para que el motordurante cuarenta segundos se moviera invirtiendo su sentido

    de giro peridicamente; mediante la opcin de adquisicin seregistraron las posiciones angulares del motor y aprovechandolas herramientas matemticas de multiplicacin y divisintambin dadas por el software Robolab 2.9, se realiz laconversin de la seal medida a radianes y se deriv paraobtener la velocidad angular. Dicha figura presenta unejemplo de la seal obtenida y su tratamiento para conocer lavelocidad angular.

    Para la obtencin de los datos de entrada se requiri analizarlos planos y esquemas de los circuitos de control para el

  • 8/13/2019 C098SE Lego Servomotor

    3/6

    motor: salida del procesador, driver de potencia, PWM ypuentes H (figura 6). Segn la informacin del kit dedesarrollo ofrecido por Kit Lego Mindstorms, entre losterminales MA0y MA1corresponden a las salidas del driverLB1836 LB1930 (AllDatasheets, 2007), al cual debeconectarse el motor; POWERMA (Potencia al motorA) esuna seal de voltaje (4.3V) comn en todos los puertos desalida y entrada, para alimentar otros circuitos; y los pinesTACHOA1 y TACHOA0 son las seales del encoder delmotorA, que portan informacin sobre el nmero de pulsosgenerados cuando el motor esta en movimiento y el sentido degiro del mismo.

    A.Datos de Entrada.

    A partir de los comandos de avance y retroceso con diferentesniveles de velocidad dados a partir de las instrucciones depotencia, tal como se llaman en el programa Robolab 2.9fue posible gobernar el movimiento del motor A. Las sealesde entrada para el proceso de identificacin se obtuvieron de

    la relacin entre los niveles de potencia disponibles y losvalores reales de voltaje aplicados al motor, lo cual se logrmediante una medicin directa del voltaje entre los terminalesMA0 y MA1del controlador NXT. Los valores obtenidosse muestran en la tabla 2 para un nivel inicial de carga en labatera del NXT en 7.63V, con la cual se polariz el motordurante la toma de datos.

    Fig. 5. Obtencin de datos con Robolab 2.9.

    Tabla 2. Relacin entre el comando Potencia y el Voltaje aplicado a cadamotor

    Nivel de Potencia

    Batera: 7.63V

    Voltaje Aplicado

    al motor (MA0-MA1) [V]

    Avanzar Retroceder

    1 2.50 -2.44

    2 3.31 -3.31

    3 4.91 -4.92

    4 6.57 -6.58

    5 7.51 -7.50

    Fig. 6. Circuito Electrnico Controlador NXT (LEGO, 2006), (AllDatasheets,2007)

    B.Datos de Salida.

    A partir de la instruccin de inicializacin del sensor derotacin (NXT Rotation Sensor) de Robolab 2.9, se

    adquirieron los datos de posicin angular dados por los pulsosdel encoder en el servomotor. Luego de una conversin degrados a radianes para la posicin angular y de su derivacinmediante instrucciones matemticas del mismo programaRobolab 2.9, se obtuvieron los datos de velocidadnecesarios para la identificacin del sistema.

    Despus de ordenar e importar los datos de entrada y salidacomo vectores columna, se aplicaron las funciones deltoolbox de identificacin de Matlab. La figura 7 presentados ejemplos de conjuntos de datos de entrada y salida que seanalizaron para la identificacin del sistema.

    Fig. 7. Datos de entrada: voltaje aplicado, salida: velocidad angular

    IV.MODELO DE CAJA NEGRA, ELECCIN DE LA

    ESTRUCTURA Y OBTENCIN DE LOS PARMETROSDEL MODELO

    De acuerdo al conjunto de datos de entrada/salida obtenidospara mediciones con los cinco niveles de potencia; contcnicas de identificacin parmetrica y con las funcionesrelacionadas de Matlab: arx modelo ARX, oemodeloOUTPUT ERROR, armaxmodelo ARMAX y bjmodeloBOX JENKINS, se obtuvieron diferentes modelos delservomotor.

  • 8/13/2019 C098SE Lego Servomotor

    4/6

    La figura 8 presenta las repuestas al escaln de dos de losmodelos obtenidos, ante una entrada con un nivel de potenciade 3, en las que se aprecia la inestabilidad y ganancianegativa de algunos, pero la aproximacin a una posible

    respuesta real de otro como el modelo Output Error mOE31

    Fig. 8. Repuesta al escaln Modelos Potencia=3.

    A.Validacin del Modelo.

    De acuerdo a las repuestas al escaln y su aproximacin con

    las respuestas reales del sistema, los modelos que inicialmentese seleccionaron fueron aquellos con estructuras: oe paralas entradas de voltaje correspondientes a los cinco niveles depotencia (mOE_11 a mOE_51) y la estructura arx para elcuarto y quinto nivel de potencia (mARX_41 y mARX_41).

    Tambin se noto una aproximacin pero con ganancianegativa de los modelos con estructuras armax y bj condatos de entrada para los niveles de potencia uno, dos, cuatroy cinco. Los modelos que presentaban considerablesoscilaciones en la repuesta al escaln no se tuvieron encuenta.

    Utilizando los mtodos de validacin proporcionados por elToolbox de Identificacin de Matlab(los cuales se basanen la simulacin del modelo obtenido, y la comparacin entresu salida y la respuesta real del sistema), fue posibleseleccionar el mejor modelo. A travs de la funcincomparese mostr la diferencia entre la salida simulada decada modelo y la salida real del sistema.

    Algunos porcentajes de aproximacin se muestran en lafigura 9. Aunque las respuestas provienen de sistemasestables, el porcentaje de aproximacin mayor no sobrepasa el56.55 %, lo cual demuestra que los datos de entradas y salidano contienen la suficiente informacin para el proceso deidentificacin, pero para este caso y debido a la forma comose adquirieron estos datos, se consideran suficientes. Losmodelos a seleccionar con los mtodos de validacin de lafuncin compare fueron de estructuras: oe con porcentajesde mximos aproximacin de 55.51 a 55.66 %.

    Fig. 9. Comparacin modelos aplicados al sistema

    Las funciones de transferencia de los tres modelos conmayor porcentaje de aproximacin se presentan en la tabla 3,se incluyen tres modelos de primer orden y uno de segundoorden. Se concluye entonces que cualquiera de estos modelosrepresenta el comportamiento del servomotor, sin embargo sepropuso realizar la identificacin por el mtodo de caja blancapara comprobar este comportamiento.

    Tabla 3. Funciones de Transferencia de los modelos con mayores porcentajesde Aproximacin

    Modelo Funcin de Trasferen-cia Discreta

    Funcin de TrasferenciaContinua

    11mOE06275,0

    558,1

    +z 8591,276

    8933.405

    +s

    112mOE

    01278,0114,1

    647,1645,12 ++

    +

    zz

    z

    9889,3157242,205

    9267,4639522,3022 ++

    +

    ss

    s

    41mOE

    01837,0

    548,1

    +z 972,397647,60

    +s

    51mOE

    02715,0

    568,1

    +z 0625,36

    0652,55

    +s

    V.MODELO DE CAJA BLANCA

    Considerando el servomotor como un sistema conformadopor un motor DC y una caja reductora de velocidad, lassiguientes ecuaciones pueden definir su modelo:

    s

    a

    em

    a

    aaa

    a VL

    K

    L

    RiL

    dt

    di+=

    (5)

    m

    mm

    m

    Ta

    m

    J

    B

    J

    Ki

    dt

    d

    =

    (6)

    Teniendo en cuenta la relacin del reductor de velocidad Ny tomando como la velocidad angular apreciable y tilpara cualquier aplicacin en el eje de salida del servomotor,considerada como:

    N

    m=

    (7)

    Las ecuaciones 5 y 6 se expresaron en trminos de variablesde estado como:

  • 8/13/2019 C098SE Lego Servomotor

    5/6

    ux

    x

    J

    B

    J

    KN

    NL

    K

    L

    R

    x

    x

    m

    m

    m

    T

    a

    e

    a

    a

    +

    =

    0

    1

    2

    1

    2

    1

    (8)

    [ ] ux

    xy ]0[10

    2

    1 +

    =

    (9)

    Con x1

    ia ; x2

    ;u

    Vs ; y

    .

    Basado en estas ecuaciones, se pudieron encontrar susparmetros con un modelamiento de caja blanca, el cualmezcla el conocimiento del sistema definido en unasecuaciones de estado, con los datos de entrada y salida delsistema, adquiridos por los sensores de cada servomotor y elprograma Robolab 2.9 categora INVESTIGATOR con losque se obtuvieron las posiciones angulares (en grados) paracada motor de acuerdo a la aplicacin de ciertos escalones devoltaje. En trminos parametricos, los servomotores sepueden representar como:

    )()()(

    )()()(

    teuDxCy

    tKeuBxAx

    ++=

    ++=

    (10)Donde

    ux

    x

    x

    x

    +

    =

    0

    1

    2

    1

    43

    21

    2

    1

    (11)

    [ ] ux

    xy ]0[10

    2

    1 +

    =

    (12)

    El modelo final para los datos obtenidos con todos losconjuntos de datos de entrada-salida (datos11) se

    determinaron a partir de la funcin idgrey de Matlab. Elmodelo cuyos parmetros ms se aproximaron a los valoresiniciales fue el que se obtuvo con los datos de entrada-salidadel primer nivel de potencia, arrojando como resultado lasmatrices para las ecuaciones de estado del sistema. Alreemplazar los datos obtenidos en la matriz parmetrica Adefinida en la ecuacin 8 pudiendo plantear las siguientesecuaciones:

    50012=a

    a

    L

    R

    (14)

    417.16=a

    e

    NL

    K

    (15)

    150070=m

    T

    J

    KN

    (16)

    753.15=m

    m

    J

    B

    (17)

    Con la respuesta cuyos parmetros ms se aproximaron alos valores iniciales, se pudo determinar a partir de la

    aproximacin de ciertos parmetros y el despeje de los otrosen las ecuaciones de estado, reemplazando los valoresaproximados en (Zohar, 2007)

    La0 .1mH , N32, K

    TK

    e , los siguientes valores

    para los servomotores:

    despejadaRa ,0012.5 = (18)

    mHLa 1= (19)

    A

    NmK

    t 5246.0=

    (20)

    srad

    VKe

    /5246.0=

    (21)2

    64589.2 KgmeJm = (22)

    srad

    NmeBm

    /58745,3 =

    (23)

    A.Validacin del modelo de caja blanca

    Para validar los valores de las ecuaciones 18 a 23, se realizoa travs de la herramienta Simulink de Matlab, un bloquerepresentativo del modelo del motor dado por las ecuaciones5 y 6, l cual se muestra en la figura 11. Al aplicar unaentrada de voltaje a este bloque, que contuviera informacinsobre los cinco niveles de potencia dados en la tabla 2, a finde compararla la seal de velocidad angular del motorobtenida en el proceso de adquisicin de datos para laidentificacin (figura 7), se encontraron aproximaciones enlas respuestas, en lo que a ganancia y tiempo deestablecimiento se refiere, lo cual indico que el modelo decaja blanca arrojo buenos resultados.

    La figura 12 presenta estas situaciones. De igual manera serealiz la comparacin con los tres modelos de caja negraseleccionados en su proceso de validacin; las seales semuestran en la figura 13, en las cuales se puede apreciarrespuestas semejantes en las tres estructuras, pero con error deganancia que justifica el porcentaje de aproximacin obtenidocon la funcin compare.

    Fig. 11. Bloque del Servomotor NXT en Simulink.

  • 8/13/2019 C098SE Lego Servomotor

    6/6

    Fig. 12 Seales de entrada y salida del modelo propuesto para el ServomotorNXT

    Fig. 13. Seales de entrada y salida de los modelos obtenidos con ISIS

    VI.CONCLUSIONES

    El proceso de identificacin requiere que los datosutilizados para tal fin, contengan informacin significativasobre el sistema, lo cual implica un cuidadoso diseo del

    experimento para la adquisicin de datos y la toma de unaserie de decisiones respecto a las seales que deben sermedidas, el periodo de muestreo a utilizar, el tipo de entradams adecuada, el nmero de datos a almacenar, etc. Para elcaso, la informacin adquirida sobre los datos de entrada-salida no fue lo suficientemente adecuada para obtenerporcentajes de aproximacin mayores en los modelosdeterminados y sus respuestas comparadas con las sealesreales de voltaje aplicado y velocidad angular. Sin embargo,se experimento de forma didctica con un sistema deaplicacin robtica combinndolo con teoras y tcnicas que

    prometen buenos resultados y procedimientos claros para elmodelamiento de robots mviles.

    Gracias a la herramienta Simulink se pudo establecer que elmtodo de caja blanca arrojo mejores resultados en laidentificacin del modelo del servomotor, ya que no solomezcla los datos de entrada-salida del sistema adquiridos conel sensor de velocidad con las estructuras del toolbox de

    identificacin de Matlab sino que permite incluir lainformacin que describe el comportamiento del motormediante una ecuaciones de estado y ciertas condicionesiniciales que se basan en otros estudios ya realizados paradeterminar los parmetros del servomotor. Es la mejorcombinacin entre un modelado terico que se aplica deforma general con ciertos experimentos que contieneninformacin especifica del sistema.

    Los kits didcticos para sistemas robticos como lossistemas LEGO DACTA y MINDTORMS NXT,adems de ofrecer aproximaciones reales en el diseo,

    construccin, y programacin de diversos prototiposrobticos mviles y articulados; tambin colaboran en elestudio, modelamiento, planteamiento y aplicacin deesquemas de control, si se utilizan con programas deadquisicin de datos y simulacin de sistemas dinmicos.

    REFERENCIAS

    AllDatasheets Lb1930 (2007). Lb1930 single-channel low saturationvoltage forward/reverse motor driver-sanyo semicon device. Extrado delWorld Wide Web: http://www.alldatasheet.com/datasheet-pdf/pdf/40594/SANYO/LB1930.html .

    AllDatasheets Lb1836m (2007).Lb1836m low-saturation, bidirectionalmotor driver for low voltage applications-sanyo semicon device. Extrado del

    World Wide Web: http://www.alldatasheet.com/datasheet-pdf/pdf/40548/SANYO/LB1836M.html .

    Guillen M. (2006).Identificacin de Sistemas: Aplicacin al modelado deun motor de continua. Departamento de Electrnica, Universidad de Alcal.Extrado del World Wide Web: http://www.depeca.uah.es/docencia/ING-ECA/ctr_avz/Identif.PDF.

    Grupo LEGO (2006).MINDSTORMS NXTREME. Extrado del WorldWide Web: http://mindstorms.lego.com/Overview/NXTreme.aspx .

    Hurbain P., Hurbain P. y Gasperi M. (2006).Lego9V Technic Motorscompared characteristics. The international Fan-Created LegoUsers GroupNetwork. Extrado del World Wide Web:www.philohome.com/motors/motorcomp.htm .

    Hurbain P., Hurbain P. y Gasperi M. (2007). NXT Motor. Theinternational Fan-Created LegoUsers Group Network. Extrado del WorldWide Web: http://web.mac.com/ryo_watanabe/iWeb/Ryo%27s%20Holiday/NXT%20Motor.html.

    LEGO Education (2006). Get Excited About NXT: Driving StraightLines With Ease MINDSTORMS Education NXT. Extrado del World WideWeb: http://legoeducation.typepad.com/blog/2006/02/get_excited_abo.html .

    Ollero, A. (2001).Robtica. Manipuladores y robots mviles. MarcomboBoixareu, Madrid.

    Zohar, I. (2007).NXT Motor. The international Fan-Created LegoUsersGroup Network. Extrado del World Wide Web:http://web.mac.com/ryo_watanabe/iWeb/Ryo/27s/20Holiday/NXT/20Motor.html.