10
www.fiec.espol.edu.ec www.espol.edu.ec Capítulo 4 Sensores II 4.4 Sensores de fuerza 4.5 Sensores de sonido 4.6 Posición y orientación 4.7 Sensores propioceptivos 4.4 Sensores de fuerza De todos los tipos de sensores, estos son los más confiables, tienen el menor ruido y producen las señales más fáciles de interpretar. Se los puede usar para determinar cuando el robot entra en contacto con otro objeto y donde está el objeto en relación con el robot. Tal información permite al robot maniobrar sin colisiones. 4.4.1 Microswitches Son interruptores pequeños y momentáneos (botoneras) que pueden ser fijados al parachoques (bumper) del robot para indicar si este entra en contacto con un obstáculo. Fig.4.1

Sensores II

Embed Size (px)

Citation preview

Page 1: Sensores II

www.fiec.espol.edu.ec

www.espol.edu.ec

Capítulo 4

Sensores II

4.4 Sensores de fuerza4.5 Sensores de sonido4.6 Posición y orientación4.7 Sensores propioceptivos

4.4 Sensores de fuerza

De todos los tipos de sensores, estos son los más confiables, tienen el menor ruido y producen las señales más fáciles de interpretar. Se los puede usar para determinar cuando el robot entra en contacto con otro objeto y donde está el objeto en relación con el robot. Tal información permite al robot maniobrar sin colisiones.

4.4.1 Microswitches

Son interruptores pequeños y momentáneos (botoneras) que pueden ser fijados al parachoques (bumper) del robot para indicar si este entra en contacto con un obstáculo.

Fig.4.1

La Fig.4.2 muestra dos maneras de conectar los microswitches al microcontrolador. El circuito en la Fig.4.2 (a) es directo: Un pin del puerto E es usado para cada switch. Ventaja: fácil de entender e implementar, pero usa hasta tres líneas de entradas del microcontrolador. La otra manera para conseguir la misma funcionalidad pero usando un solo pin de entrada lo muestra la Fig. 4.2 (b), donde una red de resistencias es usada para crear diferentes voltajes en el pin de entrada del microcontrolador (uC), dependiendo de cual switch se cierra. Esto es esencialmente un sumador de voltajes.

Page 2: Sensores II

Fig. 4.2

4.4.2 Sensores de curvatura (bend sensors)

Estos dispositivos usan una tinta conductiva entre dos electrodos para dar una resistencia variable, dependiendo del grado de curvatura. Esta resistencia variable puede ser conectada a un uC de la misma manera que un fotoresistor, es decir, usando un divisor de voltaje con la salida conectada a un canal A/D.

4.4.3 Force-sensing resistors

También están basados en tinta conductiva. Su resistencia puede cambiar en varios órdenes de magnitud como fuerza sea aplicada (esto es un cambio mucho mayor que los sensores de curvatura) Típicamente usados para medir presión en grippers y pies de robots.

Page 3: Sensores II

4.4.4. Regla de goma (rubbery ruler)

Sensor que puede medir acertadamente cambios a lo largo de este. Tales sensores pueden usarse en el parachoques del robot para detectar deformaciones o desplazamientos o puede ser usado para determinar la posición de un brazo o gripper.

Este sensor está compuesto por dos cables no conectados enrollados lado a lado en una sola capa en un tubo elástico. Los alambres forman las placas de un capacitor. Cuando el tubo se estira, la distancia entre los cables se incrementa y la capacitancia disminuye.

4.5 Sensores de sonido

Los sensores de sonido en el rango auditivo pueden permitir al robot interactuar con su operador.

4.5.1 Micrófonos

Un micrófono puede fácilmente conectarse a un uC a través de una interfaz que amplie su respuesta. La señal del micrófono típicamente debe ser amplificada antes de que sea leída por el uC ya que su señal de salida es muy baja. Un problema al usar un micrófono es la necesidad de tomar muestras de la señal muy frecuentemente (ej.: si se quiere detectar un aplauso, este puede durar solamente un milisegundo). Puede ser necesario dedicar un microprocesador u otro dispositivo de hardware para realizar la tarea de monitorear el micrófono. Otro problema es que un micrófono puesto en el robot, puede estar detectando su propio sonido proveniente de los motores.

