Bien, después de bastante tiempo, hemos conseguido mover la aspiradora de forma remota.
Como dijimos en la anterior entrada, hace poco logramos establecer una conexión entre el iPhone y el servidor de roombo!. Pues bien, tras integrar el servidor en nuestro código, empezamos a trastear con la aspiradora.
Todo movimiento que hace la aspiradora se basa en dos acciones: girar un ángulo "α" y moverse en línea recta y hacia delante una distancia "d". Este modo de funcionamiento será correcto siempre y cuando no haya ningún obstáculo de por medio, como es el caso.
La obtención del ángulo y la distancia es muy sencilla, puesto que nosotros establecemos las coordenadas del punto al que queremos mover la aspiradora, y conocemos la posición actual de ésta (por medio del GPS), con lo cual se trata simplemente de resolver un triángulo rectángulo, como puede verse a continuación:
Además, hemos de mencionar que para el cálculo de esos dos parámetros hemos considerado que la aspiradora, después de realizar cualquier movimiento, vuelve a su posición inicial (ángulo = 0º), la cual se tomará como referencia siempre que tenga que girar.
Siguiendo en la misma línea, queremos comentar que para realizar las pruebas, no hemos podido hacer uso del GPS, ya que dentro del laboratorio apenas coge señal, sino que hemos introducido nosotros unas coordenadas al programa y a través del cliente (que será el que se ejecute en el iPhone) le hemos enviado las coordenadas de destino a la aspiradora. Y voilà, nuestra Roomba comenzó a girar para más tarde avanzar hacia delante como esperábamos.
Sin embargo, el objetivo del proyecto es que la aspiradora pueda manejarse dentro de un entorno que vamos a definir nosotros. Éste será una de las pistas de deporte de nuestra escuela, de las que hemos tomado las coordenadas de sus cuatro esquinas para poder más tarde llevarlas a nuestra aplicación iPhone, en la que simularemos este campo.
Finalmente, en cuanto a la aplicación iPhone, ya tenemos terminada la vista de configuración, que mostramos en la anterior entrada. Hemos estado trabajando para que se puedan guardar los datos de configuración y así no tener que introducir la IP y puerto cada vez que querramos usar la aplicación. Así que en los próximos días comenzaremos a trabajar en la última parte de nuestro proyecto, que se basa en obtener las coordenadas de el punto en el que se ha tocado la pantalla y enviarlas al servidor de roombo!.
A partir de ese momento nos dedicaremos a ir puliendo pequeños detalles que nos gustaría perfeccionar.
Por ahora eso es todo. Para la revisión de la semana que viene esperamos poder llevar un video que muestre todos nuestros avances hasta ahora.
Un saludo!!!
No hay comentarios:
Publicar un comentario