5.5

Robots móviles

Imagen tomada de
omega2.inin.mx/publicaciones/documentospdf/ROBOTS.pdf

 

En los últimos años la investigación sobre robots móviles está adquiriendo gran desarrollo. Ello se debe, en parte, al abaratamiento del hardware necesario para su construcción, y en parte a la nueva concepción industrial de planta de fabricación flexible, que requiere la reconfiguración de la secuencia de acciones necesarias para una producción variada, lo que a su vez exige facilidad de desplazamiento de los materiales entre cualesquiera puntos de la factoría.

Las soluciones a este problema de transporte de material en entornos "flexibles" son varias. La primera situar las máquinas cerca unas de otras, y organizadas de modo que uno o más brazos robot puedan llevar las piezas entre ellas; esta configuración, un caso particular de las llamadas células de fabricación flexible, es sólo apropiada para un número limitado de máquinas. Otra solución válida es el uso de vehículos autoguiados (denotados usualmente como AGV, Autonomous Guided Vehicles), los cuales recurren para el guiado a sistemas externos preprogramados, tales como un raíl, cables eléctricos enterrados que crean un campo magnético, etc. Finalmente, la mejor solución sería disponer de vehículos autónomos (denotados como ALV, Autonomous Land Vehicles) que se mueven de un punto a otro sin necesidad de ayudas externas (al menos, no en todo momento), lo que los hace capaces de navegación genérica en un entorno dado a partir de órdenes de alto nivel; a la secuencia de tales órdenes se la suele llamar el plan de la misión.

Sistema autónomo robot móvil + brazo robótico
Imagen tomada de http://www.investigacion.frc.utn.edu.ar/agv/

Por otra parte, la construcción experimental de (normalmente) pequeños robots móviles en laboratorios universitarios y a nivel de aficionado (microbots) está haciendo surgir un tipo de investigación que aborda los aspectos de conexión senso-motora (el aspecto más fundamental de la Robótica) desde un punto de vista diferente a aproximaciones anteriores, y que conlleva también un cambio de visión en la concepción clásica de la Inteligencia Artificial, la cual se aborda intentando construir vida artificial.

Existen diferencias bastante importantes entre los robots manipuladores industriales y los móviles. Para que un robot manipulador sea útil y capaz de evolucionar en el espacio 3D, debe poseer varios grados de movilidad (grados de libertad), sin embargo, un robot móvil con solamente dos grados de libertad puede realizar cosas bastante interesantes sobre una superficie de trabajo. Por otro lado, dado que los robots manipuladores generalmente trabajan en espacios altamente estructurados (fijos y adecuados a las tareas a desarrollar), requieren de un sistema de percepción mucho menos sofisticado.


1. Navegación

Se llama navegación al conjunto de métodos y técnicas usados para dirigir el curso de un robot móvil a medida que éste atraviesa su entorno. Se supone que se debe llegar a algún destino pedido, sin perderse y sin chocar ni con obstáculos fijos, ni con otros móviles que eventualmente puedan aparecer en el camino.

Para efectuar navegación lo más común es disponer de un mapa, aunque no necesariamente. Mapa es cualquier tipo de representación del entorno en la memoria del robot. A partir de un mapa, se puede determinar un camino apropiado entre dos puntos deseados, lo cual será más o menos complejo según haya sido la representación escogida. Por último, habrá que seguir ese camino.

Veamos en primer lugar los tipos de mapas que se usan normalmente. Primeramente están los basados en información sensorial, con dos tipos:

  • Mapas de marcas en el terreno (landmarks): son localizaciones particulares fácilmente identificables por el sistema sensorial del robot (cierta esquina, un grupo de objetos bien visibles o tubos de neón, etc.) que actúan como marcas relevantes (landmarks). Se representan como nodos de un grafo (que pueden tener características asociadas, para garantizar su identificación unívoca), los cuales se unen por los arcos que normalmente representan la accesibilidad (si existe arco entre dos nodos, el robot puede desplazarse directamente de uno a otro de los landmarks a los que los nodos representan). Estos arcos pueden también estar etiquetados con características del recorrido como distancia, dirección, tiempo de tránsito, etc.

  • Mapas de ocupación: se basan en representar el terreno como una retícula, regular o no, cada una de cuyas casillas contiene un valor útil para el robot, que suele ser la certitud de ocupación, es decir, qué grado de creencia tiene el robot sobre el estado de una determinada casilla, desde -1 (es seguro que está libre) hasta +1 (es seguro que está ocupada) pasando por 0 (no hay evidencia en ningún sentido). Estos mapas se pueden construir por métodos visuales, mediante la toma de imágenes por un par estéreo de cámaras (o una sola que va a bordo del robot y se sitúa en varias posiciones), a partir de las proyecciones de puntos límite de un objeto, como se ve en la siguiente figura:

