jueves, 7 de abril de 2011

Práctica 5: Navegación visual

En esta práctica, tenemos que hacer un robot que siga una linea de color rojo pintada en el suelo, para ello debe guiarse mediante sus cámaras.


Debido al coste lo realizamos en un simulador, capturaremos las imágenes de la cámara y analizaremos los píxeles de cada imagen. Cada píxel tiene 3 componentes (RGB,Red-Green-Blue), estas componentes indican el nivel de intensidad de cada color en dicho pixel.

Cada imagen es de un tamaño de 320x240 pixeles, hemos tomado la decisión de analizar los 240 pixeles de la fila 200 y los 240 pixeles de la ultima fila. Cada fila la hemos dividido en 3 partes, parte izquierda, parte central y parte derecha. De cada parte sumamos el valor de intensidad de rojo y lo comparamos con las otras 2 partes, si la parte izquierda es mayor que la derecha o el centro, el robot girará hacia su izquierda. Si la parte derecha es mayor que las otras 2 girará hacia la derecha. Y por último si la parte central es mayor que la de los lados, el robot seguirá recto a mayor velocidad.

jueves, 24 de marzo de 2011

Práctica 4: Robot Equilibrista

El objetivo de esta práctica es diseñar un robot que mantenga el equilibrio sobre dos ruedas. Para ello lo primero que hemos hecho es rediseñar nuestro robot estructuralmente. El código del programa está basado en un sistema PID visto en las clases de teoría. El gran problema ha sido el cálculo de la parte integral del programa y ajustar las constantes. Para esta parte de la integral hemos tomado diez medidas y acumulado el error cometido en ellas, para después intentar corregirlo. En cuanto a las constantes hemos realizado numerosas pruebas para intentar ajustarlo lo mejor posible. Como se puede ver en el vídeo el resultado no ha sido el mejor posible pese al empeño puesto en conseguirlo.


jueves, 10 de marzo de 2011

Comportamiento ir hacia la luz evitando obstáculos

Aquí hemos unido el apartado 2 con el 3 haciendo alguna variación. El robot irá siempre hacia la luz a la vez de mover el ultrasonido, hasta que encuentre un obstáculo que procederá a esquivarlo. Éste es el comportamiento de mayor prioridad, es decir, que siempre irá hacia la luz a no ser que se encuentre un obstáculo.

Comportamiento ir hacia la luz

Lo primero que hacemos es calibrar el sensor de luz, tomando un mínimo y un máximo de luz. El robot siempre girará hacia el lado donde encuentre mayor intensidad de  luz de la siguiente forma: Entrará en el comportamiento cuando detecte una diferencia de luz de un sensor a otro, superior a un margen que hemos tomado como 2. Una vez dentro del comportamiento girará hacia el lado donde haya mayor intensidad de luz.

Comportamiento de evitación de obstáculos usando el sensor de ultrasonidos

Hemos utilizado 2 comportamientos, uno para ir hacia delante mientras gira el sensor de ultrasonido y otro para evitar el obstáculo. Tiene prioridad el de evitar obstáculos, entrará en ejecución cuando el comportamiento detecte un objeto a menos de 40 cm. Si no ocurre esto, seguirá ejecutándose el comportamiento "ir hacia delante" .
El comportamiento "evitar obstáculo", para el robot, toma 10 medidas en un rango de 180º empezando desde 90º a su izquierda, para localizar el obstáculo a menor distancia y así saber el ángulo en el que se encuentra. Si este ángulo se encuentra en el lado izquierdo (ángulo menor de 90º), el robot girará hacia la derecha este ángulo. Si este ángulo se encuentra en el lado derecho (ángulo entre 90º y 180º), el robot girará hacia su izquierda un ángulo igual a 180º menos ese ángulo.
El objetivo siempre se encontrará el frente de su situación inicial, por eso, cada vez que giramos el robot, después de avanzar una distancia, volvemos a girar al robot a su posición inicial.

Comportamiento de evitación de obstáculos usando sensores de contacto

Para este apartado de la práctica, hemos decidido colocar 2 sensores de contacto en la parte frontal del robot, para diferenciar un choque por el lado derecho, por el lado izquierdo o por el centro. Es decir, si el choque se produce de frente ligeramente a la izquierda, el robot evitará el obstáculo por el lado derecho y viceversa. Si el choque se produce por el centro (pulsando los 2 sensores) evitará el obstáculo por el lado por defecto, en nuestro caso es el derecho.

jueves, 24 de febrero de 2011

Calibración del sensor de ultrasonido


Apdo. 4:

INCERTIDUMBRE EJE-X

40
50
60
70
80
90
100
110
120
39
49
59
69
79
89
100
109
119
39
49
59
69
79
89
100
109
119
39
49
59
69
79
89
100
109
119
39
49
59
69
79
89
100
109
119
39
49
59
69
79
89
100
109
119
39
49
59
69
79
89
100
109
119
39
49
59
69
79
89
100
109
119
39
49
59
69
79
89
100
109
119
39
49
59
69
79
89
100
109
119
39
49
59
69
79
89
100
109
119

INCERTIDUMBRE EJE-Y

40
50
60
70
80
90
100
110
120
6,4
6,7
8
8,4
10,8
13
15,2
17,4
20,1

Media X: 0,88
Media Y: 11,7

MATRIZ DE COVARIANZA
0,098          -0,379
-0,379          21,962


Como se puede apreciar en los datos tomados. La onda emitida por el sensor si que forma un cono de apertura, según se va alejando el obstáculo del sensor, la diferencia con respecto el eje x cada vez es mayor.

Datos personales

Este será el blog de nuestro grupo para la asignatura de robótica de 3º de Ingenieria Técnica Informática de Sistemas.