• No se han encontrado resultados

Mecanismo autónomo seguidor de objetos subacuáticos

N/A
N/A
Protected

Academic year: 2020

Share "Mecanismo autónomo seguidor de objetos subacuáticos"

Copied!
43
0
0

Texto completo

(1)Mecanismo autónomo seguidor de objetos subacuáticos. SERGIO GÓMEZ APARICIO. UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA DEPARTAMENTO DE INGENIERIA MECÁNICA BOGOTÁ D.C. 2008. i.

(2) IMEC-2008-II-GOMEZ, S. Mecanismo autónomo seguidor de objetos subacuáticos. SERGIO GÓMEZ APARICIO. Proyecto de grado para optar por el título de Ingeniero Mecánico. Asesor: Carlos Francisco Rodríguez, PhD. UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA MECÁNICA BOGOTÁ D.C 2008.

(3) IMEC-2008-II-GOMEZ, S. A mi familia y la natación Quienes me han dado todo en la vida.

(4) IMEC-2008-II-GOMEZ, S. Agradecimientos. A Carlos Francisco Rodríguez por todo su tiempo, su amabilidad y su paciencia.. Con la entrega de este documento, no solo se cierra la etapa de la Universidad, sino que se cierra una gran etapa de la natación en mi vida y voy a aprovechar este momento para agradecer y reflexionar. En principio quisiera agradecer a Nicolás, María José, Alejandro, Roberto y Juan Diego, por hacer que cada día en la Universidad lograra ser una alegría y que los trabajos y momentos fueran completamente agradables, sin el apoyo de ustedes este proyecto pudo haber tomado otro rumbo o varias decisiones cruciales no hubieran podido haberse generado.. Agradecer a todos aquellos que me dieron una mano con el mecanizado y construcción del modelo y del prototipo, especialmente Omar y Jorge, quienes siempre estuvieron dispuestos a proponer ideas. Igualmente agradecer el trabajo realizado por Plexacril S.A., Clopa Racing, Diana, Mauricio y mi familia.. Si Leonel, Tay, MAT, T.J., Carlos, Felipe y Diego no hubieran inculcado en mí su pasión por este deporte, el proyecto nunca se hubiera realizado, pues no hubiera existido ese gran interés por mejorar y nunca hubiera podido abrir los ojos a un problema de grandes magnitudes que tiene el país en cuanto a la investigación en el deporte.. Un especial agradecimiento a los integrantes de VU Swim Team y de Comfenalco quienes me enseñaron que en la vida cuando se tiene disciplina y pasión por las metas, es posible lograr cosas impensables, los mismos que me dieron las herramientas para poder crear el mejor equipo de natación de Colombia y que hacían divertido levantarse en mitad del invierno a las 4:30 am, para entrenar, generando disciplina y carácter.. A todos los actuales y futuros integrantes de Andes Natación, por haberse creído el cuento que entre nosotros podemos mejorar la natación en Colombia, generando una nueva forma de ver la natación y en un futuro generando becas para que los mejores deportistas puedan tener la mejor educación. Especialmente Lina, Alejandro, Fernando, Laura y María Claudia quienes desde el principio estuvieron ahí haciendo fuerza para que las cosas sucedieran. iv.

(5) IMEC-2008-II-GOMEZ, S Igualmente un especial agradecimiento a María José, por todo el apoyo que me dio para poder cumplir mis propias metas y sueños, especialmente en los momentos más difíciles de una forma incondicional, a pesar de no ser parte del equipo sin ella este no hubiera sido una realidad.. v.

(6) IMEC-2008-II-GOMEZ, S. Tabla de contenido 1. RESUMEN ........................................................................................................................ 1. 2. INTRODUCCIÓN ............................................................................................................. 2. 3. OBJETIVOS ...................................................................................................................... 3 3.1. Objetivo general .......................................................................................................... 3. 3.2. Objetivos específicos................................................................................................... 3. 4. SOFTWARE ...................................................................................................................... 4. 5. MODELO .......................................................................................................................... 5 5.1. 6. Control servo visual .................................................................................................... 5. 5.1.1. Procesamiento de imagen .................................................................................... 5. 5.1.2. Sistema de bukle abierto ...................................................................................... 7. 5.2. Construcción de modelo .............................................................................................. 8. 5.3. Especificaciones de modelo ........................................................................................ 9. 5.4. Resultados ................................................................................................................. 13. Prototipo........................................................................................................................... 17 6.1. Construcción de prototipo ......................................................................................... 17. 6.2. Especificaciones de prototipo.................................................................................... 21. 6.3. Control de dirección .................................................................................................. 22. 6.3.1. Control Proporcional.......................................................................................... 22. 6.3.2. Control on/off..................................................................................................... 24. 7. Comparación de prototipo................................................................................................ 28. 8. Conclusiones .................................................................................................................... 30. 9. Bibliografía ...................................................................................................................... 31. 10 Anexo 1 – Codigo de MatLab.......................................................................................... 32. Tabla de ilustraciones Ilustración 1 Imagen adquirida por MatLab .............................................................................. 6 Ilustración 2 Imagen en blanco y negro contrastada. ................................................................. 6 Ilustración 3 Modelo de bucle abierto ....................................................................................... 7 Ilustración 4 Sistema de bucle cerrado ...................................................................................... 7 Ilustración 5 Modelo construido ................................................................................................ 8 Ilustración 6 Modelo, Max Steel y pecera ................................................................................. 9 Ilustración 7 Respuesta del sistema de un escalón unitario ..................................................... 12 vi.