Construcción visual de un mapa de ocupación
Imagen tomada de http://ingenieroseninformatica.org  (recursos/tutoriales/aprob)

Los mapas también se pueden clasificar de acuerdo a lo que almacenan:

  • Mapas de espacio libre: al igual que en los mapas de marcas, la estructura de almacenamiento elegida es también el grafo, pero esta vez cada nodo representa un punto de parada donde el robot pueda detenerse para explorar el entorno mediante sus sensores. Los arcos son líneas rectas que el robot pueda recorrer entre estos puntos sin encontrar obstáculos; evidentemente, limitarán a los posibles obstáculos. Observa la figura:


Imagen tomada de http://ingenieroseninformatica.org  (recursos/tutoriales/aprob)

  • Mapas de objetos: Como su nombre indica, lo que se almacena en ellos son los objetos (obstáculos) que el robot puede encontrar en su trayectoria, de varios modos; los más normales son considerar al objeto como un polígono, y almacenar su punto central y la extensión máxima en una serie de direcciones desde él; otro modo es caracterizarlo como una de entre un conjunto de figuras geométricas dadas, y dar su posición y la orientación de un eje propio de esa figura

  • Mapas compuestos: almacenan tanto información de objetos como de espacio libre. Una posibilidad es dividir el espacio en regiones arbitrarias, pero conocidas, e indicar en cada una de ellas si está totalmente libre, totalmente ocupada, o parcialmente ocupada. Otra alternativa es una retícula de puntos con un indicador de estado en cada punto, y una lista de a cuáles de los puntos adyacentes se puede acceder directamente; la retícula puede hacerse más o menos densa, en función del tamaño del robot.

  • Quadtrees: Dividen el espacio mediante una retícula, y proceden por subdivisión recursiva de la misma, mientras la celda resultante sea subdividible, siendo el criterio el que no tenga toda ella el mismo carácter de ocupación.

Una vez se tienen los mapas, el siguiente paso consiste en definir cómo un robot móvil es capaz de saber en qué punto del mapa se encuentra. Para ello, se puede recurrir a la información aportada por los dos tipos posibles de sensores: internos y externos. Los principales procedimientos para la autolocalización (dead reckroning) son:

  • Odometría: a partir del conocimiento de la velocidad de las ruedas resulta posible conocer la velocidad instantánea del robot respecto a un sistema externo. Para ello se pueden instalar sensores de posición angular (normalmente, codificadores ópticos) en cada rueda. Conocido el vector velocidad, la posición en un instante puede obtenerse mediante integración.

  • Balizas: son marcas de fácil localización instaladas en lugares conocidos, que el robot es capaz de detectar con sus sensores, y respecto a las cuáles se sitúa. Pueden ser marcas visuales (tubos de neón, o bandas de colores), o emisores de infrarrojos, cada uno emitiendo una señal modulada con un código conocido. Estas señales pueden ser recogidas por una óptica apropiada y proyectadas sobre una cámara CCD o un array de fotodiodos, que sirve para determinar la dirección de la que proceden. Conociendo al menos dos de éstas direcciones (aunque pueden ser más) y las posiciones absolutas de las balizas es posible determinar por triangulación la posición del robot:


Imagen tomada de http://ingenieroseninformatica.org  (recursos/tutoriales/aprob)

El problema ahora es, dados un punto inicial y un punto final (meta) especificados sobre el modelo de mapa propuesto, encontrar en dicho mapa un camino libre de colisión que el robot pueda seguir. Para hacerlo físicamente, comprobará continua o intermitentemente que se encuentra sobre los puntos del camino, usando alguna de las técnicas de autolocalización. A este proceso se le denomina planificación y seguimiento de caminos.

