jueves, 21 de mayo de 2009

PERCEPCIÓN

Dentro de la arquitectura de un robot se pueden apreciar 4 elementos:
–La estructura
–Los actuadores
–Los sensores (comunicación, percepción visión, etc.)
–El sistema de control (servocontrol, generación de trayectorias, planificación)

La percepción está conformada por dos componentes principales, uno puramente físico y el otro psicológico/funcional; éste último permite agregar información para la toma de decisiones a través del aprendizaje y la experiencia, es decir, se incorpora la capacidad de aprender y reaccionar sobre un espacio dinámico de información. Al agregar sistemas de percepción, visual por ejemplo, es posible implementar mecanismos adaptables a si mismos y a los cambios de ambiente. “Se trata de instalar en robots, sistemas de percepción, basados en los mecanismos conocidos de percepción humana que trabajan primordialmente habilitados por el sistema neuronal”, según el ingeniero electrónico Andrés Jaramillo Botero, de la Universidad Javeriana, de la ciudad de Cali, Colombia. [11]

Los sistemas de percepción le permitirían a las máquinas inspeccionar el ambiente que le rodea y hacerse una idea propia de él, sin necesidad de un conocimiento previo del mismo, tal como lo hacen los seres humanos.
Los sistemas de percepción visual artificiales han sido estudiadas ampliamente en laboratorios de Japón y en otros países desarrollados tecnológicamente.

De acuerdo con el investigador Andres Jaramillo, los sistemas mecánicos se guían a través de modelos matemáticos que les permitan moverse controladamente y de una manera precisa en el espacio tridimensional. Gracias a la integración de sistemas de percepción artificial los robots no necesitan de esto y aprenden a precisar su propio modelo y el del entorno que los rodea a traves de lo que perciben.

Fig 1. planeacion de trayectorias de un robot.

Los sistemas fisicos que conforman la persepcion son los sensores que son elementos que le permiten conocer al robot el estado del mundo que le rodea y la posición exacta de sus componentes. Si no incorporamos sentidos a nuestro dispositivo solo tendremos un juguete a control remoto, donde la inteligencia y captación del ambiente está en nuestras manos. [3]

Un sensor es un dispositivo que convierte una variable física o quimica en un impulso eléctrico[1], es decir, los sensores tienen como objetivo capturar alguna señal brindada por el ambiente que rodea al robot y transformar esa señal en un impulso eléctrico que reciba nuestro controlador. Luego desde el programa que usemos para darle comportamiento, interpretaremos este impulso para actuar en consecuencia.


Características esenciales de los sensores

Los sensores determinan en forma precisa el comportamiento de nuestro robot. Es por eso que cuando elegimos el tipo de sensor que incorporamos, debemos analiza un conjunto de características que nos permitirán definir si es o no el que necesitamos para nuestra tarea. Estas son:

  • Fiabilidad: esta característica está muy vinculada al ambiente en el que se mueve nuestro robot. Por ejemplo si utilizamos un sensor de luz brillo en un lugar con luz estable, podemos utilizar sensores de menor calidad porque sabemos que los resultados luego de calibrar el sensor, se mantendrán parejos y podremos confiar en ellos. En cambio, en ambientes en donde las condiciones se modifican en forma constante, los sensores que utilicemos deben poseer mecanismos electrónicos de balanceo que permitan superar estas dificultades. Si los valores devueltos por el sensor no son fiables, necesitaremos compensar este problema con programación , para lo que utilizamos varias muestras y distintos métodos estadísticos que ajusten al mínimo margen de error. Cabe aclarar que esto se paga con mayor tiempo de procesamiento.
  • Rango de valores (spam): el rango de valores de mínimo a máximo que puede devolver el sensor [1].
  • Precisión: aun si se tiene el mismo rango de valores, los sensores pueden devolver más o menos estados intermedios dentro de ese rango. Llamamos precisión a la cantidad de valores distintos que nos puede devolver el sensor en su rango de valores. Por ejemplo no es lo mismo tener un sensor de brillo con un rango de 0 a 100 con una precisión de 1 que uno con una precisión de .1, con este ultimo podemos detectar variaciones más pequeñas que pasarían desapercibidas con el primero.
  • Velocidad de muestreo: es la frecuencia con la que el sensor refresca su lectura del ambiente [1]. A mayor velocidad mejor adaptación a los cambios del mundo en el que se mueve nuestro robot.
    Pero por otro lado nos exige mayor procesamiento de los valores de entrada. De todas formas, si el sensor tiene una alta velocidad y no nos da tiempo para procesar los datos podemos desechar valor de lectura y lograr la velocidad de muestro que necesitemos. En el caso contrario no podemos solucionar el problema. Es decir nos conviene un sensor con la mayor velocidad de muestreo posible, que luego regularemos al tomar todos los valores o solo un conjunto de ellos.
  • Costo: cuando se desarrollan proyectos de robots complejos, nos encontramos con limitaciones de tipo económico, lamentablemente existe una relación lineal entre el costo y las demás características: los sensores más caros son mejores.
  • Calibración: en este caso también tenemos el problema de que cuanto más sencillo sea el sensor, más trabajo de calibración tendremos que hacer con el software. En general, la calibración no está brindada directamente por el sensor, sino que es en la electrónica de la conexión donde podemos agregar elementos que nos permitan modificar, con una simple vuelta de potenciómetro, las señales de entrada o la sensibilidad de lectura. Aunque le agregaremos mas trabajo al diseño inicial del robot, luego agradeceremos que con un tornillo podamos readaptar al robot a diversos ambientes.

