lunes, 30 de enero de 2017

El año del Arduino en U.R.D.I

Año nuevo, plataforma nueva, este año en U.R.D.I. nos dedicaremos al usar la placa Arduino uno.

Arduino es el nombre de una familia de placas programables con un microcontrolador (generalmente ATMega328) que se programan mediante un lenguaje basado en C. Estas tarjetas son relativamente fáciles de usar y programar, y son muy útiles para crear prototipos de máquinas electrónicas y para hacer proyectos de electrónica, automatización, robótica, etc.

Todas las placas de arduino son muy similares y todas se programan con el mismo software, nosotros vamos a estar usando a la placa Arduino uno.

Esta es la arquitectura de la placa Arduino Uno y sus principales partes:


Arduino es una plataforma de acceso libre, los esquemas de las placas están al acceso del público y el software con el que se programan las placas es de código abierto y se puede descargar gratuitamente desde la pagina oficial de Arduino.

Niños de Quinto y Sexto grado en Competencia con Robi

Los niños y niñas de quinto y sexto grado del Instituto Técnico Nacional de Comercio participaron en competencia con Robi Seguidor de Línea y Sumo. Esta competencia fue citada por URDI, equipo de robótica de la institución. La competencia se celebró el 28 de Enero de 2017.

El equipo URDI ofreció Certificado de Participación a los 34 niños y realizó premiación para Primero y Segundo Puesto en las dos categorías : Robi Seguidor de Línea y Sumo.






Visita nuestro facebook, allí subimos las fotos de este evento.

domingo, 29 de enero de 2017

Curso de Robi realizado el 21 y 28 de enero de 2017

U.R.D.I., la Unidad Robótica de Instenalco organizó los días 21 y 28 de enero un curso de 8 horas para los estudiantes de quinto y sexto grado de la institución en el que mediante el uso de Robi se les enseñó a los niños las bases de la programación.

Participaron un total de 34 niños, los cuales también aprendieron a programar a Robi en retos como seguidor de linea y sumo.







lunes, 23 de enero de 2017

sumo de robi

Sumo es una modalidad de competencia de robots muy famosa en todo el mundo y de mucha estrategia, el juego se da entre dos robots, ambos se colocan en un circulo con fondo negro y borde blanco, el objetivo es sacar al otro robot del circulo empujándolo.

La pista siempre es la misma en toda competencia, lo que varia es el tamaño de esta:


Son tres rondas, el primero en ganar dos gana el partido, cada ronda es de tres minutos, si ningún robot ha salido después de los tres minutos, la competencia es empate, si después de tres rondas los jugadores siguen empatados se puede hacer una ronda de desempate.

el procedimiento para empezar es simple: se colocan ambos robots en el ring y se encienden al mismo tiempo, en la programación se debe incluir que no empiecen sino hasta cinco segundos después de encendidos.

En cada ronda los robots empiezan en una posición distinta: frente a frente. cola con cola, o posición de piscis:
frente a frente
cola con cola
"piscis"
El concepto para hacer el programa es muy parecido al seguidor de linea, solo que en vez de usar sensores de linea se utilizan los sensores de obstáculo: cuando haya algo al frente avanza, si esta a un lado, gira en esa dirección y avanza. También hay que pensar en lo que el robot hará cuando toque la linea, suponiendo que la tocará de frente haremos que retroceda, esta es la manera más básica de programar a un robi con sumo:



Si te fijas bien en el código notaras una diferencia fundamental con el código del seguidor de linea: cuando no se detecta nada el robot no puede simplemente quedarse quieto ya que seria susceptible a que lo ataquen, entonces en el código anterior, por ejemplo, el robi estará dando vueltas sobre su eje para buscar a su oponente. Según decidamos que va a hacer el robot encontramos que hay dos categorías: los radares y los trotamundos.

Los radares son robots que rotan sobre su propio eje buscando a su oponente por la pista, el de el ejemplo seria clasificado como un radar, un radar que gire muy rápido no alcanzará a detectar nada, pero si gira a la velocidad adecuada siempre terminarán por encontrar a su oponente.

Los trotamundos son robots que avanzan sin rumbo fijo y rebotan en el borde del tablero, avanzando por toda la pista hasta que se da la casualidad de que el robot oponente queda sobre ellos, lo malo es que podrían ser empujados por detrás y ellos mismos se ayudarían a salir de la pista.

