jueves, 15 de diciembre de 2011

Programación de Robots - "La cancha de fútbol"

Autor: Sebastian Caro
Competencia: Aprendizaje Autónomo.
Nivel 1: Conoce y utiliza estrategias de aprendizaje y hábitos de estudio y trabajo, seleccionando los que le son útiles según sus necesidades de aprendizaje.
Palabra Clave: Laboratorio n°2 "la cancha de fútbol".
Descripción: La actividad consiste en  cortar el pasto (como supuesto) de una cancha de fútbol a escala con las medidas de 100 cm de ancho y 150 cm de largo, dos veces.



La estrategia de trabajo consistía en: 
El “goma en conjunto al secretario terminaron de armar el robot con el diseño básico del manual LEGO, mientras tanto el jefe de grupo y el editor multimedia comenzaban a realizar el software que permitiera la perfecta realización del procedimiento (“cortar dos veces todo el pasto de la cancha.”).
La creación del software fue planeada con el propósito de que avanzara a una potencia de 60% del motor B y un 62% del motor C por un tiempo de 6050 milisegundos de avance luego que se apagaran los motores, por consiguiente se consideraba un giro hacia la derecha a un 60% del motor C con un tiempo de avance de 1590 milisegundos , seguido comenzaban a funcionar ambos motores con la misma potencia y tiempo de avance, al momento de terminar este avance se detienen los motores al mismo tiempo al través de la función Off (OUT_BC), para luego realizar un giro hacia la izquierda a un 60% del motor B y un tiempo de avance de 1590 milisegundos.
                El mismo procedimiento se realiza seis veces, para así poder podar completamente la cancha de futbol, es decir en términos de programación cumplir de manera plena el desarrollo Completo de la actividad propuesta.
                Al momento de probar nuestro software nos dimos cuenta que la arquitectura del robot presentaba una pequeña desviación hacia la derecha lo que impedía que siguiera una trayectoria recta como se le ordenaba a través del software. La primera solución que fue expuesta para resolver el problema fue desarmar el robot y rearmarlo con un diseño diferente (modificación del modelo base). Una vez realizado este procedimiento nuestro robot comenzó a mostrar mejorías en cuanto a su rendimiento presentando un  leve reposo en la acción del motor A (el puerto A murió por qué no funciono mas.) como solución cambiamos de puerto el motor A al puerto B.
                También nos enfrentamos a un problema con el programa base que nos permitía diseñar el software, ya que no cargaba el programa a la CPU del robot o solo nos tiraba errores en todas las líneas (aunque no había ninguno).



Diagrama de flujo: 



Código Programa:

Task main ()
{    repeat(6){  // repite la acción 6 veces
  OnFwd (OUT_B,60);                                        //potencia de los motores.
  OnFwd (OUT_C,62);
  Wait (6050);           // tiempo de avance recto
  Off (OUT_BC);  // apagado de motores
  OnFwd (OUT_B,60);  //avance de un motor para proporcionar giro
  Wait (1590);  // tiempos actividad de motor.
  Off (OUT_BC);    // apagado del motor
  OnFwd (OUT_B,60);
  OnFwd(OUT_C,62);
  Wait (6050);
  Off (OUT_BC);
  OnFwd (OUT_C,60);
  Wait (1590);
  Off (OUT_C);
 }
}


Enlace del vídeo resultados de la actividad:



Reflexión: podemos decir que hemos aprendido que las mayores dificultades no están siempre en el desarrollo del software, a veces las arquitecturas de los robots o maquinas para los que se diseñan los programas no funcionan de la forma esperada y modifican el proceso del software, para lo cual hay que modificar el programa o analizar detalladamente la arquitectura del robot.
                Además que no solo debemos aprender a crear “súper programas con millones de aplicaciones” para los robots sino que debemos aprender cómo funcionan, su desempeño. 

No hay comentarios:

Publicar un comentario