Tipos de sensores

Sensores digitales: son aquellos que, como salida de su sensado del mundo, nos devuelven hacia el controlador un valor discreto [2]. El modelo mas sencillo de este tipo de sensores es aquel que directamente nos devuelve un uno o un cero. En todos los casos necesitamos de alguna interfaz electrónica entre el sensor y el micro. Uno de los sensores digitales más primitivos es el interruptor o switch, que nos permite representar el sentido del tacto. Este sentido puede parecer uno de los más simples de implementar, pero en realidad para reproducirlo en toda su expresión deberíamos sensar temperatura, contacto y fuerza (por ejemplo, no es sencillo reproducir la presión ejercida por nuestra mano cuando tomamos un objeto frágil, que se puede deformar por un excesivo nivel de fuerza). Es muy utilizado el interruptor como sensor de tacto para detectar coaliciones para permitir el cambio de sentido de un robot. En el siguiente link se puede observar la percecion que realiza un robot para reconocimiento de personas a traves de filtros.

Sensores analógicos: A los sensores que nos permiten sensar un valor cualquiera dentro de su spam sele llama sensores analógicos [2]. Un problema de los microcontroladores en que siempre trabaja en forma digital. Por lo tanto se requiere de una conversión analógico - digital ADC. Esto se logra mediante un proceso llamado muestreo por medio del cual podemos obtener valores en una parte de la señal cada determinado tiempo y otro denominado cuantización que es la asignación de un valor digital a uno análogo.

Fig. 2 señal de entrada (analogica).

Fig.3 señal muestreada

Fig. 4 señal muestreada y cuantificada (digitalizacion).

La siguiente Tabla muestra algunos tipos de sensores con algunas caracteristicas como la variable medida y su transductor que es un dispositivo que convierte un tipo de energia en otra [].
Tabla 1. clasificacion de sensores de acuerdo a su variable medida, a el transductor usado y al tipo de señal de salida. [12][13]

Piel robotica

Según MIT Technology Review un equipo de investigación de la Universidad de Tokyo ha desarrollado sobre un plástico flexible una serie de transistores que son sensibles a la presión. Gracias a su flexibilidad, el plástico se podría envolver en un dedo de robot, formando un tipo de piel.

Este nuevo avance tecnológico de la robótica podría revolucionar el sector de robots, ya que hasta los robots más avanzados carecen de un sentido del tacto. Si fuesen capaces de "sentir", podrían desarrollar de forma mucho más eficaz tareas tales como la reparación de otras máquinas, la preparación de comida o el cuidado de las personas en hospitales o residencias para ancianos.


Odometria


Es el mecanismo más utilizado para determinar en forma aproximada la posición del robot. Consiste en incorporar encoder en las ruedas de los robots, esto resulta económico pero sin información externa, y se produce una acumulación de errores que nos puede llevar a valores inexactos. Por ejemplo si la rueda resbala sobre el piso, el encoder detectara el giro y supuestamente un avance lineal, cuando en realidad no se produjo.[5]


Fig.4 encoder, es un sensor que permite detectar el movimiento de rotación de un eje, en este caso optico.

Fig. 5 parametros odometricos

Los tipos de errores que podemos encontrar en la odometria son sistemáticos cuando son intrínsecos al mecanismo de toma de datos, como pueden ser problemas en la tasa de muestreo, mal alineamiento de las ruedas, etc. Y no sistemáticos cuando están relacionados a hechos casuales como el mencionado anteriormente, el deslizamiento de una rueda, fuerzas externas que retiren o levanten el robot, suelos desnivelados, etc.

A pesar de eso por su bajo costo y su facilidad de cálculo, s uno de los métodos más utilizados, lo que se recomienda es sumar alguna toma de información más que permita reducir los errores de este proceso.

En el siguiente video se pueden visualizar el desarrollo de pruebas odometricas en software. http://www.youtube.com/watch?v=aRI37ud5lEk&NR=1

APLICACIONES:


[1] Antonio Creus Sole, Instrumentacion industrial, Alfaomega, 6ª edición. 1998.
[2] D. Forsyth, J. Ponce. ``Computer Vision: A Modern Approach''. Prentice-Hall. 2003.
[3]D. Maravall ``Reconocimiento de formas y visión artificial''. RAMA. 1993.
[ 4]Joe Portelli, Flexibility and agility robots to acomódate current and future product production.Industrial Robots: Fast, nimble at 30,Control Engineering,BarringtonNov 2002, Gary A Mintchell.
[5] fundamentos de robotica. Antonio Barrientos, Luis Felipe Peñin, Carlos Balaguer, Rafael Aracil. Mc Graw Hill
[6] http://www.britannica.com/
[7]http://web.mit.edu/newsoffice/2005/epa-grant.html
[8]http://www.nasa.gov/lb/home/index.html
[9]http://www.nsf.gov/news/news_images.jsp?cntn_id=112037&org=NSF
[10] http://gsyc.es/jmplaza/introrob/ir-visionrobots.pdf
[11]http://aupec.univalle.edu.co/informes/febrero98/robots.html
[12]Manual de automatización y control Matsushita NAIS (1999)
[13]Autómatas programables MARCOMBO Josep Balcells,José Luis Romeral