jueves, 23 de febrero de 2012

Practica 1 (Mostrar trayectoria)



Bueno allá vamos con la ultima parte de la practica 1, la correspondiente a mostrar por el LCD de Emilio la trayectoria que sigue al hacer un cuadrado, siguiendo la formula que os muestro a continuacion:





En este caso la esquemática del programa es la siguiente, dos bucles while anidados. Un bucle while trata el movimiento del robot cuando se mueve hasta llegar a los 40 cms. Una vez llegados a los 40 cms, gira y entra en el otro bucle while, anotando también los grados que gira. Primero os mostraré la foto de lo que se ve en la pantalla) (Porque en el video no se distingue del todo bien):


Y el vídeo:



Hemos tenido dos problemas con esta práctica: El primero es que el robot (No sé porqué), cuenta hasta 80 en la recta del lado del robot, digo no se porqué porque en el código del programa hemos estipulado claramente que llegue solo hasta 40 cms. Y el segundo es que la primera sesión de pruebas el robot no paraba de andar y de andar...(Quería escapar). Se nos olvidó incrementar la "i" en el bucle..

Y hasta aquí la practica 1...La semana que viene empezaremos con la práctica 2, saludos.


miércoles, 22 de febrero de 2012

Practica 1 (Realización del cuadrado)




Después de un poco de descanso de tanto "Emilio", nos hemos vuelto a poner a la carga, esta vez con la parte de la realización del cuadrado. Para ello, en el código, hemos definido un bucle While (De 0 a 9) que se encargue de realizar las 10 representaciones de un cuadrado de 40 cm. de lado. Cada vez que realiza un cuadrado, tenemos un lapso de tiempo para recolocarlo en el punto 0,0, pero gracias a nuestras "manos de cirujano", la posición no siempre es exacta, por lo que varía unos milímetros y ese error lo arrastra todo el cuadrado. Aqui os muestro una foto del montaje del boligrafo (Posteriormente lo tuvimos que cambiar a lapiz porque Emilio no se lleva del todo bien con los Pilot).




Para la posterior realización de la covarianza, hemos realizado el cuadrado sobre un
eje de abscisas, para luego señalar donde se queda al terminar el cuadrado. Seguiría un esquema así:




El cuadrado rojo es la trayectoria ideal del cuadrado de 40 cms. Los puntos dispersos son donde termina Emilio la ejecución del cuadrado (Es orientativo). Vemos que no es exacto porque hay muchas condiciones que no se barajan en el código (Rozamiento, nuestras manos..), bueno aquí os dejo con el vídeo de un cuadrado (Vuelvo a sentirlo por la calidad)



Dos posdatas: La primera es que el vídeo es de las primeras veces que probamos el robot haciendo cuadrados, y como se puede ver, se tuerce demasiado al hacer el segundo lado. Es culpa de los folios y de su unión, ya que no me di cuenta y los superpuse mal. Y la otra es que no he conseguido voltear el vídeo (Por el momento).
Teniendo los datos de las finalizaciones de los cuadrados (Donde termina Emilio los cuadrados), sacamos las coordenadas de los mismos:



Y posteriormente, por medio de un programa para calcular la matriz de la covarianza, sacamos por pantalla la misma.


| -0.05 ,-0.35 |

| -0.35, 0.6 |

martes, 21 de febrero de 2012

Practica 1 (Odometria)

Después de una tarde un tanto tensa (Nuestro Emilio murió, y al mas puro estilo Frankestein y a nuestras manos, revivió. Bueno, el tiempo apremia y estamos avanzando tanto bien como rápido (Pienso yo...). Aquí os traigo la parte de la odometría del motor, donde por medio de la instrucción drawstring, imprimimos cuando se pasa de 360º, y cuando lo hace le restamos esos 360º para que sea real la medición. Lo mismo hacemos cuando es menos de 360º. Y por medio de la expresión "DrawInt" imprimimos por pantalla lo que queremos, en la posición que queremos, en este caso, los grados. Por ultimo usamos clear para limpiar la pantalla cada vez que movemos la pala, para que no quede "basura" en la pantalla. Esta es una foto del montaje:


Y aquí, un vídeo del movimiento de las palas:


PD: Hemos tenido dos problemas. El primero es que no nos imprime cuando se pasa de 360º o de 0º (No sabemos porque). El otro es que no hemos conseguido centrar del todo la impresión del numero (Demasiado centrado sale para los que hemos probado...jaja).

Práctica 1 (Motores)

Bueno ya que estamos "On fire" con Emilio, nos hemos dispuesto a darle caña y hemos conseguido hacer los 3 programas básicos para el movimiento del robot. En primera instancia hemos hecho BasicMotor1, en el cual cada vez que apretamos el botón, el motor mueve las palas (Sin limite). Hemos usado las instrucciones Button.waitforpress (Para hacer que se mueva al tocar el botón) y movimiento.forward (Para que se mueva(movimiento es la variable)).



Para la segunda parte del movimiento básico de motores, había que partir del código anterior pero moviendo las palas únicamente 45º, hemos empleado la instrucción "Rotate" para mover las palas, y le hemos indicado los 45 grados.


Y en ultima instancia, la evolución del código anterior, BasicMotor3, en el cual usamos "RotateTo", que explicado en "cristiano", seria como decirle al motor a que grados le queremos mandar.



PD: Veáse que en la pantalla intentamos escribir algo, pero al quedarsenos corta, se nos quedan a medias las frases (Intentaremos modificarlo en próximas prácticas).

Practica 1 (Presentación)

Bueno, creo que aún no hemos presentado a Emilio, asi que aqui os lo mostramos (Es un diseño preliminar porque aún no le hemos puesto a revolotear por la casa).



Lo he intentado resumir en una única foto, ya que mostrar muchas fotos me parecia un tanto aburrido y no se podría apreciar entero en su totalidad.

Practica 0

Después de una lucha encarnizada entre leJOS, Ubuntu, y las librerías, al fin conseguimos instalar leJOS (Ardua tarea, sin duda), y después de trastear un poco, tanto con el browser de NXJ como con el Eclipse, obtuvimos nuestra ansiada recompensa....el ¡HOLA MUNDO! en nuestro pequeño Emilio....es un pequeño paso hasta que consigamos que nos traiga bebidas en bandeja a la habitación (Sigue soñando...).



PD: Lo siento por la calidad de la foto...

Presentación


Bueno, antes de nada presentarnos, yo soy Pablo (El que está escribiendo), y mi compañero es Alberto. Intentaremos que este blog sea un bonito cuaderno de bitácora de nuestra primera incursión en el mundo de los robots (Que ya era hora, y apetecia por otra parte). Bueno, sin más dilacion intentaremos darle vida a esta caja. (Impaciencia).