(7) IMEC-2008-II-GOMEZ, S Ilustración 8 Montaje experimental del modelo para medir constante de tiempo ................... 12 Ilustración 9 Proyeccion por perspectiva de un punto en tres dimensaiones con respecto a un plano de imagen (4) ................................................................................................................. 13 Ilustración 10 Estructura metálica tubular de la silla del prototipo. ........................................ 17 Ilustración 11 Llantas de tracción de Bicicleta 12.5 pulgadas de diámetro. ............................ 18 Ilustración 12 Reductor de Transmisión de Potencia, con relación 20.5:1 y motor Galil 1.4 Nm............................................................................................................................................ 18 Ilustración 13 Objeto subacuático de PVC. ............................................................................. 18 Ilustración 14 Vista posterior del prototipo. ............................................................................ 19 Ilustración 15 Vista anterior del prototipo. .............................................................................. 19 Ilustración 16 Vista superior del prototipo. ............................................................................. 19 Ilustración 17 Prototipo............................................................................................................ 21 Ilustración 18 Caja de luz para control proporcional ............................................................... 23 Ilustración 19 Funcionamiento de control proporcional de dirección, .................................... 24 Ilustración 20 Micro-switches para control on/off................................................................... 25 Ilustración 21Humano realizando una corrida para camparar con el prototipo ....................... 29. Tabla de Figuras. Figura 1 Niveles de tonalidad en escala de grises para la imagen ............................................. 6 Figura 2 Variables del motor con respecto al voltaje ................................................................ 9 Figura 3 Velocidad contra voltaje de entrada del motor .......................................................... 10 Figura 4 Error para control proporcional con constante 0,2 .................................................... 14 Figura 5 Error para control proporcional con constante 0,3 .................................................... 15 Figura 6 Velocidad relativa entre nadador y modelo, para ganancia 0,2 ................................. 15 Figura 7 Velocidad relativa entre nadador y modelo, para ganancia 0,3 ................................. 15 Figura 8 Error para control PI .................................................................................................. 16 Figura 9 Velocidad relativa entre nadador y modelo para control PI ...................................... 16 Figura 10 Lista de objetos utilizados en el prototipo con su función. ..................................... 20 Figura 11 Curva de Velocidad para cada rueda de acuerdo a una salida de Voltaje de MatLab .................................................................................................................................................. 21 Figura 12 Curva de calibración para los dos amplificadores ................................................... 22 Figura 13 Prueba de entrada en MatLab para controlador on/off, dos diferentes entradas. .... 25 Figura 14 Voltaje de entrada de los switches, para una velocidad de 0,58m/s ........................ 25 vii.

(8) IMEC-2008-II-GOMEZ, S Figura 15 Prueba de control de dirección para 0,15 m/s.......................................................... 26 Figura 16 Prueba de control de dirección para 0,78 m/s.......................................................... 26 Figura 17 Error en mm en el tiempo de las corridas realizadas por el hombre ....................... 28. viii.

(9) IMEC-2008-II-GOMEZ, S. 1 RESUMEN En Colombia existe muy poca investigación en los deportes, por esto se propone la construcción de un mecanismo autónomo, basado en control servo visual capaz de filmar nadadores bajo el agua, ya que allí es donde se realiza el gesto técnico. Para lograr esta construcción se realiza un modelo a escala el cual valida el servo control basado en imágenes y a MatLab como controlador en tiempo real. Posteriormente se construye el prototipo, el que incluye un controlador de dirección y un brazo subacuático.. 1.

(10) IMEC-2008-II-GOMEZ, S. 2 INTRODUCCIÓN En la natación, el gesto técnico realizado por los deportistas ocurre bajo el agua, el perfeccionamiento de estos movimientos son vitales para mejorar el rendimiento. Debido a la difracción del agua, resulta difícil para entrenadores observar los apoyos y las posiciones que asumen los nadadores, para lograr analizar los movimientos subacuáticos se. propone. construir un mecanismo autónomo el cual filme a los nadadores bajo el agua.. En la actualidad existen diferentes mecanismos que logran filmar a los nadadores bajo el agua, el más utilizado se basa en un carro, montado sobre un riel, impulsado por un usuario quien controla la velocidad relativa entre la cámara y el nadador, este es utilizado durante el entrenamiento para obtener una retroalimentación técnica. El otro mecanismo, utilizado por la televisión, es controlado por un editor de imagen, quien es capaz de programar la velocidad de la cámara y enfocar al nadador que este desee.. Debido a que el objetivo de este mecanismo es producir una imagen, es posible utilizar un control servo visual. En éste es común encontrar la velocidad de un objeto ya que se pueden cuantificar los cambios vistos en la imagen, incluso, se puede hallar una velocidad relativa entre el objeto en la imagen y el robot. Para lograr esto existen dos tipos de control servo visual, uno basado en la imagen y otro basado en objetos. La gran diferencia entre estos es que el primero define su error en parámetros de la imagen, mientras que el segundo lo define en las coordenadas espaciales. Estos sistemas pueden usar una configuración de cámara fija o de ojo en mano, en donde la velocidad del objeto se puede encontrar ya sea con la velocidad del end-effector o por los cambios ocurridos en la imagen (1).. A diferencia de los métodos utilizados actualmente en la natación para filmar a los deportistas bajo el agua, este trabajo presenta un control servo visual de ojo en mano, basado en los datos obtenidos mediante una imagen. Es importante destacar que este mecanismo debe ser utilizado únicamente durante entrenamientos y enfocado a ayudar al trabajo de los entrenadores para mejorar el rendimiento de los deportistas, Esto se debe a que si existe más de una persona dentro de la imagen el mecanismo puede incurrir en un error por la presencia de más de un objeto de referencia. 2.

(11) IMEC-2008-II-GOMEZ, S. 3 OBJETIVOS. 3.1. Objetivo general. •. Construir un mecanismo autónomo el cual filme a los nadadores bajo el agua, permitiendo observar el gesto técnico que estos realizan, para así poder mejorar su técnica y su desempeño.. 3.2. Objetivos específicos. •. Evaluar software el cual permita adquirir imágenes y obtener una salida de voltaje para poder alojar el controlador.. •. Construir un modelo a escala el cual permita verificar el funcionamiento del prototipo, este modelo va a evaluar el control de velocidad lineal, estrictamente aquel que se basara en la posición del nadador.. •. Construir prototipo.. •. Diseñar y construir servo controlador visual.. •. Diseñar y construir controlador direccional.. 3.

