En estas dos semanas, hemos seguido con nuestras practicas. cada dia evoluciona mas nuestro robot. En este caso era el turno de ponernos en contacto con los diferentes sensores, dichos sensores son los siguientes:
- Sensor de contacto .
- Sensor de ultrasonidos (nos proporciona la distancia que hay a los obstaculos).
- Microfono.
- Sensor de luz.
- Bateria.
La semana ha sido bastante buena entre el montaje de las piezas y posteriormente los programas donde ya vemos como
interactua con el exterior.
Pasamos a detallar cada uno de los apartados:
1.- Obteniendo información
Información.java -> mostramos por pantalla las características de nuestro robot:
Nombre - Valores sensor ultrasonido (mm) y luz en modo pasivo - tensión batería(mV) - memoria total - memoria libre (bytes):
2.- Control del robot por sonido
ClapControl.java -> programa con el que avanzaremos en linea recta con una palmada/sonido recibido con el sensor ultrasonido.
Se toman cuatro lecturas previas cada 500 ms. La mayor medida tomada sera el mínimo que el sonido debe superar para hacer avanzar/parar la marcha del robot.
NOTA: En caso de no superar el sonido mínimo el robot lo ignora y continua lo que estuviera haciendo.
Video demostrativo: (en el segundo 6 ignora la orden por no llegar al minimo)
3.- Bump & GO! Usando sensores de contacto
BumpAndGo.java -> programa que avanza hacia delante. Si encuentra un obstáculo choca con el. Retrocede unos centimetros. y gira aleatoriamente entre 0º - 360º para continuar su marcha.
Vídeo demostrativo:
4.- Bump & GO! Usando sensores de ultrasonido
SimpleAvoid.java -> mismo programa que el anterior usando en este caso el sensor ultrasonidos. Al estar a una distancia menor a 20 cm, retrocede y cambia de direccion.
Video demostrativo:
5.- Comportamiento sigue-pared para salir de un laberinto
SiguePared.java -> programa que sigue el contorno de una pared a una distancia de 20 cm. Si hay un obstáculo lo esquiva. Si se aleja de ella, se aproxima.
Video demostrativo:
6.- Calibración del sensor ultrasonidos
Ejercicio1 -> Aqui mostramos las distancias minimas y maximas del sensor.
Ejercicio2 -> Aquí tenemos las medidas tomadas a 40cm entre -90º y 90º. Como podemos observar no todos los valores alcanzan un rango de visión. Los marcados con "-" equivalen a 255, medida erronea segun el sensor. Los valores validos rotan entre -50º y 50º aproximadamente, mas allá de eso con algunas dificultades.
Ejercicio3 -> Como bien podemos ver en la grafica existe un error sistemático. La diferencia entre la distancia media del robot y la distacia real esta entre 2-3 cm:
Ejercicio4 -> Ahora vamos a ver la incertidumbre del valor del sensor. Vamos a comprobar por separado la incertidumbre en el eje X (en la dirección del haz del sensor y en eje Y (perpendicular al haz).
Ejercicio4.1 ->Incertidumbre en el eje X: Para ello vamos colocando el robot cada vez a una distancia y desconectando y conectando el sensor vemos lo que marca:
En estas 2 gráficas vemos la diferencia entre la distancia real y la obtenida:
Ejercicio4.2 -> Incertidumbre en el eje Y: Colocamos el robot en el origen de coordenadas y por medio de una carpeta vamos viendo a que distancia, tanto por la izquierda como por la derecha, perdemos la medición (valor=255).
Ya por ultimo calculamos las matriz de covarianza resultante del error P que representa la incertidumbre del sensor:
No hay comentarios:
Publicar un comentario