Los requerimientos que deberá cumplir un planificador de caminos son:

  • Encontrar un camino que el robot pueda atravesar sin colisión.

  • Manejar la incertidumbre en la información sobre el entorno derivada de la imprecisión de los sensores.

  • Mantener el robot lo más lejos posible de los objetos, para que los sensores envíen menos datos y así se requiera menos proceso.

  • Encontrar el camino óptimo (el mejor entre los posibles) y seguirlo de un modo suave.

 Veamos ahora los modos de planificar un camino:

  • Por guiado: consiste en llevar al robot físicamente a una serie de lugares preestablecidos y almacenar las impresiones sensoriales que se reciben en cada uno de ellos, así como la dirección o direcciones de desplazamiento posterior hacia el/los siguiente(s) punto(s) importantes(s). Para alcanzar el punto deseado se pueden implantar lazos de realimentación que operen tomando directamente como entrada las señales sensoriales, y que generen señales de control para los actuadores, evitando el cálculo de la posición absoluta, no útil en este caso.

  • Automáticamente: Aquí entran en juego algoritmos que dependen fuertemente de la representación usada para el mapa. En mapas de tipo grafo, siendo los nodos posiciones de referencia a comprobar con los sensores, la planificación consiste en encontrar el camino de mínima distancia en el grafo. La distancia se define en función de los costes de cada arco, que pueden ser, bien distancias físicas, bien algún otro tipo de penalización asociada a ese desplazamiento (por ejemplo, debida a la estrechez de un pasillo que obliga a reducir la velocidad, etc.). En mapas que contienen los objetos, los planificadores tratan de encontrar caminos por el espacio libre lo más alejados posible de los objetos. Esto es bueno en pasillos estrechos, pero puede ser ineficiente en zonas anchas, por elegir caminos más largos. Observa la parte izquierda de la siguiente figura, en la que se elegiría el camino A antes que el B, pese a ser más largo.


Imagen tomada de http://ingenieroseninformatica.org  (recursos/tutoriales/aprob)


2. Tecnologías de construcción y conexión senso-motora

Un robot móvil, como otros tipos de robot, puede considerarse esencialmente como un sistema (una colección de sensores, actuadores, y elementos computacionales) organizados de tal modo que exhiban una acción inteligente en respuesta aciertos estímulos. Tal sistema no tiene por qué ser complejo. De hecho, algunos de los robots móviles más sencillos responden al siguiente esquema. Están constituidos por dos motores que hacen girar sendas ruedas independientemente. No llevan procesador, todo su hardware consiste en los drivers de potencia de los motores, y en dos contadores programables que comienzan a contar al recibir una señal externa, y durante el tiempo que dure su cuenta, hasta un valor predefinido generan una señal que indica al motor que se mueva en sentido opuesto (B). El resto del tiempo cada motor se mueve hacia adelante (F). Los contadores están conectados a los sensores de choque S1 y S2, como muestra la siguiente figura:


Imagen adaptada de http://ingenieroseninformatica.org  (recursos/tutoriales/aprob)

Al moverse ambos motores a la misma velocidad y en el mismo sentido (F) el robot avanza. Al chocar con un obstáculo, ambos motores invierten su sentido, y el robot retrocede. Pero el contador de uno de ellos está ajustado a un tiempo menor que el del otro, con lo cual al invertirse ambos giran en distinto sentido durante un instante, lo que hace que el robot gire sobre su propio eje, con lo que es posible que ya no apunte hacia el obstáculo. A continuación ambos motores vuelven a girar hacia adelante, y se continúa el avance en línea recta. Si el tiempo (ángulo) de giro no hubiese sido suficiente, el robot volvería a chocar con el obstáculo, y repetiría la misma maniobra. Observa el recuadro izquierdo de la siguiente figura:


Imagen tomada de http://ingenieroseninformatica.org  (recursos/tutoriales/aprob)

Si, además, a uno de los motores se le hiciera girar un poco más lento en el sentido B, tendríamos que el robot retrocedería describiendo un arco. Esto haría que siguiese aproximadamente las paredes, como se observa en el recuadro derecho de la figura anterior. En ese caso, el observador externo asignaría un propósito al robot, cuando en realidad el "programa" no lo establece explícitamente. De hecho, ni siquiera se puede decir que haya un programa en sentido tradicional: todo esto se puede implantar con circuitería analógica, aunque sea mejor hacerlo digitalmente, siempre que se conserve el espíritu de simplicidad. Este ejemplo sirve para ilustrar una conexión directa y de bajo nivel entre percepción y acción, pero esta no es la única manera. También se puede (usando sensores más sofisticados) tratar de localizar aspectos físicos externos conocidos por el mapa prealmacenado, realizar una planificación del camino por los medios antes vistos, y seguirlo usando landmakrs u odometría.