También existen posiciones intermedias entre los dos tipos de robot sumo, que son los que dan vueltas en círculos o cerca del borde.

Algunos diseños más sofisticados de el código de "escape de la linea" involucran todos los sensores y le dan una respuesta distinta a cada sensor dada su ubicación en el robot.

Hay otro aspecto que debes tener en cuenta cuando quieras definir las velocidades y es la regla de oro para los motores:

"El torque y la velocidad son inversamente proporcionales en un motor"

Dicho más fácil: si quieres tener fuerza de empuje deberás sacrificar velocidad y si quieres velocidad deberás sacrificar fuerza de empuje, no puedes tener mucho de ambos: entonces mientras más lento andes, con más fuerza irás. Administrando fuerza y velocidad podras crear el robot ganador.

La práctica hace al maestro.

Seguidor de linea y seguidor de linea con obstáculos de robi

Hola, en esta ocasión vamos a estaremos hablando sobre el reto de "seguidor de linea", y veremos como se programa en robi.

El reto de "seguidor de linea" se ve mucho en las competencias escolares de robótica y consiste en que el robot siga una linea negra (de 1,6 cm de grosor) que esta pegada sobre un tablero o una lona blanca. Cada organizador diseña su propia pista de seguidor de linea, así que siempre son distintas.

Quien logre transitar por todo el circuito en el menor tiempo posible, sin salirse de la pista será quien gane este reto. La dificultad de la pista puede variar si tiene curvas cerradas o intersecciones. En otras modalidades dos robots se persiguen entre sí hasta que uno alcanza al otro.

Puedes ver un ejemplo de pista y descargarlo para robisoft aquí.

Para la programación usaremos los sensores de linea interiores, lo primero a tener en cuenta es que trabajaremos con un ciclo infinito (una vez acabado el programa volverá a empezar), para que el estado del robot se este actualizando indefinidamete.

En el código deberemos hacer que robi ande recto cuando este centrado sobre la linea y que si se sale por un lado corrija su trayectoria. Sabemos que mientras robi este centrado sobre la linea ambos sensores centrales percibirán "negro", pero si robi se desvía unos pocos milímetros solo uno de los sensores percibirá "negro" y el otro "blanco", usaremos esto para saber cuando y por cual lado se desvia el robot.

diagrama: seguidor de linea robi

Depende de cada pista que tan cerrada debe ser la curva, lo mejor es ir probando hasta que el movimiento del robot sea lo más fluido posible, una buena combinación para empezar a probar es 100-60.

Los errores más comunes que pueden presentarse son:

El robot simplemente no se mueve: El programa no se cargo con éxito o no se colocó un ciclo infinito.

El robot cabecea: Las curvas se están dando demasiado cerradas o se programó que una llanta se detuviera en las curvas.

Hay otra modalidad de competencia en la que el robot debe atravesar un circuito y al mismo tiempo esquivar obstáculos que están en la pista, para esto bastará con agregarle al código anterior una condición en la que cuando el sensor de obstáculos frontal perciba que hay algo se ejecute una secuencia de esquivado, hay muchas maneras de esquivar un obstáculo, pero según la pista hay que determinar si es más conveniente esquivar por la derecha o por la izquierda, aquí está la forma más básica de esquivar un obstáculo: 


Ten en cuenta que esta secuencia debe ir después de el código de seguidor de linea básico y no dentro de una condición del sensor de linea.

En este ejemplo el robot una vez detecta el obstáculo, apunta a la derecha, y luego avanza dando curva la izquierda, una vez toca linea el programa salta hasta las condiciones de seguidor de linea y todo sigue normal.

El único dato necesario para diseñar el programa de esquivado es el diámetro del obstáculo, ya que casi siempre los obstáculos se ubican sobre partes rectas, mientras más cerca pase el robot del obstáculo sin tocarlo y más fluido sea su movimiento mejor.

La práctica hace al maestro.

-

{"handle":"robotica-instenalco","arch":"js","styles":{"a":"C8C8C8","b":82,"c":"000000","d":"000000","f":82,"i":82,"k":"C8C8C8","l":"C8C8C8","m":"C8C8C8","o":82,"p":"10","q":"C8C8C8","r":82,"cnrs":"0.41"}}