Obteniendo información:
En este vídeo se ve como se va actualizando la información referente al ultrasonidos, sensor de luz, tensión de la batería y memoria libre.
Mostramos el nombre del robot, el valor recogido por el ultrasonidos medido en milímetros, el valor crudo y porcentaje de la luz medida por el sensor de luz, la tensión de la batería y la memoria libre.
Control del robot por sonido:
RJV11 gira para calibrar el sensor de sonido con el ruido de las ruedas en movimiento, al dar una palmada, si esta estático, inicia el movimiento hacia adelante, si esta en movimiento, se para.
Bump & Go! usando sensores de contacto:
En este vídeo podemos comprobar como el robot, al chocar contra un ostaculo, y por lo tanto presionar el sensor de contacto, se detiene, retrocede y gira un angulo aleatorio.
Bump & Go! usando sensores de ultrasonido:
En este vídeo podemos comprobar como el robot, al detectar un obstaculo cerca, se detiene, retrocede y gira un ángulo aleatorio.
Comportamiento sigue-pared para salir de un laberinto:
Hemos programado el robot con un controlador de tipo P para que de potencia a las ruedas según el error de la distancia a la que esta de la que debería estar, de este modo conseguimos que el robot gire a la izquierda cuando esta muy cerca de la pared, o a la derecha cuando se aleja, y si el error es 0 avance hacia adelante.
En una primera aproximación para resolver el problema de seguir la pared, se nos ocurrió hacerlo con un control reactivo por casos, según unos rangos de error. Este método resulto ser demasiado brusco.
En una segunda aproximación hicimos un control reactivo P proporcional al error. No funciono del todo mal, pero aun seguía siendo bastante brusco.
Como solución final seguimos usando un control reactivo P proporcional al error, pero en lugar de usar la ecuación de una recta, nos decidimos por usar la ecuación del cubo del error. De esta manera si el error es pequeño corregirá más suavemente, y según el error sea más grande la velocidad de las ruedas aumente/disminuya más rápidamente. Con este sistema probamos diferentes combinaciones y al final nos quedamos con el correspondiente a la gráfica azul.
Aquí podemos ver algunas de las formulas que seguimos para la velocidad de los motores:
Calibración del sensor de ultrasonidos:
1. ¿Cuál es la distancia real máxima y mínima que puede medir el sensor?
Distancia mínima : 40 mm
Distancia máxima : 2070 mm aunque hay casos en los que nos llegaba a detectar hasta 2520 mm
2. ¿Cual es el máximo ángulo con respecto a la pared para los que los valores son válidos?
El ángulo máximo que llega a medir son 50º, a partir de este ángulo ya no llega a medir distancia.
3. ¿Tiene el sensor un error sistemático, es decir, la media de su error no es
cero?
Desde la distancia de 200 mm hasta 1000 mm, el error es siempre 0, por lo tanto no tiene error sistemático.
4.
-1- Error sistemático
Medida real Valor medio
20 cm 21 cm
30 cm 30 cm
40 cm 40 cm
50 cm 50 cm
60 cm 60 cm
70 cm 70 cm
80 cm 80,4 cm
90 cm 91,1 cm
100 cm 101,5 cm
110 cm 111 cm
120 cm 127,7 cm
20 cm 21 cm
30 cm 30 cm
40 cm 40 cm
50 cm 50 cm
60 cm 60 cm
70 cm 70 cm
80 cm 80,4 cm
90 cm 91,1 cm
100 cm 101,5 cm
110 cm 111 cm
120 cm 127,7 cm
-2- Cono de apertura
Medida en x Medida en y
10 cm 9 cm
20 cm 13 cm
30 cm 13,5 cm
40 cm 11,5 cm
50 cm 18,5 cm
60 cm 20 cm
70 cm 24 cm
80 cm 16 cm
90 cm 21 cm
100 cm 20,5 cm
110 cm 20 cm
120 cm 7,5 cm
-3- Matriz de covarianza10 cm 9 cm
20 cm 13 cm
30 cm 13,5 cm
40 cm 11,5 cm
50 cm 18,5 cm
60 cm 20 cm
70 cm 24 cm
80 cm 16 cm
90 cm 21 cm
100 cm 20,5 cm
110 cm 20 cm
120 cm 7,5 cm
[4.415833 , 4.5333333 ]
[ 4.5333333 , 56.32639 ]
[ 4.5333333 , 56.32639 ]
Próxima entrega: Práctica 3 - Navegación local evitando obstáculos