miércoles, 17 de febrero de 2010

Practica 1

A continuación os ponemos unas imágenes de los avances de nuestro robot.

Aquí le vemos realizando un recorrido y el error cometido.Esta prueba se realizaría 10 veces para tomar los correspondientes errores. En general para desarrollar esta parte no hemos tenido muchos problemas.



---------------------------------------

En estos otros vemos las diferentes pruebas con los motores. Conseguimos mover los motores a diferentes velocidades o que se muevan un determinado número de grados.









---------------------------------------

Aquí "vemos", el funcionamiento de la odometría del robot. Hemos tenido que poner unas restricciones para que los datos fueran entre 0-360 como nos pedían. Se presentaban algunos problemas en la medida pero eran debido a que no limpiabamos bien la pantalla y se quedaban datos basura.




---------------------------------------

En este otro se ve como va dibujando su trayectoria según avanza. En si el desarrollo de esta parte es sencillo pero nos ha tenido en jaque unos problemas en las conversiones de tipos.



---------------------------------------

Para el calculo de la matriz de covarianza hemos realizado un programa en pascal que nos daba el siguiente resultado en pantalla:



Si os interesa os dejo el codigo del programa.

PROGRAM COVARIANZA;
CONST
NUM_TOTAL_VALORES = 10;
TYPE
tPuntos = ARRAY [1..NUM_TOTAL_VALORES,1..2] OF real;
tMatCovarianza = ARRAY [1..2,1..2] OF real;


VAR
puntos:tPuntos;
i,j:integer;
x,y,x_medio,y_medio:real;
MatrizCovarianza:tMatCovarianza;
a11,a12,a21,a22:real;

BEGIN
x_medio := 0;
y_medio := 0;
FOR i:= 1 TO NUM_TOTAL_VALORES DO BEGIN

write('Dame el valor de X',i,': ');
readln(x);
puntos[i,1]:=x;
x_medio := x_medio + x;

write('Dame el valor de Y',i,': ');
readln(y);
puntos[i,2]:=y;
y_medio := y_medio + y;

writeln;
END;

x_medio := x_medio / NUM_TOTAL_VALORES;
y_medio := y_medio / NUM_TOTAL_VALORES;
writeln('El punto medio es el (',x_medio:0:1,',',y_medio:0:1,')');
writeln;

MatrizCovarianza[1,1]:=0;
MatrizCovarianza[1,2]:=0;
MatrizCovarianza[2,1]:=0;
MatrizCovarianza[2,2]:=0;

FOR i:= 1 TO NUM_TOTAL_VALORES DO BEGIN
MatrizCovarianza[1,1]:= MatrizCovarianza[1,1] + ((puntos[i,1] - x_medio) * (puntos[i,1] - x_medio));
MatrizCovarianza[1,2]:= MatrizCovarianza[1,2] + ((puntos[i,1] - x_medio) * (puntos[i,2] - y_medio));
MatrizCovarianza[2,1]:= MatrizCovarianza[2,1] + ((puntos[i,2] - y_medio) * (puntos[i,1] - x_medio));
MatrizCovarianza[2,2]:= MatrizCovarianza[2,2] + ((puntos[i,2] - y_medio) * (puntos[i,2] - y_medio));
END;

MatrizCovarianza[1,1]:= MatrizCovarianza[1,1] / NUM_TOTAL_VALORES;
MatrizCovarianza[1,2]:= MatrizCovarianza[1,2] / NUM_TOTAL_VALORES;
MatrizCovarianza[2,1]:= MatrizCovarianza[2,1] / NUM_TOTAL_VALORES;
MatrizCovarianza[2,2]:= MatrizCovarianza[2,2] / NUM_TOTAL_VALORES;

writeln('La matriz de covarianza es:');
writeln;
writeln('|',MatrizCovarianza[1,1]:0:2,' ',MatrizCovarianza[1,2]:0:2,'|');
writeln('|',MatrizCovarianza[2,1]:0:2,' ',MatrizCovarianza[2,2]:0:2,'|');


END.

miércoles, 10 de febrero de 2010

Montaje

Saludos,

ya hemos montado la estructura básica del robot, ahora tenemos que esperar para verlo en funcionamiento...

Ciaoo

Video Curioso



Más informacion aquí

jueves, 4 de febrero de 2010

Practica 0

Bueno,

hoy hemos tenido la primera toma de contacto con el robot.

Hemos cargado y ejecutado el Hello World en el robot, además de otro programa para probar la pantalla LCD.

El firmware no lo hemos tocado porque estaba instalada la versión correcta.

En general la sensación con el robot ha sido agradable.

Más adelante veremos cosas más interesantes.

Nos vemos!!