Construcción de Un Robot Minisumo de Competencia
Short Description
Descripción: aprenda a construir su propio robot minisumo...
Description
Universidad Católica de Santa María Escuela Profesional de Ingeniería Electrónica Grupo de Robótica K-TOBOTS
Autor: Bruno Valencia Rodríguez
1 Tutorial robot minisumo Bruno Valencia Rodríguez
Construcción de un robot mini sumo de competencia REGLAMENTO Dohyo El tamaño total del dohyo es de 80cm, el interior es de 77.5cm y de color negro mate y el borde debe ser de 2.5cm de blanco brillante, además debe estar situado a una altura de 2.5cm sobre el suelo.
Peso y tamaño El robot deberá contar con las siguientes especificaciones:
Restricciones al diseño El robot no tendrá partes que puedan dañar el dohyo. El robot no puede disparar proyectiles. El robot no puede tener un dispositivo que lo fije al dohyo y le impida moverse. No se puede diseñar el robot para que se divida en diferentes piezas al empezar el combate. Se pueden desplegar estructuras siempre que el robot pueda recogerlas autónomamente de modo que este dentro del área máxima una vez finalizado el combate. Combate El combate consiste en 3 asaltos de una duración máxima de 3 minutos. El asalto comienza 5 segundos después de que se dé la señal. El robot que se mueva antes de 5 segundos pierde el combate. Gana el combate el robot que consiga echar a su adversario del dohyo sin caerse de él. El asalto se repetirá si los robots quedan trabados indefinidamente o si los dos robots tocan el suelo a la vez. Un robot pierde el combate si se le cae alguna pieza. 2 Tutorial robot minisumo Bruno Valencia Rodríguez
MATERIALES: 1 Chasis
1 Par de llantas con goma de caucho o silicona
3-5 Sensores Sharp GP2Y0D340K o GP2Y0A21YK0F
3 sensores QRD1114 o QTR-1A
1 puente H TB6612FNG
3 Tutorial robot minisumo Bruno Valencia Rodríguez
1 Tarjeta o sistema de control MINI SUMO BOARD
2 Motores pololu 50:1 HPCB
1 Juego de soportes para los motores
1 Batería Lipo 7.4v o 11.1v
Extras Tornillos, tuercas, cargador balanceado (para las baterías lipo), pegamento, cable termo retráctil, zip ties, pistola de silicona. Con los componentes ya definidos, ahora procedemos a diferenciar las etapas del proyecto, en el diseño de este tipo de robot tenemos por lo menos 5 áreas a desarrollar y que deben trabajar en conjunto en perfecta armonía para que el robot funcione perfectamente. 4 Tutorial robot minisumo Bruno Valencia Rodríguez
Control Es el circuito impreso con el microcontrolador (Arduino nano) al que conectaremos los sensores y botones además del driver (TB6612FNG) para los motores. Chasis o estructura Es la estructura en la que colocaremos todos los componentes del sistema, puede ser construido de manera casera o con métodos más especializados como un mecanizado CNC o impresión 3D. Planta motriz (motores y llantas) Es lo que generara el movimiento del robot, tanto los motores como las llantas deben ser elegidos para que trabajen en perfecta armonía, en este caso utilizaremos unas llantas diseñadas en aluminio por Jsumo.com. Sensores Son los dispositivos que le permitirán a nuestro robot reconocer su entorno y al oponente. EMSAMBLAJE DEL ROBOT: Primero debemos definir el modelo de minisumo que vamos a construir, para eso es recomendable que empecemos con las medidas que vamos a utilizar, en este caso mi diseño será de 9.5 x 9.5cm, esto debido al grosor del material que voy a utilizar (láminas de inox), luego ubico los soportes para los motores y las ruedas lo más pegado al borde para poder aprovechar todo el espacio posible además de los sensores QTR-1A para detectar el borde del dohyo.
5 Tutorial robot minisumo Bruno Valencia Rodríguez
Luego el diseño lo trasladamos a AutoCAD para así poder ingresar las medidas exactas y poder realizar un diseño en cartón de lo que será el chasis del robot
Una vez impreso el diseño lo pegamos en una lámina de cartón y luego procedemos a cortar las piezas, comprobamos que las medidas son correctas y que los componentes encajan sin problemas, de lo contrario realizamos los respectivos cambios en AutoCAD
Con la ayuda de cinta juntamos todas las piezas del chasis y luego añadimos los sensores con su respectivo cableado ademas de la bateria y el circuito, para asi poder tener una idea de como seria nuestro minisumo ya terminado
6 Tutorial robot minisumo Bruno Valencia Rodríguez
Una vez que ya estamos seguros de nuestro diseño, procederemos a implementarlo, en este caso usaremos una lámina de inox de 1mm de grosor y cortaremos las piezas con la ayuda de una cortadora de plasma CNC, la cual nos otorga precisión en los cortes, en especial en los agujeros de los tornillos y los espacios para poner los sensores Sharp, una vez realizado el corte se aplicó unos puntos de soldadura en lugares estratégicos, ya que mucha soldadura puede llegar a doblar el chasis de nuestro robot
7 Tutorial robot minisumo Bruno Valencia Rodríguez
Para que tenga un acabado más profesional se procedió a aplicar una capa de pintura, en este caso de color negro mate, pero se puede utilizar cualquier color o inclusive como otros diseños un sticker que simule la textura de fibra de carbono
Con el chasis ya terminado el siguiente paso es añadir los sensores (los de línea y proximidad), se sujetaron a su posición con la ayuda de la pistola de silicona, además se puede apreciar que a los sensores se los añadió un conector de 3 pines para que sea más fácil conectarlos al CPB
8 Tutorial robot minisumo Bruno Valencia Rodríguez
Una vez que acomodamos todos los sensores y los motores con sus respectivos brackets nos debería quedar de la siguiente forma, como se aprecia en las imágenes
En este punto y realizando algunas pruebas me di cuenta que seria necesario añadirle una cuchilla a la parte delantera del robot, para poder levantar al oponente y tambien para que el minisumo se encuentre lo mas pegado al suelo, asi que para no modificar mucho la estructura solo fue necesario reducir el tamaño de las piezas de los bordes como se aprecia en la imagen Corte de 1cm a ambos lados del robot
El resultado del corte es el siguiente, aclaro que solo se cortaron los bordes, mas no la base, esto debido a que nos será útil más adelante para añadir la cuchilla
9 Tutorial robot minisumo Bruno Valencia Rodríguez
Para la cuchilla se utilizo una lamina de aluminio que se recicló de una campana extractora, se realizaron las respectivas medidas y la pegamos con un adhesivo fuerte como es el SOLDIMIX, algo importante que cabe indicar es que es necesario estar atento al angulo de la cuchilla para que quede lo mas recto posible, de lo contrario cuando se seque el pegamento sera casi imposible realizar cambios
Como se utilizo un esmeril para realizar los cortes la pintura se dañó asi que fue necesario retirarla por completo y volver a pintar todo (menos la cuchilla que fue cubierta con cinta para que mantenga su color metalico y se lo mas lisa posible)
10 Tutorial robot minisumo Bruno Valencia Rodríguez
Ya con todos los componentes colocados de nuevo, se procedio a diseñar la placa, esta debia ser de cierta medidas para que pueda encajar a la perfeccion en el robot, asi que el diseño se realizo en EagleCAD
Como se puede apreciar en la placa son 7 entradas analogicas (3 sensores de linea y 4 para los de proximidad), ademas de las borneras para la alimentacion y los motores y por ultimo un dipswitch de 4 para poder activar la estrategia que necesitemos
11 Tutorial robot minisumo Bruno Valencia Rodríguez
Se comprobó que la medida era la correcta y cumplia con nuestros requerimientos
Y luego se procedio al quemado de la placa, el resultado final fue este, notese que tambien se pintó la placa de negro con lo que sobró de la pintura del robot
12 Tutorial robot minisumo Bruno Valencia Rodríguez
Por ultimo se implementó todo en conjunto y el resultado fue el que se aprecia en las imagenes
Para mejorar la traccion de las ruedas y aumentar el peso del robot casi al limite de los 500grms, se fabrico una pieza en aluminio
13 Tutorial robot minisumo Bruno Valencia Rodríguez
El resultado final es el que se aprecia en las imágenes, con el hardware terminado al 100% y listo para ser programado
PROGRAMACION DEL ROBOT Nos ayudaremos de un esquema para poder entender la disposicion de los sensores de nuestro robot
14 Tutorial robot minisumo Bruno Valencia Rodríguez
Si vas a utilizar 4 sensores dispuestos como se muestra en la figura podrías tener la siguiente tabla de verdad.
Son muchas las condiciones que no se cumplen para una competencia de minisumo, por ejemplo la última condición de que todos los sensores estén detectando nunca se va a cumplir ya que es imposible que todos los sensores dispuestos de esta manera estén detectando a la vez, por lo cual no se tendría en cuenta esta condición a la hora de programar. Así mismo pasa con las otras condiciones que se descartan con una X, (recuerda que esto depende de cómo acomodes los sensores). La diferencia entre Derecha fuerte y Derecha suave, es que Derecha suave se logra haciendo girar solo la rueda izquierda de tu robot y dejando la rueda derecha quieta, mientras que derecha fuerte se logra haciendo girar la rueda izquierda hacia adelante y la rueda derecha hacia atrás, esto con el objetivo de que tu robot gire más rápido hacia la derecha. Así mismo para el lado izquierdo. Esto es solo una recomendación ya que tú puedes desarrollar diferentes tipos de estrategias y mejores algoritmos para tu programación. Debes investigar. A continuación se detalla un código escrito por Jason Salazar de www.tdrobotica.co
15 Tutorial robot minisumo Bruno Valencia Rodríguez
//Declaracion de pines para sensores int SharpDer = A0; int SharpIzq = A1; int QtrDer = A2; int QtrIzq = A3; int SharpladoDer = A4; int SharpladoIzq = A5;
//Declaracion de variables para leer los valores de los sensores int Sizq = 0; int Sder = 0; int SLadoizq = 0; int SLadoder = 0; int Qder = 0; int Qizq = 0; //Declaracion de pines para los motores int Mder1 = 4; int Mder2 = 5; int Mizq1 = 6; int Mizq2 = 7;
int Led = 8; void setup() { pinMode(Mder1, OUTPUT); pinMode(Mder2, OUTPUT); pinMode(Mizq1, OUTPUT); pinMode(Mizq2, OUTPUT); pinMode(Led, OUTPUT); digitalWrite(Led, HIGH); // set the LED on delay(5000); // Tiempo de Seguriadad } void loop() { sensores(); // Estos valores de 300 pueden cambiar dependiendo de cada sensor, cuando es menor a 300 se refiere a que no detecta nada, y mayor a 300 es que el sensor esta detectando algo // sin embargo eso lo debes comprobar tu mismo con tus sensores. if((SLadoizq
View more...
Comments