4.5.2 Sensores de cinta piezoeléctricos (piezoelectric film sensors)

Page 4: Sensores II

Una cinta piezoeléctrica es un sensor cuyo material es notablemente versátil y barato. Apropiadamente configurado, el mismo material puede ser usado para detectar vibraciones, cambios en la fuerza aplicada, cambio de temperatura y aún radiación infrarroja distante. En cada caso, la operación de sensado consiste en medir el voltaje impuesto en un par de electrodos en los lados opuestos de una cinta de fluoruro de polivinideno. Este sensor produce un voltaje solamente cuando sufre cambios en la cantidad sensada.

4.6 Posición y orientación

Para un robot encontrar su dirección acerca del mundo, es a menudo necesario para hacer ciertas medidas. Por ejemplo, puede ser de ayuda para el robot conocer la dirección de la gravedad, o cuán lejos se ha movido o girado desde que este ha estado en una posición conocida.

4.6.1 Codificadores del eje (shaft encoders)

Un codificador del eje es un sensor que mide la posición o tasa de rotación de un eje. Típicamente, un codificador del eje está montado en el eje de salida de un motor. La señal entregada por este sensor puede ser un código que corresponde a una particular orientación del eje (codificadores absolutos) o puede ser un tren de pulsos(codificadores incrementales). Cada vez que el eje gire una pequeña cantidad, el estado de su salida cambiará de alto a bajo o viceversa. Así, la tasa a la cual los pulsos son producidos corresponde a la tasa a la que el eje gira.

Una manera para que el robot tenga una retroalimentación de cuán distante sus llantas han girado o para sincronizar la velocidad de dos llantas es conectar un codificador a cada eje del motor. Los codificadores del eje pueden comprarse como unidades separadas o como una parte integral del motor. Algunos codificadores incrementales contienen un disco giratorio con orificios. El disco se fija al motor y gira con este. Un led infrarojo-cercano es colocado a un lado del disco y un fototransistor al otro. A medida que el disco gira, la luz que atravieza el disco es interrumpida por los agujeros, y una señal en la forma de un tren de pulsos es producida a la salida del fototransistor. Usando un uC que cuente estos pulsos, el robot puede conocer cuan distante sus llantas han girado. La combinación de un led emisor infrarrojo y un fotodetector, empaquetados para el

Page 5: Sensores II

propósito de ser montado en cualquier lado del disco del eje, es llamado un fotointerruptor.

Otra implementación del codificador del eje es un fotoreflector, donde la luz brillante de un led infrarojo incide en una llanta rayada, reflejando la luz al fototransistor.

4.6.2 Giroscopio (gyros)

Los giroscopios mecánicos usan el principio de conservación del momento angular para mantener uno o más ejes internos apuntando en la misma dirección como el exterior del giroscopio, la caja del giroscopio, se traslada y gira. Así, un giroscopio sujeto a un robot hace posible determinar cuán rápido está girando o cuán lejos este ha rotado, en relación a un sistema de coordenadas fijo.

4.6.3 Sensores de inclinación (tilt sensors)

Page 6: Sensores II

Algunos tipos de sensores pueden proveer información acerca del ángulo relativo entre el cuerpo del robot y el vector de la gravedad. El sensor de inclinación más simple y barato es el interruptor de mercurio. Este sensor consiste en una pequeña bombilla de cristal conteniendo dos o más contactos y una gota de mercurio. Dependiendo de que manera la bombilla es inclinada, la gota de mercurio abrirá o cerrará el circuito. Este tipo de sensor es fácil de conectarlo a un uC. Como el robot inicia, se detiene, y a veces rebota, la gota de mercurio frecuentemente hace contacto, aún cuando el robot no está en una inclinación peligrosa.

El sensor de inclinación electrolítico, un tipo de inclinómetro, ofrece una mejora sobre el interruptor de mercurio en algunas aplicaciones. Este sensor tiene dos o más electrodos inmersos en un fluido conductivo. La conducción entre los electrodos es una función de la orientación del sensor en relación a la gravedad. Este sensor produce una señal de salida analógica proporcional al grado de inclinación. Estos son más caros que los de mercurio.

