Autor: Fermín Pradena.
Competencia: Creatividad e innovación, 1°Sem.
Palabras clave: Robot sumo, programacion, nxt, nxc.
Descripción de la actividad
Esta fue una actividad del ramo Programación de robots(primer semestre) donde teníamos la tarea de diseñar y programar un robot que fuese capaz de vencer a otros en una arena de lucha de manera que pudiese desarmarlos o expulsarlos de la arena.
Solución de la actividad
A continuación le describiremos los pasos que seguimos, los objetivos, ideas principales y problemas que tuvimos para enfrentar el proyecto “Sumo” además de las conclusiones que obtuvimos y errores que pensamos cometimos, el proyecto sumo se trataba de un campeonato, en el cual el diseño del robot era libre, el robot tenia que cumplir con mantenerse dentro de un área de combate delimitada y tratar de hacer que el robot contrario saliera de esta o quedara inmovilizado, teníamos a nuestra disposición todas las piezas dentro del kit y podíamos usar todos los sensores que utilizamos en los proyectos anteriores, solo que esta vez nosotros debíamos decidir la mejor manera de utilizarlos, como grupo decidimos que la mejor manera de abordar este desafio era primero definir la estructura del robot, la cual era escencia para crear el código ( por la posición de los sensores ) por lo que empezamos por ahí, una vez decido del diseño pasamos a la creación del código que se explicara con detalles mas abajo, finalmente hacemos una conclusión y analizamos los resultados quedando demostrado si cumplimos con las expectativas y si usamos de manera correcta los sensores y rutinas antes aprendidas.
Patrón de ataque y defensa 
El
 programa de nuestro robot esta diseñado para ejecutar tres rutinas, las
 cuales están divididas en búsqueda, ataque y defensa. En primer lugar, 
avanza con ambos motores hasta la mitad del circulo, donde al llegar 
comienza a girar en su propio eje a toda potencia, esto para poder 
detectar con su sensor de ultrasonido al robot contrario, una vez que 
esto se realiza, el robot pasa a modo ataque, en el cual avanza con 
ambos motores y toda la potencia embistiendo al robot rival, otra parte 
del programa es la rutina que se ejecuta una vez el robot detecta la 
línea negra que es el contorno del área de combate, cuando el robot con 
su sensor de luz detecta esta línea realiza un giro y vuelve a girar 
sobre su propio eje, esto se puede considerar además como un movimiento 
defensivo, puesto que mientras el robot gire a toda potencia al robot 
enemigo se le complicara embestirlo, y lo mas probable es que al ser 
embestido, nuestro robot siga girando y logre salir de la parte frontal 
del otro robot, continúe girando y detecte al robot enemigo y realice un
 contrataque, en todo momento desde que el robot inicia el programa 
tenemos un tercer motor activado, el cual esta conectado a dos garras, 
una a cada lado del robot, esto lo consideramos un ataque “auxiliar” 
teniendo la finalidad de que en caso de que al embestir al robot 
contrario, este llegara a “montarse” sobre nosotros producto de nuestra 
rampa, las garras laterales debían de golpearlo para arrancarle alguna 
pieza o empujarlo para que cayera de costado y así ganar el combate.
Link del codigo: http://www.mediafire.com/?ckbabcn8vj9fufc
Análisis de enfrentamiento 
La
 conclusión que podemos sacar de nuestros combates es que a pesar de 
tener un 50% de efectividad y perder en segunda ronda el programa 
funciono como lo esperábamos, en el primer combate nos enfrentamos a uno
 de los pocos robot que no contaba con una rampa frontal, lo cual fue 
una gran ventaja para nosotros, además de que el robot enemigo tenia un 
espacio entre el suelo y el cuerpo del robot que nos permitió levantarlo
 con ayuda de nuestra rampa y lanzarlo fuera de la arena, conseguimos 
que en el segundo round, a pesar de que ellos lograron embestirnos en 
primera instancia, no consiguieron sacarnos como lo planeaban, nuestros 
robot se engancharon, por lo que ese round fue declarado un empate, ( a 
pesar de que según las reglas debimos ganar ese también, porque el robot
 enemigo en medio de la batalla perdió varias piezas )finalmente el 
tercer round fue un mero tramite en ámbitos de combate, nuestro robot 
detecto primero al de ellos, lo embistió y lo saco sin que nuestro rival
 tuviera nada que hacer.
