Sie sind auf Seite 1von 9

1

DISEÑO, CONSTRUCCIÓN Y PROGRAMACIÓN DE UN ROBOT MINISUMO


Lissette Estefanía Carranza Vargas
liz.stefa@yahoo.es
Estudiante, ESPOCH, EIECRI

Wilian Gerónimo Solarte Rosas


william.solarte@hotmail.com
Estudiante, ESPOCH, EIECRI

Abstract— This document documents the design, construction and programming of a minisumo
robot. The most important part to consider initially was the dimensioning of the robot in all its lines,
it was done through the parameters of the contest, from it the necessary data was obtained to
technically connect all the elements that constitute the robot. The sketch to be made is done in
Solidwork along with the components that make up the robot, the design of the diagram and
subsequent printing on PCB was developed with the Eagle virtual tool, the microcontroller used
was an Arduino pro mini which gave facilities to optimize space In the prototype, the respective
programming was made in the Arduino program with bases of the C ++ programming language
by implementing a PID controller in the programming to achieve a shorter response time and
more effectiveness of the robot. Acceptable results were obtained in the search routine of the
opposing robot and in the behavior that gives priority to the attack. This first version is the basis
for future designs.
Keywords: Robot, Programming, Arduino, Microcontroller, PID.

Resumen— En este escrito se documenta el diseño, construcción y programación de un robot


minisumo. La parte más importante a considerar inicialmente fue el dimensionamiento del robot
en todas sus líneas, se lo realizo mediante los parámetros del concurso, de ello se obtuvo los
datos necesarios para acoplar técnicamente todos los elementos que constituyen el robot. El
boceto a plasmar se lo realizo en Solidwork junto con los componentes que integran el robot, el
diseño del diagrama y posterior impresión en PCB fue elaborado con la herramienta virtual Eagle,
el microcontrolador utilizado fue un Arduino pro mini el cual dio facilidades para optimizar espacio
en el prototipo, la respectiva programación fue hecha en el programa Arduino con bases del
lenguaje de programación C++ implantando en la programación un controlador PID para lograr
un menor tiempo de respuesta y más efectividad del robot. Se obtuvieron resultados aceptables
en la rutina de búsqueda al robot contrincante y en el comportamiento que da prioridad al ataque.
Esta primera versión es la base para futuros diseños.
Palabras clave: Robot, Programación, Arduino, Microcontrolador, PID.

I. INTRODUCCIÓN

La robótica es el área de la ciencia la cual interviene en muchos campos y estos van sujetos a
otras ramas de la ciencia como la electrónica, informática, mecánica, en este proceso de diseño
y construcción de un robot minisumo se puede considerar a la robótica como herramienta en el
proceso educativo donde los estudiantes emplean su imaginación aplicando todos los conceptos
y las prácticas obtenidas a través del transcurso de su carrera universitaria. En la actualidad, la
tecnología demanda creatividad y perfección, por esta razón se busca un diseño con el desarrollo
de características más eficaces, lo cual permita el avance y mejora de prototipos puestos en
marcha, como lo es el caso de los robots minisumos donde su éxito se basa en la calidad de
programación de su microcontrolador, el cual administra a todos los periféricos del robot como
motores que proporcionan la fuerza necesaria para empujar al robot oponente, sensores que son
imprescindibles para lograr no salirse de la pista de batalla y el robot pueda
detectar o identificar su oponente , pulsadores para indicar que el robot se encuentra en modo
de pelea, entre otros. Actualmente existen muchas competencias de minisumos a nivel mundial,
creados por estudiantes y para estudiantes con el fin de competir por el premio al mejor prototipo,
diseño y mejor desempeño en el campo de batalla.
2

II. METODOLOGÍA

 Las técnicas y Métodos empleados en la implementación del robot minisumo son los
siguientes: Método descriptivo: Se emplea con objetivo de analizar los elementos de
forma separada en la implementación y configuración del minisumo para ver las
relaciones entre ellos.
 Métodos experimentales: Se utiliza con el objetivo de determinar y describir las
características de los elementos utilizados, dar solución al problema planteado y la
implementación del mismo.

III. DESARROLLO

1. Diseño del Robot

