Para que el robot tenga un comportamiento inteligente, el sistema de control debe tener varias características. Por un lado, debe reaccionar en tiempo real. Debe tener reflejos, en otras palabras, capacidad de reacción rápida y adecuada ante cambios imprevistos en el entorno. Además, debe contar con una alta capacidad de planificación, es decir, capacidad de reflexión y toma de decisiones sobre diferentes alternativas y de aprender de errores previos.
Combinar la capacidad de pensar con la reacción inmediata no es nada fácil. Pensar requiere tiempo, pero las reacciones deben ser inmediatas. De alguna manera, debemos encontrar en nuestro sistema de control una combinación adecuada entre la reacción y la planificación. Al ser el robot un sistema que opera en el mundo real, su sistema de control está asociado a procesos que generen y mantengan una interacción robótica adecuada.
Todo robot móvil se diseña para realizar una tarea concreta. No hay robot universal para todo. En el caso de Marisorgin, la tarea de navegación que hemos elegido para este trabajo es la siguiente: el robot tendrá que salir del laboratorio y ir a la biblioteca (de allí recoger algunos libros, por ejemplo). Una vez allí, damos la vuelta y la pasaremos por la oficina de Otzeta (para que Otzeta recoja los libros solicitados). Finalmente, deberá realizar nuevamente el camino al laboratorio.
Para diseñar el robot que va a realizar esta tarea, en primer lugar hay que tener en cuenta que nuestra visión del mundo y la que puede tener un robot son totalmente diferentes, ya que sus sensores y agentes son totalmente diferentes a los nuestros.
Estos seres percibimos los objetos y acontecimientos del entorno a través de la visión, el tacto, el olfato y el oído, y nuestra relación con estos objetos está condicionada por nuestra capacidad de acción (madurar, mover, tirar).
Pero la tecnología actual está aún lejos de alcanzar el grado de sofisticación de los sensores que tenemos los seres vivos. Por ello, es importante comprender la visión mundial del robot, es decir, las limitaciones que tiene el robot para recibir información sobre su entorno o para llevar a cabo acciones en él. De hecho, el grado de inteligencia de un robot depende también de la capacidad de percibir el entorno y de interactuar entre sí.
Nuestro robot, Marisorgin, es un robot holónomo B21 producido por la empresa RWI, con multitud de sensores y actuadores.
Además, Marisorgin tiene otros dos comportamientos: ‘seguir el objetivo’ y ‘parar’. El primero, con una determinada orientación de la brújula, impulsa al robot hacia esa dirección. Por su parte, ‘parar’ se activa si el robot choca contra un objeto y interrumpe el funcionamiento de todo el sistema.
Cada comportamiento, por tanto, tiene su objetivo y decide las acciones que debe realizar el robot para lograr ese objetivo, es decir, las instrucciones que debe ejecutar. Dado que estas órdenes se enviarán al sistema motor, se expresan mediante la magnitud (cuántas) y el signo (adelante o hacia atrás, izquierda o derecha) de las velocidades de rotación y traslación.
Con la navegación básica, el robot explora su entorno de forma segura. Pero está a la deriva, sólo es capaz de navegar con cierta orientación. Para que la marcha de Marisorgin tenga un objetivo, se debe añadir la capacidad de identificar algunas marcas del entorno que permitan identificar los emplazamientos. Pero es importante analizar la tarea desde el punto de vista del robot. Buscaremos marcas o características generales (que puede detectar mediante sensores) y significativas (que le ayudarán en el recorrido). Nosotros hemos elegido las marcas ‘pasillo-gela’ y ‘bifurcación’.
El comportamiento ‘Sala de Pasillos’ tiene como objetivo dar a conocer la ubicación actual del robot, para lo que utiliza sonares. Ten en cuenta que el entorno del robot está formado por habitaciones y pasillos y, mediante sonares, calcula la distancia a los objetos. En consecuencia, detectando que las paredes están más o menos alejadas, el robot puede saber dónde está (en el pasillo o en una habitación).
La marca de cruce se ha diseñado con salidas de emergencia. Y es que todos los edificios públicos deben disponer de señales de salida de emergencia en los cruces, característica que nos sirve para nuestros fines: si el robot identificara las señales de los cruces, sería fácil para nosotros indicar la dirección que debe seguir para llegar a su destino.
Para identificar las señales de salida de emergencia, Marisorgin toma primero imágenes del entorno a través de la cámara. A continuación, estas imágenes son tratadas por la red neuronal que se ha preparado para identificar las señales de salida de emergencia.
Uniendo la navegación básica y el sistema de localización conseguimos un comportamiento de alto nivel que combina todos los comportamientos descritos hasta ahora. El objetivo del Sistema General de Navegación, además de evitar colisiones con objetos, es dirigir el robot hacia el punto de llegada a través de las habitaciones y pasillos, indicando la dirección que debe tomar en cada cruce.
Para medir la idoneidad del sistema de navegación propuesto se han realizado varios experimentos con Marisorgin en la 3ª planta de la Facultad de Informática de San Sebastián. Y esperamos que hayamos alcanzado el objetivo principal, ya que el robot es capaz de navegar con las características de su entorno.
Consideramos que la aportación más importante del trabajo es el esfuerzo que realiza el robot para apropiarse de su entorno y aprovechar sus características. De hecho, muchas técnicas de navegación se basan en la construcción del mapa del entorno y en la entrega del mapa al robot.
El problema de esta aproximación es que el robot no es capaz de responder adecuadamente ante cambios imprevistos que se producen en su entorno (una silla o la gente dificulta su recorrido). En cualquier caso, porque el sistema expuesto puede dar sus frutos de cara al futuro, nos gustaría generalizar el sistema de navegación y adaptarlo a otras tareas y robots. En ello estamos.
Robot móvil Marisorgin
Sensores
Sonares: Calculan la distancia a los objetos del entorno. Las lecturas de Sonar pierden fiabilidad en distancias superiores a tres metros e inferiores a un metro. Infrarrojos: Miden la cercanía de los objetos en función de la intensidad lumínica. Sólo pueden detectar objetos a 50 cm o menos. Sensores de impacto: Como su nombre indica, detectan choques.
Brújula: Indica la orientación actual. Cámara: Es sin duda la más compleja de los sensores, pero también la que más información puede ofrecer.
Agentes
Motores: realizan los movimientos necesarios para la navegación: dos para traslación y uno para rotación.