Reto recolector de botellas – introducción

Info

  • Principiantes
  • Edades: 11+

Temas STEAM

  • Tecnología
  • Ingeniería
  • Matemáticas

Introducción

Programa tu Innobot para que resuelva el Reto recolector de botellas. En los siguientes tutoriales aprenderás a sortear intersecciones, realizar trazos con el robot, seguir una línea y recolectar objetos al mismo tiempo y mucho más.

 

Materiales

¿Qué es el reto recolector de botellas?

Este reto en modalidad de duelo, consiste en seguir un a línea blanca y despejar una serie obstáculos (botellas), llevándolos por fuera de la línea sin tumbarlos. El reto debe ser resulto en menos de 1 minuto, para vencer a un oponente en una competencia sana y divertida.

1. Pista del reto recolector de botellas

La pista de competencia de éste reto es una línea Blanca sobre fondo Negro. Pista Reto Pygmalion

2. Reglas del reto recolector de botellas

  1. La DIVERSIÓN y el APRENDIZAJE es la prioridad #1.
  2. El reto se realiza en modalidad duelo.
  3. Cada duelo se compone de 2 equipos, designados como Azul y Verde.
  4. Gana el equipo con mayor cantidad de puntos obtenidos durante el duelo.
  5. La duración de cada duelo es de 1 minuto.
  6. Cada equipo debe sacar tres botellas dispuestas en puntos aleatorios de su campo (Ver posición de las botellas)
  7. Si se realiza contacto del robot por parte del algún integrante se debe volver al inicio.
  8. Si el robot toca la zona del oponente queda descalificado del duelo, algún integrante puede evitar esta penalización colocando el robot nuevamente en el inicio.
  9. Se declara ganador en duelo quien más puntos realice siendo 0 el puntaje mínimo y 500 el puntaje máximo, en la etapa de finales, se repite el duelo hasta que se declare algún equipo ganador.
  10. Puntuación
  11. 100 puntos por retirar cada tótem de la línea, sin derribar el tótem durante y después del recorrido. (Si el tótem es derribado, puede volver a colocarlo en su sitio, y comenzar de nuevo).
  12. 200 puntos si y sólo si todos los tótem del color asignado están fuera de la línea y se logra recoger el último tótem que se encuentra en el centro de la pista de competencia y llevarlo a propia zona. El tótem debe sobrepasar toda la línea blanca horizontal que separa el campo propio de la zona donde esta el tótem.
  13. Si el robot toca el tótem del centro antes de que retire los tótem de su área el equipo queda descalificado del duelo (un integrante puede evitar esto durante la prueba tomando el robot y volviendo al inicio).
  14. En caso de generarse un encuentro por parte de los dos robots en la zona central, si el tótem toca al menos una parte de la línea blanca de su zona, gana el encuentro.
  15. El equipo queda descalificado del duelo, si el robot realiza contacto de un tótem oponente o por algún integrante del grupo.
  16. Si el robot pierde su trayectoria uno de los participantes puede volver el robot al inicio para volver a intentarlo, pero el tiempo no se detiene, ni el duelo.
  17. Si el robot derriba un tótem por equivocación durante el recorrido, algún integrante del equipo puede volver a acomodar el tótem y el robot debe volver al inicio tiempo para volver a intentarlo, pero el tiempo no para ni el duelo.
  18. Si el participante toca con la mano un tótem que no ha sido desplazado correctamente con el fin de que el robot no lo derribe, debe colocar nuevamente el tótem en el punto donde se encontraba y situar el robot nuevamente en el inicio, sin detener el tiempo.

3. Posición de las botellas

Cada equipo debe retirar tres botellas de su campo, estas botellas pueden estar en cualquiera de los puntos que se marcan a continuación:

trazados_13

La posición de las tres botellas es aleatoria pero ambos equipos deben competir con la misma configuración de botellas elegida.

4. Seguidor de línea blanca

El programa básico

Se partirá de un programa básico para seguir una línea BLANCA.

botellas_01

4. Seguidor de Línea blanca

El Programa Básico

Se partirá de un programa básico para seguir una línea BLANCA.

void setup () {
  motorSpeed(M1,60);
  motorSpeed(M2,60);

}
void loop () {
  if (sensorRead(J3) <= 700 && sensorRead(J1) <= 700) {
    goForward(M1,M2);
  } else if (sensorRead(J3) <= 700 && sensorRead(J1) > 700) {
    turnRight(M2 , M1);
  } else if (sensorRead(J3) > 700 && sensorRead(J1) <= 700) {
    turnLeft(M2 , M1);
  } else {
  }
}