Para realizar el diseño del robot primordialmente hay que tener presente ciertos parámetros
reglamentarios de la competencia, el robot debe cumplir con ciertos requisitos y desde aquí se
parte para realizar un exitoso diseño. Los requisitos para competir son: peso, y dimensiones del
robot. Para el peso se debe estar dentro de los 500 gramos que es un estándar internacional ,así
como las dimensiones deben ser 10cm de largo por 10cm de ancho, en cuanto a la altura no se
requiere una dimensión específica, aunque si se recomienda que sea lo más bajo posible.

1.1 Materiales

Después de tener en claro ciertos aspectos importantes en cuanto al diseño, el siguiente paso
es definir que materiales o elementos se necesitan para lograr armar un robot minisumo, de la
calidad, ubicación y tipo de los elementos dependerán en gran medida el funcionamiento y
desempeño del robot, en la Tabla. 1 se menciona los elementos necesarios para empezar a
darle forma al robot.

TABLA. 1 MATERIALES DEL ROBOT


Materiales
Elementos Cantidad Características
Estructura de Aluminio 1 Aluminio, de 10x10 cm
Motores Pololu 2 75:1 a 6V HP, 1.6 A
Soportes 2 Sujeta a los motores, son de plástico
Llantas 2 Material goma, mayor agarre
Sensores proximidad 2 Infrarojos, Sharp digitales 340k
Sensor de línea 1 Detecta blanco y negro, qtr1a Pololu
Batería Lipo 1 7.4 V, 2 celdas, 500 mA, 20C VDC
Arduino pro mini 1 Microcontrolador
Puente H 1 DirverTb6612fng, 2 A
Placa 1 PCB, integra todos los elementos
Switch 1 Para prendido y apagado
Diodoled 1 Para saber correcto funcionamiento

1.2 Dimensionamiento

Es de gran importancia conocer las características técnicas del motor que se va a utilizar ya que
es el punto de partida para realizar el dimensionamiento de algunos elementos como el driver
del motor que es el que lo controla y le proporciona la alimentación requerida por este ya sea a
mínima carga o máxima carga.

Para considerar los motores a utilizar una variable fundamental es el peso del robot 500g más
500g del robot rival y para romper la inercia sobre dimensionamos al 20% es decir:
500g+500g+200g =1200g obtenemos 1,2kg de peso total a mover, en la tabla que nos provee el
3

fabricante Fig.1 tenemos la opción de 50:1 y 75:1 para lo cual balanceamos entre torque y
revoluciones por minutos y escogemos 75:1 a 410 rpm a un consumo de 1.6 A.

Fig.1 Tabla de características para dimensionamiento del motor.


Fuente: https://www.pololu.com/category/60/micro-metal-gearmotors

Cálculos del dimensionamiento:


500 𝑔 + 550 𝑔 + 20%(1000 𝑔) = 1200 𝑔
𝑃 = 1.2 𝑘𝑔
Para vencer la inercia con un peso de 1.2 kg es necesario utilizar un motor 75:1 el cual es capaz
de mover un peso de 1.7 kg.cm.

Dimensionamiento Puente H
La tabla entrega el consumo del corriente del motor a plena carga, 1.6 A, se sobredimensiono
para un puente H de consumo de corriente de 2 A.

1.3 Diseño de la Placa PCB

Para el diseño de la placa se utilizó el software Eagle 7.6 profesional en el cual se planifico con
antelación que elementos deben estar presente, por medio de este software se realizan las
conexiones entre los diferentes dispositivos conectado a cada uno correctamente como se
muestra en la Fig. 2.
4

Fig. 2 Diseño y conexión de elementos en la Placa

El siguiente paso es sacar las dimensiones de la PCB donde va ir impreso el diseño de la placa
para posteriormente realizar verificar la impresión de las pistas fueron correctas. A partir del
primer diseño se genera este esquema de impresión.

Fig. 3 Esquema para impresión de PCB


5

2. Construcción del Robot

2.1. Construcción de la Placa PCB

Una vez impreso nuestro diseño en la PCB con las mediciones consideradas procedemos a
realizar las respectivas perforaciones para colocar cada elemento en el lugar antes planificado y
posteriormente proceder a realizar la prueba del funcionamiento de la placa. Al final la placa
determinada luce como se visualiza en la Fig. 4.

Fig. 4 Esquema para impresión de PCB

Después de realizar todas las pruebas necesarias de los elementos que componen la placa
procedemos a realizar el ensamblaje y conexión de todos los elementos que componen el robot,
obteniendo el robot terminado.

3. Programación del Robot

3.1. Estrategias del Funcionamiento del Robot

