Cuadrado de calibración de movimiento:
Con anterioridad mostramos una prueba que hicimos con nuestro ladrillo para el ejercicio del cuadrado. Tras unos cambios hemos hecho correctamente el ejercicio con los siguientes resultados.
-Una sola vuelta:
Como podemos ver, hay unos 3 centímetros de diferencia entre el punto de inicio y el de llegada
- Varias vueltas con el mismo punto de salida:
Hay diferencias entre unas vueltas y otras, pero en general a una sola
vuelta no se aprecia tanto el error.
Diferencia entre puntos de salida y llegada, unos 33 milímetros
- Diez vueltas seguidas:
Tras diez vueltas (los números indican donde acaba cada vuelta)
se ve claramente la acumulación de los errores.
En este ejercicio no hemos tenido problemas con la programación ya que hemos diseñado un programa muy sencillo, con un bucle que se ejecutaba, 4 * número de vueltas, veces dependiendo de cuantas vueltas queriamos dar
for i = 0 hasta 4 * num_vueltas {
avanzar 40 cm;
rotar 90 grados;
}
Visualizar trayectoria:
Con este ejercicio hemos tenido más problemas, ya que al necesitar actualizar los valores de los ejes x e y por pantalla, el movimiento de los motores debían ser no bloqueantes. Esto entre otros problemas, provocaba que cuando se hiciese la comparación de la condición de nuestro bucle (si la distancia recorrida es igual a la distancia que quiero recorrer) no tuviese el valor deseado provocando un bucle infinito.
Finalmente hemos corregido este y los demás errores y el resultado es el siguiente:
Cálculo de la matriz de covarianza:
Hemos recogido los puntos donde termina cada cuadrado, haciendo 10 iteraciones.
x1: 3 y1: 2.2
x2: 2 y2: 2
x3: 3 y3: 2.5
x4: 2.5 y4: 2.5
x5: 2.5 y5: 1.5
x6: 3 y6: 2.5
x7: 2 y7: 1.5
x8: 1.5 y8: 1.5
x9: 2.5 y9: 2
x10: 2.5 y10: 2.5
X=2.45 Y=2.07
La matriz resultante es:
0.2225 1.385
1.385 1.741
No hay comentarios:
Publicar un comentario