(12) IMEC-2008-II-GOMEZ, S. 4 SOFTWARE Para poder construir el controlador es necesario trabajar con un software que pueda adquirir imágenes, procesarlas y tener una salida de voltaje la que pueda ser amplificada. Para poder tomar una decisión sobre los programas a utilizar, se evaluaron. LabView y MatLab,. programas que la Universidad tiene licencias vigentes.. En principio, LabView parece ser el software ideal para utilizar en esta aplicación, ya que este está diseñado para aplicaciones en tiempo real. Desafortunadamente, para poder adquirir y procesar imágenes, es necesario utilizar una cámara de National Instruments. Para esta aplicación es deseable utilizar una cámara simple y asequible, ya que se trata de un prototipo. Si se quiere desarrollar un mecanismo final y comercial, es posible evaluar los costos que implicaría la adquisición de este tipo de cámaras.. Para tener una mayor cantidad de aplicaciones, MatLab consta de diferentes librerías (Toolboxes), entre estas se encuentran el Image Aquisition Toolbox, el Image Procesing Toolbox y el Data Aquisition Toolbox. La primera de estas librerías es compatible con cámaras web previamente instaladas en el CPU, la segunda es utilizada para el procesamiento de los datos adquiridos en la primera y es compatible con tarjetas de adquisición de datos National Instruments (igualmente disponibles en la Universidad) (2), (3).. Igualmente, vale la pena tener en cuenta que una imagen digital típica de una cámara web tiene una resolución de 320 (eje horizontal) x 240 (eje vertical) pixeles, cada uno de estos pixeles tiene una profundidad de tres filas (Rojo, Verde y Azul), de esta manera al adquirir los datos de la imagen se obtiene una matriz en tres dimensiones (filas, columnas y RGB), y que MatLab trabaja en procesamiento de matrices, haciendo de este un proceso eficiente lo cual hace que el procesamiento de estas matrices tenga una alta eficiencia.. De la misma forma para que algunos de estos programas fueran eficientes, fue necesario aumentar la memoria RAM del computador. En principio el computador fue entregado con 256 Mb de memoria y esta fue aumentada a 1Gb. Con esta especificación de CPU, se vio que MatLab a pesar de no trabajar a una velocidad ideal, lograba realizar los procesos deseados en un tiempo aceptable. 4.

(13) IMEC-2008-II-GOMEZ, S 5. MODELO. 5.1. Control servo visual. Para esta aplicación es apropiado utilizar un controlador servo visual basado en la imagen, ya que el error se puede definir en los parámetros de esta y es posible encontrar la velocidad del objeto, a partir de la velocidad lineal del end-effector.. Como el error puede estar definido en los parámetros de la imagen, para el proceso de control, este se definirá específicamente en pixeles. Posteriormente se desarrollara un procedimiento matemático y de calibración de la cámara para entregar resultados en unidades físicas.. 5.1.1. Procesamiento de imagen. Para poder encontrar un error en la imagen (Ilustración 1 representa una imagen adquirida por MatLab) es necesario definir una característica común que deben tener todas las imágenes a través del video a realizar. Al querer filmar a un nadador, se puede utilizar el vestido de baño como parámetro a seguir, en la Ilustración 1 se aprecia que este se encuentra cerca al centro de masa de nadador y que es la parte más oscura de la imagen. Para verificar esto se genera una imagen en blanco y negro (se pierde la tercera dimensión generando una matriz únicamente de 320x240) contrastada, para así tener los lugares más oscuros como negros, esto se puede observar en la Ilustración 2.. Para poder encontrar un error horizontal, se toma el valor mínimo de cada una de las 320 columnas, la Figura 1 muestra los niveles de tonalidad en la escala de grises, donde 255 representa blanco y 0 representa negro. En este caso los blancos, representan una margen generada por MatLab, de todas formas se puede apreciar que el vestido de baño sí es el punto más oscuro en la imagen y es válido tomarlo como referencia de la imagen.. 5.

(14) IMEC-2008-II-GOMEZ, S Se toma únicamente el error horizontal, ya que el end-effector se desplazara únicamente en esta dirección y aquí es donde se encontrada la posición relativa entre el mecanismo y el nadador.. Ilustración 1 Imagen adquirida por MatLab. Ilustración 2 Imagen en blanco y negro contrastada.. 300 250 200 150 100 50. 1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 253 265 277 289 301 313. 0. Figura 1 Niveles de tonalidad en escala de grises para la imagen. 6.

(15) IMEC-2008-II-GOMEZ, S 5.1.2. Sistema de bucle abierto. Por medio de la tarjeta de adquisición de datos National Instruments NIDAQ 6036E, MatLab es capaz de arrojar un voltaje, controlado por el usuario, el cual a través de amplificador Galil MSA-12-80 puede tener los rangos deseados para mover un motor de corriente directa. El amplificador es utilizado bajo el mismo concepto de un amplificador operacional, alimentado por una fuente de voltaje a 24 V.. El proceso del bucle abierto finaliza con el motor produciendo una velocidad angular, la que por medio de las llantas en el modelo, se transforman en una velocidad lineal. La Ilustración 3representa el bucle abierto.. Ilustración 3 Modelo de bucle abierto. La velocidad lineal encontrada, es la velocidad del end-effector, esto dicta la posición de la cámara en un instante de tiempo, con respecto a los alrededores. Si en este instante de tiempo, la cámara obtiene una imagen que es posteriormente procesada, es posible comparar la posición del objeto de referencia con el centro de la imagen para así poder encontrar un error de posición y cerrar el bukle, lo que se representa en la Ilustración 4 .. Ilustración 4 Sistema de bucle cerrado. 7.

(16) IMEC-2008-II-GOMEZ, S 5.2. Construcción de modelo. Gracias a la facilidad en la manufactura de la madera, se escogió este material para construir el chasis del modelo. Se construyeron dos ejes de acero 1020 de ½” de diámetro, uno de estos era el encargado de la tracción con el motor por medio de poleas, las que no tenían ninguna relación de amplificación. Fueron utilizadas 4 ruedas de poliuretano de 70mm de diámetro, las que hacen tracción con los ejes por medio de dos prisioneros. Se utilizo un motor de corriente directa Pittman 14204, acoplado a un reductor de relación 20:1.. Ilustración 5 Modelo construido. Este modelo tiene montada una cámara web Logitech for notebooks, la cual filma a un muñeco Max Steel, el cual nada en una pecera de dimensiones 300 X 300 X 1000 mm como se muestra en la Ilustración 6.. 8.

