domingo, 14 de febrero de 2010

SONAR para ROBOT

SONAR
Todos sabemos como trabaja un sónar, el ejemplo mas típico y modelo para el desarrollo de este sistema es el murciélago. Este emite un sonido (chillido ultrasónico), entonces “ve” el entorno escuchando la llegada de los sonidos que regresan, con los que dibuja un mapa mental. Esto es porque el sonido requiere tiempo para viajar distancias. Más lejos la distancia, más tiempo toma el sonido para regresar. Estas instrucciones sobre sónar le guiaran como para poner en práctica el sónar en su ROBOT.




Como trabaja el Sonar.
El microcontrolador le dice a su sónar que empiece a emitir. Entonces el sónar emite un sonido inaudible, después de transcurrido el tiempo descubre el eco de vuelta. Entonces inmediatamente envía una señal de voltaje al microcontrolador, el que manteniendo la cuenta del tiempo que pasa, puede calcular la distancia del o los objetos detectados.
Disponibilidad y Costo
Hoy un sónar para Robot puede ser comprado muy barato, normalmente alrededor $20-$30 cada uno.
Calculando la Distancia con el Tiempo
La velocidad del sonido en el aire es aproximadamente 343 m/s, la temperatura y la humedad no afectan mayormente estos parámetros. Esto es aproximadamente 0.9ms/foot. La velocidad de sonido en el agua salada es aproximadamente de 1500 m/s, y en agua dulce de 1435 m/s. Ejemplo: Supongamos que un robot está sobre la tierra y tiene un sónar. El sónar envía un sonido a un objeto que está alejado a una distancia desconocida. Esto quiere decir que el sonido tiene que viajar esta distancia desconocida dos veces (ida y vuelta). Ahora supongamos que el microcontrolador dice que el tiempo transcurrido es de 0.03 segundos. ¿A cuántos metros de distancia esta el objeto del robot?
Calculando:
Velocidad del sonido * tiempo transcurrido / 2 = distancia al objeto

343 m/s * 0.03 s / 2 = 5.145 m


El Proceso de Sónar.
El microcontrolador envía señales de onda cuadrada para controlar la línea del sónar.
El Sónar detecta la onda cuadrada con la orden de empezar, con la cual el sónar inicia su proceso.
-Después de algunos ciento de us de retraso desde la orden de inicio, la parte electrónica empieza a trabajar.
-El Microcontrolador inicia un temporizador (para contar el tiempo que toma el sonido para viajar)
-El Sónar emite un tren de pulsos en una determinada frecuencia
-Pulsos de Parada.
-Se detecta un eco de retorno (o se llama una interrupción si no hay eco de retorno)
-El Sónar inmediatamente emite una onda cuadrada sobre la línea de salida al Microcontrolador.
Este detecta la onda cuadrada.
El Microcontrolador detiene al timer.

Conociendo el tiempo transcurrido, usa la ecuación para calcular la distancia.

Pseudo CODE en C
Salida high (pin_D5); //señal de comando pin en estado alto
retardo us (12); // esperar que el circuito del sónar detecte el estado alto del pin.
Salida low (pin_D5); // señal de comando pin en estado bajo
Retardo us (210); // tiempo que toma el sónar para emitir el sonido después de recibir una orden.
Colocar TIMER1 (0); // puesta a cero del timer si no hay desbordamientos
mientras (get TIMER1()100); // espera hasta que la salida vaya a nivel bajo o el tiempo se sobrepase.
Distancia=get TIMER1()//factor de conversión; //convertir el tiempo transcurrido a pulgadas.
Requerimientos de Energía.
Normalmente un sónar típico solo requiere líneas para la tierra, alimentación, para la señal de comando, y para las señales recibidas (ecos). El módulo de sónar típico consume aproximadamente 100 ma en el modo de standby, esto significa que no esta emitiendo ningún pulso. Sin embargo cuando esta en uso, el consumo de energía salta instantáneamente hasta 2 Amperios.

Parecidos a los motores, ellos pueden absorber grandes cantidades repentinas de corriente que causa repentinas caídas de voltaje sobre las pilas (p. ej. un pin hace que el microcontrolador se reinicialice). Este enorme salto puede causar estragos en los microcontroladores y otros circuitos que compartan la misma fuente de energía. Un microcontrolador no trabajará y solamente se reinicializará si el voltaje cae demasiado bajo.

Sin embargo, si se diseña la fuente de energía con un condensador, este deberá suprimir estos picos repentinos pero de corta duración de voltaje. Se debería tener una fuente para los motores, pero si se toma la alimentación de otra fuente separada de energía, es aconsejable colocarle un condensador de ~500uF en el cable de salida de alimentación.


DISTANCIA (Máxima y Minima)
cuando es emitido el pulso de sonido este se extiende Radialmente, por lo que la fuerza de la señal se reduce por 1 / (distancia^2) conforme el pulso se aleja del transductor. Esto quiere decir que la máxima distancia que puede medir el sensor cae rápidamente al mínimo. Por lo general hay circuitos de amplificación añadidos al sónar para compensar esto, pero aun así la distancia máxima de un sónar típico barato es no es mayor que 6-25 pies.

Hay también una distancia mínima, esto significa que si un objeto está muy cerca (dentro de una pulgada o dos) del emisor del sónar, este no detectará el objeto (o al menos no con exactitud). Esto es porque el sonido es realmente rápido, tan rápido que la electrónica no puede trabajar con la rapidez necesaria con el tiempo que toma el sonido para regresar al sensor. Para evitar esto, asegurarse que el sónar este instalado una pulgada o más atrás del frente del robot, o este no detectará y evitara colisiones con la pared.
Reflectancia del Sonido / Propiedades de Absorción de los Materiales.
Lamentablemente, los ecos no son completamente un producto de la distancia. Hay muchos otros factores que pueden cambiar las lecturas. El sonido reflejado de una almohada y de una pared sólida no será el mismo. Si el objeto está en un ángulo cerrado, mucho menos sonido sería reflejado. Las propiedades superficiales de los objetos también pueden hacer una diferencia. Una alfombra y un espejo darían lecturas diferentes. El sonido también puede "perderse" al saltar alrededor de varias paredes durante algún tiempo, y luego volver al sónar como " un eco fantasma" o aún peor, esto podría causar activaciones falsas haciendo que el robot "vea" objetos que realmente no existen.


Utilización de Sonar Múltiple.
Supongamos que el robot tiene múltiples sensores de sónar sobre el. ¿Cómo hacer para que un sónar no detecte el eco causado por otro sensor de sónar? Una solución sería dirigir el sónar en ángulos diferentes (fuera del ángulo de detección del tipo de sónar que se usa). Típicamente esto estaría alrededor de ~20 grados.
Otra solución a este problema sería tener cada sónar funcionando en una frecuencia diferente de sonido (esto no es fácil hacer!). Finalmente, hay la solución por software. Con este método cada sónar funcionaria a diferentes tiempos. El robot esperaría que un sónar reciba un eco, más un tiempo adicional para que se disipen los ecos fantasmas, antes de que el siguiente sónar sea activado. Pero, si se tiene mas de 2 o 3 sónares, esto puede tomar una enorme cantidad de tiempo! Entonces se pueden cosas como instalar sónares que funciones al mismo tiempo en los lados opuestos del robot. O hacer algún patrón de funcionamiento para cada sonar de manera que cada sónar tenga una minima posibilidad de interferencia con el otro.


Interpretación Avanzada de Señal.
Los datos de sónar pueden ser procesados en la misma forma que un Telémetro IR Sharp.

No hay comentarios: