Вы находитесь на странице: 1из 4

AGUIRRE, ARIAS, LEIVA, ROJAS, ROMERO, SOLÍS, VARGAS SISTEMA DE SEGUIMIENTO DE UN BALÓN DE FÚTBOL 1

Sistema de Seguimiento de un Balón de Fútbol


Daniel Aguirre Sosa, Ronny Arias Mora, Luis José Leiva Monge, Jorge Andrés Rojas Varela, Victor Romero
Sandoval, Daniel Solı́s Solı́s, Juan Pablo Vargas Villalobos leinad14896@gmail.com ronarias.m@gmail.com
ljleiva24@gmail.com jorgea1996@gmail.com victor121395@hotmail.com darssolis@gmail.com
jvargas700@gmail.com
Área Académica de Ingenierı́a Mecatrónica
Instituto Tecnológico de Costa Rica

Resumen—Se implementa un sistema mecatrónico capaz de crear el sistema, ası́ como las dificultades que se presentan
seguir con una cámara el movimiento omnidireccional de una al trabajar entre dos grupos diferentes de trabajo.
bola, todo esto a partir de una base móvil basada en ejes y El principal logro que se obtuvo del proyecto fue poder
engranes y el uso de sensores finales de carrera, además de dos
motores CD. Se describirá el proceso y las consideraciones que unir las dos partes de forma eficiente como son el diseño
se tuvieron en la fabricación de la parte de mecánica, de diseño, de mecanismos con la parte electrónica logrando obtener un
de la electrónica y la de control. sistema funcional que sirve de manera correcta ajustándose a
Palabras clave—Diseño, Microprocesador, Microcontroladores, los requerimientos solicitados.
Motores CD, procesamiento de imagenes, Raspberry Pi.
II. D ESCRIPCION DEL PROBLEMA
I. I NTRODUCCI ÓN Se pide la implementación de una cámara que sea capaz de
seguir el movimiento omnidireccional de una bola de futból,
La mecatrónica es una disciplina que logra integrar distintas hasta ubicarla en el centro de la imagen, para esto, es neceario
ramas de la ingenierı́a como lo son la parte mecánica, la crear una base móvil que permita a la cámara un rango de
eléctronica, la computación y los sistemas de control. Enfoca movimiento de 90◦ en el eje vertical y 180◦ en el horizontal.
su estudio en proporcionar sistemas integrales, inteligentes, También es necesario que dichos movimientos tengan algún
flexibles y funcionales que permiten crear productos versáti- tipo de limitante tanto en la parte electrónica como en la
les, económicos, fiables, simples y en armonı́a con el ser mecánica para evitar dañar el sistema y el consumo innecesario
humano y el medio ambiente. Parte importante de los sistemas de energı́a. Se solicita que se utilicen dos motores CD para el
mecatrónicos es el diseño mecánico. Diseñar es formular un movimiento del mecanismo pero con las limitantes de que
plan para satisfacer una necesidad especı́fica o resolver un estos estén colocados paralelos entre sı́ y los ejes de los
problema particular. Si el plan resulta en la creación de algo motores deben ser perpendiculares al lente de la cámara en
fı́sicamente real, entonces el producto debe ser funcional, posición de reposo. El sistema deberá implementar cuatro
seguro, confiable, competitivo, útil, que pueda fabricarse y diodos LED que señalen en todo momento la dirección del
comercializarse. El diseño es un proceso innovador, altamente movimiento de la cámara y que la intensidad de las luz
iterativo, de toma de decisiones y que requiere de una intensa sea un indicador de la velocidad de la cámara, estos deben
comunicación, por eso es conveniente reservarse el derecho permanecer apagados si el sistema se encuentra en reposo.
de hacer ajustes a medida que se obtenga más información y Para saber la posición en la que se encuentra la bola se debe
comunicarse en forma eficaz en todo momento. implementar un sistema de reconocimiento que funciona con
En el diseño de sistemas mecatrónicos dos elementos ayuda de la cámara y este se debe basar en un microprocesador
comúnmente utilizados y en muchos casos indispensables son raspberry pi 2.
los microcontroladores y microprocesadores, estos dispositivos
son una revolución del desarrollo de la tecnologı́a. En la
III. D ESCRIPCI ÓN DE LA SOLUCI ÓN
actualidad muchos sistemas electrónicos y mecatrónicos los
requieren para optimizar su funcionamiento. De las principales III-A. Parte Electrónica
aplicaciones de estos en la industria se puede observar en III-A1. Algoritmo de seguimiento: Inicialmente se definió
los Procesadores Digitales de Señales y en los Controladores Python como el lenguaje de programación para desarrollar el
Lógicos Programables. Se podrı́an decir que estos dan pie a algoritmo debido a que al ser un lenguaje de alto nivel permitı́a
aplicaciones limitadas solo por el ingenio y la imaginación de implementar la función con código que facilitaba la interpre-
los programadores. tación de lo que se estaba haciendo y de lo que se deseaba
En el siguiente informe se va a presentar la descripción de hacer. Seguido a esto, se instaló Numpy y OpenCV para el
un sistema mecatrónico capaz de detectar un balón a través de desarrollo de las funciones aplicadas a matrices necesarias
una cámara y una base móvil, las soluciones que se planteron para analizar imágenes. Inicialmente se obtuvo una imagen,
para crear el dispositivo, tanto en la parte de diseño mecánico correspondiente a una captura de lo que la cámara estuviese
como en la parte de la electrónica y control. También, se van viendo en el momento, a la cual, tomando la imagen como
mencionar las principales dificultades que se tuvieron para una matriz, la cual se transformo de matriz RGB a HSV, en
AGUIRRE, ARIAS, LEIVA, ROJAS, ROMERO, SOLÍS, VARGAS SISTEMA DE SEGUIMIENTO DE UN BALÓN DE FÚTBOL 2

otras palabras, se pasó de una imagen basada en colores rojo, También a base de la posición de la pelota se definen la
verde y azul, a una imagen basada en el matiz, saturación, y salida de las patillas con lo cual se controla la dirección de
valor de lo que se estaba viendo. A continuación, se restringió los motores, debido a que el movimiento de la cámara se
los valores de la matriz HSV para ası́ solo ver un color en encuentra limitado, por medio de la activación de los sensores
especı́fico, en este caso verde y sus diferentes tonos, para ası́ de contacto el microcontrolador recibe una señal de activación
poder trabajar con buena o mala iluminación. Se eliminó el de interrupciones, inicialmente se manejó la idea de que la
ruido de pixeles no deseados erosionando la imagen y se le interrupción modificara una variable interna en el programa y
dio mejor forma dilatando los pixeles para rellenar espacios a base de esta variable de realizar el manejo de la interrupción
huecos. Una vez asegurada la detección correcta del objeto pero luego se modificó a que cambiara el estado de 2 patillas y
a seguir, deseando conocer las coordenadas del objeto en la el estado de estas patillas definiera cual manejo de interrupción
matriz de la imagen, se definió un circulo que rodease al objeto se realizarı́a, entonces mediante el manejo de interrupciones
detectado y calculando áreas se pudo obtener la posición del se detiene el motor en el eje que haya alcanzado su lı́mite y
centroide de dicho objeto. lo reactiva cuando se cumpla la condición de que la bola se
III-A2. Transmisión de datos: Para observar donde se encuentra en el lado opuesto al sensor activado. Luego de esto
encuentra el objeto a seguir con el sistema, se utiliza una el programa regresa a su ciclo normal hasta que se llegue a
cámara la cual por medio de la programación realizada en activar alguna otra interrupción.
Python, reconoce los objetos con el color programado, de tal III-A4. Implementación del Circuito: El circuito inicial-
forma que cuando reconoce el color de la bola, por medio mente se modelo en proteus debido a que es una herramienta
de librerı́as que facilita Python se puede calcular donde está sumamente útil ya que es capaz de simular, a base del archivo
el centroide de dicho bola y ası́ poder tener las coordenadas compilado, el funcionamiento del microcontrolador, luego de
en un cuadro que nosotros delimitamos, esta información es esto se procedió a implementar el circuito simulado en una
enviada al microprocesador que se utilizó, en este caso es protoboard de tal manera que se pudiera realizar cambios con
una Raspberry Pi2, la cual con la programación de Python facilidad.
realiza las instrucciones necesarias para seguir con el proceso El circuito consistı́a principalmente en el microcontrolador,
de seguir la bola. incluyendo un circuito anti rebotes conectado a la salida de
Las bibliotecas más importantes y que son relevantes pa- cada uno de los fin de carrera, con el propósito de cuando
ra poder reconocer los colores que detecta la cámara son estos se activen sea solamente cuando se mantiene presionado
OpenCV, Numpy y HSV, los cuales se complementan para y ası́ asegurarse que la señal eléctrica correspondiente a la
lograr una mayor precisión en la lectura de las coordenadas. interrupción externa sea optima, los valores de la resistencia y
Las coordenadas se envı́an al microcontrolador capacitor se determinaron con el tiempo de respuesta cuando
PIC18F4550, a través de los pines SDA, SCL y tierra, se da mı́nima presión sobre el interruptor del fin de carrera, en
encargados de la transmisión de datos y señal de reloj nuestro caso ese valor resulto ser de 10 milisegundos y debido
respectivamente. Después de esto el PIC18f4550 con la a que un capacitor requiere de 5 veces tao para que se cargue
programación que se le implementó realiza los siguientes por completo se obtiene que se necesita diseñar el filtro para
pasos para que el sistema siga funcionando. 50 milisegundos, por lo tanto tratando de encontrar valores
III-A3. Control: Primeramente se realizó un estudio de de resistencias y de capacitores disponibles a nivel comercial
las necesidades de diseño en lo relacionado con la parte se determina que se requiere utilizar una resistencia de 10
de control y se realizó un análisis cualitativo de distintos kiloohmios, un capacitor de 4,7 microfaradios y un capacitor
microcontroladores con el fin de seleccionar el que mejor de 0,33 microfaradios, esto para cada uno de los circuitos
se ajustara a los requerimientos del problema con el fin anti rebotes. Las salidas del circuito anti rebotes van a una
de dar la más óptima solución, finalmente se seleccionó el compuerta lógica OR de tal manera que los dos fin de carrera
PIC18F4550 tomando en cuenta que tenı́a los suficientes pines horizontales van ligados a una misma interrupción y los dos
en bidireccionales digitales además que contaba con 2 pines verticales a otra interrupción. También a la salida del PWM
de PWM y una gran variedad de fuentes de interrupción. y los pines de dirección, antes del puente H, se implementó
Este se programó utilizando un lenguaje derivado de C a una compuerta lógica NAND con el fin de controlar los
partir del programa CCS compiler, se eligió este programa leds que indicaban el movimiento de la cámara además de
principalmente por facilidad ya que como es un programa de- su intensidad que indicaba la velocidad. Luego de que el
rivado de C fue bastante intuitivo su aprendizaje e inicialmente funcionamiento del circuito estuviera completo se procedió a
se consideró que la utilización de funciones iba a facilitar la la creación de un circuito PCB de una sola cara, por medio
programación a contrario de MPlab que trabaja directamente del programa EAGLE y luego se procedió a soldar todos los
con registros. Como se mencionó el microcontrolador recibı́a componentes, posteriormente se revisó que todo en el PCB
la información de posición de la Raspberry y a base de esta funcionara correctamente.
definı́a el ciclo de trabajo de PWM según una ecuación lineal
con el fin que el motor disminuyera la velocidad y fuera más III-B. Parte de Diseño de Máquinas y Mecanismos
sencillo centrar el balón, este se redireccionaba a la patilla de III-B1. Mecanismos y Estructura: Para la implementación
activación del puente H con lo cual este generaba un PWM del movimiento de la cámara en dos ejes perpendiculares se
con igual ciclo de trabajo, pero mayor potencia ya que la salida optó por emplear una base giratoria en el plano horizontal, ac-
del puente H se alimenta con una baterı́a de 9V. cionada directamente por uno de los motores CD y empleando
AGUIRRE, ARIAS, LEIVA, ROJAS, ROMERO, SOLÍS, VARGAS SISTEMA DE SEGUIMIENTO DE UN BALÓN DE FÚTBOL 3