(17) IMEC-2008-II-GOMEZ, S. Ilustración 6 Modelo, Max Steel y pecera. 5.3. Especificaciones de modelo. Al conocer las especificaciones del modelo, es posible encontrar las constantes para ajustar un controlador más adecuado. Para lograr esto, se realizo una simulación de bukle cerrado en simulink, teniendo en cuenta únicamente las constantes del motor, ya que la inercia del carro es despreciable en comparación con la inercia que genera el reductor. La Figura 2, representa las variables del motor, especificadas por el constructor, mientras que la Figura 3 muestra la velocidad angular de salida del reductor, con respecto a un voltaje de entrada.. 3,00E+00 y = 0,1148x - 1,0767 R² = 0,9838. 2,50E+00 2,00E+00. y = 0,0709x - 0,6395 1,50E+00 1,00E+00. y = 0,0025x + 0,0007 R² = 0,9999. 5,00E-01. y = 0,0025x + 0,0007 R² = 0,9999. 0,00E+00 10. 15. Kt (N·m/A). 20. 25. Ke (V/rad/s). 30 R (ohm). Figura 2 Variables del motor con respecto al voltaje. 9. 35 L (mH). 40.

(18) Velocidad Angular (rad/s). IMEC-2008-II-GOMEZ, S. 9,000 8,000 7,000 6,000 5,000 4,000 3,000 2,000 1,000 0,000 0,0. 5,0. 10,0. 15,0. 20,0. 25,0. 30,0. 35,0. Voltaje (V) Figura 3 Velocidad contra voltaje de entrada del motor. ki V IR. (1). ki H (s) = IR ⎛ c⎞ ⎜s + ⎟ I⎠ ⎝. (2). .. c I. ω+ ω =. En donde ω es la velocidad angular del eje de salida, c es el coeficiente de fricción viscosa, ki es la constante electromagnética del motor, I es la inercia, R es la resistencia del motor y V es el voltaje, que en este caso es la entrada al sistema.. La Ecuación 1, típicamente describe a un sistema electromecánico con un motor de corriente directa, en el cual es despreciable la inductancia. De acá es posible hallar una función de transferencia como la descrita en la Ecuación 2. Para lograr encontrar todas estas variables, es necesario evaluar el sistema en diferentes velocidades y así poder encontrar una relación de proporcionalidad, ver Figura 3. Al evaluar la Ecuación 1 para velocidad constante, se encuentra la ecuación 3.. ω=. Ki V IR. (3). Entonces.. 10.

(19) IMEC-2008-II-GOMEZ, S. Ki = 0,278 cR. (4). Con la Ecuación 4 es posible encontrar el coeficiente de viscosidad. Para hallar la inercia del motor y el reductor se utilizo la Ecuación 5. I equ = I motor + I reductor I reductor =. I motor =. m rel 2. (5). ( 6). MR 2 2. (7). En donde m es la masa del reductor y rel es la relación de amplificación, mientras que la inercia del motor está basada en un eje con masa M y radio R. De aquí, es posible entonces encontrar una función de transferencia.. H ( s) =. 4.9 s + 17.6. (8). Este sistema fue evaluado en Simulink, en donde se encontró la constante de tiempo τ. El 63% de la respuesta de estado estable a una entrada escalón unitario fue de 0,137, acá se evaluó el tiempo y se encontró un τ característico de 46,9 ms, el círculo rojo de la Ilustración 7 muestra el punto donde se encuentra el 63% de la respuesta.. Para comprobar estos resultados, se quiso encontrar esta constante de tiempo de forma experimental. La Ilustración 8 muestra el montaje construido para encontrar esta constante. En esta ilustración la flecha 1, señala la fuente de alimentación fija, la flecha 2, señala el contacto de la alimentación con el motor, el cual esta fijo igualmente, con esto existe un instante de tiempo en el cual 1 y 2 pierden contacto. La flecha 3 muestra en punto en donde el carro con su llanta pisa un contacto encargado de activar el cronometro, este es el mismo instante de tiempo en el que 1 y 2 pierden contacto y la flecha 4 señala aproximadamente la posición final del carro cuando este se detiene, en este mismo punto existe otro contacto, el. 11.

(20) IMEC-2008-II-GOMEZ, S cual vuelve a activar el cronometro, midiendo así el tiempo que el carro necesito para frenar completamente desde el instante que se corto la alimentación.. Ilustración 7 Respuesta del sistema de un escalón unitario. Se realizaron 10 corridas dando un tiempo promedio de 170 ms para que el sistema se detenga completamente. Conociendo que el tiempo medido es 4 veces la constante de tiempo, esto nos da un τ de 42,5 ms. Si se tiene en cuenta que la constante encontrada por la simulación es la constate real, la experimentación tiene un error de 9%. 1 2. 3. 4. Ilustración 8 Montaje experimental del modelo para medir constante de tiempo. 12.

(21) IMEC-2008-II-GOMEZ, S. 5.4. Resultados. Para poder entregar resultados físicos, se realizo una aproximación lineal entre las medidas arreglados de la imagen (80 x 60 pixeles, para facilitar el procesamiento de la imagen, esta reducción es realizada por una librería de MatLab) y las medidas de un plano a una distancia conocida de el pinhole de la cámara, en este caso se utilizaron las medidas del Max Steel como parámetro, con esto el error es entregado en milímetros.. Comúnmente esta transformación se puede generar a partir de una tranformacion matematica de proyección por perspectiva, en la Ilustración 9 Proyeccion por perspectiva de un punto en tres dimensaiones con respecto a un plano de imagenIlustración 9, las coordenadas (x,y) son la representacion sobre el plano de la imagen (el que se encuentra a una distancia f del pinhole), de un punto en el espacio (X,Y,Z). Para conocer el desplazamiento X y Y, se utiliza la ecuacion 9, la que es la representacion matematica de un punto en una imagen, donde se conoce la distancia focal y donde λ =Z. (5). Ilustración 9 Proyeccion por perspectiva de un punto en tres dimensaiones con respecto a un plano de imagen (4). ⎡λx ⎤ ⎡ f ⎢λ y ⎥ = ⎢ 0 ⎢ ⎥ ⎢ ⎢⎣ λ ⎥⎦ ⎢⎣ 0. 0 f 0. ⎡X ⎤ 0 0⎤ ⎢ ⎥ Y 0 0⎥⎥ ⎢ ⎥ ⎢Z ⎥ 1 0⎥⎦ ⎢ ⎥ ⎣1⎦. (9). En principio se quiso evaluar la función de un control proporcional, en este, es importante tener cuidado con la relación entre los tamaños de la imagen, la saturación de voltaje de MatLab y la estabilidad del sistema. El software se satura en +- 10 V y no es deseado que con 13.