Un reciente desarrollo en la tecnología de sensores es el “micromachined accelerometer”.

4.6.4 Brújulas (compasses)

Una brújula provee a un robot de un medio para adquirir la información absoluta acerca de su orientación. Esto puede ser de mucha ayuda cuando se tienen algoritmos de navegación. En áreas abiertas, las brújulas son muy confiables, pero en áreas cerradas, la funcionalidad se ve afectada debido a los campos magnéticos del cableado, las estructuras de acero en los edificios, y aún los componentes metálicos del robot pueden producir graves errores en la toma de su lectura.

4.6.5 Sonar

Page 7: Sensores II

Un sonar puede proveer la información de la distancia a un objeto, debido a la posibilidad de medir el tiempo de vuelo entre el inicio de un sonido corto (ping) y el retorno de su eco. Midiendo el tiempo de vuelo y conociendo la velocidad de sonido en el aire, es posible calcular la distancia cubierta por el paseo de ida y vuelta del ping. Estos dispositivos suelen utilizarse en los mecanismos de autofoco para las cámaras. Para medir la distancia a un objeto la tarjeta inicia enviando una breve señal de 400 voltios al transductor. Este crea un chirrido ultrasónico. Después de transmitir el chirrido, la tarjeta monitorea el transductor por un eco de retorno. La tarjeta automáticamente incrementa su ganancia con el tiempo para detetar mejor los ecos débiles que retornan desde los objetos más distantes. Cuando un eco es detectado, la tarjeta mantiene en alto su línea de salida. Midiendo el tiempo entre el inicio del chirrido y el retorno del eco, el uC del robot puede determinar la distancia al objeto responsable del eco.

Un controlador de software simple puede calcular el alcance. Las siguientes tres funciones es todo lo que se necesita:

void init_sonar(): habilita la captura de la entrada en picos crecientes en PA1 y PA2.void ping(): Inicia un ping en el sonar.float range(): Determina si un eco fue recibido; si lo recibe, calcula el alcance.

4.7 Sensores propioceptivos

Un sensor propioceptivo es cualquier sensor usado para medir el estado interno del robot. Monitoreando esta clase de sensores puede indicar al robot cuando es tiempo de recargar sus baterías, cuando un motor se está sobrecalentando o cuando un componente no está funcionando correctamente.

4.7.1 Detección del nivel de batería (battery-level sensing)

Sensando su voltaje de la batería, un robot puede determinar cuando es tiempo de retornar a la estación de recarga o disminuir las operaciones de alto consumo de energía. Es sencillo diseñar un indicador del nivel de la batería cuando el microprocesador opera desde una fuente regulada de voltaje. En este caso, un divisor de voltaje es necesario.

4.7.2 Detección de la corriente de parada (stall current sensing)

Una manera confiable para determinar si un robot está atascado es monitorear la corriente usada para manejar los motores. Si los demás sensores fallan en detectar una colisión

Page 8: Sensores II

inminente, el robot quedará pegado contra el obstáculo. En esta situación, las llantas dejarán de girar mientras la corriente en los motores crecerá a su máximo valor. Así, la corriente del motor sirve como detector de colisiones como último recurso. Una manera para detectar la corriente del motor es colocando un pequeña resistencia en serie con el motor, amplificar el voltaje a traves del resistor y medir el voltaje con uno de los canales A/D.

Para detectar una colisión , el software que monitorea la corriente en el motor no debería responder muy rápidamente. Cada vez que el robot acelera desde un punto muerto, la corriente en el motor crecerá a un valor máximo, luego decrecerá a medida que el robot aumenta de velocidad.

4.7.2 Temperatura

A menudo es una buena idea monitorear ciertas temperaturas dentro del robot. Si los circuitos electrónicos se ponen muy calientes, el microprocesador puede dañarse. Las altas temperaturas pueden además reducir la vida de los motores, y las baterías de NiCd pueden dañarse por el calor.