como apoyo principal una serie de ruedas locas, que soportaran casos identificar otras superficies que no fueran el balón lo
el peso de la estructura y redujeran el factor de fricción en el cual causaba ciertas confusiones de las coordenadas, esto se
giro del sistema. optimizó reduciendo el rango HSV pero aun ası́ en algunos
Sobre esta base se montó el mecanismo de seguimiento ambientes el problema persistı́a.
vertical que consistió en el brazo de soporte de la cámara, Mecánicamente se obtuvieron resultados satisfactorios, el
cuyo movimiento era accionado por el segundo motor CD, sistema de movimiento horizontal, el cual consistı́a en la
acoplado por medio de un engrane recto y uno de corona, rueda central, ensamblada junto con el motor inferior y los
para lograr el cambio en la orientación del eje de giro. Esta rodines, giró de manera eficiente y con buena estabilidad (no se
vez se empleó dos cojinetes para reducir la fricción entre el balanceaba la rueda central sobre los rodines). El eje del motor
eje y la barra central donde descansaba la base de la cámara. inferior no pegó sobre ningún tope (la cara frontal del eje del
Para la estructura general se decidió una carcasa simple motor) en su ensamble con la rueda central, ası́ el motor solo
que cubriera la mayor parte de los componentes electrónicos se encargó de producir el movimiento horizontal sin aguantar
del dispositivo, esta además funcionó como superpifice de el peso de la rueda, solo haciéndola que gire; además el torque
sujeción para algunos de estos, como la PCB, el driver de del motor escogido fue el correcto para mover el sistema sin
los motores y algunos sensores de finales de carrera. problemas.
Entre las consideraciones principales sobre las dimensiones El sistema de movimiento vertical también funcionó de la
de las piezas se hizo especial hincapié en la altura de la placa manera que se esperaba, el acomple de los cojinetes con la
de sujeción de las ruedas locas y en la barra central. La altura barra central fue a la medida y sus respectivos anillos de
de las ruedas locas era importante ya que se requerı́a que estas retención impidieron que se salieran. El acople del engrane
fueran las que sustentaran todo el peso de la base giratoria, recto con el engrane de corona se dió de manera correcta,
para que el motor CD no tuviera más esfuerzo que el de hacer la distancia entre centros era la indicada, no se generó in-
girar la estructura. Esto se logró ajustando la altura de tal modo terferencia entre los dientes y el engranaje no se trabó en
que la base giratoria no se recargara sobre el eje del motor, ningun momento. La base sobre la cual iba la cámara se movió
pero asegurando que este se incrustara lo suficiente en la rueda correctamente junto con el engrane recto y ası́ se produjo el
central para lograr un agarre óptimo para su movilidad. movimiento adecuado.
Por otra parte, la barra central fue crı́tica en muchas de En la unión de ambas partes se obtuvo un funcionamiento
sus dimensiones, ya que al ser el sostén de la base para la bueno pero no perfecto. Al unir ambas partes, se pegaron los
cámara y de los sensores finales de carrera para el movimiento componentes electrónicos a distintos lugares de la carcasa, el
vertical, se necesitaba una distribución especı́fica de las alturas espacio dispuesto para estos propósitos era un lugar detrás del
de estos para lograr los 90◦ requeridos en la movilidad del sistema de movimiento por ello, aquı́ mismo se encontraba
plano vertical. Por otro lado, también la medida de la altura toda la cablerı́a, y al ser está de gran cantidad cuando el
del eje era importante, ya que se necesita adecuar al acople sistema intentaba gira horizontalmente, en ocaciones tenı́a
entre los engranes que permitı́an su movimiento. Además para problemas para hacerlo, ya que los cables interferı́an debido
el diseño de la barra cabe destacar que se tomó en cuenta las a que algunos de estos se encontraban unidos a componentes
cavidades para colocar en ella, tanto los cojinetes, como sus que estaban sobre el sistema de movimiento y se trababan
respectivos anillos de retención. debido a que habı́a poco espacio en donde se localizaban
III-B2. Manufactura: Los principales métodos para la y ası́ impedı́an el correcto movimiento. El resto de aspectos
manufactura de las diferentes piezas mecánicas que confor- si funcionaron de manera correcta, el movimiento vertical se
maron el prototipo final fueron el corte láser y la impresión realizaba sin ningun problema y los sensores para limitar los
3D, debido principalmente a su bajo costo, rapidez y a que grados de movimiento si cumplieron su función tanto fisica-
cumplı́an con la calidad necesaria para el dispositivo. El corte mente (limitaba el movimiento del la reuda central debido al
laser se empleó en piezas más estructurales, principalmente tope que poseı́a esta) como electrónicamente(estos realizaban
carcasa y bases, debido a que sus geometrı́as eran más simples interrupciones en el sistema y se dejaba de enviar corriente al
y se podı́an adaptar fácilmente a este proceso. Por otra parte motor y ası́ se detenı́a).
la impresión 3D se utilizó en las piezas con geometrı́as más
complicadas y con acoples más especificos entre ellas (eje y V. R ECOMENDACIONES ANTE LOS PROBLEMAS
barra central), debido a que con otros métodos la manufactura PRESENTADOS
de estas piezas serı́a muy tediosa y dı́ficil.
Unos de los principales problemas que se presentaron el sis-
tama fue de los cables que impedı́an un correcto movimiento
IV. R ESULTADOS
horizontal como ya se detalló anteriormente. Para solucionar
En la detección del balón y mapeo de movimiento se este problema se pudo haber dejado más espacio en la carcasa
obtuvo un sistema el cual utilizando como punto de referencia para ası́ tener mayor margen para acomodar los componen-
la esquina superior izquierda mapeaba las coordenadas del tes de la manera más idónea. También se pudieron haber
balón y mediante la comunicación I2C enviaba la coordenada seleccionado cables más flexibles(que no fueran tan rı́gidos
horizontal y vertical de manera eficiente. La única limitación como los que se usaron) para ası́ tener menos interferencia
que presento este sistema es debido a la iluminación ambiente en el movimiento, además de sujetar los cables de una mejor
el rango HSV elegido para identificar el color podı́a en algunos manera, de forma que se tenga todo más ordenado.
AGUIRRE, ARIAS, LEIVA, ROJAS, ROMERO, SOLÍS, VARGAS SISTEMA DE SEGUIMIENTO DE UN BALÓN DE FÚTBOL 4