(22) IMEC-2008-II-GOMEZ, S un error bajo se lleguen a esta saturación, ya que esto generaría una estabilidad en el sistema debido al tiempo de muestreo (tiempo de muestreo promedio 200 ms), por esto no se quiso utilizar ninguna estrategia de control para encontrar las constantes adecuadas. Se probaron como constantes 0,2 (Figura 4) y 0,3 (Figura 5).. Se puede apreciar una clara diferencia entre estos modelos de control, por un lado las corridas realizadas con una constante de 0,2 tiende a estabilizarse en un error fijo, donde la velocidad relativa tiende a cero, mientras que la ganancia de 0,3 intenta reducir el error poco a poco, creando una velocidad relativa, del modelo con respecto al nadador, mayor que cero. Lastimosamente el recorrido es muy corto y se realizaba en alrededor de 4 s.. La Figura 6 y Figura 7 muestran las velocidades relativas entre el nadador y el modelo para ganancia de 0,2 y 0,3 respectivamente. En la Figura 6 se puede apreciar como la velocidad relativa se estabilizar alrededor de cero, mientras que la Figura 7 a pesar de tener picos negativos, tiene una tendencia a una velocidad positiva.. Igualmente se quiso probar el comportamiento de un controlador PI, para esto se utilizo la ganancia de 0,3 como proporcional y una constante de 0,2 para el integrador. Los integradores en un principio acumulan un error muy grande, lo que puede incurrir en corridas fallidas debido a la limitación de espacio, por esto se diseño un controlador que únicamente integraba las últimos cinco errores en cada instante de tiempo. La Figura 8 muestra el error en milímetros a través del tiempo, mientras que en la Figura 9 se puede apreciar la velocidad relativa entre el modelo y el nadador.. 200. Error (mm). 150 100 50 0 0,0. 1,0. -50 -100. 2,0. 3,0. Tiempo (s) Corrida 1. Corrida 2. Corrida 3. Figura 4 Error para control proporcional con constante 0,2. 14. 4,0.

(23) IMEC-2008-II-GOMEZ, S. 150. Error (mm). 100 50 0 0,0. 0,5. 1,0. 1,5. 2,0. 2,5. 3,0. 3,5. 4,0. -50 Tiempo (s) -100. Corrida 1. Corrida 2. Figura 5 Error para control proporcional con constante 0,3. 0,80. Velocidad relativa (m/s). 0,60 0,40 0,20 0,00 -0,20 0,0. 0,5. 1,0. 1,5. 2,0. 2,5. 3,0. 3,5. 4,0. -0,40 -0,60 Tiempo (s). -0,80 Corrida 1. -1,00. Corrida 2. Corrida 3. Figura 6 Velocidad relativa entre nadador y modelo, para ganancia 0,2. 0,80. Velocidad relativa (m/s). 0,60 0,40 0,20 0,00 -0,20 0,0. 0,5. 1,0. 1,5. 2,0. 2,5. 3,0. -0,40 -0,60 -0,80 -1,00. Tiempo(s) Corrida 1. Corrida 2. Figura 7 Velocidad relativa entre nadador y modelo, para ganancia 0,3. 15. 3,5. 4,0.

(24) IMEC-2008-II-GOMEZ, S 120 100. 60 40 20 0 -20 0,0. 0,5. 1,0. 1,5. 2,0. 2,5. 3,0. 3,5. 3,0. 3,5. 4,0. -40 -60. Tiempo (s) Figura 8 Error para control PI. 0,60 0,50 Velocidad relativa (m/s). Error (mm). 80. 0,40 0,30 0,20 0,10 0,00 -0,10 0,0. 0,5. 1,0. 1,5. 2,0. 2,5. -0,20 -0,30 -0,40. Tiempo (s) Figura 9 Velocidad relativa entre nadador y modelo para control PI. 16. 4,0.

(25) IMEC-2008-II-GOMEZ, S. 6 Prototipo 6.1 Construcción de prototipo Para la construcción del prototipo se utilizo una estructura tubular metálica, previamente utilizada en el departamento como silla de ruedas. La Ilustración 10 muestra la estructura. Esta al ser utilizada como silla de ruedas tiene dos llantas locas; para la tracción se utilizaron ruedas de bicicleta de 12.5 pulgadas de diámetro, como se muestra en la Ilustración 11. Para darle movimiento al prototipo, se utilizaron dos motores Galil de 1.4 Nm sin escobillas y dos reductores de Transmisión de Potencia, con una relación de 20.5:1, como se muestra en la Ilustración 12, cada uno de estos es controlado independientemente.. Para lograr tener imágenes subacuáticas adecuadas, fue necesaria la construcción de un objeto que pudiera llevar la cámara y sumergirla sin que esta estuviera en contacto con el agua. Para esto se construyo una estructura en tubería de PVC con diámetros de ½ y ¾ de pulgada, como se muestra el la Ilustración 17. Se utilizaron estos diámetros de tubería para poder ajustar la profundidad y proximidad de la cámara con respecto al prototipo. La Ilustración 13 muestra el objeto subacuático.. Ilustración 10 Estructura metálica tubular de la silla del prototipo.. 17.

(26) IMEC-2008-II-GOMEZ, S. Ilustración 11 Llantas de tracción de Bicicleta 12.5 pulgadas de diámetro.. Ilustración 12 Reductor de Transmisión de Potencia, con relación 20.5:1 y motor Galil 1.4 Nm.. Ilustración 13 Objeto subacuático de PVC.. 18.

(27) IMEC-2008-II-GOMEZ, S. Ilustración 14 Vista posterior del prototipo.. Ilustración 15 Vista anterior del prototipo.. Ilustración 16 Vista superior del prototipo.. 19.