El segundo combate fue bastante mas reñido, nos enfrentamos a un equipo que también tenia un robot con rampa, además de usar los 3 motores para empuje, el combate se decidió de manera unánime al momento de chocar los robots, el contrincante al tener 3 motores para empujar, se llevo en potencia a nuestro “Eddie” el cual a pesar de ser mas grande, no tenia la tracción suficiente para sostenerse de la embestida, en el segundo round, los robots se engancharon, y perdimos porque mientras girábamos fuimos acercándonos mas a la orilla y salimos ( cosa de suerte ) y el tercero aunque era innecesario de realizar, lo hicimos y ganamos, nuestros robots no se detectaron, así que empezaron a buscarse, el de ellos al llegar a la línea se propuso girar y por un error termino saliendo de la pista.
El segundo combate fue bastante mas reñido, nos enfrentamos a un equipo que también tenia un robot con rampa, además de usar los 3 motores para empuje, el combate se decidió de manera unánime al momento de chocar los robots, el contrincante al tener 3 motores para empujar, se llevo en potencia a nuestro “Eddie” el cual a pesar de ser mas grande, no tenia la tracción suficiente para sostenerse de la embestida, en el segundo round, los robots se engancharon, y perdimos porque mientras girábamos fuimos acercándonos mas a la orilla y salimos ( cosa de suerte ) y el tercero aunque era innecesario de realizar, lo hicimos y ganamos, nuestros robots no se detectaron, así que empezaron a buscarse, el de ellos al llegar a la línea se propuso girar y por un error termino saliendo de la pista.
Diseño del robot 
El robot contaba con tres motores, utilizábamos dos para la movilidad orientados estructuralmente de forma paralela,
El tercero controlaba dos garras que estaban estructurados en forma de hélice en sentido vertical,
Las cuales pretendían aferrarse a los cables del enemigo y por efecto desconectarlos, o enredarlos y arrastrarlos a partir de ello.
El robot también contaba con una rampa, nuestra arma fundamental, estratégicamente como equipo habíamos planeado que, si nuestro robot
 lograba levantar al enemigo e impedirle el roce de las ruedas con el 
suelo lograríamos un empuje desenfrenado que lo sacaría afuera del 
círculo.
Sobre
 la rampa situamos el sensor de ultra sonido lo cual tenía una función 
muy particular, consideramos que en esa posición del robot seria una 
gran desventaja poner un sensor de tacto debido a que tendríamos que 
aguardar que el enemigo atacara para que nuestro robot realizara una reacción, lo cual seria peligroso, además no teníamos en mente estar ala defensiva.
Sobre
 el sensor de Luz, lo ubicamos abajo de la rampa y entre los motores de 
ambas ruedas, estructuralmente se encontraba en el centro del robot y 
oculto de la vista, nuestro sensor estaba muy bien protegido fue en la 
ubicación de dicho sensor en la cual mas dedicación le 
pusimos ya que si nos atacaban y perdíamos en funcionamiento del sensor 
automáticamente perderíamos las peleas.
Sobre
 el peso, el peso para nuestro robot era fundamental ya que nos dimos 
cuenta de que no solo bastaba aplicarle la máxima potencia a los motores
 para empujar al contrincante, durante pruebas que realizamos notamos que al empujar y no tener suficiente peso el robot “patinaba” y
 no lograba avanzar. Fue por eso que le implementamos unas piezas de 
lego, que visualmente parecía inservible, pero su único fin era generar 
peso.
Sobre
 el sensor de tacto, nosotros no utilizamos sensor de tacto, ya que 
nuestra estrategia no lo contemplaba no esta en nuestros planes tener al
 enemigo tan cerca, ni realizar alguna acción si se activaba el sensor, 
además de que teníamos complicaciones de implementarlo al robot un 
sensor para su estructura de 20 cm de largo parecería inservible.
Uso de los sensores
Sensor de Ultrasonido
Este
 sensor lo ubicamos en la parte frontal del robot, y se podría 
considerar como el corazón de nuestro ataque, puesto que con este sensor
 determinaríamos el “cuando atacar”, determinamos una distancia 
especifica y al encontrar un objeto a una distancia menor, ejecutaba la 
rutina “ataque”, al principio habíamos ubicado
Muy alto este sensor, pero nos dimos cuenta de que seria 
Una desventaja al enfrentarnos a robots que tuvieran un perfil bajo
Sensor de LUZ  
El sensor de luz lo ubicamos en el centro del robot
oculto
 de la vista, su trabajo era escencial, evitarnos el salir del área de 
combate, el uso de este sensor es bastante sencillo, al ser el área de 
combate blanca y con un contorno negro, al detectar el contorno, para 
evitar salir del circulo, el robot giraba hasta “dejar de ver negro”.
Fotografía del robot 
Video de un combate de nuestro robot(para omitir mucho ruido y posibles garabatos, no es necesario activar su audio): 
Esta fue una actividad entretenida ya que nos dava la opción de diseñar nuestro propio robot luchador, aunque por lo mismo tenia una dificultad mas o menos alta ya que los demás grupos igual podían crear un buen luchador, pero al fin y al cabo nos mantuvo entretenenidos durante el largo tiempo de trabajo que gastamos en él.
Te invito a que compartas comentarios y dudas acerca de esta actividad, gracias...

 
No hay comentarios:
Publicar un comentario