Otra solución a la problemática de interferencia es que se VII. A NEXOS


pudo haber realizado un sistema en el cual el PCB y puente
H giraran junto con la estructura de tal manera que los cables
nunca tuvieras que doblarse esto ligado a un motor mas fuerte
ya que hubiera sido más peso el cual soportar.
Una recomendación grupal seria haber designado más tiem-
po del que se utilizó para reuniones y ası́ comentar los avances
del grupo encargado de la electrónica, grupo encargado de la
parte de diseño mecánico y lo más importante como vamos
a nivel mecatrónica, para ası́ tomar las decisiones respectivas
que ayuden a tener resultado satisfactorio.

VI. C ONCLUSIONES
Figura 1. Sistema mecatrónica que sigue el movimiento de una bola

Para la transmición de movimiento horizontal a vertical


o vicerversa se puede usar un acople de un engrane recto
y uno de corona.
El diseño mecánico es un proceso iterativo, en el cual se
van presentando errores, incovenientes o consideraciones
adicionales durante el proceso que hacen necesario el
rediseño.
Al momento de programar un microcontrolador siempre
es mas ventajoso tener un grado de abstracción alto
debido a que cuando se manejan los registros de manera
directa se puede obtener un mayor control sobre la pro-
gramación a diferencia de cuando se utilizan funciones.
El tamaño del PCB se puede reducir, si se logra sustituir
la utilización de hardware para el manejo de las inte-
rrupciones y vez de esto realizarlas a través de software,
de esta manera se evitarı́a utilizar más espacio para la
colocación de compuertas lógicas. Figura 2. Sistema mecatrónica que sigue el movimiento de una bola
Variando el PWM se podı́a aumentar la fuerza con que
se movı́a el motor encargado del movimiento horizontal,
logrando ası́ romper la restricción que generaban los
cables, pero ası́ mismo se perdia precisión en la cámara
al detectar el color de la bola debido a la misma fuerza
que tenı́an los motores.

R EFERENCIAS

[1] G. Ivanov, Introduction to parallel and concurrent


programing in Python. 2017. [En lı́nea.] Disponible en:
https://code.tutsplus.com/es/articles/introduction-to-parallel-and-
concurrent-programming-in-python–cms-28612d Figura 3. Sistema mecatrónica que sigue el movimiento de una bola
[2] H. Villamil, Modulo de Microprocesadores y Microcontroladores. Chi-
quinquira: Universidad Nacional Abierta y a Distancia, 2009.
[3] Faires, V. M. (1999). Diseño de elementos de máquinas. Limusa,.
[4] Shigley, J. E. (2011). Shigley’s mechanical engineering design. Tata
McGraw-Hill Education.

Вам также может понравиться