(28) IMEC-2008-II-GOMEZ, S La Figura 10 describe los elementos señalados en la Ilustración 14, Ilustración 15 e Ilustración 16 y enuncia la función de cada uno de ellos. La Ilustración 17 muestra el prototipo montado, incluyendo la estructura encargada de sostener el brazo del objeto subacuático.. Elemento. Función. 1 Fuente de Voltaje 80V. Alimentación del sistema. 2 Rueda de bicicleta 12.5 pulgadas. Tracción. 3 CPU Dell. Controlador, aloja MatLab. 4 Reductor Transmisión de Potencia. Reducción de velocidad. 5 Switch control de dirección. Sensor de control on/off de dirección. 6 Tarjeta de adquisición de datos. Adquirir y sacar voltajes controlados por MatLab. 7 Motor Galil 1.4Nm sin escobillas. Producir movimiento. 8 Rueda loca 9 Batería 9V. Alimentar el control de dirección. 10 Protoboard. Almacenar los circuitos del control de dirección. 11 Amplificadores Galil MSA-120-80. Amplificar el voltaje de la tarjeta de adquisición de datos. 12 Switch de seguridad. Permitir/restringir el paso de corriente de la fuente de voltaje a los amplificadores. Figura 10 Lista de objetos utilizados en el prototipo con su función.. Algunos de los inconvenientes que se tuvo con la construcción del prototipo fue la selección de los motores adecuados, en principio se intento utilizar motores con escobillas, desgraciadamente no fue posible configurar el amplificador para que funcionara como Open Loop, por esto se utilizaron motores sin escobillas, los que utilizan la misma configuración de amplificación (concepto de amplificador operacional) que el modelo. Para poder unir los motores al prototipo, fue necesario construir un acople entre los motores y los reductores. Igualmente existió una dificultad al unir las ruedas a los ejes de salida de los reductores. Entre el hueco de la llanta y el eje había un juego muy pequeño para poder instalar un buje, el que pudiera alojar las cuñas, por esto se insertaron 6 prisioneros en cada una de las ruedas, 3. 20.

(29) IMEC-2008-II-GOMEZ, S a cada lado, para así intentar alinear las ruedas lo más posible y hacer que los ejes fueran concéntricos.. Ilustración 17 Prototipo.. 6.2 Especificaciones de prototipo Para especificar el prototipo, se quiso primero evaluar la velocidad del motor de acuerdo a la salida de voltaje producido por MatLab, la Figura 11 representa la velocidad linear después de ser reducida por el reductor y transformada por las ruedas.. Velocidad lineal (m/s). 2,5 2,0. y = 0,2103x - 0,0549. 1,5 1,0 0,5 0,0 0. 2. 4 6 8 Voltaje de entrada (V). 10. 12. Figura 11 Curva de Velocidad para cada rueda de acuerdo a una salida de Voltaje de MatLab. 21.

(30) Salida (V). IMEC-2008-II-GOMEZ, S. -15. -10. -5. 80 60 40 20 0 -20 0 -40 -60 -80. 5. 10. 15. Entrada (V) Llanta izquierda Llanta derecha Figura 12 Curva de calibración para los dos amplificadores. Para verificar la linealidad del prototipo, se quiso verificar que a la misma salida de voltaje para los dos canales de la tarjeta de adquisición de datos, las llantas se movieran a la misma velocidad. En principio se ajustaron las ganancias y los off sets de los dos amplificadores y posteriormente se verifico los rangos de amplificación de cada uno de los amplificadores, esto se muestra en la Figura 12. Aca se puede areciar que a bajas velocidades, las llantas no se moverán a la misma velocidad, dándole mayor importancia al diseño de un control de dirección.. 6.3 Control de dirección A pesar que se intento alinear los ejes y las llantas lo más posible y que el prototipo tiene un peso significativo, la fuerza de arrastre realizada por los tubos de PVC sumergidos, era suficiente para que este no tuviera una trayectoria recta. Para lidiar con este problema se quiso diseñar un controlador de dirección, el que aliviara el momento que produce la fuerza de arrastre sobre el carro, acelerando o desacelerando alguna de las ruedas según se requiera.. 6.3.1 Control Proporcional En principio se quiso hacer un control proporcional basado en foto-resistencias, estas cambian el valor de la resistencia inversamente proporcional a la cantidad de luz. Con esto se podía tener una diferencia proporcional entre los colores del piso y los de una referencia. En 22.

(31) IMEC-2008-II-GOMEZ, S este caso se pintaron tubos de PVC de color negro, ya que el piso donde se iba a probar el prototipo es de color blanco.. Para esto se construyo una caja (ver Ilustración 18), con una luz de 60W y se le pego una tela negra para aislar la luz del exterior, intentando que esta se convirtiera en ruido únicamente. Esta caja fue instalada en el mismo lugar donde se encuentra el protoboard en la Ilustración 15.. Ilustración 18 Caja de luz para control proporcional. Las foto-resistencias fueron instaladas en configuración de divisor de voltaje, con esto, cuando las dos miraban el mismo color (normalmente el piso, blanco), el valor de las resistencias era el mismo, por lo que el valor del voltaje en ambas era la mitad de aquel en la alimentación (9V). Mientras que si una de las dos se ponía sobre el tubo de PVC negro, el valor de los voltajes variaba en una razón proporcional dependiendo de la cantidad de negro que vea. Se realizo la calibración adecuada y se vio que solo era necesario medir el voltaje sobre una de las resistencias, ya que si la cantidad de luz en esa disminuye, el voltaje sobre ella disminuye, pero si la cantidad de luz disminuye sobre la otra resistencia el valor del voltaje sobre aquella que se está midiendo aumenta.. 23.

