IntroducciónLa construcción de un robot, ya sea una máquina que camine de forma parecida a como lo hace el ser humano, o un manipulador sin rostro para una línea de producción, es fundamentalmente un problema de control. Existen dos aspectos principales: mantener un movimiento preciso en condiciones que varían y conseguir que el robot ejecute una secuencia de operaciones previamente determinadas. Los avances en estos dos campos -el primero es esencialmente un problema matemático, y el segundo de tecnología - suministran la más grande contribución al desarrollo del robot moderno.
1. Sistema de control y componentes La relativa falta de flexibilidad de los dispositivos para levantamiento y colocación impide que éstos se utilicen en aplicaciones más complicadas. Para éstas es esencial utilizar un control de malla cerrada, en el cual el error entre una variable deseada y una real se utilice con fines correctivos. En muchos de estos sistemas, el control de la posición del efector final es la principal preocupación pero, cada vez con mayor frecuencia, las aplicaciones requieren el control de la velocidad y la aceleración así como de la posición a lo largo de una trayectoria deseada. El movimiento prescrito se mantiene mediante la aplicación de pares o fuerzas correctivas en los actuadores para ajustar cualesquiera desviaciones del brazo respecto a la trayectoria establecida. Esto requiere contar con un servomecanismo en cada eje del robot para controlar las coordenadas de la máquina y sus derivadas. Para el control del brazo de un robot es necesaria una tarea analítica extremadamente difícil. La dinámica de un robot con n grados de libertad es no lineal en su mayor parte: se describe por un conjunto de n ecuaciones diferenciales no lineales de segundo orden estrechamente acopladas (Bejczy, 1974). La no linealidad se deriva de la carga de inercia, del acoplamiento entre enlaces adyacentes del manipulador y de las cargas de gravedad, todos los cuales varían de acuerdo con las coordenadas de la máquina. En cualquier sistema de control es importante conocer con precisión el valor deseado de la variable controlada. Cuando los robots se enseñan por medio de botoneras o a base de "llevarlos de la mano", los valores deseados de cada coordenada de la máquina se registran durante la enseñanza. En muchas aplicaciones, sin embargo, la enseñanza por imitación no resulta ni adecuada ni satisfactoria. Un número cada vez mayor de aplicaciones utiliza la programación fuera de línea, en la cual la trayectoria deseada se expresa en coordenadas reales. La computadora debe entonces llevar a cabo la transformación inversa de coordenadas reales a coordenadas máquina con el fin de determinar los valores deseados para las coordenadas de la máquina. Posteriormente se considerarán dos métodos de control de la trayectoria: geométrico y cinemático. Como cada eje de un robot requiere un servomecanismo, resulta relevante incluir un breve análisis de los sistemas de control lineal en malla cerrada. También se hace una breve mención de los sistemas digitales. Estos sistemas resultan particularmente útiles para optimizar el rendimiento del sistema de control de un robot. Como las ecuaciones son no lineales, para lograr un rendimiento óptimo en el control es necesario que los parámetros del sistema de control se alteren a través del volumen de trabajo del robot. Las técnicas de control digital permiten que la estrategia de control se determine por medio de una computadora; es por ello que éstas han adquirido una gran importancia en el campo de la robótica. En la actualidad, la mayoría de los robots disponen, como sistema de control, un mini, un conjunto multimicroprocesador o un microcomputador, dependiendo del alcance y amplitud de sus funciones. La estructura del conjunto computarizado, ha de ajustarse a la operatividad del robot ya su "grado de inteligencia ". Las primeras generaciones de robots, carecían prácticamente de "inteligencia artificial", limitándose a seguir trayectorias preestablecidas, reguladas por un pequeño número de informaciones básicas, como las que proporcionan los finales de carrera y los interruptores de posicionamiento. En una etapa posterior, se incluyo la posibilidad de efectuar cambios en los ciclos de trabajo e, incluso, la actualización del modelo interno del robot, procesando cierta cantidad de información; pero aún carecían de la suficiente inteligencia artificial para adaptarse a las condiciones de trabajo en tiempo real. Las funciones más importantes que debe llevar a cabo el sistema de control, son las siguientes:
Un aspecto muy relevante del moderno sistema de control, corresponde al tipo de realimentación que usa para la concepción del modelo dinámico. Dicha realimentación puede ser de origen interno, propia de los robots actuales que utilizan información referida exclusivamente a parámetros propios y de origen externo, cuando se tiene en cuenta el estado del entorno de trabajo. Las ecuaciones dinámicas se calculan en función de la velocidad, posición, aceleración, pares, etc., mediante un modelo matemático apropiado. Posteriormente, se hallan los pares que han de aplicarse a los actuadores, que controlan los movimientos del manipulador . En la figura 7 se muestra un esquema general sobre las principales labores que soporta el sistema de control.
2. Análisis y control del sistema motriz
Los dispositivos que producen el movimiento de las articulaciones del manipulador pueden clasificarse en tres grandes grupos, según la energía que consumen:
Los actuadores neumáticos e hidráulicos hacen uso del aire comprimido y de un fluido a presión, respectivamente. Dada su importancia y la creciente implantación en Robótica, veremos los motores eléctricos, que como su nombre indica, funcionan con energía eléctrica. Las diferentes tareas encomendadas a los robots, exigen variadas prestaciones (presión, fuerza, par, velocidad, etc. ). Cada tipo de actuador tiene sus cualidades específicas, lo que obliga en muchos casos a combinar varios tipos en un mismo robot. Así por ejemplo, es aconsejable el uso de elementos hidráulicos en los manipuladores que deban soportar una gran capacidad de carga, con un control de velocidad aceptable. Los actuadores neumáticos ofrecen velocidades elevadas de trabajo, pero con una regulación imprecisa de la velocidad. Los motores eléctricos se caracterizan: por la facilidad de realizar un control riguroso de su movimiento. La posibilidad de encontrar energía eléctrica en cualquier parte, unido al funcionamiento limpio y seguro de sus motores, hacen de ellos los actuadores más extensamente aplicados en los robots. Dentro de la variedad de tipos de motores eléctricos, los más adecuados para el movimiento de las articulaciones de los manipuladores, son los de corriente continua y los de paso a paso, que se denominan abreviadamente PAP.
Los primeros robots y, en realidad, la mayoría de los existentes en la actualidad eran relativamente tontos; hacían sólo lo que se les ordenaba. Con frecuencia esto era satisfactorio, especialmente en aquellos casos en los que se requerían aplicaciones repetitivas de fuerzas considerables o en donde los ambientes eran hostiles. Estos robots de primera generación no tienen conciencia de su ambiente y seguirán sus instrucciones sin importar si hay cambios en el medio que los rodea. En realidad, para asegurar un funcionamiento con resultados satisfactorios, es necesario colocarlos en un ambiente cuidadosamente estructurado. La evolución de los robots conduce a una segunda generación que incorpora los sentidos de la vista, el tacto, el oído e, incluso, el olfato y el gusto. Estos sensores externos son en particular importantes en las operaciones automáticas de ensamble, en donde la información visual y táctil es esencial. ¿Puede el lector imaginar lo difícil que resultaría tomar un tornillo y atornillarlo en un orificio si fuera ciego y no tuviera sentido del tacto ? Muchas personas reconocen que el empleo de robots de segunda generación puede redundar en beneficios económicos. Sin embargo, la evolución y aplicación han sido lentos y esto se ha debido, tal vez, a una combinación de factores, incluyendo la complejidad de la tecnología y la natural renuencia de los industriales a ser los primeros en el campo (Pugh, 1983). En la actualidad las aplicaciones crecen mucho más rápidamente y muchos paquetes de visión artificial y una gran variedad de sensores seencuentran ahora disponibles en el mercado. Una vez equipados los robots con sentidos parecidos a los humanos y habiendo incorporado a éstos una amplia variedad de características antropomorfas, resulta natural preguntar si es posible ir un paso másadelante y enseñar a los robots a pensar como humanos. Es muy probable que esta cuestión genere siempre un acalorado debate, dado que, en general, los humanos sienten desagrado y temor por las máquinas que aparentan tener un comportamiento inteligente. A pesar de ello, la tercera generación de robots contará con inteligencia artificial, serán capaces de actuar en una forma racional; serán capaces de entender y responder en un lenguaje natural; podrán resolver problemas complicados en áreas que normalmente requieren la participación de un experto humano. Pero antes de analizar en mayor detalle los alcances de la inteligencia artificial necesario echar un vistazo a los sensores utilizados en la robótica. Tacto y detección táctil Como primer punto es necesario establecer una distinción entre tacto y detección táctil. De acuerdo con los principios definidos por L.D. Harmon, es posible notar que la detección táctil comprende la medición constante de fuerzas en una distribución dada. En la figura 17 se muestran tres ejemplos de detección por tacto. El primero (figura 17 (a) es normal en muchas aplicaciones en las que el robot sólo necesita información de que ha sujetado un objeto o de que se encuentra en la posición correcta para iniciar la acción de sujeción. Como se muestra, un sencillo microinterruptor es con frecuencia adecuado, aunque si los artículos son delicados es posible que sea necesario utilizar un interruptor activado por contacto puntual o incluso realizar un cambio a una detección sin contacto. Los sistemas de soldadura robotizados requieren sistemas de seguimiento de la unión que permitan al robot detectar y corregir desviaciones a partir de la ruta de soldadura deseada. La figura 17(b) el sensor consiste en un detector con forma de aguja que está colocado aproximadamente 3 cm adelante del portaelectrodos de soldadura (Presern y colaboradores, 1981). La aguja tiene dos grados de libertad con un desplazamiento máximo de +- 10 mm. Se utilizan sensores ópticos para convertir el desplazamiento de la aguja en una señal digital que se utiliza para guiar el portaelectrodos de soldadura. Se asegura que cuenta con una resolución de 0.05 cm. Este sistema evita la necesidad de realizar dos pasadas sobre la unión de soldadura, una para enseñar y la otra para soldar. De esta forma la operación se lleva a cabo con mayor rapidez y no se requiere almacenar en la computadora información relativa a la unión. Otro ejemplo de detección por tacto se muestra en la figura 17(c). En este caso, se conectan potenciómetros en miniatura a sondas pretensadas con resorte para determinar en forma general el borde externo de un componente. Este método se ha extendido (Abele, 1981) a la determinación del tamaño de las rebabas durante operaciones de acondicionamiento de partes fundidas; la información se usa para calcular la ruta ideal que debe seguir la esmeriladora.
Fig.17 Detección por tacto: (a) uso de un microinterruptor, (b) medidor para guiar un portaelectrodos de soldadura, (c) detección de imperfecciones.
Detección de deslizamiento Cuando un robot o una prótesis manual tiene que levantar objetos frágiles es importante utilizar la menor fuerza de sujeción posible. La fuerza mínima de sujeción es aquélla que provee suficiente fricción para evitar que el objeto se deslice. Existen varias formas de detectar el deslizamiento. Se han usado micrófonos interconstruidos en prótesis manuales para detectar el deslizamiento por medio del ruido que éste produce (Swain, 1982). Otro método consiste en un rodillo interconstruido en unas tenazas de robot que entra en contacto con la parte por levantar (Masuda y Hasegawa, 1981 ). El deslizamiento provoca la rotación del rodillo que se detecta con sensores fotoeléctricos. Debe hacerse notar que todos los sensores táctiles antes mencionados también tienen la capacidad de detectar el deslizamiento, dado que si llega a ocurrir un deslizamiento, la imagen táctil cambia, y esto podría utilizarse para indicar que ha sucedido un deslizamiento. Medición de fuerzas y pares totales La detección táctil puede proporcionar información sobre la posición de un objeto, sobre su deslizamiento y, si la resolución es lo suficientemente alta, sobre la forma del objeto. La detección táctil está relacionada básicamente con las fuerzas de reacción entre las tenazas y el objeto. La detección de fuerzas, por otro lado, provee información sobre las fuerzas de reacción entre el objeto y el ambiente externo. Su principal área de aplicación es en el ensamble mecánico. Por ejemplo, al colocar una clavija en un orificio, el sistema de control del robot utiliza información sobre la fuerza para ajustar la posición y orientación de la clavija hasta que las fuerzas de reacción se reducen al mínimo. Con el fin de lograr un control activo, es necesario conocer el vector de fuerza generalizado para esto, la fuerza desconocida entre el efector final y el medio ambiente se descompone en tres fuerzas individuales, Fx, Fy y Fz sobre los ejes ortogonales y en tres momentos independientes Mx, My y Mz con respecto de dichos ejes. Existen varias formas para llevar a cabo esta descomposición.
Fig.18 Mediciones de fuerzas y pares totales (a) un soporte medidor de impulso con seis componentes, (b) pedestal sensor de fuerza, (c) sensor de fuerza para montaje en una muñeca, (d) sensor montado directamente en unas tenazas. Detección de proximidad usando sensores sin contacto Una vez analizados aquellos aspectos de detección del robot que se relacionan con el sentido humano del tacto, la atención se enfocará a la detección sin un contacto físico. En forma inicial se considerarán los sensores de proximidad cuya función primaria es determinar si un objeto o parte de un objeto se encuentra a una distancia determinada del efector final del robot. Se mostró con anterioridad que los sensores táctiles más sencillos se usan para determinar si un objeto se ha sujetado o si se encuentra en la posición correcta para sujetarse. Los sensores sin contacto tienen dos importantes ventajas con respecto a los sensores táctiles: no dañan el objeto detectado y, al no estar sujetos a contactos repetidos, tienen una mayor duración. Muchos son los efectos físicos que se utilizan en los sensores de proximidad sin contacto los más comunes son los neumáticos, acústicos, magnéticos, eléctricos y ópticos.
Fig.19 Detectores de proximidad neumáticos: (a) sensor de presión posterior (boquilla de aletas), (b) Variación de la presión con la distancia al objeto, (c) un chorro de aire bloqueable, (d) chorro de aire bloqueable con presión condicionada en el receptor.
Fig.20 El sensor óptico: (a) configuración general, (b) salida como función de la distancia al objetivo y del índice de reflexión de la superficie.
La construcción de un robot, ya sea una máquina que camine de forma parecida a como lo hace el ser humano, o un manipulador sin rostro para una línea de producción, es fundamentalmente un problema de control. Existen dos aspectos principales: mantener un movimiento preciso en condiciones que varían y conseguir que el robot ejecute una secuencia de operaciones previamente determinadas. Los avances en estos dos campos -el primero es esencialmente un problema matemático, y el segundo de tecnología- suministran la más grande contribución al desarrollo del robot moderno. Los manipuladores propiamente dichos representan, en efecto, el primer paso en la evolución de la robótica y se emplean preferentemente para la carga-descarga de máquinas-herramientas, así como para manutención de prensas, cintas transportadores y otros dispositivos. Actualmente los manipuladores son brazos articulados con un número de grados de libertad que oscila entre dos y cinco; cuyos movimientos, de tipo secuencial, se programan mecánicamente o a través de una computadora. Los manipuladores no permiten la combinación simultánea de movimientos ni el posicionamiento continuo de su efector terminal. A pesar de su concepción básicamente sencilla, se han desarrollado manipuladores complejos para adaptarlos a aplicaciones concretas en las que se dan condiciones de trabajo especialmente duras o especificaciones de seguridad muy exigentes. A continuación se describen los pilares para el diseño mecánico de un robot, para el que también se pueden tener en cuenta otros puntos de vista (diseño de un robot). + Locomoción + Diseño de Ruedas + Cinemática + Forma del robot + Adaptación de plataformas móviles + Locomoción por medio de patas
Locomoción Hay una gran variedad de modos de moverse sobre una superficie sólida, entre los robots las más comunes son las ruedas, las cadenas y las patas. Los vehículos de ruedas son, con mucho, los más populares por varias razones prácticas. Los robots con ruedas son más sencillos y más fáciles de construir, la carga que pueden transportar es mayor relativamente. Tanto los robots basados en cadenas como en patas se pueden considerar más complicados y pesados generalmente que los robots de ruedas para una misma carga útil. A esto podemos añadir el que se pueden transformar vehículos de ruedas de radio control para usarlos como bases de robots. La principal desventaja de las ruedas es su empleo en terreno irregular, en el que se comportan bastante mal. Normalmente un vehículo de ruedas podrá sobrepasar un obstáculo que tenga una altura no superior al radio de sus ruedas, entonces una solución es utilizar ruedas mayores que los posibles obstáculos a superar; sin embargo, esta solución, a veces, puede no ser práctica. Para robots que vayan a funcionar en un entorno natural las cadenas son una opción muy buena porque las cadenas permiten al robot superar obstáculos relativamente mayores y son menos susceptibles que las ruedas de sufrir daños por el entorno, como piedras o arena. El principal inconveniente de las cadenas es su ineficacia, puesto que se produce deslizamiento sobre el terreno al avanzar y al girar. Si la navegación se basa en el conocimiento del punto en que se encuentra el robot y el cálculo de posiciones futuras sin error, entonces las cadenas acumulan tal cantidad de error que hace inviable la navegación por este sistema. En mayor o menor medida cualquiera de los sistemas de locomoción contemplados aquí adolece de este problema. Potencialmente los robots con patas pueden superar con mayor facilidad que los otros los problemas de los terrenos irregulares. A pesar de que hay un gran interés en diseñar este tipo de robots, su construcción plantea numerosos retos. Estos retos se originan principalmente en el gran número de grados de libertad que requieren los sistemas con patas. Cada pata necesita como mínimo un par de motores lo que produce un mayor coste, así como una mayor complejidad y menor fiabilidad. Es más los algoritmos de control se vuelven mucho más complicados por el gran número de movimientos a coordinar, los sistemas de patas son un área de investigación muy activo. Diseño de ruedas Existen varios diseños de ruedas para elegir cuando se quiere construir una plataforma móvil sobre ruedas, diferencial, sincronizada, triciclo y de coche. Diferencial Tanto desde el punto de vista de la programación como de la construcción, el diseño diferencial es uno de los menos complicados sistemas de locomoción. El robot puede ir recto, girar sobre sí mismo y trazar curvas. Un problema importante es cómo resolver el equilibrio del robot, hay que buscarle un apoyo adicional a las dos ruedas ya existentes, esto se consigue mediante una o dos ruedas de apoyo añadidas en un diseño triangular o romboidal. El diseño triangular puede no ser suficiente dependiendo de la distribución de pesos del robot, y el romboidal puede provocar inadaptación al terreno si éste es irregular lo que puede exigir alguna clase de suspensión. Otra consideración a hacer en este diseño es cómo conseguir que el robot se mueva recto, para que el robot se mueva en línea recta sus ruedas tienen que girar a la misma velocidad. Cuando los motores encuentran diferentes resistencias (una rueda sobre moqueta y la otra sobre terrazo) las velocidades de los motores varían y el robot girará incluso aún cuando se le haya ajustado inicialmente para que vaya recto. Esto quiere decir que la velocidad debe ser controlada dinámicamente, o sea, debe existir un medio de monitorizar y cambiar la velocidad del motor mientras el robot avanza. De esta manera la simplicidad del diseño queda minimizada por la complejidad del sistema de control de la velocidad; no obstante la reducción de la complejidad mecánica en detrimento de la complejidad de la electrónica y del software es frecuentemente una elección más barata y fiable. Diseño sincronizado En este diseño todas las ruedas (generalmente tres) son tanto de dirección como motrices, las ruedas están enclavadas de tal forma que siempre apuntan en la misma dirección. Para cambiar de dirección el robot gira simultáneamente todas sus ruedas alrededor de un eje vertical, de modo que la dirección del robot cambia, pero su chasis sigue apuntando en la misma dirección que tenía. Si el robot tiene una parte delantera (es asimétrico) presumiblemente donde se concentran sus sensores, se tendrá que arbitrar un procedimiento para que su cuerpo se oriente en la misma dirección que sus ruedas. El diseño sincronizado supera muchas de las dificultades que plantean el diseño diferencial, en triciclo y de coche, pero a costa de una mayor complejidad mecánica. Diseño de triciclo y coche El diseño de coche con sus cuatro ruedas con suspensión proporciona una buena estabilidad, el diseño en triciclo tiene unas prestaciones similares con la ventaja de ser mecánicamente más simple ya que el coche necesita alguna unión entre las ruedas direccionables. En general en estos dos diseños las ruedas direccionables no son motrices, y no es necesario controlar la velocidad de las ruedas para que el robot se mantenga recto. Esta simplificación tiene su precio como veremos en el próximo apartado. Cinemática La cinemática del robot trata de cómo se mueve el mismo, dado que la dirección adopta tal y tal ángulo y que cada rueda gira tantas veces, ¿dónde acabará el robot y qué camino tomará? Los diseños diferencial y sincronizado tienen una ventaja sutil sobre los otros dos tipos, la diferencia estriba en sus cinemáticas. Considere un triciclo, el cual tiene tres grados de libertad cuando se mueve sobre una superficie plana. Es decir, en relación con un sistema global de coordenadas, el robot puede estar en cualquier posición especificado por dos coordenadas x e y, y apuntando en una dirección especificada por una tercera coordenada, el ángulo q . Estos tres grados de libertad (x,y,q ) nos dan la distancia y el ángulo entre el sistema de coordenadas global, y una referencia local en el robot. Nos gustaría tener la posibilidad de posicionar y orientar nuestro robot en cualquier lugar sobre el plano, es decir, sin considerar de donde arranca, si le damos x,y,q el robot debe poder moverse a esa posición. Sin embargo, hay un problema, para alcanzar esos tres grados de libertad el robot sólo puede controlar dos parámetros: la dirección, ángulo a , y la distancia total recorrida, S. Esto quiere decir que la orientación del robot y su posición están ligados, para girar tiene que moverse hacia delante o hacia atrás. El robot no puede ir directamente de una posición y/o orientación a otra, incluso aún cuando no haya nada en su camino. Para alcanzar una posición y orientación deseadas simultáneamente, el robot tiene que seguir algún camino, posiblemente complejo. Los detalles de ese camino se complican todavía más con la presencia de obstáculos, esta es la razón por la que el aparcamiento en línea es difícil; sin embargo, un robot basado en los diseños diferencial o sincronizado puede, al girar sobre sí mismo, desacoplar efectivamente su posición de su orientación.
Forma de un robot La forma de un robot puede tener un gran impacto en sus prestaciones, un robot no cilíndrico corre mayor riesgo de quedar atrapado por una disposición desfavorable de obstáculos o de fallar en encontrar un camino en un espacio estrecho o intrincado. Consideremos dos robots del mismo tamaño uno cilíndrico y el otro cuadrado, ambos encuentran un paso estrecho según se mueven. Un algoritmo sencillo permitirá al robot cilíndrico pasar, el robot choca, gira y lo intenta de nuevo hasta que pasa. Esto es así de simple porque el robot es capaz de girar estando en contacto con el obstáculo. El robot cuadrado, por el contrario, tiene que retroceder y girar si quiere usar la misma táctica. Por tanto, siempre se requiere un algoritmo más complejo para la navegación de un robot cuadrado que para la de uno cilíndrico.
Adaptación de plataformas móviles Hay una gran cantidad de plataformas móviles disponibles para adaptarlas como base de robots móviles: coches de radio-control, vehículos filodirigidos y otros juguetes de pilas. La mayoría de los sistemas de locomoción de ruedas excepto el sincronizado están bien representados en las tiendas de juguetes. Es una buena elección escoger el sistema de locomoción y suspensión de un juguete como base de un robot móvil por varias razones. Lo primero es que nos exigirá menos esfuerzo de diseño y construcción ya que la mayor parte de estos problemas los habrá resuelto de antemano el fabricante, y lo segundo que resultará más barato que comprar los componentes por separado. El diseñador del robot, sin embargo, debe tener presente que existen algunos problemas al hacer esto. Normalmente la plataforma no se adaptará directamente a su uso como robot. Los motores de los juguetes requieren más corriente y tienen poca eficacia, lo que significa que la electrónica será más complicada y el tiempo de funcionamiento será más corto.
Locomoción por medio de patas En general, los sistemas que emplean patas son bastante complejos, sin embargo hay variantes. Un sistema de patas tipo insecto se puede construir empleando sólo parejas de servos. Para dar un paso un servo abre la pata alejándola del cuerpo para salvar si hay un obstáculo, luego el otro servo de la pareja gira para que la pata se mueva adelante. El primer servo, después, baja la pata hasta que ésta toque el suelo, finalmente el segundo servo gira hacia atrás empujando el cuerpo del robot adelante. El movimiento coordinado de seis patas permite al robot moverse adelante, atrás y girar. Otra cosa importante que se debe considerar son los sensore, para ello se toman en cuenta los siguientes aspectos: Percepción Los humanos no damos, a menudo, importancia al funcionamiento de nuestros sistemas perceptuales. Vemos una taza sobre una mesa, la cogemos automáticamente y no pensamos en ello, al menos no somos conscientes de pensar mucho en ello. De hecho, el conseguir beber de una taza requiere una compleja interacción de sentidos, interpretación, conocimiento y coordinación, que, en la actualidad, entendemos mínimamente. Por tanto, infundir a un robot prestaciones de tipo humano resulta ser tremendamente difícil. Los juegos de ordenador que derrotan a los campeones de ajedrez son comunes en nuestros días, mientras que un programa que reconozca una silla, por ejemplo, en una escena arbitraria aún no existe. El "ordenador paralelo" que todos tenemos en nuestra cabeza dedica grandes cantidades de materia gris a los problemas de la percepción y la manipulación. Transducción versus Entender A pesar de que nos gustaría que entendiera y fuera consciente de su entorno, en realidad, un robot está limitado por los sensores que le damos y el programa que le escribimos. Sentir no es percibir. Los sensores son meramente traductores que convierten algunos fenómenos físicos en señales eléctricas que un microprocesador pueda leer. Esto se podía hacer mediante un convertidor analógico - digital (A/D) en el microprocesador, cargando el valor de un puerto de entrada - salida (I/O), o usando una interrupción externa. Siempre se necesita que haya alguna interfaz electrónica entre el sensor y el microprocesador para acondicionar o amplificar la señal. Niveles de abstracción Con el software podemos crear diferentes núcleos de abstracción, para que nos ayude como programadores a pensar acerca de los datos de los sensores de diferentes modos. En el nivel más alto, el sistema inteligente, para parecer ?listo? necesita tener algunas variables para hacer malabares con ellas: ¿Está esta habitación a oscuras? ¿Acaba de entrar alguien? ¿Hay una pared a la izquierda?. Sin embargo, las únicas cuestiones que el robot es capaz de plantearse son tales como: ¿Ha caído la resistencia en el fotosensor? ¿Ha subido la tensión en el sensor piroeléctrico conectado al cuarto canal A/D por encima del umbral? ¿Ha cambiado el nivel en la salida del detector de proximidad infrarrojo? No obstante, es posible infundir muchas capacidades en un robot móvil. El Robot II construido en el Naval Ocean Systems Center. El Robot II sirve de centinela móvil (patrullando un edificio, evitando obstáculos, observando intrusos) y es capaz de encontrar su puesto de recarga para enchufarse. Este robot contiene un gran número de sensores, tales como detectores de infrarrojos de proximidad para evitar obstáculos, sensores para localización, sensores de microondas para detectar movimientos, sensores piroeléctricos para detectar intrusos y temperatura, y sensores de terremotos e inclinaciones para identificar desastres. Otro robot móvil cubierto de sensores es Attila, del tamaño de una caja de zapatos, con seis patas para explorar en todo terreno. Los sensores de las patas se emplean para detectar obstáculos y pasar por encima de ellos. Lleva galgas extensométricas a lo largo de sus espinillas para detectar colisiones, potenciómetros en los motores de sus articulaciones para la calibración de su posición y sensores de contacto en sus pies para asegurar pisadas estables. Sobre el chasis están montados varios sensores. ?Bigotes? En el frente para la detección de colisiones, un sensor de proximidad de largo alcance mide el espacio libre y una pequeña cámara recoge imágenes. Interfaz con los sensores Nos centraremos en varios tipos de sensores simples y en como realizar la interfaz entre ellos y el microprocesador. Veremos varios ejemplos de interfaces de sensores y de controladores de sensores (fotosensores, interruptores de impacto, micrófonos, sensores piroeléctrico de personas, sensores de proximidad de infrarrojo cercano, sonars, sensores de flexión, giróscopos, acelerómetros, sensores de fuerza, brújulas y cámaras) se pueden comprar a bajo coste para interfaz en un pequeño robot móvil. Al final de este tema podremos entender más de la parte del cerebro del robot ?Rug Warrior? que tiene la interfaz con los sensores. La circuitería de los controladores de los motores se verá en el tema de motores. Controladores software Una vez relacionados los sensores y la interfaz adecuado diseñado para conectar los sensores al microprocesador, este ha debido ser programado para leer los sensores. Estos trozos de código se escriben a menudo en lenguaje ensamblador y se conocen como ?software drivers? o controladores software. Los controladores software son fragmentos de código que proporcionan una interfaz bien definida entre un dispositivo hardware y un programa que necesita utilizar a ese dispositivo. Daremos aquí varios ejemplos de código de controladores que hacen fácil usar el hardware. Los controladores software tratan con el interfaz hardware - software. Estas rutinas podrían constantemente consultar un contacto A/D, esperando el disparo de un sensor piroeléctrico, o podrían estar implementadas como manejadores de interrupciones que solo son llamadas cuando la señal devuelta, por ejemplo, por un sensor infrarrojo de proximidad de nivel alto. Sensibilidad y Alcance Hay dos conceptos importantes a entender cuando se analiza la sensibilidad y el alcance de cualquier tipo de sensor. La sensibilidad es una medida de hasta qué grado la salida de la señal cambia a la vez que las cantidades de las magnitudes medidas. Llamemos a la salida del sensor r y a la cantidad física medida x. Por ejemplo un fotodetector podría tener una tensión de salida de, digamos, 0.87 V (r) cuando es bombardeado por 2.3 x 1013 fotones por segundo (x). La sensibilidad del sensor se define como: Un pequeño cambio en la cantidad medida, dx, se relaciona con un pequeño cambio en la repuesta del sensor, dr, mediante la sensibilidad S. Un dispositivo sensor reacciona a la variación de niveles de algunos estímulos físicos produciendo una tensión característica de salida (o corriente, o frecuencia, etc.). Casi siempre, la circuitería asociada al sensor después amplifica o transforma esta tensión y la introduce en un convertidor analógico-digital conectado a un microprocesador. El convertidor A/D es sensible sólo a rangos limitados de tensiones, frecuentemente 0 á 5 V. En el caso del convertidor A/D de 8-bits, este voltaje se convierte en 256 (28) niveles discretos. Esta es por tanto la ventana del microprocesador al mundo. No importa lo complejos y sutiles que sean todos los fenómenos se reducen a un número, o conjunto de números, con valores entre 0 y 255. Es, por tanto, importante tener en cuenta cuidadosamente cómo una cantidad física se transforma en un valor digital accesible por el microprocesador. Por ejemplo, existen opciones lineales y logarítmicas para hacer la correspondencia de tensiones a números. Supóngase que el movimiento de un brazo robótico se restringe a un alcance bien definido, de 0 á 90 grados. Deseamos conocer su posición con igual sensibilidad en todas las partes de su alcance. Bajo estas circunstancias, una correspondencia lineal de los ángulos de las articulaciones con las lecturas A/D, como la que proporciona un sencillo circuito de potenciómetro es adecuada. El caso de un fotodiodo es más complicada, ya que el nivel de iluminación que produce la luz solar es varios órdenes de magnitud mayor que el que ofrece la luz artificial. A nosotros nos gustaría que nuestro robot fuera capaz de sentir las variaciones de luz tanto si está en una habitación luminosa como si está en una habitación oscura. En una escala de unidades de iluminación arbitrarias, supongamos que la iluminación típica en una habitación luminosa varía, digamos, de 10 á 1000 unidades, mientras que en una habitación oscura es de 0.1 á 10. Si escogemos componentes para el circuito de nuestro sensor de modo que los niveles de iluminación entre 0.1 y 1000 se correspondan linealmente con los valores A/D de 0 á 255, entonces el robot tendrá una buena sensibilidad en una habitación luminosa; sin embargo, cualquier nivel de iluminación por debajo de 2 unidades se corresponderá con 0 unidades A/D. Por ello, el robot será prácticamente incapaz de detectar cualquier diferencia de nivel de iluminación en una habitación pobremente iluminada. Una manera de corregir este problema es mediante la correspondencia logarítmica. Un amplificador logarítmico produce una tensión proporcional al logaritmo de la salida del fotodiodo. Este circuito tiene la propiedad de incrementar la sensibilidad a pequeños cambios de intensidad de luz cuando el robot está en una habitación oscura y de disminuirla en habitaciones muy iluminadas. Así el robot puede trabajar en un rango mucho mayor de niveles de iluminación. En general, la salida de un sensor no será ni lineal ni logarítmica en sentido estricto, esto, sin embargo, no representa un problema en la medida en la que el que construye un robot tenga una idea clara de la respuesta del sensor y de las condiciones bajo las que el robot tiene que trabajar. Sensores de Luz Los sensores de luz visible y de infrarrojos cubren un amplio espectro de complejidad. Las fotocélulas se encuentran entre los más sencillos de todos los sensores para hacer su interfaz con el microprocesador, y la interpretación de la salida de una fotocélula es directa. Las cámaras de vídeo, por el contrario, requieren una buena cantidad de circuitería especializada para hacer que sus salidas sean compatibles con un microprocesador, además las complejas imágenes que las cámaras graban son todo menos fáciles de interpretar. Fotoresistencias Los sensores de luz posibilitan comportamientos de un robot tales como esconderse en la oscuridad, jugar con un flash, y moverse hacia una señal luminosa. Los sensores de luz simples son fotoresistencias, fotodiodos o fototransistores. Una fotoresistencia (o fotocélula) tiene una interfaz con un microprocesador fácil de hacer. Las fotoresistencias son simplemente resistencias variables con la luz en muchos aspectos parecidos a los potenciómetros, excepto en que estos últimos varían girando un botón. Los fototransistores dan mayor sensibilidad a la luz que las fotoresistencias. Un fototransistor tiene una interfaz con un microprocesador casi tan fácil como el de una fotoresistencia. Los fotodiodos tienen una gran sensibilidad, producen una salida lineal en un amplio rango de niveles de luz, y responden con rapidez a los cambios de iluminación. Esto les hace útiles en los sistemas de comunicación para detectar luces moduladas; el mando a distancia de casi todos los TV, equipos estéreos y reproductores de CD los emplean. La salida de un fotodiodo requiere, no obstante, amplificación antes de poder ser empleada por un microprocesador. Detectores de proximidad infrarrojos Los comportamientos de seguimiento son fáciles de implementar en un robot móvil, aunque los sensores de infrarrojos no nos dan la distancia real a un objeto, sí nos dicen si está o no presente en su cono de detección. Este tipo de sensores tiene un ancho de haz mucho más estrecho que el de los sonar. El seguimiento de paredes empleando dos detectores es muy corriente. Incluso es posible seguir una pared usando sólo un detector moviéndose diagonalmente como hacen los veleros respecto del viento. En este caso el robot tiene que girar alejándose de la pared cuando detecta algo y girar acercándose a la pared cuando no detecta nada. Durante años los robots han sido considerados útiles sólo si se empleaban como manipuladores industriales. Recientemente han irrumpido varios roles nuevos para los robots. A diferencia de los tradicionales robots fijos de manipulación y fabricación, estos nuevos robots móviles pueden realizar tareas en un gran número de entornos distintos. A estos robots no industriales se les conoce como robots de servicios. |