A la hora de probar las diferentes estrategias se vio que había momentos en los que el robot se
le levantaba la parte delantera. Esto lo dejaba en una posición muy vulnerable ya que si en ese
momento nos atacaba el contrario se colaría fácilmente por debajo y nos empujaría sin esfuerzo
hacia el exterior de la pista. Por eso se realizó un estudio que desemboco en la estrategia Fluida,
llamada así porque las transiciones entre los movimientos se realizan fluidamente y sin que se
levante apenas la rampa delantera.

En primer lugar se hizo un estudio exhaustivo para ver en que transiciones se producía el
levantamiento. Las principales situaciones en las que se levantaba el robot eran:
 Moviéndose hacia atrás → Moverse hacia adelante
 Parado → Moverse hacia adelante
 Girando hacia adelante → Moverse hacia adelante

3.2. Solución del Problema

Después de realizar varias pruebas se llegó a una solución que consistía en que para hacer una
transición fluida entre movimientos se debería pasar por una serie de estados intermedios como
describe el siguiente esquema.

Fig. 5 Estrategias para transición del robot


Fuente: Guillermo, B, & Alfredo, P. (2012). Proyecto Arduino: Sumo Robótico (Tesis de
pregrado).Escuela Técnica Superior de Ingenieros Industriales y de Telecomunicación, Navarra,
España.
6

3.3. Sistema Operativo

Para poder controlar el robot, cambiar su modo de comportamiento, ejecutar distintos programas
se va a crear una especie de sistema operativo sobre el que construiremos todo el resto de la
programación. El sistema operativo se ha construido utilizando una serie de variables de estado
que dirigen el flujo del programa. Las principales variables de estado son las siguientes:

 Modo: esta variable determina si el robot está funcionando en el modo de combate o en


el de menú. Por lo tanto solo puede tomar dos valores.
 Estrategia: esta variable determina de qué forma se va a comportar el robot en el modo
combate.
 Algunas de las estrategias son por ejemplo: Fluida, Suicida, Cobarde, Vueltas
 Nivel: esta variable determina si estamos eligiendo un subprograma en el menú o si lo
estamos ejecutando. Lógicamente tiene solo dos valores.

Fig. 6 Algoritmos del Sistema Operativo utilizado por el Robot

Fuente: Guillermo, B, & Alfredo, P. (2012). Proyecto Arduino: Sumo Robótico (Tesis de
pregrado).Escuela Técnica Superior de Ingenieros Industriales y de Telecomunicación, Navarra,
España.

3.4. Programación Arduino

El software de programación fue desarrollado en Arduino que es un lenguaje de programación


libre el cual con facilidad permite desarrollar el programa que gobernara cada dispositivo, se
empleó conocimientos adquiridos en semestres anteriores, leguajes de programación como C++.

Al programar la placa de Arduino tenemos dos partes bien diferenciadas:


 Secuencia de inicio.
 Bucle que se repite indefinidamente.

Secuencia de Inicio
En la secuencia de inicio configuraremos los pines de Arduino como entradas o salidas. También
cargaremos los valores de algunas variables. En la programación esta parte va en setup.

Bucle
El funcionamiento de Arduino consiste en repetir una y otra vez el mismo programa. No se queda
esperando a que pulsemos un botón sino que está constantemente comprobando si el botón esta
pulsado o no. Tendremos que tener en cuenta esto a la hora de diseñar el sistema operativo. En
la programación esta parte va en loop.
7

En el código elaborado se utilizó la librería Arduino PID Library la cual permite utilizar un
controlador PID (controlador proporcional integral derivativo) para que el robot rastree a su
oponente usando las características propias de un controlador PID, se sabe que un controlador
PID es más eficiente y más preciso que un controlador ON/OFF, este último es muy utilizado en
las competencias de robots mini sumos y sumos en sus algoritmos de detección. Al usar el
controlador ON/OFF surgen muchos inconvenientes en el cual se ha visto que competidores se
van topando para programar a sus robots, por ejemplo, que pasa si quiero subir la velocidad de
los motores al giro, pues el robot empezara a oscilar de un lado a otro como si se volviera loco.
y en ese trance, pues el robot pierde energía y al estar así de inestable, pues el contrincante le
gana la partida, porque lo detecto más rápido. Con un controlador PID operando estos problemas
son superados dando una ventaja sobre el oponente a la vez que el robot gasta menos energía

El control PID aplicado a través de un lazo de retroalimentación permitió regular la velocidad de


los motores de acuerdo a las señales enviadas por el sistema de control, el proceso realizado
por el programa frente a la entrada de datos y parámetros enviados por los sensores fue eficaz.
El controlador PID calculo la diferencia entre nuestra variable real contra la variable deseada.

El término básico es el término proporcional, P, que genera una actuación de control correctivo
proporcional al error.
El término integral, I, genera una corrección proporcional a la integral del error. Esto nos asegura
que si aplicamos un esfuerzo de control suficiente, el error de seguimiento se reduce a cero.

El término derivativo, D, genera una acción de control proporcional al cambio de rango del error.
Esto tiende a tener un efecto estabilizante pero por lo general genera actuaciones de control
grandes.

IV. ANALISIS DE RESULTADOS

Después de haber realizado el estudio de las características que deseamos para nuestro robot,
así como el dimensionamiento de ciertos componentes, lo más óptimo para el diseño e
implementación del minisumo son: las llantas de goma debido a que el material de la llanta está
diseñado para mejor tracción y la máxima adherencia a la pista de competencia, Motores Pololu
75:1 óptimos para realizar el empuje de las dos masas como son nuestro robot y el oponente.
Otro punto importantísimo para que nuestro robot tenga un buen funcionamiento es realizar el
correcto control del mismo y para ello hemos usado un control PID a base de prueba y error en
el cual se pudo llegar a los datos que muestra la Tabla. 2.

TABLA. 2 PRUEBA Y ERROR PID


Pruebas PID
1 50 segundos
2 47 segundos
3 47 segundos
4 45 segundos
5 41 segundos
6 41 segundos
7 36 segundos
8 36 segundos
9 36 segundos
10 28 segundos
11 25 segundos
12 22 segundos
13 22 segundos
14 22 segundos
Al ver que no se tiene una buena respuesta en segundos para la detección del oponente se
procede a mejorar el PID cambiando de valores a nuestros kp, ki, kd y de esta manera obtenemos
los resultados reflejados en la Tabla. 3.
8

TABLA. 3 PRUEBA Y ERROR PID MEJORADO


Pruebas Con PID mejorado
1 33 segundos
2 28 segundos
3 25 segundos
4 23 segundos
5 20 segundos
6 18 segundos
7 16 segundos
8 16 segundos
9 15 segundos
10 14 segundos
11 12 segundos
12 11 segundos
13 8 segundos
14 6 segundos

Después de haber mejorado el pid tenemos respuestas más eficaces y con rapidez rápidas para
la detección del y empuje al oponente.

V. CONCLUSIONES Y RECOMENDACIONES

 Se realizó el seguimiento de una plataforma de robótica online para el conocimiento de


los elementos a utilizar, cuyas principales características son su bajo costo, versatilidad,
adaptabilidad y posibilidad de expansión.

 Se logró desarrollar este robot que está apto para ser utilizado en varias competencias
de robótica móvil, por lo que tiene un gran alcance dentro del ámbito educativo.

 No se recomienda utilizar tarjetas comerciales, pero si quieres un robot más compacto


lo mejor es diseñar tu propia PCB que se acomode a tu diseño, esto te servirá también
para que no necesites tantos cables de conexión.
 Otra recomendación es hacer la PCB a doble cara, todo con el objetivo de que sea los
más pequeña posible y que se acomode al espacio disponible.

VI. REFERENCIAS

[1] E. M. Pérez, J. Marcos Acevedo, C. Fernández S. (2009): “Autómatas programables y


sistemas de automatización”. Editorial Marcombo, Barcelona.

[2] C. García, V. Verdezoto, C. Cedeño. (2016): “Implementación de dos robots autónomos para
las categorías de seguidor de línea y laberinto”. Abril 2016, p. 112-119.

[3] Guillermo, B, & Alfredo, P. (2012). Proyecto Arduino: Sumo Robótico (Tesis de
pregrado).Escuela Técnica Superior de Ingenieros Industriales y de Telecomunicación, Navarra,
España.

[4] [9] Pololu. Micromotores Pololu 10 a 1. Disponible en: https://www.pololu.com/product/999


Extraído: 14/07/2018.

[5] CLUB DE ROBÓTICA-ESPOCH EVENTO ROBOTRONIC 2018. Accessed December 2018 [Online].
Extraido:https://liveespochedumy.sharepoint.com/personal/club_robotica_espoch_edu_ec/D
ocuments/Forms/All.aspx?slr
9

Das könnte Ihnen auch gefallen