(32) IMEC-2008-II-GOMEZ, S. Ilustración 19 Funcionamiento de control proporcional de dirección,. A pesar de tener la luz aislada, existía un gran diferencial de luz entre el lado donde estaba la piscina y el lado donde se debe ubicar el usuario, con esto no se podía realmente diferenciar el momento en el que la foto-resistencia del lado del usuario veía el tubo, ya que la otra tenía una gran cantidad de luz, haciendo que el tubo negro no se pudieran diferenciar entre el ruido. Posteriormente se intento ubicar otra luz para superar estos inconvenientes, pero no se logro ubicarla correctamente debido a limitaciones de espacio.. 6.3.2 Control on/off. Posteriormente se quiso utilizar unos micro-switches (ver Ilustración 20), los que eliminan completamente el problema de la luz, ellos aprovechaban la forma de los tubos de PVC instalados en el piso como guía. Estos fueron instalados igualmente en configuración de divisor de voltaje, con la diferencia que acá se podían manejar los grandes rangos de voltaje de acuerdo a la lectura realizada por MatLab, la figura 11 muestra la prueba realizada, donde se aprecia que existe un gran pico en las lecturas y se puede programar un umbral que diferencia las posiciones entre el switch abierto y cerrado.. Al ajustar un controlador, se quiso manipular únicamente la velocidad de una de las dos ruedas, En principio, se ajusto un controlador para una velocidad aproximada de 0,58 m/s (salida de voltaje de MatLab de 3V), donde la velocidad relativa entre las ruedas, al ser excitado el controlador, seria de alrededor de 0,1m/s, la Figura 14 muestra la entrada de voltaje de los switches. Es posible ver la oscilación que hizo el prototipo en 15m de recorrido.. 24.

(33) IMEC-2008-II-GOMEZ, S. Ilustración 20 Micro-switches para control on/off .. Voltaje (V). 10 8 6 4 2 0 0. 10. 20. 30. 40. Tiempo(s) Figura 13 Prueba de entrada en MatLab para controlador on/off, dos diferentes entradas.. 10 Voltaje (V). 8 6 4 2 0 0. 10. 20. 30. Tiempo (s) Figura 14 Voltaje de entrada de los switches, para una velocidad de 0,58m/s. 25. 40.

(34) IMEC-2008-II-GOMEZ, S Posteriormente se quiso probar este mismo controlador con diferentes velocidades, 0,15 m/s (Figura 15, para salida de MatLab de 1V) y 0,78 m/s (Figura 16, para salida de MatLab de 4V). Se puede apreciar que el ajuste programado no es el apropiado para estas velocidades, cayendo en una inestabilidad del sistema. En principio, en la velocidad baja, el ajuste es muy grande, cambiando significativamente la orientación del prototipo, haciendo que el siguiente ajuste no sea suficiente para volver a orientar el mecanismo. Mientras que en la velocidad alta, el ajuste no es suficiente para contrarrestar con la inercia que tiene el sistema haciendo que el prototipo no cambie su rumbo y genere una inestabilidad.. 10. Voltaje (V). 8 6 4 2 0 0. 10. 20. 30. 40. Tiempo (s) Figura 15 Prueba de control de dirección para 0,15 m/s. 6. Voltaje (V). 5 4 3 2 1 0 0. 20. 40. Tiempo (s) Figura 16 Prueba de control de dirección para 0,78 m/s. 26.

(35) IMEC-2008-II-GOMEZ, S Para solucionar esto se propone programar un ajuste proporcional para cada una de las velocidades o un ajuste especifico para ciertas velocidades. De todas formas es bueno tener en cuenta que estos ajustes se deben tratar con mucha delicadeza, ya que al superponer uno sobre otro, el sistema puede entrar en una inestabilidad no deseada. Otra solución propuesta es intentar alargar los accionadores de los switches, con esto se puede saber si el switch está siendo accionado por una cantidad de tiempo muy larga, lo que puede llevar a aumentar la ganancia y poco a poco corregir la dirección.. 27.

(36) IMEC-2008-II-GOMEZ, S. 7 Comparación de prototipo Para poder validar el prototipo, se quiso comparar los resultados del modelo contra un humano, esto se hizo utilizando el error como parámetro de comparación. Desgraciadamente al hacer la debida transformación, las dimensiones son mucho más grandes que aquellas utilizadas en el modelo, por esto, tomando en cuenta la cantidad de pixeles, se realizo la misma transformación realizada anteriormente, para así poder tener una comparación cualitativa.. La Figura 17 muestra como el humano no tiene realmente un parámetro. En la primera corrida realizada, este tiende parecerse al error encontrado en el control proporcional con ganancia 0,2, ya que la velocidad relativa entre los dos parece ser constante; mientras que la segunda corrida intenta estabilizarse alrededor de cero, pero tiene un error de estado estable mayor que aquel encontrado en el control PI.. 200 150. Error (mm). 100 50 0 -50 0. 2. 4. 6. 8. 10. 12. 14. -100 -150 -200 -250. Tiempo(s) Corrida 1. Corrida 2. Figura 17 Error en mm en el tiempo de las corridas realizadas por el hombre. La Ilustración 21 muestra al humano haciendo una corrida, para poder ser comparada con el prototipo. Ac se puede ver que ‘la estructura de PVC construida para cargar la cámara en forma subacuática funciona adecuadamente. Es adecuado recordar que a esta se le abrió un hueco, remplazado por una lámina de Acrílico, la que fue soldada con soldadura de PVC.. 28.

(37) IMEC-2008-II-GOMEZ, S. Ilustración 21Humano realizando una corrida para comparar con el prototipo. 29.