Respecto a la tecnología usada, debemos referirnos a los sensores y a los actuadores. Entre los sensores que más habituales se encuentran:

  • Fotoresistencias o fototransistores, que se usan para implementar fototaxias (seguimiento de fuentes de luz). Su salida se conecta a un conversor A/D, o a un simple comparador, dependiendo del uso que se quiera hacer (si importa el valor de la señal, o sólo si ésta es superior a un umbral).

  • Sensores de proximidad por infrarrojos: Son sensibles a radiación alrededor de los 880 nm. Existen detectores encapsulados que contienen emisor y receptor; modulan la emisión, y responden sólo a ese patrón de modulación, con lo que evitan interferencias de fuentes externas de infrarrojos. El hardware que necesitan es un oscilador (de cuarzo, o astable) para el emisor, y un conversor A/D o comparador para el receptor.

  • Sensores piroeléctricos: son resistencias variables con la temperatura. Se usan para seguir fuentes de calor.

  • Sensores de contacto por doblez: constan de un eje metálico con una capa de pintura conductora que varía su resistencia al doblarse. Se conectan a un conversor A/D.

  • Microinterruptores de choque (bumpers): se usan con una palanca que los activa al chocar el robot con algún obstáculo. Se conectan directamente a entradas digitales del microcontrolador del robot.

  • Sonares: El modelo más usado es el Polaroid TM. El hardware que usan es un contador, para saber el tiempo transcurrido entre la ida yla vuelta del impulso ultrasónico, y circuitos especiales para generar el pulso.

  • Codificadores ópticos: normalmente de tipo incremental, se instalan en todas o algunas de las ruedas, tanto en el eje de giro como en el de guiado. Como ya se vio, requieren un hardware específico para la cuenta de pulsos, aunque ésta se pueda hacer también por sofwtare, conectado las señales de cada canal a puertos de entrada, y manteniendo un proceso dedicado a monitorizarlos.

  • Giróscopos: son análogos a los usados en los sistemas de navegación inercial de los aviones, pero algo más simples. Son raramente usados por su precio. Existen versiones electrónicas baratas basadas en sensores de estado sólido que sólo miden la velocidad de giro, pero no la orientación absoluta.

  • Inclinómetros: se basan en un codificador óptico en posición vertical con un péndulo colgado de él, o bien en una gota de mercurio sobre un platillo horizontal con contactos repartidos regularmente alrededor de ella.

  • Brújulas: deberían dar la orientación absoluta usando el campo magnético terrestre. No son muy usadas, porque aunque en exteriores dan medidas aceptables, en interiores y sobre todo con campos magnéticos provocados por la circuitería o maquinaria circundante no son fiables.

  • Cámaras de TV: se suelen usar modelos en miniatura, de tipo CCD. Tienen los inconvenientes de requerir un hardware más complicado (una placa digital de imagen) y generar un volumen de información difícilmente tratable en tiempo real sin hardware específico.

Navegación de robots en convoy utilizando visión artificial
Imagen tomada de http://omega2.inin.mx/publicaciones/documentospdf/ROBOTS.pdf

En cuanto a los actuadores, se suelen usar siempre motores eléctricos de CC, por su facilidad de control. Se conectan a engranajes reductores para disminuir la velocidad y aumentar la potencia. Si la corriente que necesitan no es muy alta (robots pequeños no muy pesados con dos motores pueden consumir de 0.5 a 2 A por motor), existen reguladores encapsulados que pueden proporcionarla, los cuales se controlan por modulación en anchura de pulso (PWM).

Los lazos de realimentación para el control de las ruedas se suelen realizar por software, que va leyendo los registros asociados a los codificadores, y envía una señal digital que luego se convierte en analógica y activa los dispositivos de potencia. El control es, por supuesto, siempre discreto.

Los sistemas de locomoción son variados. El modelo más común consiste en usar dos ruedas motrices independientes con sus ejes alineados perpendicularmente a la dirección de avance. La forma del robot suele ser compacta, mejor circular, para ganar maniobrabilidad.

La alimentación es un punto muy problemático. Hasta ahora, las baterías que podían dar suficiente corriente eran muy pesadas; hoy día existen modelos recargables de Ni-Cd más ligeros.


Fuentes
 

Robótica. Juan Domingo Esteve (originalmente en http://ingenieroseninformatica.org/recursos/tutoriales/aprob).

Tecnologías de la Información y de la Comunicación. Capítulo 6, Programación y control de procesos. Juan A. Alonso, Santiago Blanco A., Santiago Blanco S., Roberto escribano, Víctor R. González, Santiago Pascual, Amor Rodríguez. Editorial Ra-Ma 2004.

El león no es como lo pintan. Los robots tampoco. J. Armando Segovia

Control y Robótica. Tema: Fundamentos de robótica. Curso provincial. CFIE Valladolid II. Víctor R. González. Asesoría de Tecnología y FP.

volver a Inicio