Robot Turista.
Autor: Ignacio Molina.
Competencia: Trabajo en equipo, Desarrollo de software.
Palabras Clave: NXC, robotica, programación.
Descripción de la actividad: Se implementa un programa en lenguaje NXC, el cual es capaz de dar instrucciones definidas a un robot NXT. El robot debe ser capaz de moverse y mostrar un texto por pantalla por cada estación que recorra.
Solución: El robot debe recorrer tres estaciones, las cuales fueron predefinidas por los profesores. En cada estacion el robot debe detenerse una cierta cantidad de tiempo (2 segundos).
Para comprender la solucion se debe primero entender el recorrido el cual es el siguiente:
En el esquema la estrella de 5 puntas es el inicio,
la de 4 puntas es el final, los rombos son las estaciones
y finalmente las lineas verdes son el camino.
Ahora, luego de ver el esquema, se puede pensar en el desarrollo de la solución. Primero debemos saber que no contamos con sensores los cuales nos indiquen donde detenernos ni donde debemos virar, por lo que solo debemos jugar con los tiempos y los dos motores con los que contamos. Entonces:
- Contamos con dos motores (A y B)
-Motor A corresponde al motor izquierdo del robot.
-Motor B corresponde al motor derecho del robot.
Ahora, pensemos en las instrucciones que podemos dar:
-OnFwd(OUT_<motores>,<Potencia>): Hacer avanzar los motores definidos a una cierta potencia. Por ejemplo, si deseamos que se avance en linea recta la instrucción sera OnFwd (OUT_AB,50); es importante recordar que la potencia va de 0 hasta un máximo de 100.
-OnRev(OUT_<motores>,<Potencia>): Es lo contrario de OnFwd, pero es reversa. La sintaxis es prácticamente la misma.
-Wait(<milisegundos>): Se debe usar luego de una instrucción dada, por ejemplo OnFwd, por lo que si ponemos en la linea de abajo de OnFwd un Wait(1000), el robot avanzara por un tiempo de 1 segundo.
-Off (OUT_<motores>); Apaga los motores definidos.
-TextOut(<coordenada eje x>,<coordenada eje y>, <texto>): Muestra un texto definido por pantalla, el cual aparece en las coordenadas especificadas.
Veamos una porción de código de este proyecto:
Por los comentarios se puede apreciar lo que hace esta porción de código, el cual parte en linea recta,
gira a la izquierda y avanza en linea recta hasta llegar a la primera estación, donde muestra que está en la estación 1 y apaga sus motores.
Ya teniendo una referencia de como funciona, se puede revisar el codigo fuente, el cual se encuentra a continuación.
Ademas se incluye un vídeo de referencia del movimiento del robot.
Reflexión.
El trabajo se ve simple pero la verdad es que no es así, ya que se debe calcular según las condiciones del sitio de pruebas y el tamaño del mismo. Por otro lado es una actividad que fue realizada en equipo, lo que aumento la cantidad de soluciones que surgieron.