(38) IMEC-2008-II-GOMEZ, S. 8 Conclusiones Con los datos obtenidos por el modelo y aquellos obtenidos por las corridas realizadas por el humano, se comprueba que el controlador servo visual y el diseño del objeto subacuático, si son los apropiados para filmar a los nadadores bajo el agua y poder observar el gesto técnico que ellos realizan.. A pesar que no fue posible ajustar el prototipo correctamente, se pueden utilizar los datos obtenidos en el modelo para verificar a MatLab como un controlador servo visual basado en la imagen. De todas formas este es recomendable utilizarlo con computadores de procesadores veloces y memoria RAM mayor a 1Gb, para así tener un tiempo de muestreo aceptable, en este caso el tiempo promedio estaba alrededor de 200 ms. Se verifico la viabilidad de utilizar los contrastes de colores en el procesamiento de las imágenes, para así poder tener un objeto de referencia en la imagen y que el en caso de esta aplicación, el vestido de baño si puede ser utilizado como referencia.. Es posible diseñar un control de dirección adecuado, tomando en consideración que para solucionar los inconvenientes tenidos, se propone programar un ajuste proporcional para cada una de las velocidades o un ajuste especifico para ciertas velocidades. De todas formas es bueno tener en cuenta que estos ajustes se deben tratar con mucha delicadeza, ya que al superponer uno sobre otro, el sistema puede entrar en una inestabilidad no deseada. Otra solución propuesta es intentar alargar los pulsadores de los switches, con esto se puede saber si el switch está siendo accionado por una cantidad de tiempo muy larga, lo que puede llevar a aumentar la ganancia y poco a poco corregir la dirección.. De cualquier manera, es posible montar el prototipo sobre un riel, decisión que aumentaría significativamente los costos y posiblemente tendría que variar el diseño de construcción del prototipo, pero lograría el objetivo de filmar a los nadadores bajo el agua.. Por último, se comprueba que el uso del prototipo tiene una mayor exactitud que el humano, validando la construcción de un mecanismo autónomo, para poder tener videos que cumplan con él objetivo. 30.

(39) IMEC-2008-II-GOMEZ, S. 9 Bibliografía 1. A Tutorial on Servo Visual Control. Hutchinson, Seth, Hager, Gregory D. y Corke, Peter I. 5, s.l. : IEEE Transaction on robotics and automation, October 1996, Vol. 12. 2. Natick, Mass. Math Works, Inc, Image Processing Toolbox. 2004. 3. —. Math Works, Inc, Image Acquisition Toolbox. 2004. 4. Ibarra Zanatha, Juan Manuel. V Jornadas iberoamericanas de robotica, Programacion de robots en tareas inustriales. 21 de Mayo de 2004. 5. Quintero Torres, Juan Manuel. Modelaje y diseño de un control de acompañamiento para una silla de ruedas. Bogotá : s.n., 2006.. 31.

(40) IMEC-2008-II-GOMEZ, S. 10 Anexo 1 – Codigo de MatLab clc clear all %%Numero de iteraciones it=200; %% Inicializar video my_log='prueba20.avi'; aviobj=avifile(my_log); aviobj.Quality = 100; vid=videoinput('winvideo'); vid.LoggingMode='disk&memory'; vid.DiskLogger=aviobj; triggerconfig(vid, 'manual') set(vid,'TriggerRepeat',it); set(vid,'FramesPerTrigger',1) set(vid,'TriggerFrameDelay',0). %Inicializar Salida de Voltaje ao = analogoutput('nidaq',1); chans = addchannel(ao,0:1); set(ao,'TransferMode','Interrupts'); %%Inicializar entrada de voltaje ai = analoginput('nidaq',1); set(ai,'triggertype','manual'); set(ai,'TriggerRepeat',100); chan = addchannel(ai,0:2); set(chan,'inputrange',[-10 10]); start(ai);. %%Inicializacion de variables voltentrada(1)=0; data1 =0; ref=40; gananciaint=0.5; ganancia=0.2 data(1)=0; t(1)=0; putdata(ao,[data1 data1]); start(ao); start(vid); 32.

(41) IMEC-2008-II-GOMEZ, S wait(vid,1,'logging'); trigger(ai); %%Ciclo de iteraciones for i=2:it; t0=clock; %% Adquirir Imagen y procesarla trigger(vid); a(:,:,:)=getdata(vid,1); c=rgb2gray(a(:,:,:)); d=imresize(c,[60 80]); e=imadjust(d); x=min(e); %%Buscar Negros k=1; while (x(k) > 0)&&(j<=length(x)); k=k+1; end if k >length (x); posi(i)=0; else posi(i)=k; end k=80; while (x(k) > 0)&&(j<=length(x)); k=k-1; end if k >length (x); posf(i)=0; else posf(i)=k; end pause(0.05) voltentrada=getsample(ai); entrada(i,:)=voltentrada;. %% Promedio de negros pos(i)=(posi(i)+posf(i))/2; %% Error de posicion error(i)=ref-pos(i); %% Integrador. 33.

(42) IMEC-2008-II-GOMEZ, S %. Ultimas 5 posiciones if i=2 int(i)=0 else if i=3 int(i)=error(i-1)*t(i-1); else if i=4 int(i)=error(i-1)*t(i-1)+error(i-2)*t(i-1); else if i=5 int(i)=error(i-1)*t(i-1)+error(i-2)*t(i-1)+error(i-3)*t(i-3); else if i=6 int(i)=error(i-1)*t(i-1)+error(i-2)*t(i-1)+error(i-3)*t(i-3)+error(i-4)*t(i-4); else int(i)=error(i-1)*t(i-1)+error(i-2)*t(i-1)+error(i-3)*t(i-3)+error(i-4)*t(i-4)+error(i5)*t(i-5); end end end end end integrador(i)=gananciaint*int(i). %. Direccion if entrada(i,2)>6.5 direccion(i)=0.5*(entrada(i,2)-6) else if entrada (i,2)<5.5 direccion(i)=-0.7*(6-entrada(i,2) else direccion(i)=0 end end. stop(ao) data(i)=(-error(i))*ganancia + integrador(i); datad(i)=data(i)+direccion(i) putdata(ao,[data(i) datad(i)]); start(ao) t(i)=etime(clock,t0)'; end stop(ao) data(i)=0;. 34.

(43) IMEC-2008-II-GOMEZ, S putdata(ao,[data(i) data(i)]) start(ao). 35.

(44)

Referencias

Documento similar

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

La determinación molecular es esencial para continuar optimizando el abordaje del cáncer de pulmón, por lo que es necesaria su inclusión en la cartera de servicios del Sistema

1) La Dedicatoria a la dama culta, doña Escolástica Polyanthea de Calepino, señora de Trilingüe y Babilonia. 2) El Prólogo al lector de lenguaje culto: apenado por el avan- ce de

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

• No hay un acoplamiento mecánico entre las ruedas de la tracción. • En una vuelta, el controlador de velocidad aplicará menos potencia a la rueda interior. •

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

En este sentido, puede defenderse que, si la Administración está habilitada normativamente para actuar en una determinada materia mediante actuaciones formales, ejerciendo