05.01.2015 Views

ROBOTS DE EXTERIORES - Centro de Automática y Robótica

ROBOTS DE EXTERIORES - Centro de Automática y Robótica

ROBOTS DE EXTERIORES - Centro de Automática y Robótica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2º WORKSHOP<br />

<strong>ROBOTS</strong> <strong>DE</strong><br />

<strong>EXTERIORES</strong><br />

Arquitectura <strong>de</strong> Control para Robot<br />

Editores:<br />

Manuel A. Armada<br />

Ángela Ribeiro<br />

Fernando Seco<br />

Instituto <strong>de</strong> <strong>Automática</strong> Industrial<br />

Consejo Superior <strong>de</strong> Investigaciones Científicas<br />

Julio 2007


Robots <strong>de</strong> exteriores<br />

Editores<br />

Manuel A. Armada<br />

Ángela Ribeiro<br />

Fernando Seco<br />

Instituto <strong>de</strong> <strong>Automática</strong> Industrial<br />

Consejo Superior <strong>de</strong> Investigaciones Científicas<br />

Ministerio <strong>de</strong> Educación y Ciencia<br />

Madrid, Julio <strong>de</strong> 2007


II<br />

Robots <strong>de</strong> exteriores


Prólogo<br />

III<br />

Prólogo<br />

Me es grato presentar el segundo workshop (taller <strong>de</strong> trabajo) <strong>de</strong>l programa Robo-<br />

City2030-CM, subvencionado por la Comunidad <strong>de</strong> Madrid para el período 2005-<br />

2009. El programa, que representa una iniciativa única, agrupa a los centros <strong>de</strong> investigación<br />

en robótica más punteros tanto a nivel nacional como internacional:<br />

Universidad Carlos III <strong>de</strong> Madrid, Instituto <strong>de</strong> <strong>Automática</strong> Industrial <strong>de</strong>l CSIC,<br />

Universidad Politécnica <strong>de</strong> Madrid, Universidad <strong>de</strong> Alcalá, Universidad Rey Juan<br />

Carlos y Universidad Nacional <strong>de</strong> Educación a Distancia. De esta forma, se obtienen<br />

importantes sinergias que permiten potenciar y coordinar las investigaciones<br />

en robótica, sin duplicar esfuerzos y financiación. Por otro lado, este programa<br />

permite proyectar la imagen exterior <strong>de</strong> nuestros investigadores tanto en la sociedad<br />

española como en el ámbito internacional.<br />

Este taller <strong>de</strong> trabajo es el segundo <strong>de</strong> una serie <strong>de</strong> encuentros periódicos que<br />

están planificados hasta finales <strong>de</strong> 2009, y sigue los pasos <strong>de</strong>l primer workshop,<br />

Arquitecturas <strong>de</strong> Control para Robots, celebrado en febrero <strong>de</strong> 2007 y que fue organizado<br />

por la Universidad Politécnica <strong>de</strong> Madrid. Cada uno <strong>de</strong> ellos preten<strong>de</strong> ser<br />

un foro <strong>de</strong> encuentro <strong>de</strong> investigadores en temas punteros <strong>de</strong> la robótica <strong>de</strong> servicio,<br />

campo <strong>de</strong> máxima actualidad investigadora. En este caso, el taller está <strong>de</strong>dicado<br />

a Robots <strong>de</strong> exteriores, y aborda distintas problemáticas tales como sistemas<br />

<strong>de</strong> visión y localización en entornos abiertos, conducción automática, robots aéreos<br />

y submarinos, robots en aplicaciones agrícolas <strong>de</strong> precisión, robots caminantes<br />

para tareas <strong>de</strong> construcción y <strong>de</strong> <strong>de</strong>tección <strong>de</strong> minas antipersonal, así como los<br />

sistemas <strong>de</strong> percepción, <strong>de</strong> control y <strong>de</strong> comunicaciones que hacen posibles dichas<br />

realizaciones prácticas. Los avances en el campo <strong>de</strong> los robots <strong>de</strong> exteriores permitirán<br />

<strong>de</strong>sarrollar robots más autónomos, más rápidos, más precisos y para aplicaciones<br />

más novedosas en entornos complejos.<br />

Por último, me gustaría <strong>de</strong>stacar la excelente organización <strong>de</strong> este taller <strong>de</strong> trabajo<br />

llevada a cabo por los grupos <strong>de</strong> investigación en robótica <strong>de</strong>l Instituto <strong>de</strong><br />

<strong>Automática</strong> Industrial <strong>de</strong>l CSIC. La selección <strong>de</strong> los capítulos incluidos en este libro<br />

ha sido muy cuidadosa y acertada, <strong>de</strong>stacando el gran nivel <strong>de</strong> los mismos.<br />

Los trabajos tienen una importante proyección futura, abriendo nuevos horizontes,<br />

y espero que sean <strong>de</strong> gran utilidad para toda la comunidad robótica española.<br />

Carlos Balaguer<br />

Coordinador Robocity2030-CM


IV<br />

Robots <strong>de</strong> exteriores<br />

Introducción<br />

La presente publicación recoge importantes trabajos investigación en el<br />

área <strong>de</strong> Robots <strong>de</strong> exteriores realizados por los grupos <strong>de</strong> investigación <strong>de</strong><br />

las Universida<strong>de</strong>s Carlos III <strong>de</strong> Madrid, Politécnica <strong>de</strong> Madrid, Alcalá, Rey<br />

Juan Carlos y <strong>de</strong>l Instituto <strong>de</strong> <strong>Automática</strong> Industrial <strong>de</strong>l CSIC en el marco<br />

<strong>de</strong>l proyecto ROBOCITY2030, financiado por el Programa PAIDIR <strong>de</strong> la<br />

Comunidad <strong>de</strong> Madrid.<br />

Los robots <strong>de</strong> exteriores constituyen un área <strong>de</strong> creciente interés en el<br />

ámbito internacional y las investigaciones en este tema se abordan <strong>de</strong>s<strong>de</strong><br />

múltiples puntos <strong>de</strong> vista. Los trabajos que se incluyen en el texto reflejan<br />

la actividad <strong>de</strong> los grupos <strong>de</strong>l proyecto RoboCity2030 en robots <strong>de</strong> exteriores,<br />

muestran su nivel científico y tecnológico, y abarcan un amplio espectro<br />

tanto en lo que respecta al medio en que se <strong>de</strong>ben <strong>de</strong>senvolver: aire, terreno<br />

a<strong>de</strong>cuado por trabajos <strong>de</strong> ingeniería <strong>de</strong> obra civil, terreno natural y<br />

entorno acuático, como en lo que respecta a los sistemas que proporcionan<br />

la movilidad requerida: hélices, propulsores diversos, ruedas, orugas y patas.<br />

Tanto el diseño como el control <strong>de</strong> robots <strong>de</strong> exteriores son tareas<br />

complicadas que requieren <strong>de</strong> un importante esfuerzo <strong>de</strong> investigación, pero<br />

se consi<strong>de</strong>ra que este esfuerzo es fundamental para el avance <strong>de</strong> la robótica.<br />

Un aspecto primordial en este sentido es la percepción sensorial <strong>de</strong>l<br />

entorno y los sistemas <strong>de</strong> localización.<br />

La recopilación <strong>de</strong> trabajos incluida en esta publicación y organizada en<br />

sus diversos capítulos contempla sistemas <strong>de</strong> visión y <strong>de</strong> localización en<br />

entornos exteriores, sistemas <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisiones en conducción automática,<br />

mo<strong>de</strong>lado y simulación. Asimismo hay una serie <strong>de</strong> capítulos en<br />

los que se presentan importantes avances en robots aéreos y submarinos,<br />

sistemas <strong>de</strong> exploración <strong>de</strong>l terreno para la <strong>de</strong>tección <strong>de</strong> minas, robots móviles<br />

en agricultura <strong>de</strong> precisión y robots <strong>de</strong> servicios para tareas <strong>de</strong> consolidación.<br />

Al gran nivel científico y tecnológico <strong>de</strong> todos los trabajos relacionados<br />

hay que añadir la gran experiencia <strong>de</strong> los investigadores que los han realizado<br />

para avalar la calidad <strong>de</strong> esta publicación que, esperamos sea una<br />

herramienta en futuros trabajos <strong>de</strong> investigación, así como una referencia<br />

en la docencia en cursos o seminarios avanzados en <strong>Robótica</strong>.<br />

Los editores quieren agra<strong>de</strong>cer el gran esfuerzo <strong>de</strong> los sesenta investigadores<br />

<strong>de</strong> las Instituciones participantes, autores <strong>de</strong> los distintos capítulos


Introducción<br />

V<br />

para realizar la siempre difícil tarea <strong>de</strong> plasmar en unas hojas los numerosos<br />

y excelentes resultados <strong>de</strong> las activida<strong>de</strong>s realizadas durante un gran<br />

periodo <strong>de</strong> tiempo.<br />

Manuel A. Armada<br />

Ángela Ribeiro<br />

Fernando Seco


VI<br />

Robots <strong>de</strong> exteriores


Índice<br />

CAPÍTULO 1<br />

SLAM Visual en Entornos Exteriores Usando una<br />

Cámara Estéreo Gran Angular y Corrección <strong>de</strong><br />

Características SIFT<br />

D. Schleicher, L.M. Bergasa, R. Barea, E. López, M.<br />

Ocaña, J. Nuevo y P. Fernán<strong>de</strong>z 1<br />

CAPÍTULO 2<br />

Toma <strong>de</strong> Decisiones para Cooperación <strong>de</strong> Vehículos<br />

Autónomos en Maniobras Críticas<br />

T. <strong>de</strong> Pedro, R. García, C. Gonzáles, J.E. Naranjo y J. Alonso 23<br />

CAPÍTULO 3<br />

Aplicación <strong>de</strong> Técnicas <strong>Robótica</strong>s al A<strong>de</strong>lantamiento<br />

Entre Vehículos Pesados<br />

C. Agüero, V. Gómez, J. Cañas, V. Matellán, F. Martín y<br />

P. Barrer 33<br />

CAPÍTULO 4<br />

Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación<br />

Segura <strong>de</strong> Robots en Entornos Exteriores<br />

C. Castejón, D. Blanco y L.E. Moreno 47<br />

CAPÍTULO 5<br />

Localización <strong>de</strong> Robots y AGVs Mediante<br />

Tecnología RFID<br />

F. Seco, F. Ramos, A. Koutsou, A.R. Jiménez, C. Prieto,<br />

J. Roa, J. Guevara y J. Ealo 67<br />

CAPÍTULO 6<br />

Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la<br />

Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

S. Nabulsi, J. Sarria, R. Ponticelli y M. Armada 83


VIII<br />

Robots <strong>de</strong> exteriores<br />

CAPÍTULO 7<br />

Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una<br />

Plataforma Paralela Experimental para Aterrizaje y<br />

Despegue <strong>de</strong> Helicópteros<br />

J. Quintero, I. Banfield, A. Campos, R. Saltarén, M. Ferré y<br />

R. Aracil 103<br />

CAPÍTULO 8<br />

Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el<br />

Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos Aéreos<br />

P. Gutiérrez, J. <strong>de</strong>l Cerro, A. Barrientos, R. San Martín,<br />

A. Martínez y C. Rossi 121<br />

CAPÍTULO 9<br />

Sistema Robotizado para la Detección y<br />

Localización <strong>de</strong> Minas Antipersonas<br />

R. Ponticelli, E. García, P. González <strong>de</strong> Santos y M. Armada 139<br />

CAPÍTULO 10<br />

Una Nueva Metodología para Descripción <strong>de</strong>l<br />

Entorno en la Detección en Robots <strong>de</strong> Minas<br />

Antipersonas<br />

C. Salinas, M. Armada y P. González <strong>de</strong> Santos 157<br />

CAPÍTULO 11<br />

Arquitectura Multi-Agente para la Interfaz <strong>de</strong><br />

Usuario <strong>de</strong> un Vehículo Agrícola<br />

X.P. Burgos-Artizzu, A. Ribeiro, M.C. García-Alegre y<br />

L. García-Pérez 175<br />

CAPÍTULO 12<br />

Sistemas <strong>de</strong> Localización y Percepción Inteligente<br />

en la Navegación Autónoma y Segura <strong>de</strong> Robots<br />

<strong>de</strong> Exteriores 187<br />

M.C. García-Alegre, A. Ribeiro, D. Martín,<br />

L. García-Pérez y D. Guinea


Índice<br />

IX<br />

CAPÍTULO 13<br />

Robot Subacuático <strong>de</strong> Estructura Paralela para la<br />

Inspección y Teleoperación <strong>de</strong> Lugares <strong>de</strong> Difícil<br />

Acceso<br />

C. Álavarez, R. Saltarén, R. Aracil, E. Yime y M. Sancho 207<br />

CAPÍTULO 14<br />

RobMAT: Sistema Modular para Entornos Semiestructurados<br />

R. Aracil, J. Baca, M. Ferré, J. A. Escalera 229<br />

Índice <strong>de</strong> Autores 245


X<br />

Robots <strong>de</strong> exteriores


CAPÍTULO 1<br />

SLAM Visual en Entornos Exteriores Usando una<br />

Cámara Estéreo Gran Angular y Corrección <strong>de</strong><br />

Características SIFT<br />

D. SCHLEICHER 1 , L. M. BERGASA 2 , R. BAREA 2 , E. LÓPEZ 2 , M.<br />

OCAÑA 2 , J. NUEVO 2 y P. FERNÁN<strong>DE</strong>Z 2<br />

1 Departamento <strong>de</strong> Electrónica - Universidad <strong>de</strong> Alcalá,<br />

dsg68818@telefonica.net; 2 Departamento <strong>de</strong> Electrónica - Universidad <strong>de</strong><br />

Alcalá, {bergasa, barea, lopez, mocana, jnuevo}@<strong>de</strong>peca.uah.es<br />

En este artículo se presenta un nuevo método <strong>de</strong> SLAM en tiempo real<br />

aplicado a la navegación autónoma <strong>de</strong> un vehículo en gran<strong>de</strong>s entornos exteriores<br />

y sin restricciones. Dicho método está basado exclusivamente en la<br />

información visual proporcionada por una cámara estéreo <strong>de</strong> gran angular<br />

y bajo coste. Nuestra propuesta consiste en dividir el mapa global en varios<br />

submapas locales i<strong>de</strong>ntificados por las <strong>de</strong>nominadas huellas SIFT. A nivel<br />

<strong>de</strong> submapa (SLAM <strong>de</strong> bajo nivel), se realiza un mapeado secuencial en<br />

3D <strong>de</strong> una serie <strong>de</strong> marcas naturales a la vez que se obtiene la localización/orientación<br />

<strong>de</strong>l vehículo usando un método Bayesiano para mo<strong>de</strong>lar el<br />

comportamiento dinámico <strong>de</strong>l sistema. Para reducir el error acumulativo<br />

global, manteniendo las restricciones <strong>de</strong> tiempo real, se ha añadido un nivel<br />

<strong>de</strong> abstracción adicional superior (SLAM <strong>de</strong> alto nivel). Este nivel usa<br />

un método <strong>de</strong> corrección basado en la extracción <strong>de</strong> huellas visuales SIFT<br />

asociadas a los diferentes submapas. Se presentan resultados experimentales<br />

usando gran<strong>de</strong>s entornos reales en exteriores.<br />

1 Introducción<br />

La Localización y Mapeado Simultaneous en Tiempo Real (SLAM) es<br />

un aspecto clave en robótica. En los últimos años se han <strong>de</strong>sarrollado diversas<br />

alternativas (López, 2005)(Newman, 2002). Investigaciones recientes<br />

han <strong>de</strong>mostrado que el SLAM basado en cámaras es muy útil en domi-


2 Robots <strong>de</strong> exteriores<br />

nios en los que el objetivo es recuperar la posición 3D <strong>de</strong> la cámara en<br />

tiempo real, moviéndose a gran velocidad en entornos habituales humanos,<br />

a partir <strong>de</strong>l mapeado <strong>de</strong> marcas visuales dispersas, potencialmente con mínima<br />

información acerca <strong>de</strong> la dinámica <strong>de</strong> su movimiento(Davison,<br />

2003). En (Elinas, 2006), se presenta un método <strong>de</strong> SLAM 3D visual, basado<br />

en una cámara estéreo y marcas SIFT (Scale Invariant Feature Transform).<br />

Actualmente el principal objetivo <strong>de</strong> las investigaciones en SLAM<br />

es aplicar métodos consistentes, robustos y eficientes en gran<strong>de</strong>s en entornos.<br />

Uno <strong>de</strong> los hitos principales es conseguir cerrar gran<strong>de</strong>s lazos, en<br />

tiempo real, <strong>de</strong>tectados en el camino recorrido por el vehículo.<br />

Existen diversas propuestas para resolver los problemas asociados usando<br />

métodos métricos, topológicos o híbridos. Un ejemplo <strong>de</strong> estos últimos<br />

se <strong>de</strong>scribe en (Bosse, 2004). Esta solución preten<strong>de</strong> construir un mapa topológico<br />

compuesto <strong>de</strong> diversos mapas métricos más sencillos. Después <strong>de</strong><br />

esto, a medida que el vehículo explora nuevos lugares, el algoritmo <strong>de</strong>ci<strong>de</strong><br />

si construir un nuevo submapa o crear una nueva relación con alguno <strong>de</strong><br />

los mapas existentes. Los enlaces contienen las relaciones entre sistemas<br />

<strong>de</strong> coor<strong>de</strong>nadas, así como las transformaciones <strong>de</strong> las incertidumbres. En<br />

(Newman, 2006) se propone un SLAM 3D usando matrices <strong>de</strong> similitud<br />

SIFT, basadas en apariencia visual. Esto permite el reconocimiento <strong>de</strong> lugares<br />

previsitados que puedan ser altamente repetitivos. El artículo presentado<br />

en (Frese, 2006) propone un método que es capaz <strong>de</strong> cerrar lazos muy<br />

gran<strong>de</strong>s con un gran número <strong>de</strong> marcas en un entorno simulado. En él se<br />

usa un método jerárquico para representar las diferentes magnitu<strong>de</strong>s probabilísticas<br />

asociadas a diversas regiones <strong>de</strong>l mapa. A<strong>de</strong>más se proporcionan<br />

medios para transmitir las actualizaciones y predicciones <strong>de</strong>l mo<strong>de</strong>lo<br />

<strong>de</strong> la parte superior a la inferior <strong>de</strong>l árbol y viceversa.<br />

Este artículo presenta un método <strong>de</strong> SLAM en tiempo real basado en visión<br />

estéreo. La base <strong>de</strong> este trabajo fue previamente presentada por los autores<br />

en (Schleicher, 2006). El sistema está basado en una cámara estéreo<br />

<strong>de</strong> gran angular montada en un vehículo. De forma secuencial, se van capturando<br />

diversas marcas visuales, usando el operador Shi and Tomasi (ver<br />

(Shi, 1994)), y son introducidas en un filtro EKF con el objeto <strong>de</strong> mo<strong>de</strong>lar<br />

el comportamiento probabilístico <strong>de</strong>l sistema. Para la percepción <strong>de</strong> las<br />

marcas se usa un mo<strong>de</strong>lo <strong>de</strong> medida, mientras que para el comportamiento<br />

dinámico <strong>de</strong>l vehículo se implementa un mo<strong>de</strong>lo <strong>de</strong> movimiento. Como es<br />

bien sabido, uno <strong>de</strong> los principales problemas <strong>de</strong> la implementación <strong>de</strong>l<br />

EKF es el incremento cuadrático (n 2 ) <strong>de</strong>l coste computacional en función<br />

<strong>de</strong>l número <strong>de</strong> marcas, mostrándose inapropiado para gran<strong>de</strong>s entornos,<br />

don<strong>de</strong> este número pue<strong>de</strong> ser potencialmente alto. Para solucionar este<br />

problema, presentamos una implementación modificada <strong>de</strong> SLAM que<br />

aña<strong>de</strong> un nivel <strong>de</strong> procesado adicional al método <strong>de</strong> SLAM mencionado


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 3<br />

anteriormente (“SLAM <strong>de</strong> bajo nivel”) que <strong>de</strong>nominaremos “SLAM <strong>de</strong> alto<br />

nivel”. El mapa global se divi<strong>de</strong> en submapas locales i<strong>de</strong>ntificados por<br />

huellas SIFT. Una huella caracteriza la apariencia visual <strong>de</strong> una imagen a<br />

partir <strong>de</strong> un número <strong>de</strong> marcas SIFT y la relación entre ellas. Así pues, el<br />

vehículo se ubica localmente en un submapa usando el SLAM <strong>de</strong> bajo nivel.<br />

Las huellas se toman periódicamente a medida que el vehículo explora<br />

nuevos entornos. Este proceso i<strong>de</strong>ntifica un submapa englobando las marcas<br />

obtenidas en el SLAM <strong>de</strong> bajo nivel, comprendidas entre la huella actual<br />

y la próxima. Para po<strong>de</strong>r <strong>de</strong>tectar los lugares previsitados se realiza un<br />

matching entre las huellas previamente capturadas y la huella actual. La información<br />

extraída a partir <strong>de</strong> las marcas SIFT pertenecientes a la huella se<br />

usa para actualizar el filtro EKF y corregir el estado <strong>de</strong>l vehículo así como<br />

la porción <strong>de</strong>l mapa perteneciente al lazo que acaba <strong>de</strong> <strong>de</strong>tectarse.<br />

Este artículo está estructurado en dos partes fundamentales. La primera<br />

presenta la implementación <strong>de</strong>l SLAM <strong>de</strong> bajo nivel, mientras que la segunda<br />

el SLAM <strong>de</strong> alto nivel. Después, se presenta una gran variedad <strong>de</strong><br />

resultados para mostrar el comportamiento <strong>de</strong> nuestro sistema. El artículo<br />

finaliza con las conclusiones y trabajos futuros.<br />

2 SLAM <strong>de</strong> Bajo Nivel<br />

Este nivel implementa todos los algoritmos y tareas necesarias para localizar<br />

el vehículo y mapear su entorno local.<br />

2.1 Aplicación <strong>de</strong>l Filtro <strong>de</strong> Kalman Extendido<br />

Para aplicar el EKF es necesario <strong>de</strong>finir un vector <strong>de</strong> estado X y su matriz<br />

<strong>de</strong> covarianza P . El propósito <strong>de</strong>l algoritmo consiste en estimar continuamente<br />

la posición y la orientación <strong>de</strong>l vehículo, a través <strong>de</strong> la linealización<br />

<strong>de</strong> la función <strong>de</strong> próximo estado f(X), en cada paso. Debido al uso <strong>de</strong>l<br />

mo<strong>de</strong>lo <strong>de</strong> movimiento (impulse motion mo<strong>de</strong>l) para la dinámica <strong>de</strong>l vehículo,<br />

el cual será explicado posteriormente, es necesario añadir dos variables<br />

más al vector <strong>de</strong> estado <strong>de</strong>l vehículo X v : las velocida<strong>de</strong>s lineal y angular.<br />

X ( ) T<br />

v = X rob qrob<br />

vrob<br />

ω<br />

(1)<br />

En la Ecuación (1), X rob es el vector <strong>de</strong> posición 3D <strong>de</strong>l vehículo respecto<br />

al sistema <strong>de</strong> coor<strong>de</strong>nadas global, q rob representa el vector <strong>de</strong> rotación<br />

(quaternion), v rob es la velocidad lineal y ω la angular. Por otro lado, te-


4 Robots <strong>de</strong> exteriores<br />

niendo en cuenta que el submapa al completo tiene que ser introducido en<br />

el filtro, todos los vectores <strong>de</strong> estado <strong>de</strong> la posición global <strong>de</strong> las marcas Y i<br />

tienen que ser incluidos en el vector <strong>de</strong> estado total X . Por lo tanto se pue<strong>de</strong><br />

<strong>de</strong>finir el vector <strong>de</strong> estado X = ( X<br />

) T<br />

v<br />

Y1<br />

Y2<br />

L y su correspondiente<br />

matriz <strong>de</strong> covarianza P.<br />

2.2 Mo<strong>de</strong>lo <strong>de</strong> Movimiento<br />

El primer paso para construir el mo<strong>de</strong>lo <strong>de</strong> movimiento consiste en pre<strong>de</strong>cir<br />

el vector <strong>de</strong> próximo estado y su matriz <strong>de</strong> covarianza. En este caso<br />

el objeto a mo<strong>de</strong>lar es un vehículo móvil. Nuestro mo<strong>de</strong>lo está basado en<br />

una aplicación más general (ver (Schleicher, 2006)). Éste asume una velocidad<br />

constante (tanto lineal como angular) en cada paso <strong>de</strong>l filtro. Sólo<br />

existirán cambios <strong>de</strong> velocidad aleatorios al avanzar <strong>de</strong> un paso al siguiente,<br />

lo que conduce a la <strong>de</strong>finición <strong>de</strong>l <strong>de</strong>nominado mo<strong>de</strong>lo <strong>de</strong> impulso (impulse<br />

mo<strong>de</strong>l). Para po<strong>de</strong>r aplicarlo a la navegación <strong>de</strong> un vehículo móvil se<br />

han aplicando una serie <strong>de</strong> restricciones al mo<strong>de</strong>lo. Estas restricciones consisten<br />

en reducir la incertidumbre <strong>de</strong>l movimiento en la dirección <strong>de</strong>l eje<br />

“y” (vertical a la dirección <strong>de</strong> avance), así como la incertidumbre en las rotaciones<br />

alre<strong>de</strong>dor <strong>de</strong> los ejes “z” (dirección <strong>de</strong> avance) y “x” ( trasversal a<br />

la dirección <strong>de</strong> avance).<br />

De acuerdo con este mo<strong>de</strong>lo, para pre<strong>de</strong>cir el próximo estado <strong>de</strong>l vehículo,<br />

se <strong>de</strong>fine la función f ( [ ] ) T<br />

v<br />

= X<br />

rob<br />

+ vrob<br />

⋅∆t<br />

q<br />

rob<br />

× q ω⋅∆t<br />

vrob<br />

ω . El<br />

término q[ ω ⋅ ∆t]<br />

representa la transformación <strong>de</strong> un vector <strong>de</strong> 3 componentes<br />

en el <strong>de</strong>nominado quaternion, <strong>de</strong> 4 componentes. Asumiendo que el<br />

mapa no cambia a lo largo <strong>de</strong>l tiempo, las posiciones absolutas <strong>de</strong> las marcas<br />

Y <strong>de</strong>ben continuar siendo las mismas <strong>de</strong> un estado al siguiente.<br />

i<br />

2.3 Mo<strong>de</strong>lo <strong>de</strong> Medida<br />

Las medidas visuales se obtienen a partir <strong>de</strong> las posiciones <strong>de</strong> las marcas<br />

“visibles”. En nuestro sistema <strong>de</strong>finimos cada uno <strong>de</strong> los vectores <strong>de</strong><br />

predicción <strong>de</strong> medida h ( ) T<br />

i<br />

= hix<br />

hiy<br />

h como la posición 3D <strong>de</strong> la marca<br />

iz<br />

correspondiente respecto al sistema <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong>l vehículo. Para<br />

elegir la marca a medir, es necesario <strong>de</strong>finir algunos criterios <strong>de</strong> selección.<br />

Estos criterios se basarán en la “visibilidad” <strong>de</strong> la marca, es <strong>de</strong>cir, si su<br />

apariencia es suficientemente semejante a la original (cuando la marca fue<br />

inicializada). Esta condición se calcula basándose en la distancia relativa y<br />

ángulo <strong>de</strong>l punto <strong>de</strong> vista respecto <strong>de</strong> las obtenidas en la fase <strong>de</strong> inicialización<br />

(ver Fig. 1).


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 5<br />

Feature<br />

h iorig<br />

β<br />

h i<br />

Fig. 1. Original and current feature measurement vectors.<br />

El primer paso es pre<strong>de</strong>cir el vector <strong>de</strong> medida h i<br />

. Con objeto <strong>de</strong> buscar<br />

el vector <strong>de</strong> medida actual z i<br />

, tenemos que <strong>de</strong>finir un área <strong>de</strong> búsqueda en<br />

las imágenes <strong>de</strong> proyección. Este área estará <strong>de</strong>finida alre<strong>de</strong>dor <strong>de</strong> los puntos<br />

<strong>de</strong> proyección <strong>de</strong> la predicción <strong>de</strong> medida h i<br />

tanto para la imagen izquierda<br />

como para la <strong>de</strong>recha: U L : ( u L , vL<br />

) , U R : ( u R , vR<br />

) . Para obtener las<br />

coor<strong>de</strong>nadas <strong>de</strong> imagen <strong>de</strong> proyección, en primer lugar aplicamos el sencillo<br />

mo<strong>de</strong>lo <strong>de</strong> “pin-hole” y posteriormente aplicamos la distorsión usando<br />

los mo<strong>de</strong>los radial y tangencial, que serán <strong>de</strong>tallados más a<strong>de</strong>lante. Para<br />

obtener z necesitamos resolver el problema <strong>de</strong> geometría inversa, aplicando<br />

asimismo los mo<strong>de</strong>los <strong>de</strong> distorsión.<br />

i<br />

Respecto a las áreas <strong>de</strong> búsqueda, serán calculadas basándose en la incertidumbre<br />

<strong>de</strong> la posición 3D <strong>de</strong> la marca, <strong>de</strong>nominada covarianza <strong>de</strong> innovación<br />

S (ver (Davison, 1998)). Dado que tenemos dos imágenes <strong>de</strong> proyección<br />

diferentes, S i<br />

i<br />

necesita ser transformada en las covarianzas <strong>de</strong><br />

proyección P y P .<br />

U L<br />

U R<br />

T<br />

∂U<br />

⎛<br />

L<br />

∂U<br />

⎞<br />

L<br />

PU<br />

L<br />

= ⋅Si<br />

⋅<br />

h<br />

⎜ ;<br />

∂<br />

i<br />

∂hi<br />

⎝<br />

⎟ ⎟ ⎠<br />

PU<br />

R<br />

T<br />

∂U<br />

⎛<br />

R<br />

∂U<br />

⎞<br />

R<br />

= ⋅ Si<br />

⋅<br />

h<br />

⎜<br />

(2)<br />

∂<br />

i<br />

∂hi<br />

Estas dos covarianzas <strong>de</strong>finen otras dos regiones <strong>de</strong> búsqueda elípticas,<br />

obtenidas tomando un cierto número <strong>de</strong> <strong>de</strong>sviaciones estándar (habitualmente<br />

3) <strong>de</strong> las gaussianas 3D.<br />

Una vez que las áreas, don<strong>de</strong> la proyección <strong>de</strong> la marca actual <strong>de</strong>be caer,<br />

se han <strong>de</strong>finido, ya po<strong>de</strong>mos comenzar su búsqueda. En la fase <strong>de</strong> inicialización,<br />

se almacenan las imágenes que representan los patches izquierdo y<br />

<strong>de</strong>recho <strong>de</strong> la marca. Después, para buscar el patch <strong>de</strong> la marca en su nueva<br />

ubicación, se realizan una serie <strong>de</strong> correlaciones normalizadas (normalized<br />

sum-of-squared-difference correlations) a lo largo <strong>de</strong> toda el área <strong>de</strong><br />

búsqueda (ver (Davison, 1998)).<br />

⎝<br />

⎟ ⎟ ⎠


6 Robots <strong>de</strong> exteriores<br />

2.4 Inicialización <strong>de</strong> Marcas<br />

El criterio para inicializar nuevas marcas es el <strong>de</strong> mantener un mínimo<br />

número <strong>de</strong> marcas visibles a la vez. Cuando una marca va a ser inicializada,<br />

se buscará su patch correspondiente <strong>de</strong>ntro <strong>de</strong> un área <strong>de</strong> búsqueda rectangular<br />

localizada aleatoriamente en una <strong>de</strong> las imágenes <strong>de</strong> la cámara<br />

(normalmente la izquierda).<br />

En el momento <strong>de</strong> buscar la mejor marca a introducir en el filtro, necesitamos<br />

asegurar que tenga unas propieda<strong>de</strong>s buenas para realizar el seguimiento.<br />

Esto significa que dicha marca <strong>de</strong>be distinguirse correctamente <strong>de</strong>l<br />

resto <strong>de</strong> la imagen a lo largo <strong>de</strong>l movimiento <strong>de</strong>l vehículo. En (Shi, 1994)<br />

se <strong>de</strong>scribe un operador para medir la “idoneidad” <strong>de</strong> una marca. Éste,<br />

aplica el gradiente <strong>de</strong> intensidad tanto en la dirección vertical como la<br />

horizontal. El operador se aplica <strong>de</strong> una forma eficiente en cada uno <strong>de</strong> los<br />

pixels <strong>de</strong>l patch <strong>de</strong> la marca para evaluarla. En caso <strong>de</strong> que el valor máximo<br />

absoluto sea suficientemente bueno, se seleccionará la correspondiente<br />

marca.<br />

Para calcular la posición 3D <strong>de</strong> la marca necesitamos encontrar la correspon<strong>de</strong>ncia<br />

epipolar. A diferencia <strong>de</strong>l método monocular, aquí po<strong>de</strong>mos obtener<br />

dicha posición en un solo paso. Una vez que tenemos ambas coor<strong>de</strong>nadas<br />

<strong>de</strong> proyección, po<strong>de</strong>mos calcular la posición 3D usando el mo<strong>de</strong>lo<br />

<strong>de</strong> proyección inversa.<br />

2.5 Gestión <strong>de</strong>l Mapa a Bajo Nivel<br />

Para mantener el mapa actualizado, necesitamos <strong>de</strong>finir criterios acerca<br />

<strong>de</strong> cuándo introducir (capturar) nuevas marcas y cuándo borrarlas.<br />

Las reglas a seguir serán capturar nuevas marcas para mantener, al menos,<br />

5 marcas visibles al mismo tiempo. A<strong>de</strong>más <strong>de</strong> esto, tendrá que haber,<br />

al menos, 4 marcas correctamente medidas al mismo tiempo para evitar la<br />

pérdida total en el seguimiento <strong>de</strong>l sistema. Por otro lado, algunas <strong>de</strong> las<br />

marcas capturadas pue<strong>de</strong>n ser “no idóneas”; por ejemplo, marcas que son<br />

habitualmente incorrectamente medidas. Esto pue<strong>de</strong> ser consecuencia <strong>de</strong><br />

reflejos, objetos frecuentemente ocultos, etc. La regla a seguir será eliminar<br />

cualquier marca que haya sido incorrectamente medida en más <strong>de</strong> la<br />

mitad <strong>de</strong> los intentos.<br />

2.6 Mo<strong>de</strong>los <strong>de</strong> Distorsión<br />

Para corregir la gran distorsión <strong>de</strong> las lentes gran angular se aplican los<br />

mo<strong>de</strong>los radial y tangencial <strong>de</strong> corrección <strong>de</strong> la distorsión. La <strong>de</strong>finición<br />

<strong>de</strong> los mo<strong>de</strong>los se <strong>de</strong>scribe en (Heikkila, 1997) y también se aplica a los<br />

jacobianos <strong>de</strong> proyección. Tomando la cámara izquierda, <strong>de</strong>finimos, en


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 7<br />

coor<strong>de</strong>nadas métricas, las coor<strong>de</strong>nadas distorsionadas ( u<br />

LC<br />

, vLC<br />

) y no distorsionadas<br />

( u<br />

LNC<br />

, vLNC<br />

) . Así pues, po<strong>de</strong>mos relacionarlas <strong>de</strong> la siguiente<br />

manera, usando el mo<strong>de</strong>lo directo:<br />

2 2<br />

( r u )<br />

u<br />

LC<br />

= f ⋅ u<br />

LNC<br />

+ 2P1 Lu<br />

LNCvLNC<br />

+ P2<br />

L<br />

+ 2<br />

(3)<br />

LNC<br />

2 2<br />

= f ⋅ v + P r + 2 v + P u v<br />

(4)<br />

(<br />

LNC<br />

)<br />

L LNC LNC<br />

vLC<br />

LNC 1L<br />

2<br />

2<br />

En las ecuaciones anteriores se <strong>de</strong>finen los siguientes parámetros como:<br />

2 2 2<br />

2<br />

4<br />

r = u LNC<br />

+ v LNC<br />

, f = 1+<br />

K1L r + K<br />

2Lr<br />

. En este mo<strong>de</strong>lo <strong>de</strong>nominamos K 1<br />

,<br />

L<br />

K 2 L<br />

a los coeficientes <strong>de</strong> distorsión radial y P 1<br />

,<br />

L<br />

P 2<br />

a los coeficientes <strong>de</strong> distorsión<br />

tangencial. Para el mo<strong>de</strong>lo inverso usamos un procedimiento iterati-<br />

L<br />

vo.<br />

2.7 Adaptación <strong>de</strong> Patches<br />

Tal como se explicó anteriormente, a medida que el vehículo se <strong>de</strong>splaza<br />

por su entorno, la apariencia <strong>de</strong> los patches cambia respecto <strong>de</strong> la original<br />

(en el momento <strong>de</strong> la inicialización). A medida que el vehículo se va alejando<br />

<strong>de</strong> su estado original la diferencia se incrementa. Esto conduce a una<br />

correlación poco precisa así como un incremento en el número <strong>de</strong> medidas<br />

incorrectas.<br />

Para reducir su impacto, se aplica un método <strong>de</strong> transformación <strong>de</strong> la<br />

apariencia <strong>de</strong>l patch. Cuando la marca se captura inicialmente, se estiman<br />

y almacenan las posiciones 3D <strong>de</strong> todos los pixels pertenecientes al patch.<br />

Se asume una representación <strong>de</strong>l patch como un plano paralelo al vehículo.<br />

A partir <strong>de</strong> aquí, cada vez que se mi<strong>de</strong> la correspondiente marca, se estima<br />

la apariencia <strong>de</strong>l patch prediciendo la proyección <strong>de</strong> cada uno <strong>de</strong> los pixels<br />

pertenecientes a dicho patch. Para obtener la apariencia completa <strong>de</strong>l éste,<br />

se aplica un método <strong>de</strong> interpolación eficiente.<br />

3 SLAM <strong>de</strong> Alto Nivel<br />

Tal como se explicó anteriormente, en gran<strong>de</strong>s entornos, a medida que<br />

el número <strong>de</strong> marcas crece, el tamaño <strong>de</strong> la matriz <strong>de</strong> covarianza P se incrementa<br />

hasta que el tiempo <strong>de</strong> procesamiento exce<strong>de</strong> las restricciones <strong>de</strong><br />

tiempo real. Para evitarlo sólo se introduce en el EKF una ventana local <strong>de</strong><br />

marcas visibles. De esta forma, tal como se mostrará en los resultados, se<br />

obtiene un tiempo <strong>de</strong> procesamiento casi constante en función <strong>de</strong>l incremento<br />

<strong>de</strong>l número <strong>de</strong> marcas (ver Fig. 9).<br />

Por otro lado, es necesario mantener el error global <strong>de</strong>l mapa lo más bajo<br />

posible. Por lo tanto, también necesitamos asegurar la consistencia <strong>de</strong>l


8 Robots <strong>de</strong> exteriores<br />

mapa completo. Dado que sólo conservamos la información <strong>de</strong> la incertidumbre<br />

local <strong>de</strong> las marcas visibles, es necesario añadir un nivel <strong>de</strong> procesamiento<br />

adicional que preserve la incertidumbre histórica global <strong>de</strong>l mapa<br />

a lo largo <strong>de</strong>l camino recorrido por el vehículo, es <strong>de</strong>cir, la matriz <strong>de</strong> covarianza<br />

acumulada P , obtenida como sigue:<br />

G<br />

P ( k)<br />

= P ( k −1)<br />

P ( k)<br />

(5)<br />

G G<br />

+<br />

Para ello, dividimos el mapa global en submapas locales i<strong>de</strong>ntificados<br />

SF = sf<br />

l<br />

l ∈0...<br />

L , cada una <strong>de</strong> las cuales compuesta<br />

l l<br />

YF = Yf m∈0...<br />

M . El proceso consiste<br />

por las huellas SIFT { }<br />

por un conjunto <strong>de</strong> marcas SIFT { }<br />

en tomar huellas periódicamente a lo largo <strong>de</strong>l camino recorrido por el vehículo<br />

(ver Fig. 2). Cada vez que se va a tomar una nueva huella, ésta es<br />

evaluada comparándola con las huellas anteriormente adquiridas en una<br />

región <strong>de</strong> búsqueda. Esta región se obtiene a partir <strong>de</strong> P G<br />

dado que es la<br />

variable que contiene la información <strong>de</strong> incertidumbre global <strong>de</strong>l mapa<br />

completo.<br />

XX<br />

m<br />

Inicio<br />

Esperar condición<br />

evaluación<br />

Evaluación <strong>de</strong><br />

huella<br />

Comparación<br />

positiva<br />

Sí<br />

Detección <strong>de</strong><br />

cierre <strong>de</strong> lazo<br />

No<br />

Añadir huella a<br />

base <strong>de</strong> datos<br />

Corrección <strong>de</strong><br />

mapa<br />

Actualización<br />

base <strong>de</strong> datos<br />

Fig. 2. Gestión <strong>de</strong>l mapa <strong>de</strong> alto nivel.<br />

En caso <strong>de</strong> que la evaluación dé cómo resultado que el vehículo está en<br />

un lugar previamente visitado, habremos i<strong>de</strong>ntificado una situación <strong>de</strong> lazo<br />

cerrado. Esta situación será explicada más a<strong>de</strong>lante. La filosofía <strong>de</strong> submapas<br />

EKF fue presentada anteriormente en (Tardós, 2002). Una <strong>de</strong> las<br />

principales diferencias entre su propuesta y la nuestra es la gestión local <strong>de</strong>


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 9<br />

los mapas. En (Tardós, 2002), el proceso <strong>de</strong>l EKF se lleva a cabo teniendo<br />

en cuenta todas las marcas pertenecientes a los mapas locales. Nosotros tenemos<br />

en cuenta sólo las marcas visibles. Esto nos permite mantener<br />

siempre un número reducido <strong>de</strong> marcas procesadas por el EKF. Por otro<br />

lado, en (Tardós, 2002), se trata <strong>de</strong> construir un mapa global uniendo todos<br />

los mapas locales. Después se lleva a cabo un proceso para i<strong>de</strong>ntificar todas<br />

las marcas duplicadas, cerrando todos los lazos interiores que hayan<br />

podido producirse. En su lugar, nosotros mantenemos continuamente la incertidumbre<br />

global acumulada, permitiendo la corrección <strong>de</strong>l mapa global<br />

en cualquier momento tan pronto como se <strong>de</strong>tecte una situación <strong>de</strong> lazo cerrado.<br />

3.1 Huellas SIFT<br />

Tal como se explicó anteriormente, la forma <strong>de</strong> i<strong>de</strong>ntificar un lugar se<br />

basa en las <strong>de</strong>nominadas huellas SIFT. Estas huellas están compuestas por<br />

una serie <strong>de</strong> marcas SIFT distribuidas en toda la imagen <strong>de</strong> referencia y caracterizan<br />

la apariencia visual <strong>de</strong> la imagen. Las marcas SIFT fueron introducidas<br />

por D. Lowe en (Lowe, 2001). Las marcas SIFT son invariantes al<br />

escalado en la imagen, a las rotaciones y parcialmente invariantes a los<br />

cambios <strong>de</strong> iluminación y punto <strong>de</strong> vista <strong>de</strong> la cámara 3D. A<strong>de</strong>más <strong>de</strong> esto,<br />

las marcas son altamente distinguibles, lo cual permite correlar correctamente<br />

cada marca con una alta probabilidad. Esto se consigue asociando a<br />

cada una <strong>de</strong> las marcas un <strong>de</strong>scriptor <strong>de</strong> longitud 128, que i<strong>de</strong>ntificará unívocamente<br />

a todas ellas. El proceso <strong>de</strong> extracción <strong>de</strong> marcas SIFT se <strong>de</strong>scribe<br />

someramente como sigue:<br />

1. Detección <strong>de</strong> extremos en el espacio <strong>de</strong> escala: La primera etapa <strong>de</strong>l<br />

proceso comienza buscando en todas las escalas y localizaciones en la<br />

imagen. Esto se implementa usando una función diferencia <strong>de</strong> gaussianas<br />

para i<strong>de</strong>ntificar potenciales puntos <strong>de</strong> interés (máximos y mínimos locales).<br />

2. Detección <strong>de</strong> puntos <strong>de</strong> interés (keypoints): En las ubicaciones <strong>de</strong> cada<br />

candidato se usa un mo<strong>de</strong>lo <strong>de</strong>tallado para <strong>de</strong>terminar la localización y<br />

escala <strong>de</strong> la marca.<br />

3. Asignación <strong>de</strong> orientación: A cada uno <strong>de</strong> los puntos <strong>de</strong> interés se les<br />

asigna una o más orientaciones en base a las direcciones <strong>de</strong> los gradientes<br />

<strong>de</strong> imagen locales. Relacionando las operaciones futuras respecto a estas<br />

direcciones se consigue la invarianza a la orientación.<br />

4. Descriptor <strong>de</strong>l punto <strong>de</strong> interés: Los gradientes <strong>de</strong> imagen se mi<strong>de</strong>n<br />

en la escala escogida en la región alre<strong>de</strong>dor <strong>de</strong> cada punto <strong>de</strong> interés. Esta


10 Robots <strong>de</strong> exteriores<br />

información se transforma en una representación que proporcionará una<br />

i<strong>de</strong>ntificación a la marca.<br />

En nuestro proceso global, nosotros almacenaremos estos <strong>de</strong>scriptores<br />

SIFT r δ pertenecientes a la base <strong>de</strong> datos global, usándolos posteriormente<br />

para el proceso <strong>de</strong> matching. Las coor<strong>de</strong>nadas <strong>de</strong> la imagen izquierda así<br />

como las posiciones 3D son también almacenadas<br />

( r<br />

l<br />

Yf = m<br />

uL<br />

vL<br />

X Y Z δ ).<br />

3.2 Proceso <strong>de</strong> comparación (matching)<br />

Uno <strong>de</strong> los principales problemas <strong>de</strong>l SLAM en gran<strong>de</strong>s entornos es el<br />

<strong>de</strong>l cierre <strong>de</strong> lazos. El primer problema a resolver es el reconocimiento <strong>de</strong><br />

lugares previsitados, tal como se explicó anteriormente. Una vez que se<br />

i<strong>de</strong>ntifica una nueva huella, ésta es evaluada, es <strong>de</strong>cir, es comparada con<br />

todas las huellas almacenadas pertenecientes a un área <strong>de</strong> incertidumbre.<br />

Esta comparación se lleva a cabo a través <strong>de</strong> un proceso <strong>de</strong> matching que<br />

, tanto el número <strong>de</strong> marcas<br />

SIFT reconocidas como sus posiciones relativas en las imágenes a<br />

comparar. El proceso general es el siguiente:<br />

tiene en cuenta, para cada par <strong>de</strong> huellas ( sf , sf A B<br />

)<br />

1. Cálculo <strong>de</strong> la distancia euclí<strong>de</strong>a entre todas las marcas SIFT <strong>de</strong>tectadas<br />

en ambas imágenes y selección <strong>de</strong> aquellas suficientemente cercanas.<br />

2. Cálculo <strong>de</strong> las líneas que conectan cada par <strong>de</strong> marcas correladas.<br />

A B<br />

También se computan sus correspondientes longitu<strong>de</strong>s Ln − y pendientes<br />

,<br />

Sp −<br />

3. Las marcas outlayers se excluyen <strong>de</strong>l cálculo haciendo uso <strong>de</strong>l método<br />

RANSAC.<br />

4. La probabilidad <strong>de</strong> correlación global se calcula como una función<br />

pon<strong>de</strong>rada <strong>de</strong> 2 parámetros: Número <strong>de</strong> marcas correladas y relación Inliers/Outliers<br />

(ver Ecuación (6)).<br />

A B<br />

.<br />

i, j<br />

= m ⋅num<br />

matches m ( n n )<br />

(6)<br />

Pfp_ match 1<br />

_ +<br />

2<br />

Una vez <strong>de</strong>tectada la situación <strong>de</strong> cierre <strong>de</strong> lazo, se <strong>de</strong>be corregir el mapa<br />

al completo <strong>de</strong> acuerdo al lugar reconocido. El primer paso es pues, actualizar<br />

el estado <strong>de</strong>l vehículo ( X ) T<br />

rob<br />

qrob<br />

vrob<br />

ω respecto al lugar previsitado<br />

<strong>de</strong>tectado. Para ello, usamos la geometría epipolar aplicada a las<br />

marcas SIFT i<strong>de</strong>ntificadas en el proceso <strong>de</strong> matching <strong>de</strong>l mismo modo que<br />

en la etapa <strong>de</strong> SLAM <strong>de</strong> bajo nivel. Esto se consigue gracias a los estados<br />

<strong>de</strong> las huellas almacenadas X , que representan los estados <strong>de</strong>l vehículo<br />

fp<br />

en el momento <strong>de</strong> la creación <strong>de</strong> cada huella. Después <strong>de</strong> esto, el resto <strong>de</strong>l<br />

mapa, incluyendo las posiciones <strong>de</strong> las marcas básicas Y i<br />

y los estados <strong>de</strong><br />

las huellas X a lo largo <strong>de</strong>l lazo <strong>de</strong>ben ser actualizadas consecuentemen-<br />

fp<br />

I<br />

O<br />

i j


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 11<br />

te. Sin embargo, <strong>de</strong>bemos asegurar que el mapa resultante es consistente.<br />

La i<strong>de</strong>a subyacente es que la incertidumbre global P G<br />

crecerá continuamente<br />

a medida que el vehículo recorre su entorno. Esto quiere <strong>de</strong>cir que el<br />

error en su localización se incrementará hasta que el vehículo revisite un<br />

lugar antiguo que ayu<strong>de</strong> a reducir su propia incertidumbre. En términos <strong>de</strong><br />

la construcción <strong>de</strong>l mapa, po<strong>de</strong>mos concluir que las marcas más antiguas<br />

<strong>de</strong>l mapa tendrán una menor incertidumbre asociada y, por tanto, tendrán<br />

que corregirse en menor medida. Por el contrario, en las marcas más recientes<br />

será aplicada una mayor corrección. Este grado <strong>de</strong> corrección se<br />

modulará en función <strong>de</strong> la incertidumbre histórica acumulada a lo largo <strong>de</strong>l<br />

lazo al completo (ver Fig. 3). En esta figura po<strong>de</strong>mos también observar la<br />

localización <strong>de</strong> las huellas justo <strong>de</strong>spués <strong>de</strong> las esquinas <strong>de</strong>l camino. En las<br />

Ecuaciones (7), (8) y (9) mostramos los 3 pasos consecutivos aplicados a<br />

la posición <strong>de</strong> una simple marca <strong>de</strong> cara a calcular su nuevo valor corregido.<br />

Τ ( P Gi<br />

) representa la traza <strong>de</strong> la covarianza global <strong>de</strong> la huella asociada<br />

a la marca i. D r<br />

R<br />

es la expression en 3 componentes <strong>de</strong> la matriz <strong>de</strong> rotación<br />

<strong>de</strong>l vehículo R<br />

rob<br />

. Finalmente, Rot representa la transformación <strong>de</strong>l<br />

vector <strong>de</strong> 3 componentes a la expresión <strong>de</strong> matriz <strong>de</strong> rotación. Los atributos<br />

init y end se refieren a la situación antes y <strong>de</strong>spués <strong>de</strong> la corrección <strong>de</strong>l<br />

mapa.<br />

1<br />

2<br />

2<br />

4<br />

3<br />

Fig. 3. Representación <strong>de</strong> la incertidumbre global P (en rojo) asociada a cada<br />

G<br />

huella, a lo largo <strong>de</strong>l camino realizado por el vehículo. Cada número representa<br />

una huella.<br />

⎡ Τ<br />

Y ''<br />

i<br />

= Y '<br />

i<br />

⋅Rot⎢<br />

⎣Τ<br />

1 init<br />

Y ' = R<br />

− ( Y − X )<br />

(7)<br />

i<br />

init<br />

i<br />

init<br />

( P )<br />

( ) ( r<br />

) Gi<br />

1 ⎛ Τ( PGi<br />

)<br />

⋅ D +<br />

⎜<br />

R<br />

1 −<br />

fin<br />

P<br />

Τ( P )<br />

Gend<br />

⎝<br />

⎞<br />

⎟ ⋅<br />

⎠<br />

( D )<br />

− −1<br />

Gend<br />

r<br />

R init<br />

⎤<br />

⎥<br />

⎦<br />

(8)


12 Robots <strong>de</strong> exteriores<br />

⎡ ( )<br />

( )<br />

( )<br />

( ) ⎥ ⎤<br />

fin Τ PGi<br />

−1<br />

⎛ Τ PGi<br />

⎞<br />

−1<br />

Y = −⎢<br />

⋅ +<br />

⎜ −<br />

⎟<br />

i<br />

Y ''<br />

i<br />

X<br />

fin<br />

1 ⋅ X<br />

(9)<br />

init<br />

⎣Τ<br />

PGend<br />

⎝ Τ PGend<br />

⎠ ⎦<br />

Una vez cerrado el lazo, P toma el valor <strong>de</strong> la antigua huella i<strong>de</strong>ntificada<br />

asociada. Así, actualizamos la incertidumbre global a la nueva situa-<br />

G<br />

ción. A<strong>de</strong>más, las marcas básicas antiguas revisitadas volverán a ser visibles<br />

<strong>de</strong> nuevo y podrán ser incorporadas al proceso <strong>de</strong>l EKF <strong>de</strong> bajo nivel.<br />

4 Resultados<br />

Con objeto <strong>de</strong> probar el comportamiento <strong>de</strong> nuestro sistema se han usado<br />

varios vi<strong>de</strong>os <strong>de</strong> prueba. Las cámaras empleadas fueron unas Unibrain<br />

Fire-i IEEE1394 con lentes <strong>de</strong> gran angular adicionales, las cuales proporcionan<br />

un campo <strong>de</strong> visión <strong>de</strong> unos 100º en horizontal y en vertical. Las<br />

cámaras fueron ubicadas <strong>de</strong>bajo <strong>de</strong>l espejo retrovisor <strong>de</strong>l coche tal como se<br />

indica en la Fig. 4.<br />

Fig. 4. Vehículo prototipo usado en las pruebas


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 13<br />

Ambas cámaras se sincronizan en el momento <strong>de</strong> comenzar la transmisión.<br />

La calibración se realiza offline usando un damero aplicando el método<br />

referenciado en (Heikkila, 1997).<br />

Uno <strong>de</strong> los vi<strong>de</strong>os <strong>de</strong> prueba se obtuvo recorriendo con el vehículo varias<br />

calles <strong>de</strong>l Campus externo <strong>de</strong> la Universidad <strong>de</strong> Alcalá. El camino<br />

completo recorrido, <strong>de</strong>s<strong>de</strong> el inicio hasta el cierre <strong>de</strong>l segundo lazo fue <strong>de</strong><br />

2965 m (ver Fig. 5).<br />

Fig. 5. Vista aérea <strong>de</strong>l camino recorrido por el vehículo (ground truth) dibujado en<br />

color magenta. El punto <strong>de</strong> partida se indica con el flag S. El punto <strong>de</strong> cierre <strong>de</strong>l<br />

primer lazo se indica con el flag 1. El punto <strong>de</strong> cierre <strong>de</strong>l segundo lazo, y final <strong>de</strong>l<br />

recorrido, se indica con el flag E<br />

El punto <strong>de</strong> partida <strong>de</strong>l camino está marcado con el indicador S, siendo el<br />

sentido <strong>de</strong>l recorrido el que se indica con las flechas. Se completó un primer<br />

lazo interior (flechas cerradas) al llegar al punto con el indicador 1. El<br />

segundo gran lazo exterior (flechas abiertas) se completó al llegar al punto<br />

F, coincidiendo con el final <strong>de</strong>l recorrido.


14 Robots <strong>de</strong> exteriores<br />

Los resultados <strong>de</strong> nuestro método, se muestran junto con la referencia o<br />

ground truth. Dicha referencia fue obtenida usando un GPS Diferencial<br />

Inercial JAVAD MAXOR-GGDT.<br />

Si se observan los resultados <strong>de</strong>s<strong>de</strong> el inicio hasta el cierre <strong>de</strong>l primer<br />

lazo (ver Fig. 6) se concluye que la similitud entre el camino estimado, una<br />

vez cerrado el lazo y realizada la corrección, y la referencia GPS es mucho<br />

mayor que la similitud con la estimación antes <strong>de</strong> la corrección.<br />

200<br />

150<br />

100<br />

GPS ground truth<br />

Before correction<br />

After correction<br />

50<br />

Z axis(m)<br />

0<br />

-50<br />

-100<br />

-150<br />

-200<br />

-250<br />

-300<br />

-100 0 100 200 300 400 500 600<br />

X axis(m)<br />

Fig. 6. Estimación <strong>de</strong>l camino recorrido hasta el primer cierre <strong>de</strong> lazo. La línea<br />

rayada representa la estimación antes <strong>de</strong>l cierre <strong>de</strong>l lazo. La línea punto-raya representa<br />

la estimación <strong>de</strong>spués <strong>de</strong>l cierre <strong>de</strong>l lazo. La referencia (ground truth) está<br />

representada en línea continua.<br />

Para el caso <strong>de</strong>l cierre <strong>de</strong>l lazo general (ver Fig. 7), se observa asimismo<br />

que la corrección <strong>de</strong> la estimación <strong>de</strong>l camino recorrido, una vez cerrado el<br />

lazo, mejora notablemente con respecto a la situación anterior. A<strong>de</strong>más, si<br />

se observa el camino recorrido antes <strong>de</strong> la corrección, se aprecia que en el<br />

último tramo el error es mucho mayor. Esto fue <strong>de</strong>bido a dos situaciones:<br />

Por una parte, en el giro anterior al último segmento se sucedieron varias<br />

oclusiones casi totales producidas por el paso <strong>de</strong> un autobús, entre otros<br />

vehículos. Respecto a la longitud <strong>de</strong>l tramo, esta fue más corta que el valor<br />

real <strong>de</strong>bido a la ausencia casi total <strong>de</strong> marcas en el entorno.


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 15<br />

400<br />

300<br />

GPS ground truth<br />

Before correction<br />

After correction<br />

200<br />

Z axis(m)<br />

100<br />

0<br />

-100<br />

-200<br />

-300<br />

-100 0 100 200 300 400 500 600 700 800 900 1000<br />

X axis(m)<br />

Fig. 7. Estimación <strong>de</strong>l camino recorrido hasta el primer cierre <strong>de</strong>l segundo lazo.<br />

La línea reyada representa la estimación antes <strong>de</strong>l cierre <strong>de</strong>l lazo. La línea punto-raya<br />

representa la estimación <strong>de</strong>spués <strong>de</strong>l cierre <strong>de</strong>l lazo. La referencia (ground<br />

truth) está representada en línea continua.<br />

En la Fig. 8 a) se representa el error en cada eje ε<br />

n<br />

= X<br />

n<br />

− Xref antes <strong>de</strong><br />

n<br />

cerrar el primer lazo. Como se pue<strong>de</strong> apreciar el error llega a ser importante,<br />

alcanzando aproximadamente los 400m. Por otro lado, en la Fig. 8 b) se<br />

representa el error en cada eje una vez completado el recorrido completo,<br />

es <strong>de</strong>cir, una vez cerrados ambos lazos. Si observamos la primera parte,<br />

correspondiente al primer lazo, po<strong>de</strong>mos observar que el error se ha reducido<br />

notablemente en ambos ejes.<br />

Respecto al SLAM <strong>de</strong> alto nivel, la Fig. 10 muestra la representación<br />

<strong>de</strong>l mapa estimado, incluyendo todas las marcas <strong>de</strong> bajo nivel y las huellas<br />

<strong>de</strong> alto nivel. La secuencia representa el mapa justo antes y <strong>de</strong>spués <strong>de</strong> la<br />

situación <strong>de</strong> cierre <strong>de</strong>l lazo general. Tal como se muestra, el mapa mantiene<br />

la consistencia incluso <strong>de</strong>spués <strong>de</strong> la corrección. La Fig. 11 muestra el<br />

resultado <strong>de</strong>l proceso <strong>de</strong> matching <strong>de</strong> 2 huellas, en el cual se aprecian las<br />

correlaciones <strong>de</strong> marcas SIFT correctas e incorrectas en base al método<br />

RANSAC.


16 Robots <strong>de</strong> exteriores<br />

600<br />

500<br />

error on X axis<br />

error on Z axis<br />

400<br />

300<br />

error (m)<br />

200<br />

100<br />

0<br />

-100<br />

-200<br />

0 1000 2000 3000 4000 5000 6000 7000 8000 9000<br />

frame number<br />

a)<br />

600<br />

500<br />

error on X axis<br />

error on Z axis<br />

400<br />

300<br />

error (m)<br />

200<br />

100<br />

0<br />

-100<br />

-200<br />

0 2000 4000 6000 8000 10000 12000 14000 16000<br />

frame number<br />

Fig. 8. a) Representación <strong>de</strong>l error en la estimación <strong>de</strong>l recorrido en los ejes X<br />

y Z respecto <strong>de</strong> la referencia (ground truth) en la situación previa al cierre <strong>de</strong>l primer<br />

lazo. b) Representación <strong>de</strong>l error en ambos ejes al final <strong>de</strong>l recorrido, <strong>de</strong>spués<br />

<strong>de</strong> la corrección global.<br />

b)


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 17<br />

Después <strong>de</strong> esta situación, el sistema mantiene la consistencia reintroduciendo<br />

las marcas visibles antiguas en el EKF <strong>de</strong> bajo nivel, <strong>de</strong>tectando<br />

asimismo las huellas antiguas. Debe remarcarse que el mapa está construido<br />

en 3D, sin embrago, dado que el vehículo circula por un camino casi<br />

plano, únicamente se muestra una vista <strong>de</strong> pájaro 2D <strong>de</strong>l mismo. Respecto<br />

al tiempo <strong>de</strong> procesamiento, la implementación en tiempo real impone una<br />

restricción <strong>de</strong> tiempo, el cual no <strong>de</strong>be exce<strong>de</strong>r los 33 ms por frame a una<br />

velocidad <strong>de</strong> captura <strong>de</strong> 30 frames/segundo. Todos los resultados fueron<br />

tomados usando una CPU a 2.0 GHz. La Fig. 9 muestra los tiempos <strong>de</strong><br />

procesamiento a lo largo <strong>de</strong> la mitad <strong>de</strong>l recorrido <strong>de</strong>l vehículo.<br />

50<br />

45<br />

processing time (ms)<br />

40<br />

35<br />

30<br />

25<br />

20<br />

0 1000 2000 3000 4000 5000 6000 7000 8000<br />

frame number<br />

Fig. 9. Tiempos <strong>de</strong> procesamiento totales a lo largo <strong>de</strong> la mitad <strong>de</strong>l recorrido<br />

<strong>de</strong>l vehículo.<br />

La principal conclusión que se pue<strong>de</strong> extraer <strong>de</strong>l gráfico es que el tiempo<br />

<strong>de</strong> procesamiento medio se mantiene prácticamente constante a lo largo <strong>de</strong>l<br />

recorrido <strong>de</strong>l vehículo, siendo éste inferior a la restricción <strong>de</strong> tiempo real la<br />

mayor parte <strong>de</strong>l tiempo y siendo superado únicamente en el cálculo <strong>de</strong> algunas<br />

huellas y en el cierre <strong>de</strong> lazos.<br />

En la Tabla 1 mostramos los tiempos <strong>de</strong> procesamiento medios para algunas<br />

<strong>de</strong> las tareas más importantes <strong>de</strong>l proceso.


18 Robots <strong>de</strong> exteriores<br />

Tabla 1. Tiempos <strong>de</strong> procesamiento<br />

SLAM <strong>de</strong> bajo nivel SLAM <strong>de</strong> alto nivel. (paralelizado)<br />

Número <strong>de</strong> marcas 5 Número <strong>de</strong> marcas 8463<br />

Número <strong>de</strong> huellas 14<br />

Etapa <strong>de</strong> filtrado Tiempo Tiempo<br />

Medidas 3 ms<br />

Correspon<strong>de</strong>ncias <strong>de</strong><br />

huellas<br />

3 s<br />

Actualización <strong>de</strong>l filtrpo<br />

<strong>de</strong> representación<br />

Cierre <strong>de</strong> lazo + tiem-<br />

5 ms<br />

Inicialización <strong>de</strong><br />

gráfica<br />

7 ms<br />

marcas<br />

4 s + 10s<br />

Dicha tabla está dividida en tareas asociadas al SLAM <strong>de</strong> bajo nivel y <strong>de</strong><br />

alto nivel. Respecto al primero, se pue<strong>de</strong> observar que el mayor tiempo es<br />

empleado en la fase <strong>de</strong> inicialización <strong>de</strong> marcas, en la que el área <strong>de</strong> búsqueda<br />

se extien<strong>de</strong> a lo largo <strong>de</strong> toda la línea epipolar, a pesar <strong>de</strong> haber restringido<br />

su longitud para un rango <strong>de</strong> búsqueda <strong>de</strong> 1 m → ∞ . Respecto al<br />

SLAM <strong>de</strong> alto nivel, los datos muestran que el mapa está compuesto por<br />

un número total <strong>de</strong> marcas <strong>de</strong> 8463 en el momento <strong>de</strong>l cierre <strong>de</strong>l lazo. Como<br />

pue<strong>de</strong> observarse, el tiempo <strong>de</strong>dicado al matching <strong>de</strong> huellas es significativamente<br />

mayor que la restricción <strong>de</strong> tiempo real. Esto es también aplicable<br />

a la fase <strong>de</strong> corrección <strong>de</strong>l mapa en el momento <strong>de</strong>l cierre <strong>de</strong>l lazo.<br />

Debe tenerse en cuenta que ninguna <strong>de</strong> las tareas asociada al alto nivel pertenece<br />

al proceso continuado <strong>de</strong> autolocalización, que es llevado a cabo<br />

por el SLAM <strong>de</strong> bajo nivel. Esto significa que no existe la necesidad <strong>de</strong><br />

completar dichas tareas <strong>de</strong>ntro <strong>de</strong>l margen <strong>de</strong> un simple frame. De modo<br />

que se pue<strong>de</strong> obtener un resultado positivo <strong>de</strong> matching <strong>de</strong> huellas un cierto<br />

número <strong>de</strong> frames <strong>de</strong>spués <strong>de</strong> que éste fuera <strong>de</strong>tectado realmente. Después,<br />

se pue<strong>de</strong> simplemente volver a atrás y comenzar la tarea <strong>de</strong>l cierre <strong>de</strong><br />

lazo, incluyendo también los últimos frames procesados. Esto implica que<br />

las dos tareas pue<strong>de</strong>n ser computadas en paralelo, manteniéndolas fuera<br />

<strong>de</strong>l proceso en tiempo real.


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 19<br />

a)<br />

b)<br />

Fig. 10. Representación <strong>de</strong>l mapa en la situación <strong>de</strong> cierre <strong>de</strong> lazo. Las marcas<br />

<strong>de</strong> bajo nivel están representadas en color amarillo, mientras que las marcas visibles<br />

y correctamente medidas están representadas en color rojo. Los números ver<strong>de</strong>s<br />

muestran las posiciones <strong>de</strong> las huellas. La posición <strong>de</strong>l vehículo está representada<br />

en el centro <strong>de</strong> la cruz <strong>de</strong> color azul: P . a) Representación justo antes <strong>de</strong> la<br />

G<br />

corrección <strong>de</strong>l mapa. b) Representación justo <strong>de</strong>spués <strong>de</strong> la corrección <strong>de</strong>l mapa.


20 Robots <strong>de</strong> exteriores<br />

Fig. 11. Matching <strong>de</strong> las marcas pertenecientes a las dos huellas. Las correlaciones<br />

<strong>de</strong> marcas SIFT consi<strong>de</strong>radas outliers se marcan en amarillo, mientras que<br />

las consi<strong>de</strong>radas inliers están coloreadas en magenta.<br />

5 Conclusión<br />

Se ha presentado un método con dos niveles jerárquicos <strong>de</strong> SLAM que<br />

permite la autolocalización <strong>de</strong> un vehículo midiendo las posiciones 3D <strong>de</strong><br />

diferentes marcas naturales. Se ha probado el correcto funcionamiento <strong>de</strong>l<br />

sistema en gran<strong>de</strong>s entornos exteriores. Respecto al SLAM <strong>de</strong> alto nivel<br />

basado en huellas, se ha probado que soluciona el problema <strong>de</strong>l cierre <strong>de</strong><br />

lazos manteniendo el comportamiento en tiempo real a lo largo <strong>de</strong> todo el


SLAM Visual en Entornos Exteriores Usando una Cámara Estéreo Gran Angular<br />

y Corrección <strong>de</strong> Características SIFT 21<br />

recorrido. Actualmente estamos trabajando en la aplicación <strong>de</strong> métodos<br />

más avanzados para la gestión <strong>de</strong>l mapa <strong>de</strong> alto nivel.<br />

Acknowledgements<br />

Este trabajo ha sido financiado mediante fondos <strong>de</strong>l Ministerio <strong>de</strong> Educación<br />

y Ciencia a través <strong>de</strong>l proyecto MOVICON (TRA2005-08529-C02-<br />

01) y, <strong>de</strong> la Comunidad <strong>de</strong> Madrid y la Universidad <strong>de</strong> Alcalá a través <strong>de</strong><br />

los proyectos RoboCity2030 (CAM-S-0505/DPI/000176) y LOMUCO<br />

(CCG06-UAH/DPI-0721).<br />

References<br />

López E., Bergasa L. M., Barea R., Escu<strong>de</strong>ro M. A Navigation System for<br />

Assistant Robots Using Visually Augmented POMDPs. Autonomous Robots,<br />

Vol. 19, No. 1. pp. 67-87. 2005.<br />

Newman P.M., Leonard J.J., Neira J. and Tardós J. Explore and return:<br />

Experimental validation of real time concurrent mapping and localization.<br />

Proceedings of the IEEE Conference on Robotics and Automation,<br />

pp.1802-1809, 2002.<br />

Davison A. J. Real-time simultaneous localisation and mapping with a single<br />

camera. Proceedings of the 9th International Conference on Computer<br />

Vision, Nice, 2003.<br />

Elinas P., Sim R., Little J. J. SLAM: Stereo Vision SLAM Using the Rao-<br />

Blackwellised Particle Filter and a Novel Mixture Proposal Distribution.<br />

ICRA 2006.<br />

Bosse M., Newman P., Leonard J. and Teller S. SLAM in Large-scale Cyclic<br />

Environments using the Atlas Framework. IJRR 2004.<br />

Newman P., Cole D. and Ho K. Outdoor SLAM using Visual Appearance<br />

and Laser Ranging. ICRA 2006.<br />

Frese U. and Schroe<strong>de</strong>r L. Closing a Million-Landmarks Loop. IROS<br />

2006.


22 Robots <strong>de</strong> exteriores<br />

Schleicher D., Bergasa L.M., Lopez E. and Ocaña M. Real-Time Simultaneous<br />

Localization and Mapping using a Wi<strong>de</strong>-Angle Stereo Camera and<br />

Adaptive Patches IROS2006.<br />

Shi J. and Tomasi C. Good features to track. In Proceedings of the IEEE<br />

Conference on Computer Vision and Pattern Recognition, 1994, pp. 593-<br />

600.<br />

Davison A. J. Mobile Robot Navigation Using Active Vision. PhD Thesis,<br />

University of Oxford, 1998.<br />

Heikkila and Silven. A Four-step Camera Calibration Procedure with Implicit<br />

Image Correction. CVPR97.<br />

Tardós J., Neira J., Newman P., and Leonard J., Robust mapping and localization<br />

in indoor environments using sonar data. Int. J. Robotics Research,<br />

vol. 21, no. 4, pp. 311–330, 2002.<br />

Lowe D.G. and Little J. Vision-based mobile robot localization and mapping<br />

using scale-invariant features. In International Conference on Robotics<br />

and Automation, Seoul, Korea, pp. 2051-58. 2001.


CAPÍTULO 2<br />

Toma <strong>de</strong> Decisiones para Cooperación <strong>de</strong><br />

Vehículos Autónomos en Maniobras Críticas<br />

T. <strong>DE</strong> PEDRO, R. GARCÍA , C. GONZÁLEZ, J.E. NARANJO y J.<br />

ALONSO<br />

Instituto <strong>de</strong> <strong>Automática</strong> Industrial -CSIC; {tere, ricardo, gonzalez, jnaranjo,<br />

jalonso@}@iai.csic.es<br />

Los sistemas <strong>de</strong> conducción <strong>de</strong> vehículos autónomos <strong>de</strong>sarrollados en el<br />

Instituto <strong>de</strong> <strong>Automática</strong> Industrial tienen la capacidad <strong>de</strong> comportarse, en<br />

gran medida, como si fueran conductores humanos. Suponiendo resuelto el<br />

problema <strong>de</strong> la conducción automatizada para un único vehículo, el reto<br />

que nos planteamos ahora es añadir a los sistemas <strong>de</strong> conducción individuales<br />

la capacidad coordinación con otros vehículos, conducidos automática<br />

o manualmente.<br />

1 Introducción<br />

En este artículo partimos <strong>de</strong> los resultados conseguidos en el programa<br />

AUTOPÍA para la conducción <strong>de</strong> un único vehículo. El sistema <strong>de</strong> conducción<br />

se adapta al trazado <strong>de</strong> la vía –mediante el control <strong>de</strong> la dirección<br />

y la velocidad máxima- (Naranjo, 2004) (Naranjo, 2005) y a ciertas condiciones<br />

<strong>de</strong> tráfico –mediante el control adaptativo <strong>de</strong> la velocidad- (Naranjo,<br />

2003). El objetivo ahora es añadir a estos sistemas individuales la capacidad<br />

<strong>de</strong> coordinación con los <strong>de</strong>más vehículos que circulan por la zona <strong>de</strong><br />

interés (Naranjo, 2003 bis). Los procedimientos <strong>de</strong> coordinación para<br />

cualquier maniobra los implementaremos mediante algoritmos <strong>de</strong> toma <strong>de</strong><br />

<strong>de</strong>cisiones que, esencialmente, se limitan a permitir o aplazar el movimiento<br />

en curso <strong>de</strong> cada vehículo involucrado en ella (Naranjo 2007). En este<br />

artículo repasaremos las maniobras más comunes como a<strong>de</strong>lantamientos,<br />

circulación en caravana, circulación en cruces y rotondas y maniobras <strong>de</strong><br />

aparcamiento. Para ello hemos elegido un conjunto representativo <strong>de</strong> casos


24 Robots <strong>de</strong> exteriores<br />

<strong>de</strong> estudio, en los que vamos a analizar la información <strong>de</strong>ben compartir los<br />

algoritmos <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisiones y cuales son los controladores laterales y<br />

longitudinales a<strong>de</strong>cuados para tomar el control <strong>de</strong>l vehículo en función <strong>de</strong>l<br />

escenario <strong>de</strong> tráfico. En cuanto a realizaciones, se han implementado algoritmos<br />

<strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisiones para automatizar casos sencillos <strong>de</strong> paso <strong>de</strong><br />

cruces y a<strong>de</strong>lantamientos complejos. A<strong>de</strong>más se han realizado los primeros<br />

experimentos reales con vehículos <strong>de</strong> serie equipados con DGPS, computadores,<br />

red <strong>de</strong> comunicación inalámbrica e instrumentación a<strong>de</strong>cuada para<br />

accionar la dirección, el acelerador y el freno. Los a<strong>de</strong>lantamientos más<br />

complejos, que involucran tres vehículos y tráfico <strong>de</strong> doble sentido se han<br />

simulado (Alonso, 2007).<br />

2 Herramientas disponibles<br />

Antes <strong>de</strong> continuar conviene tener en cuenta los tipos <strong>de</strong> controladores<br />

<strong>de</strong>sarrollados en el programa AUTOPÍA que están disponibles para los algoritmos<br />

<strong>de</strong> <strong>de</strong>cisión.<br />

Se ha <strong>de</strong>sarrollado dos clases <strong>de</strong> controladores, los laterales, <strong>de</strong> la dirección,<br />

y los longitudinales, <strong>de</strong> la velocidad. Entre los controladores laterales,<br />

distinguimos los que siguen líneas <strong>de</strong> referencia rectas o ligeramente<br />

curvadas, los que siguen trayectorias curvas pronunciadas y los que siguen<br />

trayectorias específicas para pasar al carril contiguo, <strong>de</strong>recho o izquierdo,<br />

<strong>de</strong> forma suave. La diferencia entre ellos estriba fundamentalmente en la<br />

amplitud máxima permitida para los giros <strong>de</strong>l volante y, sobre todo, en la<br />

rapi<strong>de</strong>z <strong>de</strong> giro <strong>de</strong>l mismo. Entre los controladores longitudinales distinguimos<br />

los que mantienen una velocidad y los que se adaptan a la velocidad<br />

<strong>de</strong>l vehículo prece<strong>de</strong>nte, CC y ACC respectivamente por sus siglas en<br />

inglés, y los <strong>de</strong> parada y arranque, stop&go, que permiten conducir en caso<br />

<strong>de</strong> atascos. (Estos últimos no son más que el caso límite <strong>de</strong> los ACC, pues<br />

permiten parar el vehículo completamente y reanudar la marcha). A su vez<br />

los controladores <strong>de</strong> la velocidad se pue<strong>de</strong>n <strong>de</strong>scomponer en otros más<br />

elementales, los <strong>de</strong>l acelerador y los <strong>de</strong>l freno, pero éstos son transparentes<br />

para los algoritmos <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisiones.<br />

Finalmente, antes <strong>de</strong> entrar en <strong>de</strong>talle, conviene tener in mente que la<br />

función esencial <strong>de</strong> los algoritmos <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisiones es <strong>de</strong>terminar el<br />

instante y los controladores laterales y longitudinales que <strong>de</strong>ben tomar el<br />

control <strong>de</strong>l vehículo durante la ejecución <strong>de</strong> la maniobra.


Toma <strong>de</strong> Decisiones para Cooperación <strong>de</strong> Vehículos Autónomos en Maniobras<br />

Críticas 25<br />

3 Toma <strong>de</strong> <strong>de</strong>cisiones en maniobras <strong>de</strong> a<strong>de</strong>lantamiento<br />

La peligrosidad <strong>de</strong> la maniobra <strong>de</strong> a<strong>de</strong>lantamiento en vías <strong>de</strong> doble sentido<br />

justifica que las investigaciones en Sistemas Inteligentes <strong>de</strong> Transporte<br />

(ITS) estén <strong>de</strong>dicando un esfuerzo importante al <strong>de</strong>sarrollo <strong>de</strong> ayudas para<br />

facilitarla. Sin embargo, a pesar <strong>de</strong> estos esfuerzos, hasta ahora no conocemos<br />

trabajos <strong>de</strong> investigación distintos a los nuestros que vayan más allá<br />

<strong>de</strong> simular ciertas maniobras.<br />

t 2<br />

v’ 1<br />

v 1<br />

t 1<br />

t 1<br />

A<br />

v 2 v’ 2<br />

l<br />

t 2<br />

l<br />

v<br />

t<br />

1 v 1<br />

3<br />

v 2 v 2<br />

Fig. 1. El esquema muestra los instantes en los que cambia el control lateral.<br />

En cualquier a<strong>de</strong>lantamiento se enca<strong>de</strong>nan tres acciones relacionadas<br />

con el control lateral, mover el coche al carril <strong>de</strong> la izquierda, seguir por el<br />

carril <strong>de</strong> a<strong>de</strong>lantamiento y mover el coche al carril <strong>de</strong> la <strong>de</strong>recha. Estas acciones<br />

que realizarse en paralelo con las <strong>de</strong>l control longitudinal. En general,<br />

los algoritmos <strong>de</strong> <strong>de</strong>cisión eligen un ACC para controlar la velocidad<br />

en los a<strong>de</strong>lantamientos. Por consiguiente hay que tomar dos <strong>de</strong>cisiones<br />

esenciales, cuando iniciar el cambio al carril izquierdo y cuando iniciar el<br />

regreso al carril <strong>de</strong> partida. En ambos momentos el control lateral es <strong>de</strong>l tipo<br />

cambio <strong>de</strong> carril. Entre ambas <strong>de</strong>cisiones hay que tomar otra, cuando se


26 Robots <strong>de</strong> exteriores<br />

<strong>de</strong>tecte que el vehículo está centrado en el carril <strong>de</strong> a<strong>de</strong>lantamiento, en este<br />

momento hay que seleccionar el control lateral <strong>de</strong> seguimiento <strong>de</strong> trayectoria,<br />

la trayectoria <strong>de</strong> referencia <strong>de</strong>l carril izquierdo.<br />

La toma <strong>de</strong> <strong>de</strong>cisiones se basa en el conocimiento <strong>de</strong>l escenario <strong>de</strong> conducción,<br />

por consiguiente la información que tienen que compartir los vehículos<br />

es: el mapa <strong>de</strong> la zona y las posiciones, velocida<strong>de</strong>s e intenciones<br />

<strong>de</strong> los vehículos involucrados. Por intención enten<strong>de</strong>mos la acción inmediata<br />

<strong>de</strong>l vehículo (haciendo una analogía con la conducción manual, la<br />

acción que un conductor humano indica con los intermitentes).<br />

En este artículo no nos ocupamos <strong>de</strong> la adquisición <strong>de</strong> datos <strong>de</strong>l entorno,<br />

pues para la toma <strong>de</strong> <strong>de</strong>cisiones no es relevante el tipo <strong>de</strong> sensores colocados<br />

en la infraestructura o en los vehículos, ni el sistema <strong>de</strong> comunicaciones.<br />

Sí es esencial que los datos sean fiables y coherentes, en particular<br />

que su adquisición se haga en el mismo intervalo <strong>de</strong> tiempo.<br />

35<br />

30<br />

Velocidad (Km/h)<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

Velocidad Real <strong>de</strong>l Vehículo que a<strong>de</strong>lanta<br />

Consigna <strong>de</strong> velocidad <strong>de</strong>l vehículo que a<strong>de</strong>lanta<br />

Velocidad real <strong>de</strong>l vehículo a<strong>de</strong>lantado<br />

Desplazamiento Lateral (m)<br />

9<br />

6<br />

3<br />

0<br />

-3<br />

-6<br />

0 seg<br />

5 seg<br />

10 seg<br />

0 seg 5 seg<br />

10 seg<br />

Trayectoria <strong>de</strong>l vehículo que a<strong>de</strong>lanta (conducido automáticamente)<br />

Trayectoria <strong>de</strong>l vehículo a<strong>de</strong>lantado (conducido manualmente)<br />

Marcas <strong>de</strong> tiempo <strong>de</strong>l que a<strong>de</strong>lanta<br />

Marcas <strong>de</strong> tiempo <strong>de</strong>l a<strong>de</strong>lantado<br />

15 seg<br />

15 seg<br />

20 seg<br />

20 seg<br />

25 seg<br />

25 seg<br />

30 seg<br />

30 seg<br />

-9<br />

-20 0 20 40 60 80 100 120 140 160 180<br />

DesplazamientoLongitudinal (m)<br />

Fig. 2. Un vehículo autónomo a<strong>de</strong>lanta a 29 Km/h a otro vehículo conducido<br />

manualmente que circula a 15 Km/h.<br />

4 Formaciones <strong>de</strong> vehículos: pelotones e hileras<br />

Un pelotón es una ca<strong>de</strong>na <strong>de</strong> vehículos que circula a lo largo <strong>de</strong> una vía<br />

como una sola unidad, mediante un sistema <strong>de</strong> control único para todos.


Toma <strong>de</strong> Decisiones para Cooperación <strong>de</strong> Vehículos Autónomos en Maniobras<br />

Críticas 27<br />

Los vehículos se comportan <strong>de</strong> forma colectiva, circulando uno tras otro<br />

<strong>de</strong>trás <strong>de</strong>l lí<strong>de</strong>r y manteniendo entre ellos una separación que pue<strong>de</strong> ser<br />

muy pequeña, <strong>de</strong> un par <strong>de</strong> metros, lo que impi<strong>de</strong> que otro vehículo entre<br />

en el pelotón. En los pelotones, los vehículos están ligados con el lí<strong>de</strong>r<br />

mediante re<strong>de</strong>s <strong>de</strong> comunicaciones en tiempo real y el lí<strong>de</strong>r es el único que<br />

tiene plena capacidad <strong>de</strong> <strong>de</strong>cisión y control. Una hilera es también una ca<strong>de</strong>na<br />

<strong>de</strong> vehículos que circulan uno tras otro, pero manteniendo cada uno<br />

su capacidad <strong>de</strong> <strong>de</strong>cisión y control, un ACC, lo que les permite comportarse<br />

<strong>de</strong> forma individualizada. En las hileras todos los vehículos se comunican<br />

entre sí en tiempo real.<br />

Fig. 3. Formación <strong>de</strong> vehículos<br />

En un pelotón, el lí<strong>de</strong>r percibe e interpreta el escenario y <strong>de</strong>ci<strong>de</strong> las acciones<br />

a realizar. Estas acciones sobre el acelerador, el freno y la dirección,<br />

son transmitidas al resto <strong>de</strong> los vehículos y ejecutadas al unísono. Por el<br />

contrario, cada vehículo <strong>de</strong> una hilera percibe e interpreta el entorno y toma<br />

sus propias <strong>de</strong>cisiones, permitiendo un comportamiento individualizado.<br />

Aunque en primera aproximación el comportamiento <strong>de</strong> los pelotones<br />

y <strong>de</strong> las hileras sea parecido, en el análisis <strong>de</strong> los casos particulares que siguen,<br />

veremos que hay diferencias.<br />

Otro aspecto a consi<strong>de</strong>rar son las ventajas e inconvenientes <strong>de</strong> ambas<br />

formaciones para el tráfico. Los pelotones pue<strong>de</strong>n aumentar la ocupación<br />

<strong>de</strong> las vías, y en consecuencia su eficacia, pero su comportamiento es bastante<br />

rígido y necesitan vías <strong>de</strong>dicadas. Las hileras son mucho más flexibles,<br />

su comportamiento imita al <strong>de</strong>l tráfico convencional, y no necesitan<br />

vías <strong>de</strong>dicadas, pero la separación entre vehículos <strong>de</strong>be ser mayor que en<br />

los pelotones, por motivos <strong>de</strong> seguridad. En efecto, en la literatura se <strong>de</strong>scriben<br />

mo<strong>de</strong>los teóricos en los que, cuando varios vehículos equipados con<br />

ACC circulan en hilera, el comportamiento dinámico <strong>de</strong>l conjunto pue<strong>de</strong><br />

resultar peligroso <strong>de</strong>bido a la “inestabilidad <strong>de</strong> la hilera” (Guang, 2004)<br />

(Jing, 2004). Por ejemplo, si por algún motivo el primer vehículo frena<br />

fuerte y bruscamente, la distancia entre vehículos pue<strong>de</strong> variar mucho <strong>de</strong>


28 Robots <strong>de</strong> exteriores<br />

unos a otros, con efectos graves en el flujo y la seguridad <strong>de</strong>l tráfico. En<br />

consecuencia, para garantizar las condiciones <strong>de</strong> seguridad en la circulación<br />

en hilera, hay que <strong>de</strong>terminar algunos valores límites, en particular, el<br />

máximo permitido <strong>de</strong> la velocidad y el mínimo permitido <strong>de</strong> la distancia<br />

entre vehículos. Una vez <strong>de</strong>terminados, los controladores ACC permiten<br />

garantizar que ambos límites no se superen.<br />

v<br />

Fig. 4. Efectos in<strong>de</strong>seados en una frenada <strong>de</strong> emergencia.<br />

Mover una fila <strong>de</strong> vehículos separados por una distancia fija a velocidad<br />

constante. Si la fila se configura como un pelotón, el lí<strong>de</strong>r fija la velocidad<br />

<strong>de</strong> crucero, y envía las mismas ór<strong>de</strong>nes <strong>de</strong> control para el freno y el<br />

acelerador <strong>de</strong> todos los vehículos que lo siguen. Si la fila es una hilera, cada<br />

vehículo toma su <strong>de</strong>cisión y <strong>de</strong>termina los valores <strong>de</strong> consigna para el<br />

freno y el acelerador.<br />

Fig. 5. División <strong>de</strong> una fila<br />

División una fila. Cuando una causa externa, como un semáforo en rojo,<br />

interrumpe un pelotón el vehículo que lo <strong>de</strong>tecta tiene que pasa a lí<strong>de</strong>r. Si<br />

se trata <strong>de</strong> una hilera cada vehículo actúa <strong>de</strong> acuerdo con su percepción <strong>de</strong>l<br />

entorno.<br />

Unión <strong>de</strong> dos filas. Cuando una fila alcanza a otra que circula más <strong>de</strong>spacio,<br />

si son dos pelotones el lí<strong>de</strong>r <strong>de</strong>l último tiene que informar al <strong>de</strong>l<br />

primero <strong>de</strong>l número <strong>de</strong> nuevas unida<strong>de</strong>s que se aña<strong>de</strong>n y este vehículo <strong>de</strong>ja


Toma <strong>de</strong> Decisiones para Cooperación <strong>de</strong> Vehículos Autónomos en Maniobras<br />

Críticas 29<br />

<strong>de</strong> ser lí<strong>de</strong>r. Si se trata <strong>de</strong> una hilera cada vehículo actúa <strong>de</strong> acuerdo con su<br />

percepción <strong>de</strong>l entorno.<br />

Entrada o salida <strong>de</strong> un vehículo <strong>de</strong> una fila. Si la fila es un pelotón un<br />

vehículo entrante <strong>de</strong>be informar al lí<strong>de</strong>r <strong>de</strong>l lugar que quiere ocupar en la<br />

fila y el lí<strong>de</strong>r <strong>de</strong>be enviar a los vehículos que están <strong>de</strong>trás <strong>de</strong>l lugar elegido,<br />

consignas para el freno hasta que la separación sea suficiente para permitir<br />

la inclusión <strong>de</strong>l nuevo vehículo. Cuando la maniobra esté completa, el lí<strong>de</strong>r<br />

volverá a transmitir las mismas consignas para todo el pelotón. Análogamente,<br />

un vehículo que <strong>de</strong>ja un pelotón, <strong>de</strong>be informar al lí<strong>de</strong>r, éste enviará<br />

al vehículo, y a todos los siguientes, consignas para frenar hasta que la<br />

separación sea suficiente para permitir la salida. Cuando la salida se haya<br />

producido, el lí<strong>de</strong>r enviará consignas a los vehículos posteriores para acelerar<br />

hasta recuperar la separación inicial. A partir <strong>de</strong> este momento el lí<strong>de</strong>r<br />

volverá a transmitir las mismas consignas para todo el pelotón.<br />

v<br />

Fig. 6. Alteraciones en la composición <strong>de</strong> una formación<br />

Aunque se pue<strong>de</strong>n consi<strong>de</strong>rar más casos, por ejemplo que una parte <strong>de</strong>l<br />

pelotón tome una bifurcación o que el pelotón tenga que evitar un obstáculo,<br />

con los ya analizados po<strong>de</strong>mos concluir que la conducción automatizada<br />

<strong>de</strong> pelotones es muy rígida y sólo es interesante en el caso <strong>de</strong> que se<br />

pueda circular por vías exclusivas. Por otra parte, aunque en primera<br />

aproximación parezca que hay que <strong>de</strong>dicar menos recursos computacionales<br />

al control <strong>de</strong> pelotones que al <strong>de</strong> hileras –sólo el lí<strong>de</strong>r necesita plena<br />

capacidad <strong>de</strong> <strong>de</strong>cisión y control- esto no es así, si tenemos en cuenta que<br />

por contingencias <strong>de</strong>l tráfico, cualquier vehículo <strong>de</strong>l pelotón pue<strong>de</strong> convertirse<br />

en lí<strong>de</strong>r. Por ello nos parece más interesante concentrar nuestros esfuerzos<br />

en el control vehículos con CC, ACC o parada-y-arranque, pero<br />

minimizando los efectos negativos <strong>de</strong> la inestabilidad para la seguridad <strong>de</strong>l<br />

tráfico.


30 Robots <strong>de</strong> exteriores<br />

5 Conclusiones<br />

Aunque la cooperación <strong>de</strong> vehículos autónomos en cualquier maniobra<br />

y cualquier escenario es un problema complejo y no estamos aún en condiciones<br />

<strong>de</strong> resolverlo, creemos que estamos en el camino <strong>de</strong> lograrlo. Para<br />

ello hemos empezado por analizar los datos necesarios para automatizar la<br />

circulación simultánea <strong>de</strong> vehículos en caravanas, a<strong>de</strong>lantamientos e intersecciones<br />

y <strong>de</strong>sarrollar algunos algoritmos <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisiones. Algunas<br />

algoritmos se han implementado y se han probado en experimentos reales<br />

otros se han probado en simulaciones.<br />

Agra<strong>de</strong>cimientos<br />

Este artículo <strong>de</strong>scribe investigaciones realizadas en los proyectos SARA:<br />

DPI2005-07980-C03-01, ENVITE: Ministerio <strong>de</strong> Fomento T 7/2006 y CyberCars-2:<br />

6º PM 028062.<br />

Referencias<br />

J. Alonso, J.I. Suarez, J. Jiménez, T. <strong>de</strong> Pedro, 2007, Cooperation between<br />

autonomous cars: Overtaking maneuver, in Proc. Eurocast 2007, Las Palmas,<br />

12-16 febrero 2007<br />

J.E. Naranjo, C. González, R. García, T. <strong>de</strong> Pedro, 2004, Fuzzy logic based<br />

lateral control for GPS map tracking, in Proc. 2004 IEEE Intelligent Vehicles<br />

Symposium, 397-400.<br />

J.E. Naranjo, C. González, R. García, T. <strong>de</strong> Pedro, R. Haber, 2005, Power<br />

steering control architecture automatic driving, IEEE Transactions on Intelligent<br />

Transportation Systems, vol. 6, n.4, 406-415, December 2005<br />

J.E. Naranjo, J. Reviejo, C. González, R. García, T. <strong>de</strong> Pedro, 2003, Adaptive<br />

fuzzy control for inter-vehicle gap keeping, IEEE Transactions on Intelligent<br />

Transportation Systems, vol. 4, 132-143, September 2003<br />

J.E. Naranjo, J. Reviejo, C. González, R. García, T. <strong>de</strong> Pedro, 2003, Overtaking<br />

maneuver experiments with autonomous vehicles, in Proc. ICAR<br />

2003, 11 th Inernational Conference on Advanced Robotics, 1669-1703,<br />

June 2003


Toma <strong>de</strong> Decisiones para Cooperación <strong>de</strong> Vehículos Autónomos en Maniobras<br />

Críticas 31<br />

J.E. Naranjo, R. García, C. González, T. <strong>de</strong> Pedro, J. Alonso, 2007, Automatic<br />

cooperative driving for road intersection based on GPS and wireless<br />

communications, in Proc. Eurocast 2007, 12-16 febreo 2007.<br />

Guang Lu, Tomizuka, M., A practical solution to the string stability problem<br />

in autonomous vehicle following, Vol 1, 780-785, 30 June -2 July<br />

2004, ISSN.0743-1619, ISBN 0-7803-8335-4.<br />

Jing Zhou, Huei Peng, 2004, Range Policy of Adaptative Cruise Control<br />

for Improved Flow Stability and String Stability, in Proc. IEEE International<br />

Conference on Networking, Sensing and Control, 595-600, 0-7803-<br />

8193, March 21-23.


32 Robots <strong>de</strong> exteriores


CAPÍTULO 3<br />

Aplicación <strong>de</strong> Técnicas <strong>Robótica</strong>s al<br />

A<strong>de</strong>lantamiento Entre Vehículos Pesados<br />

C. AGÜERO, V. GÓMEZ, J. CAÑAS, V. MATELLÁN, F. MARTÍN, P.<br />

BARRER.<br />

Grupo <strong>de</strong> <strong>Robótica</strong> <strong>de</strong> la Universidad Rey Juan Carlos. 28933 Móstoles,<br />

Madrid (España). {caguero, vmanuel, jmplaza, vmo, fmartin, barrera}@gsyc.es.<br />

El objetivo <strong>de</strong> este artículo es presentar la aplicación <strong>de</strong> técnicas <strong>de</strong>sarrolladas<br />

en el campo <strong>de</strong> la robótica móvil al terreno <strong>de</strong> los vehículos pesados.<br />

En concreto, se presenta la aplicación <strong>de</strong> sensores y algoritmos <strong>de</strong> origen<br />

robótico a un sistema <strong>de</strong> a<strong>de</strong>lantamiento entre vehículos pesados. Con este<br />

sistema se persigue agilizar esta maniobra aumentando la flui<strong>de</strong>z <strong>de</strong>l tráfico<br />

y mejorando la seguridad.<br />

El sistema <strong>de</strong>scrito utiliza una serie <strong>de</strong> sensores distribuidos por el vehículo<br />

y un procesador para i<strong>de</strong>ntificar el inicio y fin <strong>de</strong>l a<strong>de</strong>lantamiento,<br />

elevando en esas situaciones el umbral máximo <strong>de</strong> velocidad permitida al<br />

vehículo.<br />

En este artículo justificamos la utilidad <strong>de</strong> este sistema, establecemos<br />

los requisitos que <strong>de</strong>be cumplir, <strong>de</strong>scribimos el prototipo realizado y <strong>de</strong>tallamos<br />

las pruebas llevadas a cabo con él para verificar su funcionamiento.<br />

1 Introdución<br />

El sector <strong>de</strong>l transporte <strong>de</strong> mercancías por carretera está regulado por la<br />

Unión Europea. En concreto, la directiva 92/6/EEC (Euro,1992) estipula<br />

que los vehículos pesados <strong>de</strong>ben estar obligatoriamente equipados con limitadores<br />

<strong>de</strong> velocidad. Es habitual que estos vehículos viajen a la máxima<br />

velocidad permitida y las diferencias <strong>de</strong> velocidad entre un camión y otro<br />

sean mínimas.


34 Robots <strong>de</strong> exteriores<br />

Fig.1. A<strong>de</strong>lantamiento entre vehículos pesados.<br />

La baja velocidad relativa entre los vehículos implicados en un a<strong>de</strong>lantamiento<br />

ralentiza esta maniobra, aumentando el riesgo <strong>de</strong> acci<strong>de</strong>nte.<br />

Igualmente aumenta la congestión en las carreteras.<br />

Las estadísticas <strong>de</strong> tráfico lo consi<strong>de</strong>ran una <strong>de</strong> las mayores causas evitables<br />

<strong>de</strong> atascos en las autopistas y la causa <strong>de</strong> múltiples acci<strong>de</strong>ntes cada<br />

año.<br />

La maniobra <strong>de</strong> a<strong>de</strong>lantamiento con uno <strong>de</strong> los camiones <strong>de</strong>tenido necesita<br />

unos 150m. (espacio para cambiar <strong>de</strong> carril, recorrer la longitud <strong>de</strong>l<br />

vehículo a<strong>de</strong>lantado, retorno al carril). En una situación real a 2 km/h <strong>de</strong><br />

velocidad relativa (por ejemplo con dos camiones circulando a la máxima<br />

velocidad permitida, a 91Km/h y 89Km/h respectivamente), estos pocos<br />

metros implican más <strong>de</strong> 3 minutos (150*60/2000=4.5 en el peor <strong>de</strong> los casos),<br />

y supone unos 5 Km. <strong>de</strong> recorrido real (90*4.5/60=6.75 en el peor <strong>de</strong><br />

los casos).<br />

El objetivo <strong>de</strong>l trabajo <strong>de</strong>scrito en este artículo es el diseño y construcción<br />

<strong>de</strong> un sistema que <strong>de</strong>tecte autónomamente situaciones <strong>de</strong> a<strong>de</strong>lantamiento<br />

en condiciones <strong>de</strong> velocidad relativa baja, y que permita una pequeña<br />

velocidad extra que reduzca el tiempo <strong>de</strong> a<strong>de</strong>lantamiento. Este<br />

sistema se ha <strong>de</strong>nominado SIA: Sistema Inteligente <strong>de</strong> A<strong>de</strong>lantamiento<br />

(Gómez 2005).<br />

En el mismo ejemplo anterior, supongamos ahora que el limitador <strong>de</strong><br />

velocidad pudiese incrementar la velocidad <strong>de</strong>l vehículo que a<strong>de</strong>lanta, por<br />

ejemplo en 20Km/h. Esa sería ahora aproximadamente la velocidad relativa<br />

<strong>de</strong> los vehículos. El tiempo <strong>de</strong>l a<strong>de</strong>lantamiento pasaría a estar ahora en<br />

el entorno a los 24s, <strong>de</strong> manera que la maniobra se alargaría hasta los 750<br />

metros aproximadamente, lo que es una reducción más que significativa.<br />

El proceso concreto se ilustra en la Fig.1. don<strong>de</strong> se representan a<strong>de</strong>más los<br />

sensores que <strong>de</strong>berán ser capaces <strong>de</strong> <strong>de</strong>tectar esta situación.<br />

Muchas tecnologías <strong>de</strong> sensorización disponibles actualmente en los robots<br />

móviles se usan también en la industria <strong>de</strong>l automóvil. Por ejemplo


Aplicación <strong>de</strong> Técnicas <strong>Robótica</strong>s al A<strong>de</strong>lantamiento Entre Vehículos Pesados<br />

35<br />

los sensores <strong>de</strong> ultrasonidos, la visión, etc. En el artículo se presentará una<br />

comparativa <strong>de</strong> las más usuales y los motivos que nos han llevado a elegir<br />

las utilizadas en SIA 1<br />

Igualmente, en el artículo <strong>de</strong>scribiremos los algoritmos, que previamente<br />

<strong>de</strong>sarrollados para robots móviles, han sido empleados en la implementación<br />

<strong>de</strong>l prototipo <strong>de</strong>l SIA.<br />

Finalmente, en el artículo presentaremos un resumen <strong>de</strong> los experimentos<br />

realizados para verificar el funcionamiento <strong>de</strong>l sistema realizado, así<br />

como las conclusiones extraídas.<br />

2 Sistema diseñado<br />

El primer paso en el diseño <strong>de</strong> cualquier sistema es el establecimiento <strong>de</strong><br />

los requisitos <strong>de</strong>l mismo. En el caso <strong>de</strong>l SIA los más relevantes son:<br />

• Autonomía: la <strong>de</strong>cisión <strong>de</strong> conce<strong>de</strong>r velocidad extra no se pue<strong>de</strong> <strong>de</strong>legar<br />

en el conductor. Es más, sería <strong>de</strong>seable que el conductor no pudiese influir<br />

conscientemente en la <strong>de</strong>cisión.<br />

• Generalidad: el sistema tiene que ser capaz <strong>de</strong> <strong>de</strong>tectar cualquier tipo <strong>de</strong><br />

vehículo, o el mayor porcentaje posible <strong>de</strong> los diferentes tipos. Por ejemplo,<br />

no es aceptable que se necesite que los vehículos a<strong>de</strong>lantados estén<br />

equipados con algún dispositivo como reflectores, emisores, etc.<br />

• Robusted: el prototipo irá empotrado en un vehículo, esto influye por<br />

ejemplo en la alimentación disponible (12V./24.). También <strong>de</strong>berá soportar<br />

vibraciones, temperaturas muy variadas, etc.<br />

• Fiabilidad: el sistema tiene que funcionar en la mayor cantidad <strong>de</strong> condiciones<br />

atmosféricas posible. Igualmente el sistema <strong>de</strong>bería funcionar en diferentes<br />

tipos <strong>de</strong> carreteras: autopistas, <strong>de</strong> montaña, etc. así como a diferentes<br />

horas <strong>de</strong>l día, noche, etc.<br />

• Coste: la relación calidad-precio es un factor clave para cualquier sistema<br />

industrial. En particular, el coste total <strong>de</strong>l sistema <strong>de</strong>bería ser similar al <strong>de</strong><br />

otros sistemas <strong>de</strong> ayuda a la conducción disponibles para vehículos comerciales<br />

(GPS, logística, etc.)<br />

Estos requisitos son los que hemos tenido en cuenta a la hora <strong>de</strong> diseñar el<br />

sistema <strong>de</strong> percepción. En concreto, en la industria <strong>de</strong>l automóvil se han<br />

utilizado diferentes tecnologías que hemos tenido que evaluar. Las más<br />

1 Este trabajo ha sido i<strong>de</strong>ado, patentado y realizado por el Instituto Nacional <strong>de</strong> Técnica Aerospacial<br />

(INTA), con la colaboración <strong>de</strong> la empresa Consultrans SA, y la Universidad Rey Juan Carlos a<br />

través <strong>de</strong>l contrato SIS M-151


36 Robots <strong>de</strong> exteriores<br />

usuales se basan en visión (Dickmans 1997), láser (Ewald 2000) o ultrasonidos,<br />

e incluso revisiones <strong>de</strong> ellos (Sun 2004).<br />

Otra tecnología muy utilizada en la automoción es el RADAR están extendidas<br />

en el campo <strong>de</strong> la automoción. Esta tecnología está siendo ampliamente<br />

utilizada en los ACC (Auto Cruise Control) para controlar la velocidad<br />

y en los más avanzados CWS (Collision Warning Systems) para<br />

ajustar la velocidad <strong>de</strong> los automóviles a la velocidad <strong>de</strong> los vehículos que<br />

les prece<strong>de</strong>n.<br />

Igualmente, existen sistemas propuestos para <strong>de</strong>tectar las situaciones <strong>de</strong><br />

a<strong>de</strong>lantamiento entre vehículos (Wang 2005), tradicionalmente basados en<br />

visión (Batavia 1997). Estos sistemas están generalmente diseñados para<br />

servir <strong>de</strong> ayuda al conductor y son muy sensibles a las condiciones atmosféricas<br />

y con elevados requisitos computacionales que incumplen los requisitos<br />

<strong>de</strong> nuestro sistema.<br />

En nuestro estudio los sensores RADAR han mostrado dos problemas<br />

fundamentales: La falta <strong>de</strong> proveedores en España y la incompatibilidad<br />

legal <strong>de</strong> utilización en Europa. En primer lugar los fabricantes <strong>de</strong> estos<br />

dispositivos ven<strong>de</strong>n el sistema completo, el CWS, no el sensor, y no tienen<br />

un interfaz <strong>de</strong> programación para adaptar su uso a nuestras necesida<strong>de</strong>s.<br />

A<strong>de</strong>más, se trata <strong>de</strong> proveedores <strong>de</strong> la industria <strong>de</strong>l automóvil, poco acostumbrados<br />

a ven<strong>de</strong>r un único dispositivo, por lo que nos ha resultado imposible<br />

verificar sus posibilida<strong>de</strong>s. En segundo lugar, el rango <strong>de</strong> frecuencias<br />

americano es diferente <strong>de</strong>l europeo, lo que hace a estos sistemas<br />

ilegales en Europa, ya que se trata <strong>de</strong> proveedores americanos.<br />

El tipo <strong>de</strong> sensores más extendido en la industria <strong>de</strong> la automoción es el<br />

<strong>de</strong> ultrasonidos. Multitud <strong>de</strong> automóviles están equipados con sensores <strong>de</strong><br />

ayuda al aparcamiento. Comparado con un RADAR, un sensor <strong>de</strong> ultrasonidos<br />

es más impreciso, especialmente por la incertidumbre angular (aunque<br />

se podría acotar usando más <strong>de</strong> un sensor); tiene menos alcance (un<br />

or<strong>de</strong>n <strong>de</strong> magnitud menor). En cambio su precio es varios ór<strong>de</strong>nes <strong>de</strong> magnitud<br />

menor.<br />

Los sensores láser por su parte tienen una precisión muy alta, tanto radial<br />

como angular: menor <strong>de</strong> un centímetro en distancia y una resolución<br />

<strong>de</strong> un cuarto <strong>de</strong> grado; su alcance es medio (entre 30 y 80 metros <strong>de</strong>pendiendo<br />

<strong>de</strong>l mo<strong>de</strong>lo). Su principal inconveniente es el precio, no tan elevado<br />

como el radar, pero mucho mayor que el <strong>de</strong> ultrasonidos.<br />

Los sensores basados en infrarrojos tienen varios problemas. El más<br />

grave es su sensibilidad a las condiciones atmosféricas: Un cambio <strong>de</strong> la<br />

luz ambiente produce bruscas variaciones <strong>de</strong> medidas. Por ello son muy<br />

imprecisos. A cambio, su precio es muy reducido. Otra alternativa son los<br />

sensores LIDAR, a medio camino entre el láser y los ultrasonidos tanto en<br />

precio como en prestaciones.


Aplicación <strong>de</strong> Técnicas <strong>Robótica</strong>s al A<strong>de</strong>lantamiento Entre Vehículos Pesados<br />

37<br />

Sensor Rango Precio Resolución Fiabilidad<br />

Infrarrojos 10 m Bajo 10 cm muy baja<br />

Ultrasonidos 20 m Bajo 10 cm baja<br />

Láser 80 m Alto 1 cm media<br />

RADAR 200 m Alto 5 cm alta<br />

LIDAR 50 m Medio 10 cm media<br />

Tabla 1. Caracterización <strong>de</strong> las tecnologias <strong>de</strong> sensores<br />

La Tabla. 1 resume las características <strong>de</strong> los sensores <strong>de</strong>scritos en párrafos<br />

previos. Una alternativa que no aparece en la Tabla.1 es la basada en visión,<br />

que se <strong>de</strong>scartó por su elevado coste computacional.<br />

A la vista <strong>de</strong> la Tabla.1 la sensorización que nos ha parecido más apropiada<br />

consistió en un sensor láser para la <strong>de</strong>tección frontal <strong>de</strong>l vehículo y sensores<br />

<strong>de</strong> ultrasonidos para los laterales. De esta forma, se aprovecha la precisión<br />

<strong>de</strong>l láser para i<strong>de</strong>ntificar el vehículo a a<strong>de</strong>lantar y la apertura <strong>de</strong>l haz<br />

<strong>de</strong> ultrasonidos para <strong>de</strong>tectar lateralmente a vehículos con todo tipo <strong>de</strong><br />

morfologías.<br />

Fig.2. Sistema sensorial: ultrasonidos y láser<br />

El sistema sensorial se ha construido modularmente, con un subsistema<br />

encargado <strong>de</strong> gestionar los sensores <strong>de</strong> ultrasonidos construido alre<strong>de</strong>dor<br />

<strong>de</strong> un microprocesador PIC (parte izquierda <strong>de</strong> la Fig. 2), un subsistema láser<br />

(parte <strong>de</strong>recha <strong>de</strong> la Fig. 2) y un sistema <strong>de</strong> control que será el que <strong>de</strong>cida<br />

si conce<strong>de</strong>r o no la velocidad extra en función <strong>de</strong> la información proporcionada<br />

por los dos subsistemas anteriores.<br />

El subsistema <strong>de</strong> control en el prototipo <strong>de</strong>scrito en este artículo se encuentra<br />

en un PC portátil. Todos los subsistemas se comunican a través <strong>de</strong><br />

un interfaz estándar, en concreto se usa RS232.


38 Robots <strong>de</strong> exteriores<br />

La programación <strong>de</strong>l microcontrolador que gestiona los sensores <strong>de</strong> ultrasonido<br />

se ha realizado en ensamblador y se han utilizado varios elementos<br />

específicos <strong>de</strong>l mo<strong>de</strong>lo seleccionado (PIC 16F876). Por ejemplo,<br />

hemos usado la USART para el envío y recepción RS232 <strong>de</strong> los datos, la<br />

unidad CCP con el fin <strong>de</strong> capturar el rebote <strong>de</strong> la señal emitida por los ultrasonidos,<br />

etc.<br />

La placa es capaz <strong>de</strong> gestionar hasta 4 sensores <strong>de</strong> ultrasonidos y conectarlos<br />

al computador <strong>de</strong> control a través <strong>de</strong>l puerto serie. La placa <strong>de</strong>sarrollada<br />

se encarga <strong>de</strong> controlar el disparo <strong>de</strong> los sensores <strong>de</strong> ultrasonidos, <strong>de</strong><br />

forma que no interfieran entre ellos y se obtenga la mayor frecuencia <strong>de</strong><br />

medidas posible. Para ello, los tiempos entre disparo son dinámicos, y se<br />

calculan en función <strong>de</strong>l número <strong>de</strong> sensores conectados y el tiempo máximo<br />

<strong>de</strong> vuelo.<br />

El diseño eléctrico <strong>de</strong> la placa persigue que su rango <strong>de</strong> funcionamiento<br />

sea lo más amplio posible. En este sentido y para favorecer el uso con las<br />

distintas baterías que incorporan los camiones, la placa pue<strong>de</strong> alimentarse<br />

a cualquier tensión entre 12V y 24V.<br />

3 Sistema <strong>de</strong> control<br />

La aplicación <strong>de</strong> control se basa en el autómata <strong>de</strong> estados <strong>de</strong> la Fig.3. El<br />

estado en el que está el sistema <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l estado anterior y <strong>de</strong> la información<br />

obtenida <strong>de</strong> analizar los datos sensoriales actuales. Existen tres posibles<br />

estados: Búsqueda <strong>de</strong> obstáculo frontal (1), <strong>de</strong>tección <strong>de</strong> obstáculo<br />

lateral (2) y <strong>de</strong>tección <strong>de</strong> fin <strong>de</strong> obstáculo (3).<br />

Fig.3. Autómata empleado en la aplicación <strong>de</strong> control


Aplicación <strong>de</strong> Técnicas <strong>Robótica</strong>s al A<strong>de</strong>lantamiento Entre Vehículos Pesados<br />

39<br />

En el primer estado se analizan los datos tomados por el láser para i<strong>de</strong>ntificar<br />

al vehículo que potencialmente será a<strong>de</strong>lantado. Una vez <strong>de</strong>tectado, si<br />

el conductor ha señalado la maniobra con el intermitente, y se acerca al<br />

vehículo, se conce<strong>de</strong> la velocidad extra y se pasa al segundo estado. En el<br />

segundo estado se analizan los sensores <strong>de</strong> ultrasonido. Cuando se percibe<br />

que el vehículo está a la altura <strong>de</strong>l sensor se produce una nueva transición.<br />

En el tercer estado se analizan los ultrasonidos para <strong>de</strong>tectar el fin <strong>de</strong>l a<strong>de</strong>lantamiento.<br />

Cuando el vehículo es rebasado, el autómata retorna al estado<br />

inicial, anula la velocidad extra y comienza <strong>de</strong> nuevo el ciclo.<br />

Fig. 4. Aspecto <strong>de</strong> la aplicación <strong>de</strong> control<br />

La Fig. 4 muestra el aspecto <strong>de</strong>l interfaz <strong>de</strong> la aplicación <strong>de</strong> control. En la<br />

parte izquierda se aprecian los iconos que indican el estado en el que se<br />

encuentra la aplicación. En la esquina inferior izquierda se sitúa otro icono<br />

que muestra si el limitador <strong>de</strong> velocidad está activo o no. En la parte superior<br />

se visualizan las medidas <strong>de</strong>l láser (en este caso una simulación <strong>de</strong> un<br />

túnel con un vehículo <strong>de</strong>lante). En la parte <strong>de</strong>recha se representan las medidas<br />

<strong>de</strong> los sensores <strong>de</strong> ultrasonidos. En este caso 2.<br />

Para la <strong>de</strong>tección frontal, la información sensorial proporcionada por el<br />

sensor láser consiste en un conjunto <strong>de</strong> 180 medidas <strong>de</strong> distancia a una frecuencia<br />

<strong>de</strong> 10 Hz.<br />

Esta información no es fácil <strong>de</strong> interpretar directamente, por lo que hay<br />

que realizar un procesado <strong>de</strong> ella. En concreto, el sistema <strong>de</strong>sarrollado


40 Robots <strong>de</strong> exteriores<br />

agrupa puntos en segmentos rectos, siendo una <strong>de</strong> las aportaciones <strong>de</strong>l sistema<br />

el algoritmo <strong>de</strong> segmentación <strong>de</strong> las medidas obtenidas por el láser.<br />

Este algoritmo, basado en el propuesto para robots móviles en [Gómez<br />

2003], se basa en hipotetizar segmentos. Inicialmente estima la pendiente<br />

entre el primer y el último punto obtenidos por el láser, e intenta verificar<br />

si todos los puntos intermedios están <strong>de</strong>ntro <strong>de</strong> la recta hipotetizada, con<br />

una <strong>de</strong>terminada tolerancia. Para ello calcula la coor<strong>de</strong>nada y' esperada utilizando<br />

la ecuación <strong>de</strong> la recta y'=pendiente*(x-x1)+y1, don<strong>de</strong> (x1,y1) es un<br />

extremo <strong>de</strong>l segmento.<br />

Una vez calculado este valor se compara con el valor real que tiene ese<br />

punto en el eje Y. Si se sale <strong>de</strong>l umbral pue<strong>de</strong> <strong>de</strong>scartarse el segmento<br />

hipotetizado. El algoritmo hipotetizará un nuevo segmento que tiene como<br />

punto inicial aquel cuyo valor <strong>de</strong>l eje Y quedaba fuera <strong>de</strong>l umbral establecido,<br />

y como punto final el mismo que tenia el segmento <strong>de</strong>scartado. Esta<br />

solución asume que un segmento es bueno, es <strong>de</strong>cir hace válida la hipótesis,<br />

cuando todos sus puntos intermedios están <strong>de</strong>ntro <strong>de</strong>l umbral <strong>de</strong> tolerancia.<br />

A<strong>de</strong>más <strong>de</strong> eso tiene que cumplirse que la distancia entre puntos<br />

consecutivos no sea mayor que un <strong>de</strong>terminado valor. Si hay puntos entre<br />

los cuales la distancia es muy gran<strong>de</strong> seguramente no pertenezcan al mismo<br />

segmento (p. e. dos coches en paralelo, etc.).<br />

Fig. 5. Segmentación <strong>de</strong> los puntos láser durante una prueba a escala<br />

El proceso <strong>de</strong> segmentación <strong>de</strong> los puntos láser se pue<strong>de</strong> ver en Fig. 5. En<br />

la parte (a) se pue<strong>de</strong> observar como inicialmente el segmento hipotetizado<br />

(en color rojo) es el que va <strong>de</strong> la medida <strong>de</strong>l haz 0 al 179. También se pue<strong>de</strong><br />

observar que el primer punto analizado que está fuera <strong>de</strong>l umbral (línea<br />

roja discontinua) es el que rompe la hipótesis (señalado por la flecha <strong>de</strong> color<br />

negro). Cuando se rompe la hipótesis se realiza otra nueva que en este<br />

caso va <strong>de</strong>s<strong>de</strong> el punto don<strong>de</strong> se rompió hasta el punto final, como se aprecia<br />

en la parte (b). También se pue<strong>de</strong> se pue<strong>de</strong> observar en la imagen en


Aplicación <strong>de</strong> Técnicas <strong>Robótica</strong>s al A<strong>de</strong>lantamiento Entre Vehículos Pesados<br />

41<br />

qué punto se rompe la hipótesis (indicado por la flecha). En la parte (c) el<br />

algoritmo ya ha <strong>de</strong>scartado más hipótesis y <strong>de</strong>secha ésta también porque la<br />

distancia entre los puntos <strong>de</strong> la parte <strong>de</strong> arriba <strong>de</strong> la hipótesis es muy gran<strong>de</strong>.<br />

En este caso se rompe la hipótesis en el punto (indicado por la flecha)<br />

en el que su distancia con el anterior era muy gran<strong>de</strong>. Por último en la figura<br />

(d) se pue<strong>de</strong> ver como el algoritmo ha validado una hipótesis (el segmento<br />

<strong>de</strong> color ver<strong>de</strong>) y se dispone a analizar el resto <strong>de</strong> las medidas.<br />

Después <strong>de</strong> realizar esta segmentación se comprueba si algún segmento<br />

se correspon<strong>de</strong> con un vehículo prece<strong>de</strong>nte cercano, verificando que:<br />

• El segmento <strong>de</strong>be estar centrado en el foco <strong>de</strong>l láser, es <strong>de</strong>cir, <strong>de</strong>be ser<br />

un segmento correspondiente a la medidas centrales <strong>de</strong> entre las obtenidas<br />

por el láser. Con esto el vehículo está justo enfrente <strong>de</strong>l nuestro que<br />

lleva el sistema SIA.<br />

• El segmento <strong>de</strong>be tener pendiente casi nula. De momento sólo estamos<br />

analizando el caso sencillo <strong>de</strong> a<strong>de</strong>lantamiento, en el que se supone que<br />

el a<strong>de</strong>lantamiento se realiza en un tramo recto. Por este motivo el vehículo<br />

prece<strong>de</strong>nte se correspon<strong>de</strong>rá con un segmento horizontal (con cierto<br />

margen <strong>de</strong> tolerancia).<br />

• La distancia entre el láser y el segmento <strong>de</strong>be ser menor a un umbral.<br />

El vehículo prece<strong>de</strong>nte se pue<strong>de</strong> <strong>de</strong>tectar <strong>de</strong>s<strong>de</strong> 50 m. pero hasta que no<br />

estemos suficientemente cerca el a<strong>de</strong>lantamiento no tiene sentido.<br />

• El segmento <strong>de</strong>be tener una cierta longitud para que se pueda concluir<br />

que es un vehículo.<br />

Si se cumplen estas condiciones el sistema <strong>de</strong>terminará que existe un vehículo<br />

susceptible <strong>de</strong> ser a<strong>de</strong>lantado y se pasará al estado 2<br />

El evento que provoca el paso <strong>de</strong>l estado 2 al 3, es <strong>de</strong>cir el fin <strong>de</strong>l a<strong>de</strong>lantamiento,<br />

es la <strong>de</strong>tección lateral <strong>de</strong>l vehículo. Esta <strong>de</strong>tección consiste en<br />

i<strong>de</strong>ntificar flancos en las medidas <strong>de</strong> distancia <strong>de</strong> los sónares, ya que cuando<br />

se empieza a <strong>de</strong>tectar al vehículo a rebasar la distancia disminuye y se<br />

produce un escalón. Lo mismo suce<strong>de</strong> cuando se <strong>de</strong>ja <strong>de</strong> <strong>de</strong>tectar al vehículo<br />

una vez rebasado por completo.<br />

Para la implementación <strong>de</strong> la <strong>de</strong>tección lateral hemos seleccionado una<br />

ventana dinámica y configurable que analiza y calcula la media <strong>de</strong> las medidas<br />

sónar durante un espacio <strong>de</strong> tiempo <strong>de</strong> 2 seg.<br />

Cada medida capturada por los ultrasonidos es comparada con la media<br />

<strong>de</strong> valores recibidos en la última ventana temporal. Si la medida varía significativamente<br />

respecto <strong>de</strong> la media, esta medida se consi<strong>de</strong>ra como un<br />

posible obstáculo. Si la siguiente medida también lo hace se consi<strong>de</strong>ra que<br />

se ha <strong>de</strong>tectado un obstáculo. La media <strong>de</strong> valores obtenida hasta este pun-


42 Robots <strong>de</strong> exteriores<br />

to se almacena temporalmente. Esta técnica es robusta ante ruido durante<br />

la fase <strong>de</strong> verificación <strong>de</strong>l obstáculo.<br />

4 Pruebas y Resultados<br />

El objetivo <strong>de</strong> las pruebas realizadas ha sido comprobar el correcto funcionamiento<br />

<strong>de</strong>l programa <strong>de</strong> control y la vali<strong>de</strong>z <strong>de</strong> los sensores escogidos en<br />

situaciones <strong>de</strong> tráfico real, en condiciones óptimas. Es <strong>de</strong>cir, no se han analizado<br />

aún situaciones metereológicas adversas, ni escenarios complejos <strong>de</strong><br />

caravanas <strong>de</strong> vehículos, vehículos compinchados para a<strong>de</strong>lantamientos alternativos,<br />

etc.<br />

Se ha realizado una batería <strong>de</strong> pruebas para validar la viabilidad <strong>de</strong>l sistema.<br />

Las se realizaron en exteriores, con vehículos reales no preparados,<br />

pero a baja velocidad. Concretamente, se realizaron en un aparcamiento al<br />

aire libre (parte superior <strong>de</strong> la Fig. 6) con el objeto <strong>de</strong> comprobar si el sistema<br />

sensorial era capaz <strong>de</strong> <strong>de</strong>tectar si las plazas <strong>de</strong> aparcamiento estaban<br />

vacías o no, lo que se aprecia en la parte inferior <strong>de</strong> la Fig. 6.<br />

Fig.6. Prueba a baja velocidad (aparcamiento).<br />

El siguiente experimento consistió en probar el sistema <strong>de</strong> <strong>de</strong>tección ultrasónico<br />

a velocidad media.<br />

Concretamente se realizó la prueba en un vehículo circulando a 80Km/h<br />

como se refleja en la Fig.7. El objetivo en este caso era comprobar la calidad<br />

<strong>de</strong> las mediciones <strong>de</strong>l ultrasonido en una maniobra <strong>de</strong> a<strong>de</strong>lantamiento<br />

entre vehículos ligeros. En la parte inferior <strong>de</strong> la Fig.7 se pue<strong>de</strong> apreciar<br />

como la distancia disminuye a 1metro en el momento <strong>de</strong> iniciarse el a<strong>de</strong>-


Aplicación <strong>de</strong> Técnicas <strong>Robótica</strong>s al A<strong>de</strong>lantamiento Entre Vehículos Pesados<br />

43<br />

lantamiento, se mantiene durante un intervalo y vuelve a subir cuando finaliza<br />

el a<strong>de</strong>lantamiento.<br />

Fig.7. Pruebas a media velocidad (80km/h).<br />

En la figura Fig. 8 se refleja un ejemplo <strong>de</strong> prueba <strong>de</strong> a<strong>de</strong>lantamiento a un<br />

vehículo pesado a alta velocidad <strong>de</strong> nuevo para verificar el funcionamiento<br />

<strong>de</strong> los sensores <strong>de</strong> <strong>de</strong>tección lateral, esta vez a altas velocida<strong>de</strong>s.<br />

No se pue<strong>de</strong> olvidar que los sensores <strong>de</strong> ultrasonidos se basan en la propagación<br />

<strong>de</strong> una onda mecánica (<strong>de</strong> sonido), por lo que aunque la velocidad<br />

relativa entre los vehículos sea pequeña, las turbulencias a altas velocida<strong>de</strong>s,<br />

y la propia velocidad pue<strong>de</strong>n influir en las medidas.<br />

Po<strong>de</strong>mos observar que las medidas capturadas por los sensores confirman<br />

su vali<strong>de</strong>z, ya que son capaces <strong>de</strong> percibir los cambios en la distancia<br />

provocados por la aparición y <strong>de</strong>saparición <strong>de</strong> vehículos en la zona lateral.<br />

Las pruebas reflejadas en la Fig se realizaron a 120Km/h, la máxima permitida<br />

en las carreteras españolas, como refleja el velocímetro y encuadrados<br />

en la figura po<strong>de</strong>mos ver los instantes <strong>de</strong> comienzo y fin <strong>de</strong> <strong>de</strong>tección<br />

lateral<br />

Los resultado que se pue<strong>de</strong>n observar en la parte inferior <strong>de</strong> la Fig son<br />

similares a los <strong>de</strong>l a<strong>de</strong>lantamiento a media velocidad, la calidad <strong>de</strong> la medición<br />

<strong>de</strong>l sensor <strong>de</strong> ultrasonidos sigue siendo buena, permitiendo <strong>de</strong>tectar<br />

el comienzo y fin <strong>de</strong> la maniobra, a pesar <strong>de</strong>l mayor ruido en las medidas.<br />

Los recuadros rojos en la Fig. 8 muestran los flancos <strong>de</strong> subida y <strong>de</strong> bajada<br />

que son los que se utilizan para <strong>de</strong>tectar el comienzo y final <strong>de</strong>l vehículo.<br />

Como se pue<strong>de</strong> apreciar, dichos flancos son suficientemente marca-


44 Robots <strong>de</strong> exteriores<br />

dos para po<strong>de</strong>rse distinguir <strong>de</strong>l ruido ambiente utilizando simplemente un<br />

umbral.<br />

Fig.8. Medidas <strong>de</strong> los sensores laterales<br />

Por último, la figura Fig. 9 muestra el prototipo instalado en un vehículo<br />

real, concretamente en un autobús <strong>de</strong>l Instituto Nacional <strong>de</strong> Tecnología<br />

Aerospacial (INTA), en cuyas pistas se realizaron las pruebas <strong>de</strong> integración<br />

<strong>de</strong> todos los sensores <strong>de</strong>l prototipo.<br />

Fig.9. Montaje en un vehículo real (pistas <strong>de</strong>l INTA).


Aplicación <strong>de</strong> Técnicas <strong>Robótica</strong>s al A<strong>de</strong>lantamiento Entre Vehículos Pesados<br />

45<br />

5 Conclusiones y Trabajos Futuros<br />

El sistema que se ha presentado en el artículo se encuentra en una fase inicial<br />

<strong>de</strong> su <strong>de</strong>sarrollo. En principio el prototipo construido es simplemente<br />

un <strong>de</strong>mostrador <strong>de</strong> viabilidad. Los resultados obtenidos en los experimentos<br />

realizados han sido satisfactorios, pudiéndose resumir en que es viable<br />

la i<strong>de</strong>a <strong>de</strong> <strong>de</strong>sarrollar un sistema comercial <strong>de</strong> este tipo.<br />

En particular, el algoritmo <strong>de</strong>sarrollado para la construcción <strong>de</strong> segmentos<br />

ha resultado ser muy eficiente y a<strong>de</strong>cuado para la aplicación.<br />

Entre las líneas <strong>de</strong> investigación abiertas se encuentra el prescindir <strong>de</strong>l<br />

sensor frontal y estudiar la viabilidad <strong>de</strong>l proyecto únicamente utilizando<br />

sensores <strong>de</strong> ultrasonido <strong>de</strong> bajo coste. También se está trabajando en el<br />

software <strong>de</strong> control para optimizar la respuesta <strong>de</strong>l sistema ante más entornos<br />

y situaciones que las analizadas hasta la fecha.<br />

Agra<strong>de</strong>cimientos<br />

Los autores quieren expresar su agra<strong>de</strong>cimiento a los miembros <strong>de</strong>l equipo<br />

<strong>de</strong>l INTA dirigido por D. Ricardo Chicharro y a los <strong>de</strong> CONSULTRANS<br />

SA. con quienes se realizó parte <strong>de</strong> este trabajo.<br />

El trabajo <strong>de</strong>scrito en este artículo ha sido financiado parcialmente por<br />

el Ministerio <strong>de</strong> Educación mediante el proyecto ACRACE (DPI2004-<br />

07993-C03-01) y por la Comunidad Autónoma <strong>de</strong> Madrid, mediante el<br />

proyecto RoboCity 2030 (S-0505/DPI/0176).<br />

Referencias<br />

Batavia P.H., Pormerleau D.A., y Thorpe C.E. 1997. Detecting Overtaking Vehicles<br />

with Implicit Optical Flow. CMU-RI-TR-97-28.<br />

Batavia P.H., Pormerleau D.A., y Thorpe C.E. 1997. Detecting Overtaking Vehicles<br />

with Implicit Optical Flow. Proceedings of the IEEE Transportation Systems<br />

Conference, pp. 729-734.<br />

European Comission. 1992. Directive 92/6/EEC<br />

Ewald A., Willhoeft V. 2000. Laser scanners for obstacle <strong>de</strong>tection in automotive<br />

applications. Technical Report, Fa. IBEO Lasertechnik GmbH.


46 Robots <strong>de</strong> exteriores<br />

Dickmanns E.D 1997. Vehicles capable of dynamic vision – a new breed of technical<br />

beings In Proceedings of the 15th International Joint Conference on Artificial<br />

Intelligence, IJCAI-97. 1577-1592, Nagoya (JAPÓN).<br />

Gómez V., Cañas J.M. 2003 Vision based schemas for an autonomous robotic<br />

soccer player. In Proceedings of the IV Workshop en Agentes Físicos, WAF-<br />

2003. 109-120, Alicante (SPAIN).<br />

Gómez V., Agüero C.E. , Cañas J.M., Matellán V. 2005 Desarrollo <strong>de</strong> un sistema<br />

<strong>de</strong> <strong>de</strong>tección <strong>de</strong> a<strong>de</strong>lantamiento.. XI Seminario Anual <strong>de</strong> <strong>Automática</strong>, Electrónica<br />

Industrial e Instrumentación (SAAEI-2005), ISBN:84-8102-964-5, Santan<strong>de</strong>r<br />

(ESPAÑA).<br />

Sun Z., Bebis G., y Miller R. 2004. On-road Vehicle Detection Using Optical Sensors:<br />

A Review. IEEE International Conference on Intelligent Transportation Systems,<br />

pp. 585-590.<br />

Wang J., Bebis G., Millar R. 2005. Overtaking vehicle <strong>de</strong>tection using Dynamic<br />

and Quasi-Static Background Mo<strong>de</strong>ling. Proccedings of the 2005 IEEE Computer<br />

Society Conference on Computer Vision and Pattern Recognition (CVPR’05).<br />

Zhu Y., Comaniciu D., Pellkofer M y Koehler T. 2006 Reliable Detection of overtaking<br />

vehicles using robust information fusion. IEEE Transactions on Intelligent<br />

Transportation systems, Vol. 7, Num. 4


CAPÍTULO 4<br />

Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la<br />

Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores<br />

C. CASTEJÓN 1 , D. BLANCO 2 y L.E. MORENO 2<br />

1 Grupo Maqlab, Universidad Carlos III <strong>de</strong> Madrid 2 Robotics Lab, Universidad<br />

Carlos III <strong>de</strong> Madrid {castejon ,dblanco, moreno} @ ing.uc3m.es<br />

En este trabajo, se presentan los <strong>de</strong>sarrollos realizados por el grupo <strong>de</strong> investigación<br />

Robotics Lab <strong>de</strong> la Universidad Carlos III <strong>de</strong> Madrid, en la robótica<br />

<strong>de</strong> exteriores. El trabajo <strong>de</strong>sarrolla una metodología para la etapa <strong>de</strong><br />

mo<strong>de</strong>lado que representa, <strong>de</strong> forma reducida y simple, el entorno. El mo<strong>de</strong>lo<br />

<strong>de</strong> navegación obtenido, que ha sido <strong>de</strong>signado como Mo<strong>de</strong>lo <strong>de</strong> Regiones<br />

Cruzables (MRC), está basado en la técnica <strong>de</strong>l diagrama <strong>de</strong> Voronoi<br />

adaptada a entornos exteriores <strong>de</strong> gran<strong>de</strong>s dimensiones. El mo<strong>de</strong>lo se<br />

construye a partir <strong>de</strong> información tridimensional, y permite <strong>de</strong>finir trayectorias<br />

seguras que van a <strong>de</strong>pen<strong>de</strong>r <strong>de</strong> las capacida<strong>de</strong>s <strong>de</strong>l robot y <strong>de</strong> las<br />

propieda<strong>de</strong>s <strong>de</strong>l terreno. A<strong>de</strong>más, el mo<strong>de</strong>lo representará, <strong>de</strong> manera topogeométrica,<br />

el entorno en mapas locales y globales, con la ayuda <strong>de</strong> los sistemas<br />

sensoriales: telémetro láser tridimensional, brújula y sistema <strong>de</strong> posicionamiento<br />

global (GPS). Este trabajo es una contribución novedosa en<br />

el campo <strong>de</strong>l mo<strong>de</strong>lado <strong>de</strong> regiones en robótica. El método permite calcular<br />

el grado <strong>de</strong> rugosidad <strong>de</strong> un terreno <strong>de</strong>sconocido basado en la <strong>de</strong>sviación<br />

<strong>de</strong>l vector normal. El parámetro que mi<strong>de</strong> el grado <strong>de</strong> rugosidad es la<br />

varianza esférica y será <strong>de</strong> gran utilidad, junto con el cálculo <strong>de</strong> la pendiente<br />

<strong>de</strong>l terreno, para <strong>de</strong>terminar las áreas cruzables.<br />

1 Introducción<br />

Las nuevas aplicaciones robóticas, tales comos la exploración planetaria o<br />

la robótica asistencial, implican que algunas tareas <strong>de</strong> los robots <strong>de</strong>ben realizarse<br />

en entornos exteriores cambiantes. Los entornos exteriores son me-


48 Robots <strong>de</strong> exteriores<br />

nos estructurados, menos controlados y menos pre<strong>de</strong>cibles que los entornos<br />

interiores. Por ello, se hace necesario proponer una nueva filosofía en<br />

cuanto a navegación, planificación <strong>de</strong> trayectorias y mo<strong>de</strong>lado. La navegación<br />

<strong>de</strong> robots sobre entornos <strong>de</strong>sconocidos y cambiantes obliga a la reducción<br />

<strong>de</strong> los tiempos <strong>de</strong> cálculo y a la seguridad <strong>de</strong>l robot (Fernan<strong>de</strong>z,<br />

2001). Para dotar al robot <strong>de</strong> autonomía es necesario un conocimiento <strong>de</strong>l<br />

entorno sobre el que navega, don<strong>de</strong> el robot va a moverse y/o a manipular<br />

objetos, <strong>de</strong>be planificar trayectorias y navegar sin colisión. El mayor problema<br />

<strong>de</strong> la navegación en entornos exteriores es la gran variedad <strong>de</strong> terrenos<br />

que existen (rugosos, con alta <strong>de</strong>nsidad <strong>de</strong> obstáculos, parcialmente<br />

estructurados o completamente <strong>de</strong>sconocidos). Esto quiere <strong>de</strong>cir, que para<br />

todos los entornos exteriores y todos los tipos <strong>de</strong> robot, no existe un único<br />

mo<strong>de</strong>lo útil. En este trabajo, se presenta un método para mo<strong>de</strong>lar amplios<br />

entornos exteriores por medio <strong>de</strong> áreas que <strong>de</strong>pen<strong>de</strong>n <strong>de</strong> la habilidad <strong>de</strong>l<br />

robot para moverse a través <strong>de</strong> él. La metodología permite construir diferentes<br />

tipos <strong>de</strong> mo<strong>de</strong>los, <strong>de</strong>pendiendo <strong>de</strong> la tarea <strong>de</strong>l robot. El mo<strong>de</strong>lo obtenido<br />

para la navegación se <strong>de</strong>nomina Mo<strong>de</strong>lo <strong>de</strong> Regiones Cruzables<br />

(MRC), y representa las áreas cruzables <strong>de</strong>l entorno percibido por un telémetro<br />

láser tridimensional <strong>de</strong>sarrollado en el Robotics Lab. El mo<strong>de</strong>lo está<br />

orientado a las capacida<strong>de</strong>s <strong>de</strong>l robot, ya que ciertas áreas serán cruzables<br />

o no <strong>de</strong>pendiendo <strong>de</strong>l propio robot. En este sentido, el mapa utilizará un<br />

mo<strong>de</strong>lo basado en Voronoi 2D para representar la información <strong>de</strong>l entorno<br />

en el espacio XY, y una <strong>de</strong>scripción cualitativa <strong>de</strong> la cruzabilidad <strong>de</strong>l terreno<br />

para dar la coor<strong>de</strong>nada Z. Esta <strong>de</strong>scripción es altamente compacta y<br />

muy sencilla <strong>de</strong> manejar para los sistemas <strong>de</strong> navegación y planificación.<br />

El sistema utilizará un sistema GPS diferencial para integrar la información<br />

local en un mapa global.<br />

2 Trabajos relacionados<br />

La mayoría <strong>de</strong> los trabajos relacionados con los mapas <strong>de</strong> navegación se<br />

refieren a robots operando en terrenos planos como entornos planetarios<br />

(Maurette, 2003), carreteras (Langer, 1994), aeropuertos, etc. En estos casos,<br />

el terreno tiene un grado <strong>de</strong> rugosidad bajo y los obstáculos se encuentran<br />

en el suelo y tienen forma conocida (normalmente esférica o cúbica),<br />

<strong>de</strong> manera que son fáciles <strong>de</strong> mo<strong>de</strong>lar con primitivas geométricas. En general,<br />

en la navegación, los estudios relacionados con las rejillas <strong>de</strong> ocupación<br />

es uno <strong>de</strong> los métodos más utilizados (Yahja, 2000). Esta representación<br />

es sencilla <strong>de</strong> manipular y la discretización facilita la or<strong>de</strong>nación <strong>de</strong><br />

información específica para la tarea <strong>de</strong>l robot. Por otra parte, otros estudios


Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores 49<br />

se refieren al nivel <strong>de</strong> representación <strong>de</strong>l entorno que se divi<strong>de</strong> en geométrico,<br />

topológico y topo-geométrico. El nivel geométrico se <strong>de</strong>muestra que<br />

no es interesante para los mo<strong>de</strong>los <strong>de</strong> navegación. La reconstrucción 3D<br />

para entornos interiores y exteriores pue<strong>de</strong> encontrarse en los trabajos<br />

(Gomez-Mota, 2000), (Hähnel, 2003). En ellos, la gran cantidad <strong>de</strong> información<br />

requerida para mo<strong>de</strong>lar el entorno se pone <strong>de</strong> manifiesto. La principal<br />

<strong>de</strong>sventaja es el alto coste computacional, cuando se usa en entornos<br />

<strong>de</strong> gran<strong>de</strong>s dimensiones y poco estructurados. La ventaja <strong>de</strong> los mo<strong>de</strong>los<br />

geométricos <strong>de</strong>riva <strong>de</strong> la habilidad para generar mapas con gran precisión,<br />

muy parecidos al entorno real. Sin embargo, estas representaciones son <strong>de</strong><br />

uso limitado en entornos exteriores <strong>de</strong>bido a su alto coste computacional,<br />

la falta <strong>de</strong> estructuras geométricas en algunos entornos, y la gran dimensión<br />

<strong>de</strong>l mo<strong>de</strong>lo que se genera. A<strong>de</strong>más <strong>de</strong>l alto coste computacional requerido<br />

para interpretar estos mapas para la navegación. En los mo<strong>de</strong>los<br />

topológicos, la información numérica es sustituida por datos simbólicos, y<br />

el mapa se representa como un grafo. Se ha <strong>de</strong>mostrado que estos mo<strong>de</strong>los<br />

son <strong>de</strong> gran utilidad para la navegación en corredores. En cuanto a las aplicaciones<br />

en entornos exteriores, no se han encontrado, a pesar <strong>de</strong> su efectividad<br />

en entornos <strong>de</strong> gran<strong>de</strong>s dimensiones (Ranganathan, 2002), (Nehmzow,<br />

2000). Estos mo<strong>de</strong>los permiten la planificación <strong>de</strong> trayectorias <strong>de</strong><br />

manera rápida y reduce la cantidad <strong>de</strong> datos y el tiempo <strong>de</strong> cálculo. Sin<br />

embargo, la representación <strong>de</strong> grafos requiere <strong>de</strong> elementos repetitivos (tales<br />

como puertas, pare<strong>de</strong>s, esquinas, etc.), que no existen en entornos exteriores.<br />

Esta técnica es <strong>de</strong> interés en entornos interiores <strong>de</strong> gran<strong>de</strong>s dimensiones<br />

don<strong>de</strong> existen gran cantidad <strong>de</strong> objetos comunes. Los objetos<br />

permitirán al robot localizarse y moverse con seguridad. Pero en entornos<br />

exteriores, a priori <strong>de</strong>sconocidos, estos mo<strong>de</strong>los no son útiles. La representación<br />

híbrida es una buena alternativa a los métodos <strong>de</strong>scritos anteriormente.<br />

El método combina diferentes técnicas <strong>de</strong> mo<strong>de</strong>lado para tomar las<br />

ventajas <strong>de</strong> cada uno <strong>de</strong> los métodos y eliminar o reducir las <strong>de</strong>sventajas.<br />

Actualmente, es una buena elección para la construcción <strong>de</strong> mo<strong>de</strong>los <strong>de</strong><br />

navegación. Algunos autores trabajan en mo<strong>de</strong>lo topo-geométricos (Boada,<br />

2002), don<strong>de</strong> llevan a cabo una discretización <strong>de</strong>l terreno utilizando mo<strong>de</strong>los<br />

basados en sensores. Thrun construye en (Thrun, 1998) un grafo topológico<br />

basado en rejillas <strong>de</strong> ocupación. Betgé-Brezetz en (Betgé 1994)<br />

<strong>de</strong>scribe, <strong>de</strong> manera topológica, las posiciones, partiendo <strong>de</strong> información<br />

geométrica. El autor construye planos para representar el suelo y super<br />

cuádricas para la representación <strong>de</strong> los obstáculos. Mediante técnicas <strong>de</strong><br />

visión artificial y extracción <strong>de</strong> bor<strong>de</strong>s, se separan los objetos <strong>de</strong>l entorno<br />

para obtener el mo<strong>de</strong>lo topológico. Esta <strong>de</strong>scripción está limitada a entornos<br />

sencillos con obstáculos en forma circular y sobre el terreno. Otros au-


50 Robots <strong>de</strong> exteriores<br />

tores construyen mo<strong>de</strong>los topológicos a partir <strong>de</strong> información geométrica<br />

suministrada por el sistema sensorial. Choset en (Choset, 2000) <strong>de</strong>scribe<br />

una exploración basada en sensores a partir <strong>de</strong> un sonar para mo<strong>de</strong>lar entornos<br />

interiores sencillos, el mo<strong>de</strong>lo lo construye con diagramas <strong>de</strong> Voronoi.<br />

El sistema construye, <strong>de</strong> manera incremental, un grafo conectado con<br />

puntos que pertenecen a los bor<strong>de</strong>s <strong>de</strong> Voronoi. La misma técnica es usada<br />

por Blanco en (Blanco, 2000) con un telémetro 2D.<br />

En este trabajo se utiliza una aplicación y adaptación <strong>de</strong> la técnica anterior<br />

aplicada a entornos exteriores. El mo<strong>de</strong>lo se representará como Diagramas<br />

<strong>de</strong> Voronoi (Blanco, 2003) y está basado en la información tridimensional<br />

provista por un telémetro. Será necesario realizar algunas modificaciones<br />

al utilizar información tridimensional.<br />

2.1 Cruzabilidad<br />

La cruzabilidad es un atributo que representa la a<strong>de</strong>cuabilidad <strong>de</strong>l terreno a<br />

ser navegado. Algunos autores como Langer en (Langer, 1994) o Seraji en<br />

(Seraji, 1999), han <strong>de</strong>sarrollado métodos para <strong>de</strong>terminar este atributo. La<br />

mayoría <strong>de</strong> los autores trabajan con dos parámetros básicos: la pendiente y<br />

la rugosidad. Muchos trabajos han sido <strong>de</strong>sarrollados para entornos planetarios,<br />

es <strong>de</strong>cir para entornos planos con obstáculos <strong>de</strong> forma <strong>de</strong>finida (básicamente<br />

rocas sobre un suelo plano). En este trabajo se construirá un<br />

Mo<strong>de</strong>lo Numérico <strong>de</strong> Cruzabilidad (MNC). El terreno se dividirá en zona<br />

cruzables y no cruzables para el robot. Es importante tener en cuenta que la<br />

característica <strong>de</strong> cruzabilidad no sólo <strong>de</strong>pen<strong>de</strong> <strong>de</strong> las propieda<strong>de</strong>s <strong>de</strong>l terreno,<br />

también <strong>de</strong>pen<strong>de</strong> <strong>de</strong> las restricciones físicas y tareas <strong>de</strong>l robot.<br />

3 Metodología <strong>de</strong> mo<strong>de</strong>lado<br />

En la figura 1 se representa la metodología orientada al robot para la construcción<br />

<strong>de</strong> mapas <strong>de</strong> navegación en diferentes tipos <strong>de</strong> entornos exteriores.<br />

Divi<strong>de</strong> el problema en diferentes niveles <strong>de</strong> mo<strong>de</strong>lado que permiten<br />

obtener mo<strong>de</strong>los intermedios, que pue<strong>de</strong>n ser útiles en otras tareas <strong>de</strong>l robot.<br />

El objetivo es construir un mo<strong>de</strong>lo que represente gran<strong>de</strong>s áreas con<br />

la mínima información necesaria para la navegación. El mo<strong>de</strong>lo propuesto<br />

es compacto y representa las áreas que el robot pue<strong>de</strong> cruzar. Los diferentes<br />

niveles se <strong>de</strong>scriben a continuación:<br />

En el primer nivel, <strong>de</strong>nominado nivel <strong>de</strong> extracción <strong>de</strong> la información, la<br />

información es capturada, en este caso por un telémetro 3D, y transformada,<br />

con la ayuda <strong>de</strong> una brújula en un mo<strong>de</strong>lo instantáneo <strong>de</strong> representa-


Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores 51<br />

ción (snapshot). En este nivel se han <strong>de</strong>sarrollado los algoritmos necesarios<br />

para la realización <strong>de</strong> los cambios en los sistemas <strong>de</strong> coor<strong>de</strong>nadas. Esta<br />

información será interesante para el mo<strong>de</strong>lado tridimensional <strong>de</strong> objetos,<br />

necesario para las tareas <strong>de</strong> manipulación.<br />

Fig. 1. Metodología <strong>de</strong> mo<strong>de</strong>lado presentada<br />

En el segundo nivel, <strong>de</strong>nominado <strong>de</strong> mo<strong>de</strong>lado local, el mo<strong>de</strong>lo instantáneo<br />

es enriquecido con el análisis <strong>de</strong>l terreno. Los datos 3D son clasificados<br />

<strong>de</strong>pendiendo <strong>de</strong> su característica <strong>de</strong> cruzabilidad. El mo<strong>de</strong>lo obtenido<br />

se <strong>de</strong>nomina Mo<strong>de</strong>lo Numerico <strong>de</strong> Cruzabilidad (MNC). Este mo<strong>de</strong>lo divi<strong>de</strong><br />

el entorno percibido en regiones que pue<strong>de</strong>n ser cruzables o no por el<br />

robot. Para <strong>de</strong>terminar la característica <strong>de</strong> cruzabilidad en cada punto, se<br />

han tenido en cuenta las características <strong>de</strong>l terreno y las <strong>de</strong>l propio robot.<br />

Las medidas 3D se proyectan en el plano XY y se discretizan en un mapa<br />

<strong>de</strong> elevación para obtener una <strong>de</strong>scripción cualitativa <strong>de</strong> cada celda. Se<br />

construye un mapa <strong>de</strong> visibilidad para obtener la información <strong>de</strong> celdas<br />

ocultas. Adicionalmente, se realiza una extracción <strong>de</strong> bor<strong>de</strong>s <strong>de</strong> las áreas<br />

no cruzables para la construcción <strong>de</strong>l mo<strong>de</strong>lo 2D. A partir <strong>de</strong> la información<br />

<strong>de</strong> las fronteras se obtendrá el mo<strong>de</strong>lo <strong>de</strong> regiones cruzables (MRC)<br />

mediante un grafo <strong>de</strong> Voronoi. El MRC es representativo por <strong>de</strong>finición,<br />

ya que correspon<strong>de</strong> al camino <strong>de</strong> máxima seguridad para el robot. Los obstáculos<br />

se <strong>de</strong>signan como áreas no cruzables y no serán consi<strong>de</strong>radas para<br />

la representación.


52 Robots <strong>de</strong> exteriores<br />

Por último, en el nivel <strong>de</strong> mo<strong>de</strong>lado global, se obtiene la integración <strong>de</strong><br />

mapas locales en un mapa global gracias a la información <strong>de</strong> un GPS diferencial<br />

que se encuentra a bordo <strong>de</strong>l robot. El mo<strong>de</strong>lo es compacto y pue<strong>de</strong><br />

construirse en tiempo real, mientras el robot se <strong>de</strong>splaza.<br />

4 Análisis <strong>de</strong> cruzabilidad<br />

En la navegación por entornos exteriores, es interesante estimar algunos<br />

parámetros que <strong>de</strong>finen la dificultad <strong>de</strong>l terreno para ser cruzado. La planificación<br />

<strong>de</strong> trayectorias en entornos <strong>de</strong> gran<strong>de</strong>s dimensiones y exteriores es<br />

una tarea compleja ya que existen muchos parámetros que <strong>de</strong>finen la cruzabilidad,<br />

por ejemplo:<br />

• La tarea que va a realizar el robot en el entorno. Tareas como manipulación,<br />

exploración planetaria o en entornos peligrosos, etc.,<br />

necesitan diferentes mo<strong>de</strong>los <strong>de</strong> información. Para la tarea <strong>de</strong>l robot<br />

<strong>de</strong> esta aplicación, se construirá un mo<strong>de</strong>lo <strong>de</strong> tipo topogeométrico.<br />

• Las características <strong>de</strong> la plataforma experimental, su sistema <strong>de</strong> locomoción<br />

y las restricciones físicas afectan a las <strong>de</strong>cisiones futuras.<br />

En este caso, el sistema <strong>de</strong> locomoción, que restringe la<br />

máxima y mínima pendiente que el robot pue<strong>de</strong> alcanzar, así como<br />

el nivel <strong>de</strong> rugosidad máximo y la mínima elevación que el robot<br />

pue<strong>de</strong> sobrepasar (espacio libre tridimensional).<br />

• Las características <strong>de</strong>l terreno, que <strong>de</strong>terminan su dificultad a ser<br />

cruzado. La mayoría <strong>de</strong> los autores centran su investigación en dos<br />

parámetros básicos: la pendiente y la rugosidad. Los dos parámetros<br />

no sólo se utilizan en el campo <strong>de</strong> la robótica, sino también en<br />

el campo <strong>de</strong> la topografía y especialmente en los sistemas <strong>de</strong> información<br />

Geográfica, pero a otro nivel y con diferentes sistemas<br />

sensoriales. Ambos parámetros serán utilizados en este trabajo<br />

4.1. Análisis <strong>de</strong> la pendiente<br />

La inclinación <strong>de</strong> la superficie o la pendiente pue<strong>de</strong> ser <strong>de</strong>finida como el<br />

ángulo que existe entre el vector normal a la superficie N y el vector W π<br />

perpendicular a la superficie horizontal, realizando el cálculo a través <strong>de</strong>l<br />

producto escalar con la ecuación (1).


Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores 53<br />

uur<br />

arccos N W<br />

uur<br />

⋅<br />

π<br />

ξ = uur uur (1)<br />

N ⋅ W<br />

π<br />

El valor <strong>de</strong> la normal se obtiene para cada punto con un método sencillo<br />

propuesto por Betgé-Brezetz en (Betgé 1994). Consiste en aplicar, sobre<br />

una imagen or<strong>de</strong>nada <strong>de</strong> datos, un filtro Sobel horizontal y vertical que<br />

proporciona las tangentes <strong>de</strong> cada punto a lo largo <strong>de</strong> las dos direcciones<br />

<strong>de</strong> barrido <strong>de</strong>l telémetro. Cada punto tridimensional (P) está expresado en<br />

un sistema <strong>de</strong> referencia cartesiano relativo a la escena. En la figura 2 se<br />

representa la obtención gráfica <strong>de</strong>l vector normal en un punto, y en la<br />

ecuación (2) la formulación analítica utilizada.<br />

uuur<br />

N<br />

P<br />

( θ,<br />

φ )<br />

Fig. 2. Estimación <strong>de</strong> la pendiente en cada punto<br />

uur uur<br />

Pθ<br />

∧ Pφ<br />

= uur uur (2)<br />

P ∧ P<br />

θ<br />

φ<br />

El método permite calcular la normal en cada punto <strong>de</strong> forma rápida y<br />

simple. Es muy a<strong>de</strong>cuado para un entorno exterior <strong>de</strong>sconocido y no estructurado,<br />

ya que se realiza el cálculo <strong>de</strong> manera local atendiendo únicamente<br />

a los cuatro puntos vecinos. A<strong>de</strong>más, aunque los valores <strong>de</strong> pendiente<br />

obtenidos no son muy exactos (<strong>de</strong>bido al tipo <strong>de</strong> filtro utilizado),<br />

para un análisis <strong>de</strong> cruzabilidad es suficiente. Por limitaciones físicas <strong>de</strong> la<br />

masa <strong>de</strong>l robot y su sistema <strong>de</strong> locomoción, existe un valor <strong>de</strong> pendiente<br />

máxima y mínima que el robot es capaz <strong>de</strong> subir y bajar. Teniendo en<br />

cuenta las limitaciones <strong>de</strong>l robot, el análisis <strong>de</strong> cruzabilidad en esta<br />

aproximación se realiza como sigue:<br />

Se <strong>de</strong>fine ZA como el subconjunto <strong>de</strong> puntos, p i , pertenecientes a una imagen<br />

tridimensional, tal que la pendiente en cada punto, ξ i , cumple la propiedad<br />

<strong>de</strong> cruzabilidad siguiente:


54 Robots <strong>de</strong> exteriores<br />

{ ( , , ) /<br />

}<br />

ZA = p x y z ξ < ξ < ξ<br />

(3)<br />

i<br />

min<br />

Es <strong>de</strong>cir, en el análisis <strong>de</strong> la pendiente, se consi<strong>de</strong>ran zonas no cruzables<br />

(ZNA) aquellas regiones en las que la inclinación, en cada punto tridimensional,<br />

supera unos umbrales máximos y mínimos (ξ max y ξ min , respectivamente)<br />

<strong>de</strong> pendiente.<br />

Este análisis es útil en entornos planos con diferentes pendientes, pero el<br />

método presenta algunos problemas con superficies como escalones (no<br />

cruzables para la plataforma y sin embargo consi<strong>de</strong>radas cruzables por el<br />

método), o pequeñas rocas (fáciles <strong>de</strong> cruzar con el sistema <strong>de</strong> locomoción).<br />

En este caso, será necesario estudiar otro parámetro que complete el<br />

análisis <strong>de</strong> cruzabilidad.<br />

max<br />

4.2 Análisis <strong>de</strong> rugosidad<br />

La mayoría <strong>de</strong> las <strong>de</strong>finiciones <strong>de</strong> rugosidad encontradas en la literatura,<br />

hacen referencia a la medida <strong>de</strong> irregularida<strong>de</strong>s a partir <strong>de</strong> las variaciones<br />

en altura. El método utilizado en este trabajo para el cálculo <strong>de</strong>l grado <strong>de</strong><br />

rugosidad es un método novedoso no utilizado hasta ahora en el campo <strong>de</strong><br />

la robótica, está basado en el cálculo <strong>de</strong> la <strong>de</strong>sviación <strong>de</strong>l vector normal en<br />

cada punto <strong>de</strong>ntro <strong>de</strong> una zona local, mediante el cálculo <strong>de</strong>l parámetro estadístico<br />

<strong>de</strong>nominado varianza esférica (Castejón, 2005). El estudio utiliza<br />

el siguiente razonamiento:<br />

• En un entorno uniforme (con bajo grado <strong>de</strong> rugosidad), los vectores<br />

normal a la superficie serán prácticamente paralelos, y por ello,<br />

presentarán baja dispersión (como en la figura 3 izquierda).<br />

• Por otra parte, un terreno muy rugoso presenta diferentes cambios<br />

en la orientación <strong>de</strong> los vectores normales, por lo que existirá una<br />

gran dispersión (parte <strong>de</strong>recha <strong>de</strong> la figura 3).<br />

Fig. 3. Análisis <strong>de</strong> rugosidad. Dos casos extremos<br />

Dado un conjunto <strong>de</strong> vectores N i , correspondientes a las normales en una<br />

vecindad, contenida en el espacio percibido, se <strong>de</strong>fine la varianza esférica<br />

como el estadístico ω, complementario al módulo medio normalizado <strong>de</strong>l<br />

conjunto.


Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores 55<br />

ω = 1− R (4)<br />

n<br />

Es <strong>de</strong>cir, ω mi<strong>de</strong> la dispersión <strong>de</strong> una muestra formada por vectores, elementos<br />

<strong>de</strong>finidos por una longitud (módulo) y un sentido, en el espacio tridimensional.<br />

El <strong>de</strong>sarrollo para la obtención <strong>de</strong>l estadístico se <strong>de</strong>talla a<br />

continuación:<br />

1. Dado un conjunto <strong>de</strong> n vectores normales a la superficie, <strong>de</strong>finidos por<br />

sus tres componentes N i = (x i ; y i ; z i ), el módulo <strong>de</strong>l vector suma <strong>de</strong>l conjunto<br />

se calcula a partir <strong>de</strong> la ecuación 5:<br />

n<br />

2<br />

n<br />

2<br />

n<br />

2<br />

⎛ ⎞ ⎛ ⎞ ⎛ ⎞<br />

R = ⎜ x ⎟ + ⎜ y ⎟ + ⎜ z ⎟<br />

(5)<br />

∑ ∑ ∑<br />

i i i<br />

⎝ i= 1 ⎠ ⎝ i= 1 ⎠ ⎝ i=<br />

1 ⎠<br />

2. El valor medio se normaliza dividiendo entre el número <strong>de</strong> datos n, <strong>de</strong><br />

manera que su resultado se encuentra en un rango <strong>de</strong> valores entre 0 y 1.<br />

R<br />

[ 0,1]<br />

n ∈ (6)<br />

3. Para terminar, se obtiene el complementario <strong>de</strong>l valor medio normalizado<br />

para dar sentido al estadístico en la ecuación 4.<br />

De esta manera, los valores están estandarizados y se distribuyen en un<br />

rango teórico entre 0 y 1. Cuando ω = 0 existe una dispersión máxima y<br />

pue<strong>de</strong> consi<strong>de</strong>rarse el terreno con rugosidad máxima, y cuando ω = 1 existe<br />

un alineamiento completo, y el terreno será completamente plano. El valor<br />

<strong>de</strong>l umbral que <strong>de</strong>termina la cruzabilidad <strong>de</strong> un terreno se ha establecido,<br />

en este caso, en ω umbral = 0,2. Se ha realizado este análisis <strong>de</strong> rugosidad<br />

en una vecindad, constituida por ventanas <strong>de</strong> 5x5 alre<strong>de</strong>dor <strong>de</strong> cada punto.<br />

Con esta información se <strong>de</strong>fine el mo<strong>de</strong>lo 3D a partir <strong>de</strong>l análisis <strong>de</strong> la<br />

pendiente y <strong>de</strong> la rugosidad <strong>de</strong>finido como Mo<strong>de</strong>lo Numérico <strong>de</strong> Cruzabilidad<br />

(MNC).<br />

5. Mo<strong>de</strong>lo <strong>de</strong> regiones cruzables<br />

A partir <strong>de</strong>l MNC po<strong>de</strong>mos extraer la información <strong>de</strong> espacio libre y construir<br />

el mo<strong>de</strong>lo <strong>de</strong> regiones cruzables para la planificación y la navegación<br />

<strong>de</strong>l robot. Para la representación <strong>de</strong> las regiones se ha optado por la técnica


56 Robots <strong>de</strong> exteriores<br />

<strong>de</strong>l Diagrama <strong>de</strong> Voronoi (DV). El MNC proporciona información geométrica<br />

que pue<strong>de</strong> ser útil para el mo<strong>de</strong>lado <strong>de</strong> objetos o construcciones <strong>de</strong><br />

entornos virtuales. Sin embargo, la gran cantidad <strong>de</strong> información que se<br />

obtiene <strong>de</strong>l sistema sensorial hace que el mo<strong>de</strong>lo sea difícil <strong>de</strong> manipular y<br />

que los tiempos <strong>de</strong> cómputo se disparen. Antes <strong>de</strong> obtener el mo<strong>de</strong>lo <strong>de</strong><br />

regiones cruzables es necesario reducir y simplificar la información 3D. El<br />

constructor <strong>de</strong> mo<strong>de</strong>lo <strong>de</strong> regiones necesita la coor<strong>de</strong>nadas 2D <strong>de</strong> las fronteras<br />

que separan las ZA <strong>de</strong> las ZNA. Para ello, se utilizan técnicas basadas<br />

en procesamiento digital. En este trabajo, <strong>de</strong>finimos la imagen como una<br />

matriz bidimensional don<strong>de</strong> cada píxel está <strong>de</strong>finido por su característica<br />

<strong>de</strong> cruzabilidad. La imagen 3D en este caso se transforma en una imagen<br />

binaria que representa las diferentes regiones. Es <strong>de</strong>cir, representa el espacio<br />

<strong>de</strong> trabajo <strong>de</strong>l robot. Para conseguir el mo<strong>de</strong>lo seguiremos los siguientes<br />

pasos:<br />

1) Obtención Mapa <strong>de</strong> Elevación Digital (MED): éste permite or<strong>de</strong>nar<br />

la información <strong>de</strong>l mo<strong>de</strong>lo 3D en celdas en el plano XY, guardando<br />

en cada celda solo la información necesaria para representar<br />

el mo<strong>de</strong>lo <strong>de</strong> navegación. Los parámetros necesarios para la construcción<br />

<strong>de</strong>l mo<strong>de</strong>lo son: la posición <strong>de</strong> la celda, la información <strong>de</strong><br />

cruzabilidad, el número <strong>de</strong> obstáculos presentes en la celda, y la<br />

medida <strong>de</strong> elevación real. La cruzabilidad y la medida <strong>de</strong> elevación<br />

<strong>de</strong>pen<strong>de</strong>n <strong>de</strong>l número <strong>de</strong> obstáculos presentes en la celda y <strong>de</strong><br />

su posición. El sensor suministra la información sobre el suelo, los<br />

objetos que se apoyan en el suelo y también los objetos aéreos. Para<br />

la obtención <strong>de</strong>l número <strong>de</strong> objetos en cada celda se utiliza el<br />

algoritmo <strong>de</strong> las distancias enca<strong>de</strong>nadas (Escalera, 2001).<br />

2) Cálculo <strong>de</strong>l mapa <strong>de</strong> Visibilidad (MV): mediante el mapa <strong>de</strong> elevación<br />

solo se consigue dar información <strong>de</strong> aquellas celdas don<strong>de</strong><br />

el sensor capta datos. Sin embargo, en el entorno discretizado existirán<br />

celdas sin información, bien porque aparecen como ocultas al<br />

sensor, o porque se ha superado el rango máximo <strong>de</strong> medida. Para<br />

ello se construye el mapa <strong>de</strong> visibilidad estimando los parámetros<br />

asociados a las celdas ocultas a partir <strong>de</strong> la información <strong>de</strong> sus vecinas.<br />

Esta estimación se realiza mediante la extrapolación <strong>de</strong>l<br />

segmento tridimensional que une el sensor con el centro <strong>de</strong> las<br />

celdas visibles.<br />

3) Obtención <strong>de</strong>l mapa binario: a partir <strong>de</strong>l espacio dividido en celdas,<br />

con la característica <strong>de</strong> cruzabilidad se obtiene una imagen binaria.<br />

Esta imagen es una matriz que representará regiones cruzables<br />

(0) o no cruzables (1). La imagen será filtrada con<br />

operaciones morfológicas clásicas (closing) para suavizar las for-


Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores 57<br />

mas <strong>de</strong> las regiones y obtener mejores resultados posteriores sin<br />

modificar las dimensiones <strong>de</strong> las mismas. Para terminar se obtienen<br />

las fronteras entre las regiones cruzables y no cruzables para<br />

construir el MRC, a partir <strong>de</strong> <strong>de</strong>tectores <strong>de</strong> bor<strong>de</strong>s utilizados en el<br />

procesamiento <strong>de</strong> imágenes digitales.<br />

5.1 Algoritmo para el mo<strong>de</strong>lo <strong>de</strong> cruzabilidad<br />

Como ya ha sido comentado, para la representación <strong>de</strong> las regiones se ha<br />

elegido el DV por las siguientes razones:<br />

• El mo<strong>de</strong>lo se construye a partir <strong>de</strong> la información sensorial. Por<br />

ello es rápido en su cálculo y pue<strong>de</strong> utilizarse en tiempo real.<br />

• DV por <strong>de</strong>finición genera las trayectorias que maximizan la distancia<br />

entre el robot y los obstáculos. Por lo que el mo<strong>de</strong>lo es muy<br />

interesante para la navegación segura.<br />

• El mo<strong>de</strong>lo <strong>de</strong>l entorno es una representación esquemática <strong>de</strong>l<br />

espacio libre <strong>de</strong>l robot, por lo que no presenta problemas <strong>de</strong> almacenamiento<br />

<strong>de</strong> la información.<br />

El DVL (Diagrama <strong>de</strong> Voronoi Local) presentado en este trabajo, utiliza la<br />

aproximación a una imagen digital. El primer paso que se realiza es la<br />

agrupación <strong>de</strong> datos o pixels <strong>de</strong> la imagen en grupos generadores g i . Para<br />

cada punto o celda (i,j) <strong>de</strong>l espacio libre existe al menos un punto más cercano<br />

al espacio ocupado que se <strong>de</strong>nomina punto base. Así, el DVL se <strong>de</strong>fine<br />

como la serie <strong>de</strong> puntos en el espacio libre que tiene al menos dos puntos<br />

base diferentes, es <strong>de</strong>cir, que se encuentra a la misma distancia <strong>de</strong> al<br />

menos dos grupos generadores, siendo esta distancia menos que la que se<br />

le separa <strong>de</strong>l resto <strong>de</strong> los puntos <strong>de</strong>l espacio ocupado. Los pasos a seguir<br />

son:<br />

1) Agrupamiento <strong>de</strong> los pixels (i,j) que forman las fronteras en series<br />

<strong>de</strong> puntos generadores. Se consi<strong>de</strong>ran <strong>de</strong>ntro <strong>de</strong> un mismo grupo<br />

generador todos aquellos puntos que se encuentran a una distancia<br />

tal que el robot no es capaz <strong>de</strong> pasar entre ellos.<br />

2) Para cada celda (i,j) se evalúa la pertenencia a las Regiones <strong>de</strong> Voronoi<br />

(RG) <strong>de</strong>finidas por los obstáculos presentes en el entorno<br />

observado. Las RG tienen la propiedad <strong>de</strong> cubrir todo el espacio<br />

libre, por lo que cualquier punto <strong>de</strong> la imagen pertenecerá al menos<br />

a una RG. Para ello se evalúa la distancia <strong>de</strong> cada celda a todos<br />

los grupos generadores, <strong>de</strong> forma que la celdilla pertenece a la<br />

RG <strong>de</strong> un objeto si está más cerca <strong>de</strong> éste que <strong>de</strong> todos los <strong>de</strong>más.<br />

Si la celda es equidistante a dos objetos <strong>de</strong>l entorno. pertenecerá a


58 Robots <strong>de</strong> exteriores<br />

un Bor<strong>de</strong> <strong>de</strong> Voronoi (BD) y si es equidistante a más <strong>de</strong> dos objetos<br />

será un Nodo <strong>de</strong> voronoi (ND).<br />

En el cálculo <strong>de</strong> la distancia se tendrá en cuenta el error ocasionado al realizar<br />

la discretización. Las distancias se calculan entre centros <strong>de</strong> las<br />

celdas. Sin embargo la verda<strong>de</strong>ra posición pue<strong>de</strong> encontrarse en cualquier<br />

punto <strong>de</strong> la celda. Por ello se calcula la distancia máxima a la cual pue<strong>de</strong>n<br />

encontrarse dos puntos pertenecientes a dos celdas diferentes y se incluye<br />

en la evaluación <strong>de</strong>l etiquetado <strong>de</strong> celdas en regiones, bor<strong>de</strong>s o nodos. En<br />

la figura 4 se presenta un resultado <strong>de</strong>l mo<strong>de</strong>lo.<br />

Fig. 4. Representación <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> cruzabilidad<br />

6. Construcción <strong>de</strong> un Mo<strong>de</strong>lo Global<br />

Con la información <strong>de</strong> los mo<strong>de</strong>los <strong>de</strong> regiones locales, y gracias al GPS<br />

diferencial que se encuentra a bordo <strong>de</strong>l robot, es posible construir mo<strong>de</strong>los<br />

globales mediante la integración <strong>de</strong> los mo<strong>de</strong>los locales obtenidos a<br />

medida que el robot se <strong>de</strong>splaza. Esta integración se realiza a partir <strong>de</strong>l<br />

cambio <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong> los puntos <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> un sistema local situado<br />

en la base <strong>de</strong>l robot a un sistema global. La integración se realiza<br />

mediante: el agrupamiento <strong>de</strong> los puntos <strong>de</strong> interés (bor<strong>de</strong>s y nodos <strong>de</strong> cada<br />

DVL) en regiones <strong>de</strong>finidas por circunferencias <strong>de</strong> radio r y su sustitución<br />

por el centro <strong>de</strong> masas <strong>de</strong>l sistema <strong>de</strong> puntos agrupados.<br />

De esta manera, cada nodo o bor<strong>de</strong> <strong>de</strong>l DVL, <strong>de</strong>finido por sus coor<strong>de</strong>nadas<br />

(x,y) en el sistema <strong>de</strong> referencia global y por su distancia a los grupos generadores,<br />

es incorporado a una lista <strong>de</strong> puntos con las mismas características<br />

<strong>de</strong> posición.


Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores 59<br />

7. Resultados experimentales<br />

En esta sección presentamos los resultados experimentales obtenidos en<br />

tres entornos exteriores reales diferentes y la construcción <strong>de</strong> un mo<strong>de</strong>lo<br />

global. Como resultados <strong>de</strong> los mo<strong>de</strong>los locales en cada escena, se presentan:<br />

• El MNC obtenido, don<strong>de</strong> los puntos que pertenecen a la ZA se representan<br />

en color claro y los pertenecientes a la ZNA en oscuro.<br />

• El MV basado en el mo<strong>de</strong>lo anterior, para una mejor visión <strong>de</strong> la escena.<br />

• El DVL, como representación <strong>de</strong> las regiones cruzables.<br />

El mo<strong>de</strong>lo construido no solo se adapta al tipo <strong>de</strong> terreno, sino que también<br />

está adaptado a la tarea <strong>de</strong>l robot y a la propia plataforma robótica. En este<br />

caso, los resultados experimentales se han llevado a cabo con el robot<br />

GOLIAT, plataforma <strong>de</strong>sarrollada en la Universidad Carlos III <strong>de</strong> Madrid.<br />

Se trata <strong>de</strong> un vehículo <strong>de</strong> tracción con orugas <strong>de</strong> 1.5 Ton. Los sistemas <strong>de</strong><br />

percepción que se encuentran a bordo <strong>de</strong>l robot y que han sido utilizados<br />

para la obtención <strong>de</strong> los resultados experimentales son: un láser 3D integrado<br />

en el Robotics Lab a partir <strong>de</strong> un láser 2D <strong>de</strong> Sick y un motor, una<br />

brújula magnética y un GPS diferencial. Detalles sobre la estructura, arquitectura<br />

y sistemas sensoriales <strong>de</strong> la plataforma pue<strong>de</strong>n consultarse en (Castejón,<br />

2004).<br />

Fig. 5. Robot <strong>de</strong> Exteriores GOLIAT


60 Robots <strong>de</strong> exteriores<br />

Los parámetros asociados a la plataforma <strong>de</strong> exteriores GOLIAT, necesarios<br />

para obtener la cruzabilidad se presentan en la tabla 1.<br />

Tabla 1. Parámetros característicos <strong>de</strong> GOLIAT<br />

Altura máxima <strong>de</strong>l robot (incluida la antena DGPS) H robot 219.50 cm<br />

Distancia <strong>de</strong>l telémetro láser 3D al SDR <strong>de</strong> la base H L 152.30 cm<br />

Ancho <strong>de</strong>l robot D robot 188.50 cm<br />

Altura máxima que las orugas pue<strong>de</strong>n sobrepasar U min 15.00 cm<br />

Pendiente máxima <strong>de</strong> subida ξ max +54º<br />

Pendiente mínima <strong>de</strong> bajada ξ min -49º<br />

Grado <strong>de</strong> rugosidad máximo ω th 0.2<br />

7.1 Primera escena: entorno con obstáculos aéreos<br />

En la figura 6 se presentan los resultados experimentales <strong>de</strong> la primera escena.<br />

Se trata <strong>de</strong> un entorno parcialmente estructurado con obstáculos aéreos.<br />

El entorno presenta un grado <strong>de</strong> rugosidad relativamente bajo y accesible<br />

para el robot. En el MNC (parte superior <strong>de</strong>recha), se observa<br />

como el obstáculo aéreo ha sido etiquetado como ZNA, a pesar <strong>de</strong> ser un<br />

objeto que se encuentra a una altura superior a la <strong>de</strong>l robot. Con la construcción<br />

<strong>de</strong>l mapa <strong>de</strong> elevación y mapa <strong>de</strong> visibilidad (en la parte inferior<br />

izquierda <strong>de</strong> la figura 6), este objeto no será consi<strong>de</strong>rado como obstáculo,<br />

gracias al cálculo <strong>de</strong>l número <strong>de</strong> obstáculos por celda, comentado en secciones<br />

anteriores. Por último, se presenta en la parte inferior <strong>de</strong>recha <strong>de</strong><br />

esta misma figura el DVL, don<strong>de</strong> se pe<strong>de</strong> apreciar los caminos <strong>de</strong> máxima<br />

seguridad. Para este resultado, se ha consi<strong>de</strong>rado una resolución <strong>de</strong> celda<br />

<strong>de</strong> 20 cm.<br />

El DVL almacenará las coor<strong>de</strong>nadas (x,y) <strong>de</strong> cada punto que pertenece a él<br />

en la figura se representa en oscuro los bor<strong>de</strong>s <strong>de</strong> voronoi y en claro los<br />

nodos, proporcionando información adicional al planificador. En cuanto al<br />

tiempo <strong>de</strong> procesado <strong>de</strong> toda la metodología (<strong>de</strong>s<strong>de</strong> la obtención <strong>de</strong> las<br />

medidas 3D por parte <strong>de</strong>l sensor hasta el mo<strong>de</strong>lo <strong>de</strong> regiones) es inferior a<br />

los 5 segundos (en un or<strong>de</strong>nador personal AMD-K6 (tm) 3D processor,<br />

con 64MB <strong>de</strong> RAM).


Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores 61<br />

Fig. 6. Resultados experimentales primera escena<br />

7.2 Segunda escena: entorno con diferentes pendientes<br />

En la figura 7 se presenta tanto la escena como los mo<strong>de</strong>los parciales y el<br />

MRC <strong>de</strong> un entorno semiestructurado con obstáculos. Lo más relevante <strong>de</strong><br />

la escena es la diferencia <strong>de</strong> pendientes, remarcadas en la parte superior izquierda<br />

<strong>de</strong> la figura 7. En el MNC representado permite <strong>de</strong>stacar la cantidad<br />

<strong>de</strong> información que proporciona el telémetro láser 3D, que produce<br />

mapas <strong>de</strong>nsos con un rango <strong>de</strong> 30 metros. Esto pue<strong>de</strong> apreciarse en la <strong>de</strong>finición<br />

<strong>de</strong>l árbol y las pare<strong>de</strong>s <strong>de</strong>l edificio. En cuanto al tiempo <strong>de</strong> procesado<br />

<strong>de</strong> este entorno, se presenta inferior a los 5 segundos. Estos valores <strong>de</strong>pen<strong>de</strong>n<br />

<strong>de</strong>l número <strong>de</strong> obstáculos presentes en la escena y <strong>de</strong> la dificultad<br />

<strong>de</strong>l entorno.<br />

7.3 Tercera escena: entorno complejo<br />

En la figura 8 se muestra un entorno <strong>de</strong>nominado complejo por el número<br />

<strong>de</strong> obstáculos presentes. La metodología nos lleva a través <strong>de</strong> los diferentes<br />

mo<strong>de</strong>los a un mo<strong>de</strong>lo compacto <strong>de</strong> cruzabilidad, don<strong>de</strong> en este caso,<br />

permite al planificador elegir entre diferentes trayectorias seguras. Al ser


62 Robots <strong>de</strong> exteriores<br />

éste un entorno con mayor complejidad, el tiempo <strong>de</strong> cálculo se encuentra<br />

entre los 5 y los 6 segundos.<br />

Fig. 7. Resultados experimentales, segunda escena<br />

Fig. 8. Resultados experimentales, tercera escena


Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores 63<br />

7.4 Mo<strong>de</strong>los globales<br />

En esta sección se muestra una secuencia <strong>de</strong> exploración <strong>de</strong>l robot<br />

GOLIAT. La plataforma móvil captura una imagen <strong>de</strong>l entorno cada tres<br />

metros y construye el mo<strong>de</strong>lo incremental. En la figura 9 se presentan alguna<br />

<strong>de</strong> las secuencias. Se pue<strong>de</strong> observar que se conserva la bondad <strong>de</strong><br />

los resultados gracias a la información adicional <strong>de</strong>l GPS diferencial. Se<br />

observa a lo largo <strong>de</strong> toda la secuencia que a medida que el robot adquiere<br />

nuevos mo<strong>de</strong>los según se <strong>de</strong>splaza, zonas que en los primeros mapas eran<br />

consi<strong>de</strong>rados como no visibles se convierte en zonas <strong>de</strong> paso al aumentar<br />

la información.<br />

Fig. 9. Resultados experimentales, mo<strong>de</strong>lo global.


64 Robots <strong>de</strong> exteriores<br />

7. Conclusiones<br />

La información tridimensional ha sido utilizada para aplicar una nueva metodología<br />

para el mo<strong>de</strong>lado <strong>de</strong> entornos exteriores, basado en el análisis<br />

topográfico. El mo<strong>de</strong>lo pue<strong>de</strong> ser construido en tiempo real, mientras el<br />

robot se mueve, y es posible llevar a cabo una integración con el fin <strong>de</strong><br />

conseguir una base <strong>de</strong> conocimiento sobre un mo<strong>de</strong>lo global. Como conclusión<br />

<strong>de</strong> los resultados experimentales po<strong>de</strong>mos subrayar que el algoritmo<br />

es altamente eficiente en tiempo <strong>de</strong> cálculo. Se ha utilizado una resolución<br />

<strong>de</strong> celdilla <strong>de</strong> 20 cm, que en el caso <strong>de</strong> las dimensiones <strong>de</strong>l entorno y<br />

<strong>de</strong>l robot es bastante pequeña, en pruebas realizadas se ha comprobado que<br />

con un tamaño <strong>de</strong> celdilla <strong>de</strong> 50 cm para entornos como los presentados, se<br />

consiguen tiempos inferiores a 1 segundo. El tiempo requerido para integrar<br />

los mapas locales en uno global es <strong>de</strong> 50 ms.<br />

El mo<strong>de</strong>lo es muy fácil <strong>de</strong> utilizar para la navegación porque <strong>de</strong>tecta las<br />

celdas que no son cruzables y el mapa nos da caminos locales seguros. Por<br />

ello, el mapa pue<strong>de</strong> ser utilizado directamente para obtener caminos globales.<br />

El tiempo <strong>de</strong> procesado <strong>de</strong>l DVL aumenta con el número <strong>de</strong> celdas<br />

libres y con el número <strong>de</strong> puntos generadores.<br />

Acknowledgements<br />

Los autores quieren agra<strong>de</strong>cer sinceramente los fondos proporcionados por<br />

el Gobierno español a través <strong>de</strong>l proyecto MICYT DPI2003-01170.<br />

References<br />

Betgé-Brezetz S., Chatila R., y Devi M., “Natural scene un<strong>de</strong>rstanding for<br />

mobile robot navigation,” in IEEE International Conference on Robotics<br />

and Automation, 1994, vol. 1, pp. 730–736.<br />

Blanco D., Boada B.L., Moreno L., y Salichs M.A., “Local mapping from<br />

on-line laser voronoi extraction,” in IEEE/RSJ International Conference on<br />

Intelligent Robots and Systems, 2000.<br />

Blanco D., Boada B.L., Castejón C., Balaguer C., y Moreno L.E., “Sensorbased<br />

path planning for a mobile manipulator gui<strong>de</strong>d by the humans,” in<br />

The 11th international conference on Advanced Robotics, ICAR 2003,<br />

2003, vol. 1.


Mo<strong>de</strong>lado <strong>de</strong> Zonas Cruzables para la Navegación Segura <strong>de</strong> Robots en Entornos<br />

Exteriores 65<br />

Boada B.L., Palazon D, Blanco D., y Moreno L., 2002 “Voronoi based<br />

place recognition using hid<strong>de</strong>n Markov mo<strong>de</strong>ls,” in International Fe<strong>de</strong>ration<br />

of Automatic Control 15th IFAC World Congress.<br />

Castejón C., Boada B.L., Blanco D., y Moreno L., 2005 “Traversable Region<br />

Mo<strong>de</strong>ling for outdoor navigation”, Journal of Intelligent and Robotic<br />

Systems, n 43, pag: 157-216.<br />

Castejón C., Blanco, D., Boada B.L., y Moreno L., 2004 “Desarrollo <strong>de</strong>l<br />

sistema <strong>de</strong> percepción <strong>de</strong> una plataforma móvil para entornos exteriores”,<br />

Revista iberoamericana <strong>de</strong> Ingeniería Mecánica, vol 8, n 3, pag 3-23.<br />

Choset H., Walker S., Eiamsa-Ard K., y Burdick J., 2000 “Sensor-based<br />

exploration: Incremental construction of the hierarchical generalized voronoi<br />

graph,” International Journal of Robotics Research, vol. 19, no. 2,<br />

pp. 126–148, February.<br />

Escalera A. <strong>de</strong> la, 2001, Visión por computador. Fundamentos y Métodos.<br />

Prentice Hall.<br />

Fernán<strong>de</strong>z V., Balaguer C., Blanco D., y Salichs M.A., “Active Human-<br />

Mobile Manipulator Cooperation Through Intention Recognition,” in Proceedings<br />

of the IEEE International Conference on Robotics and Automation,<br />

Seoul, Korea, 2001, pp. 2668–2673.<br />

Gomes-Mota J., y Ribeiro M.I., 2000, “Mobile robot localization on reconstructed<br />

3d mo<strong>de</strong>ls,” Robotics and Autonomous Systems, vol. 31, pp. 17–<br />

30.<br />

Hähnel D., Burgard W., y Thrun S., 2003 “Learning compact 3d mo<strong>de</strong>ls of<br />

indoor and outdoor environments with a mobile robot,” Robotics and<br />

Autonomous Systems, vol. 1, no. 44, pp. 15–27.<br />

Langer D., Rosenblatt J.K., y Hebert M., 1994 “A behavior-based system<br />

for off-road navigation,” IEEE Trans. Robotics and Automation, vol. 10,<br />

no. 6, pp. 776–782.<br />

Maurette M., 2003 “Mars rover autonomous navigation,” Autonomous robots,vol.<br />

14, pp. 199–208.


66 Robots <strong>de</strong> exteriores<br />

Nehmzow U. y Owen C., 2000 “Robot navigation in the real world: experiments<br />

with manchester’s fortytwo in unmodified, large environments,”<br />

Robotics and Autonomous Systems, vol. 33, pp. 223–242.<br />

Ranganathan P., Hayet J.B., Devy M., Hutchinson S., y Lerasle F., 2000,<br />

“Topological navigation and qualitative localization for indoor environment<br />

using multi-sensory perception,” Robotics and Autonomous systems,<br />

vol. 41, pp. 137–144.<br />

Seraji H., 1999, “Traversability in<strong>de</strong>x: a new concept for planetary rovers,”<br />

in Proceedings of the 1999 IEEE International Conference on Robotics<br />

& Automation.<br />

Thrun S., 1998, “Learning metric-topological maps for indoor mobile robot<br />

navigation,” Artificial Intelligence, vol. 99, no. 1, pp. 21–71, February.<br />

Yahja A., Singh S., y Stentz A., 2000, “An efficient on-line path planner<br />

for outdoor mobile robots,” Robotics and autonomous systems, vol. 32, pp.<br />

129–143.


CAPÍTULO 5<br />

Localización <strong>de</strong> Robots y AGVs Mediante<br />

Tecnología RFID<br />

F. SECO 1 , F. RAMOS, A. KOUTSOU, A.R. JIMÉNEZ, C. PRIETO, J.<br />

ROA, J. GUEVARA y J. EALO 2<br />

1 Grupo LOPSI, Instituto <strong>de</strong> <strong>Automática</strong> Industrial - CSIC, Ctra. De Campo<br />

Real km 0,200. 28500 Arganda <strong>de</strong>l Rey, Madrid; 2 Universidad <strong>de</strong>l Valle,<br />

Colombia.<br />

El conocimiento <strong>de</strong> la posición propia es uno <strong>de</strong> los requisitos imprescindibles<br />

para la navegación autónoma <strong>de</strong> robots, vehículos móviles o personas.<br />

Para operar en el interior <strong>de</strong> edificios, don<strong>de</strong> el GPS no es operativo,<br />

se han <strong>de</strong>sarrollado numerosos sistemas <strong>de</strong> posicionamiento local (LPS) alternativos;<br />

entre ellos, los basados en señales <strong>de</strong> radiofrecuencia (RF) son<br />

muy interesantes porque operan tanto en interiores como exteriores, no requieren<br />

línea <strong>de</strong> visión directa con el móvil y el coste <strong>de</strong> la infraestructura<br />

necesaria es reducido. En este trabajo presentamos los primeros resultados<br />

obtenidos con un sistema LPS basado en i<strong>de</strong>ntificadores <strong>de</strong> radiofrecuencia<br />

(RFID) <strong>de</strong>sarrollado por nuestro grupo en el Instituto <strong>de</strong> <strong>Automática</strong> Industrial.<br />

El sistema estima la posición <strong>de</strong>l vehículo móvil <strong>de</strong> forma indirecta<br />

a partir <strong>de</strong>l nivel <strong>de</strong> señal (RSSI) recibido <strong>de</strong> varios marcadores distribuidos<br />

por el entorno. La estimación <strong>de</strong> la posición es <strong>de</strong> naturaleza<br />

bayesiana, basándose en una caracterización probabilística <strong>de</strong>l proceso <strong>de</strong><br />

medida, y en la combinación <strong>de</strong> un número estadísticamente significativo<br />

<strong>de</strong> las mismas para obtener una precisión aceptable. En este trabajo se<br />

muestra que mediante la aplicación <strong>de</strong> un filtro <strong>de</strong> partículas a las medidas<br />

obtenidas con el RFID-LPS, pue<strong>de</strong>n alcanzarse errores <strong>de</strong> posicionamiento<br />

medios <strong>de</strong>l or<strong>de</strong>n <strong>de</strong> 1.5-2.5 metros, con una <strong>de</strong>nsidad <strong>de</strong> marcadores relativamente<br />

baja.


68 Robots <strong>de</strong> exteriores<br />

1 Introducción<br />

El problema <strong>de</strong> la navegación, <strong>de</strong>finida como la capacidad <strong>de</strong> un robot o<br />

vehículo autónomo (AGV) para <strong>de</strong>splazarse libremente por un entorno<br />

<strong>de</strong>sconocido, sigue centrando gran parte <strong>de</strong> los esfuerzos investigadores <strong>de</strong><br />

la comunidad robótica. Algunos autores (Salichs, 2000) han dividido conceptualmente<br />

el problema <strong>de</strong> la navegación en cuatro áreas: el control <strong>de</strong>l<br />

movimiento <strong>de</strong>l robot (por ejemplo para evitar obstáculos en su camino); la<br />

interpretación <strong>de</strong> los datos sensoriales recibidos para crear un mo<strong>de</strong>lo <strong>de</strong>l<br />

entorno; la localización física <strong>de</strong>l móvil, y el planeamiento <strong>de</strong> rutas <strong>de</strong>ntro<br />

<strong>de</strong>l entorno. Al igual que para los seres vivos, esta división no correspon<strong>de</strong><br />

a tareas completamente disjuntas, existiendo una gran interrelación entre<br />

las mismas.<br />

El conocimiento <strong>de</strong> la propia posición es, pues, fundamental para la navegación<br />

<strong>de</strong>l robot. Una <strong>de</strong> las formas habituales para <strong>de</strong>terminar la misma<br />

es emplear algún tipo <strong>de</strong> señales producidas por una infraestructura externa<br />

al propio objeto móvil. El ejemplo más notorio <strong>de</strong> este tipo <strong>de</strong> técnicas es<br />

el sistema <strong>de</strong> posicionamiento 1 global (GPS), que ofrece excelentes prestaciones<br />

<strong>de</strong> precisión y robustez, así como un notable grado <strong>de</strong> implantación<br />

en el mercado. Su mayor inconveniente <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> la robótica<br />

móvil es su inoperatividad en regiones don<strong>de</strong> falle la cobertura, lo que<br />

ocurre en <strong>de</strong>terminadas zonas <strong>de</strong> exteriores y en la gran mayoría <strong>de</strong> los entornos<br />

interiores. Afortunadamente, se han <strong>de</strong>sarrollado una multitud <strong>de</strong><br />

sistemas <strong>de</strong> localización basados en diferentes tecnologías físicas que po<strong>de</strong>mos<br />

englobar mediante el acrónimo LPS (Sistemas <strong>de</strong> Posicionamiento<br />

Local) (Jiménez, 2005; Kolodziej, 2006).<br />

De entre los diferentes soportes tecnológicos para los LPS (ultrasonidos,<br />

infrarrojos, visión artificial, etc), los basados en señales <strong>de</strong> radio están experimentando<br />

un gran auge en la actualidad. Estos sistemas se benefician<br />

<strong>de</strong> la relativa ubicuidad <strong>de</strong> la comunicación por radio en interiores (ejemplos<br />

notorios son GSM, WiFi, Bluetooth y RFID), y, por tanto <strong>de</strong> su bajo<br />

coste. Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> la localización, estas tecnologías presentan<br />

la ventaja <strong>de</strong> no requerir línea <strong>de</strong> visión directa (LOS) al objeto móvil;<br />

su principal <strong>de</strong>sventaja es que, por haber sido <strong>de</strong>sarrollados para la comunicación<br />

<strong>de</strong> datos y no para posicionamiento, la localización <strong>de</strong>be realizarse<br />

indirectamente a partir <strong>de</strong> variables físicas como el nivel <strong>de</strong> señal reci-<br />

1<br />

En inglés, “Positioning” y “Localization” se usan <strong>de</strong> forma intercambiable para<br />

indicar la <strong>de</strong>terminación <strong>de</strong> la posición <strong>de</strong> un objeto; no así en español, don<strong>de</strong> el<br />

término estrictamente correcto (según la RAE) es localización.


Localización <strong>de</strong> Robots y AGVs Mediante Tecnología RFID 69<br />

bida o la calidad <strong>de</strong>l enlace <strong>de</strong> datos 2 . La medida <strong>de</strong> dichas variables está<br />

sujeta a gran<strong>de</strong>s fluctuaciones, por lo que la estimación <strong>de</strong> datos es <strong>de</strong> naturaleza<br />

estadística; no obstante este inconveniente, este tipo <strong>de</strong> técnicas <strong>de</strong><br />

estimación, conocidos por métodos bayesianos o <strong>de</strong> Monte Carlo, están<br />

adquiriendo una gran popularidad en <strong>Robótica</strong> (Thrun, 2002).<br />

El presente trabajo se centrará en un sistema <strong>de</strong> localización <strong>de</strong> interiores<br />

<strong>de</strong>sarrollado por el grupo LOPSI (Localización y Exploración para Sistemas<br />

Inteligentes), que usa la tecnología <strong>de</strong> i<strong>de</strong>ntificación por radiofrecuencia<br />

(RFID). De entre las tecnologías <strong>de</strong> radio mencionadas<br />

anteriormente, RFID es seguramente la que goza <strong>de</strong> mayor grado <strong>de</strong> aceptación<br />

general, y por sus características (que <strong>de</strong>scribiremos en la sección<br />

2), resulta idónea para el <strong>de</strong>sarrollo <strong>de</strong> LPS. El resto <strong>de</strong>l presente trabajo se<br />

estructura <strong>de</strong> la siguiente manera: en la sección 3 <strong>de</strong>scribiremos los métodos<br />

bayesianos que permiten obtener la máxima precisión <strong>de</strong> localización<br />

partiendo <strong>de</strong> medidas <strong>de</strong> naturaleza imprecisa, así como la implementación<br />

<strong>de</strong> un filtro <strong>de</strong> partículas que será empleada posteriormente. En la sección<br />

4 mostramos los resultados obtenidos por nuestro grupo hasta el momento,<br />

mediante dos configuraciones básicas <strong>de</strong>l sistema RFID-LPS (un sistema<br />

central y otro individual <strong>de</strong> posicionamiento). Finalmente, en la sección 5<br />

ofrecemos una discusión <strong>de</strong> los resultados, las conclusiones y futuras líneas<br />

<strong>de</strong> mejora.<br />

2 La tecnología RFID<br />

Los marcadores <strong>de</strong> radiofrecuencia o RFID (Radio Frequency I<strong>de</strong>ntification)<br />

son pequeños dispositivos que transmiten un código digital con un<br />

número <strong>de</strong> i<strong>de</strong>ntificación al ser interrogados mediante radio por un lector.<br />

Los marcadores pue<strong>de</strong>n ser pasivos o activos. Los primeros son <strong>de</strong> pequeño<br />

tamaño, y no poseen fuente <strong>de</strong> alimentación propia, sino que utilizan<br />

parte <strong>de</strong> la energía recibida por el lector para emitir su código, y, en consecuencia,<br />

tienen un rango <strong>de</strong> operación pequeño, <strong>de</strong> 1 m aproximadamente.<br />

Por el contrario, los marcadores activos son <strong>de</strong> mayor tamaño porque poseen<br />

fuente <strong>de</strong> alimentación propia; su alcance típico es <strong>de</strong> varias <strong>de</strong>cenas<br />

<strong>de</strong> metros, <strong>de</strong>pendiendo <strong>de</strong>l entorno.<br />

En la figura 1 se muestra el sistema RFID <strong>de</strong> la empresa Wavetrend adquirido<br />

por el grupo Lopsi para la realización <strong>de</strong> experimentos <strong>de</strong> localización.<br />

Se muestran los marcadores activos (<strong>de</strong> dimensiones 85 x 70 x 9 mm,<br />

2<br />

Una excepción es la radio <strong>de</strong> banda ultra-ancha UWB, en la que la medida <strong>de</strong><br />

rangos se produce directamente a partir <strong>de</strong>l tiempo <strong>de</strong> vuelo (Gezici 2005).


70 Robots <strong>de</strong> exteriores<br />

peso 25 g), que emiten su código <strong>de</strong> i<strong>de</strong>ntificación cada 1.5 s, con un tiempo<br />

<strong>de</strong> vida útil <strong>de</strong> 5 años. Esta empresa ofrece asimismo dos tipos <strong>de</strong> antenas:<br />

omnidireccional (en realidad, panorámica) y <strong>de</strong> tipo panel, con directividad<br />

angular. La frecuencia <strong>de</strong> RF empleada por el sistema es <strong>de</strong> 433<br />

MHz.<br />

Fig. 1. Sistema RFID <strong>de</strong> la empresa Wavetrend empleado para las pruebas experimentales:<br />

(a) lectores <strong>de</strong> tipo panel (patch); (b) marcadores activos (tags); y<br />

(c) lectores omnidireccionales (stub).<br />

La red <strong>de</strong> lectores se configura en una topología en anillo, mediante una<br />

conexión RS-485 (la conexión <strong>de</strong>l nodo central al PC es mediante RS-<br />

232). Para el <strong>de</strong>sarrollo <strong>de</strong>l sistema <strong>de</strong> software se <strong>de</strong>sarrolló un conjunto<br />

<strong>de</strong> rutinas en el entorno Matlab basadas en la interrogación al sistema por<br />

el puerto serie según los comandos <strong>de</strong> bajo nivel <strong>de</strong>tallados por el fabricante.<br />

La principal finalidad <strong>de</strong> estas rutinas es la interrogación a uno o múltiples<br />

lectores <strong>de</strong>l valor <strong>de</strong> señal (RSSI) recibido <strong>de</strong> todos los marcadores<br />

presentes en el área <strong>de</strong> trabajo, así como la <strong>de</strong>tección automática <strong>de</strong> la aparición<br />

o <strong>de</strong>saparición <strong>de</strong> nuevos marcadores. De esta forma se obtienen los<br />

datos crudos necesarios para la operación <strong>de</strong> los algoritmos <strong>de</strong> localización.


Localización <strong>de</strong> Robots y AGVs Mediante Tecnología RFID 71<br />

Como un paso previo a la configuración <strong>de</strong>l sistema <strong>de</strong> localización, se<br />

realizaron pruebas para estudiar diversas características físicas <strong>de</strong>l sistema.<br />

Algunos <strong>de</strong> los datos extraídos son:<br />

• Un alcance <strong>de</strong> recepción operativo <strong>de</strong> 25 en exteriores, y <strong>de</strong> 30<br />

m en interiores.<br />

• La relación entre fuerza <strong>de</strong> señal RSSI y rango r <strong>de</strong> marcador a<br />

lector sigue una pauta pre<strong>de</strong>cible en exterior, pero se <strong>de</strong>teriora<br />

por reflexiones múltiples, atenuación, etc en interiores.<br />

• Las antenas <strong>de</strong> tipo panel presentan una elevada directividad,<br />

siendo útiles para medir ángulos, particularmente en una configuración<br />

doble (dos antenas separadas 90º).<br />

• A pesar <strong>de</strong> la atenuación, el lector es habitualmente capaz <strong>de</strong> <strong>de</strong>tectar<br />

marcadores situados <strong>de</strong>trás <strong>de</strong> obstáculos sólidos. El <strong>de</strong>scenso<br />

en el nivel <strong>de</strong> señal RSSI típico es <strong>de</strong> 30 unida<strong>de</strong>s al atravesar<br />

una pared <strong>de</strong> 25 cm <strong>de</strong> espesor, 20 unida<strong>de</strong>s para un<br />

cuerpo humano interpuesto, y <strong>de</strong> apenas 2-3 unida<strong>de</strong>s para una<br />

puerta <strong>de</strong> ma<strong>de</strong>ra hueca.<br />

Estos datos nos confirman que el sistema <strong>de</strong> localización basado en<br />

RFID es capaz <strong>de</strong> abarcar un área relativamente gran<strong>de</strong> con baja <strong>de</strong>nsidad<br />

<strong>de</strong> lectores; que es posible, al menos a priori, calcular rango y ángulo relativo<br />

entre lector y marcador; que es asimismo capaz <strong>de</strong> operar en condiciones<br />

<strong>de</strong> falta <strong>de</strong> visión directa (NLOS), pero que va a ser perturbado por<br />

la presencia <strong>de</strong> obstáculos, y en particular, <strong>de</strong> personas, <strong>de</strong> forma impre<strong>de</strong>cible.<br />

Mayor información pue<strong>de</strong> encontrarse en el trabajo (Ramos, 2006).<br />

3 Localización bayesiana<br />

Des<strong>de</strong> un punto <strong>de</strong> vista general, el problema <strong>de</strong> la localización pue<strong>de</strong> expresarse<br />

como la <strong>de</strong>terminación <strong>de</strong> las coor<strong>de</strong>nadas <strong>de</strong> un móvil en un<br />

tiempo dado t, xˆt , a partir <strong>de</strong> un conjunto <strong>de</strong> medidas sensoriales recogidas<br />

en el tiempo t y tiempos anteriores (Thrun, 2001):<br />

{ zt<br />

, zt− 1,<br />

zt−2,...;<br />

ut<br />

, ut−<br />

1,<br />

ut−2,...}<br />

⇒ xt<br />

, (1)<br />

don<strong>de</strong> se ha distinguido, como es habitual en robótica, entre datos <strong>de</strong><br />

percepción z (por ejemplo, tiempos <strong>de</strong> vuelo TOF ultrasónicos, medidas <strong>de</strong><br />

ˆ


72 Robots <strong>de</strong> exteriores<br />

RSSI <strong>de</strong> marcadores RFID, etc) y datos <strong>de</strong> odometría u, aunque no necesariamente<br />

estos últimos estarán siempre presentes.<br />

La relación entre los datos <strong>de</strong> percepción z y la posición x <strong>de</strong>terminará la<br />

eficacia <strong>de</strong> los métodos empleados para la localización. En un LPS ultrasónico,<br />

los tiempos <strong>de</strong> vuelo (TOF) <strong>de</strong> las señales están <strong>de</strong>terminados por<br />

los rangos entre el robot móvil y el faro ultrasónico; por tanto la relación<br />

<strong>de</strong> z con x es <strong>de</strong>terminista, y la posición <strong>de</strong>l móvil pue<strong>de</strong> calcularse mediante<br />

multilateración o alguna <strong>de</strong> sus variantes (Jiménez, 2006). La incertidumbre<br />

en las medidas se restringe únicamente al ruido <strong>de</strong> medida que<br />

las perturba; bajo la asunción <strong>de</strong> que dicho ruido es gaussiano, la estimación<br />

óptima <strong>de</strong> la posición pue<strong>de</strong> producirse mediante un filtro <strong>de</strong><br />

Kalman 3 .<br />

Por el contrario, las señales <strong>de</strong> radio que se propagan por interiores están<br />

sujetas a tantos factores perturbadores (presencia <strong>de</strong> obstáculos, propagación<br />

multicamino, movimiento <strong>de</strong> personas, etc), que resulta imposible a<br />

priori encontrar una relación <strong>de</strong>terminista entre el rango <strong>de</strong> emisor a receptor<br />

con el nivel <strong>de</strong> señal recibido por éste. Por ello, <strong>de</strong>ben explotarse relaciones<br />

estadísticas con las medidas para producir una estimación <strong>de</strong> la posición<br />

que concuer<strong>de</strong> “<strong>de</strong> la mejor forma posible” con los observables<br />

{z,u}, así como con el estado previo estimado, x t<br />

.<br />

Una importante ventaja <strong>de</strong> los métodos bayesianos <strong>de</strong> estimación <strong>de</strong> la<br />

posición es que permiten combinar <strong>de</strong> forma natural medidas proce<strong>de</strong>ntes<br />

<strong>de</strong> sensores tecnológicamente distintos (por ejemplo, medidas <strong>de</strong> RSSI <strong>de</strong><br />

señales <strong>de</strong> radio con TOF <strong>de</strong> señales ultrasónicas).<br />

3.1 Fundamentos <strong>de</strong> la localización bayesiana<br />

Los métodos bayesianos (Fox, 2003) representan la posición <strong>de</strong>l móvil<br />

en un instante dado mediante una distribución <strong>de</strong> probabilidad,<br />

p( xt<br />

| zt<br />

, zt− 1,<br />

zt−2,...)<br />

, <strong>de</strong>pendiente <strong>de</strong> las medidas recibidas hasta el momento.<br />

En principio esta distribución <strong>de</strong> probabilidad pue<strong>de</strong> tener una forma<br />

arbitraria, pudiendo incluso acomodar simultáneamente varias hipótesis<br />

distintas sobre la posición.<br />

3<br />

Un problema habitual se da si el camino directo (LOS) entre emisor y receptor<br />

está bloqueado, pero existe un camino indirecto para la propagación ultrasónica,<br />

por ejemplo, por reflexión en una pared. En este caso, se darán medidas<br />

z=TOF con un error sistemático respecto al verda<strong>de</strong>ro rango; este problema<br />

pue<strong>de</strong> solventarse, si existe redundancia en el número <strong>de</strong> sensores disponibles,<br />

mediante los llamados algoritmos <strong>de</strong> monitorización <strong>de</strong> la integridad (RAIM).


Localización <strong>de</strong> Robots y AGVs Mediante Tecnología RFID 73<br />

Los métodos bayesianos actualizan la distribución <strong>de</strong> probabilidad<br />

p x ) con la llegada <strong>de</strong> nuevas medidas <strong>de</strong> forma recursiva en dos pasos:<br />

( t<br />

1. El mo<strong>de</strong>lo <strong>de</strong> movimiento consi<strong>de</strong>ra la información existente<br />

sobre el <strong>de</strong>splazamiento <strong>de</strong>l móvil para pre<strong>de</strong>cir el lugar dón<strong>de</strong><br />

estará en el siguiente instante <strong>de</strong> tiempo. Si el robot dispone <strong>de</strong><br />

medidas <strong>de</strong> odometría u , esa información también es empleada:<br />

∫<br />

p (2)<br />

priori<br />

( xt<br />

) = p(<br />

xt<br />

| xt−<br />

1<br />

, ut−<br />

1)<br />

p(<br />

xt−<br />

1)<br />

dxt−<br />

1<br />

Este mo<strong>de</strong>lo pue<strong>de</strong> ser muy sencillo; por ejemplo, si únicamente<br />

conocemos la velocidad máxima v max<br />

<strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong>l<br />

robot, po<strong>de</strong>mos suponer que p( x t<br />

| x t− 1)<br />

es uniforme en un círculo<br />

<strong>de</strong> radio v max<br />

dt y cero en el exterior. El mo<strong>de</strong>lo <strong>de</strong> movimiento<br />

también pue<strong>de</strong> incorporar otros datos disponibles sobre<br />

el entorno <strong>de</strong> movimiento: existencia <strong>de</strong> pare<strong>de</strong>s, zonas inaccesibles<br />

por el robot, etc..<br />

2. Tras aplicar el mo<strong>de</strong>lo <strong>de</strong> movimiento obtenemos una estimación<br />

a priori <strong>de</strong> la posición <strong>de</strong>l móvil; el mo<strong>de</strong>lo sensorial emplea<br />

el teorema <strong>de</strong> Bayes para corregir dicha estimación con la<br />

información aportada por las nuevas medidas recibidas:<br />

posteriori<br />

priori<br />

p x ) = p(<br />

z | x ) p ( x ) , (3)<br />

(<br />

t<br />

t t<br />

t<br />

posteriori<br />

don<strong>de</strong> p ( xt<br />

) = p(<br />

xt<br />

| zt<br />

) sería la probabilidad condicional<br />

una vez recibidas las medidas z. La distribución <strong>de</strong> probabilidad<br />

empleada en el mo<strong>de</strong>lo sensorial, p( z t<br />

| xt<br />

) , pue<strong>de</strong> ser<br />

calculada a partir <strong>de</strong> las características conocidas <strong>de</strong> los sensores<br />

o, más comúnmente, <strong>de</strong>terminada experimentalmente.<br />

Ambas etapas se realizan <strong>de</strong> forma consecutiva, refinándose en cada caso<br />

la estimación <strong>de</strong> la <strong>de</strong>nsidad <strong>de</strong> probabilidad p( x t<br />

) .<br />

Existen numerosas implementaciones prácticas <strong>de</strong> los métodos bayesianos;<br />

en aplicaciones robóticas las más interesantes son aquellas que permiten<br />

funcionamiento en tiempo real y suponen un uso limitado <strong>de</strong> los recur-


74 Robots <strong>de</strong> exteriores<br />

sos <strong>de</strong>l sistema (tiempo <strong>de</strong> procesamiento y memoria). En este trabajo nos<br />

limitaremos a la implementación conocida como filtro <strong>de</strong> partículas, cuya<br />

filosofía <strong>de</strong> funcionamiento <strong>de</strong>scribimos a continuación. Otras alternativas<br />

basadas en algoritmos genéticos se <strong>de</strong>scriben en (Moreno, 2006).<br />

3.2 El filtro <strong>de</strong> partículas para estimación <strong>de</strong> la posición<br />

El principal problema, <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista computacional, <strong>de</strong> los métodos<br />

bayesianos, es cómo muestrear apropiadamente la función <strong>de</strong> probabilidad<br />

p( x t<br />

) <strong>de</strong> forma que se obtengan estimaciones precisas <strong>de</strong> la posición.<br />

Un enfoque pue<strong>de</strong> consistir en consi<strong>de</strong>rar sistemáticamente todas las<br />

posibles posiciones <strong>de</strong>l móvil en el entorno <strong>de</strong> trabajo, mediante un mallado<br />

suficientemente <strong>de</strong>nso. Es fácilmente comprensible que este camino<br />

conduce a unos requisitos <strong>de</strong> cálculo <strong>de</strong>masiado elevados (particularmente<br />

en el caso <strong>de</strong> estimaciones <strong>de</strong> estados con varios grados <strong>de</strong> libertad, por<br />

ejemplo, posición y orientación).<br />

Los filtros <strong>de</strong> partículas concentran los esfuerzos <strong>de</strong> cálculo en las regiones<br />

don<strong>de</strong> es más probable la presencia <strong>de</strong>l móvil. Para ello, aproximan<br />

la distribución <strong>de</strong> probabilidad mediante un conjunto <strong>de</strong> N muestras (o partículas)<br />

<strong>de</strong> la siguiente forma (Fox, 2001):<br />

i i<br />

p( x ) ≈ { x , w , i 1,..., N}<br />

, (4)<br />

t t t<br />

=<br />

i<br />

don<strong>de</strong> las partículas están situadas en posiciones x y tienen factores <strong>de</strong><br />

i<br />

importancia o pesos w . Inicialmente las partículas están distribuidas al<br />

azar por todo el entorno <strong>de</strong> posibles <strong>de</strong>splazamientos y todas tienen un peso<br />

igual a 1/N. Cuando se reciben medidas <strong>de</strong> RSSI en el sistema, el filtro<br />

corrige los pesos mediante el teorema <strong>de</strong> Bayes <strong>de</strong> forma análoga a la<br />

ecuación 3, aplicando posteriormente una normalización <strong>de</strong> forma que<br />

∑w<br />

i t<br />

=1. El mo<strong>de</strong>lo <strong>de</strong> movimiento se realiza mediante el remuestreo <strong>de</strong><br />

las partículas. Para ello se reemplazan todas las partículas <strong>de</strong> la iteración<br />

anterior por otras con pesos <strong>de</strong> nuevo iguales a 1/N, pero situadas más <strong>de</strong>nsamente<br />

en el los lugares don<strong>de</strong> las partículas <strong>de</strong> la iteración previa tuvieran<br />

mayores pesos. La forma <strong>de</strong> la región don<strong>de</strong> las nuevas partículas son<br />

colocadas viene dictada por el mo<strong>de</strong>lo <strong>de</strong> movimiento, <strong>de</strong> forma similar a<br />

la ecuación 2. Por precaución, una fracción <strong>de</strong>l número total <strong>de</strong> partículas<br />

se disemina al azar por todo el entorno <strong>de</strong> movimiento, <strong>de</strong> forma que el filtro<br />

pueda recuperarse si se ha producido un error en la estimación, o se ha<br />

“raptado” al robot. La figura 2 muestra tres iteraciones <strong>de</strong> un filtro <strong>de</strong> par-


Localización <strong>de</strong> Robots y AGVs Mediante Tecnología RFID 75<br />

tículas (correspondientes al experimento que se <strong>de</strong>scribirá en la sección<br />

4.2).<br />

0<br />

-5<br />

-10<br />

-15<br />

-20<br />

-25<br />

-30<br />

-35<br />

-40<br />

(a) Situación inicial<br />

0<br />

-5<br />

-10<br />

-15<br />

-20<br />

-25<br />

-30<br />

-35<br />

-40<br />

(b) Tras 1 ciclo<br />

-45<br />

10 20 30 40 50 60<br />

10 20 30 40 50 60<br />

0<br />

(c) Tras 2 ciclos<br />

-5<br />

-10<br />

-15<br />

-20<br />

-25<br />

-30<br />

-35<br />

-40<br />

10 20 30 40 50 60<br />

Fig. 2: Evolución <strong>de</strong> la estimación <strong>de</strong> la posición mediante un filtro <strong>de</strong> partículas:<br />

(a) la primera estimación contiene partículas distribuidas por todo el espacio<br />

<strong>de</strong> trabajo; (b), (c) las estimaciones sucesivas concentran mayor número <strong>de</strong> partículas<br />

en el lugar don<strong>de</strong> se estima que está el móvil.<br />

4 Resultados experimentales<br />

Hasta el momento, las pruebas realizadas <strong>de</strong>ntro <strong>de</strong>l grupo Lopsi se correspon<strong>de</strong>n<br />

con dos configuraciones distintas <strong>de</strong>l RFID-LPS: un sistema<br />

centralizado con numerosos lectores por el entorno y otro orientado a la<br />

privacidad, don<strong>de</strong> el lector es portado por el usuario que quiere autolocalizarse.<br />

Ambos se <strong>de</strong>scriben a continuación.<br />

4.1 Localización mediante un sistema centralizado<br />

El LPS consiste en una red <strong>de</strong> lectores RFID colocados por el entorno, y<br />

un sistema central que a partir <strong>de</strong> las lecturas <strong>de</strong> RSSI <strong>de</strong> un usuario <strong>de</strong>terminado<br />

(que <strong>de</strong>be portar un marcador i<strong>de</strong>ntificador) <strong>de</strong>s<strong>de</strong> varios <strong>de</strong> los


76 Robots <strong>de</strong> exteriores<br />

lectores <strong>de</strong> la red, realiza la estimación <strong>de</strong> su posición. Esta configuración<br />

se estudió en el marco <strong>de</strong>l proyecto <strong>de</strong>l Imserso Ariadna (“Sistema <strong>de</strong> localización<br />

e interactuación para personas mayores y/o con discapacidad en<br />

interiores <strong>de</strong> edificios”), y está <strong>de</strong>scrita en (Ramos, 2006)<br />

Una <strong>de</strong> las configuraciones empleadas para este sistema consistió en<br />

cuatro lectores omnidireccionales y cuatro <strong>de</strong> tipo panel (estos últimos<br />

agrupados en dos parejas) colocados en el recibidor <strong>de</strong>l Instituto <strong>de</strong> <strong>Automática</strong><br />

Industrial (figura 3). Para la caracterización <strong>de</strong>l sistema se recorrieron<br />

exhaustivamente todos los puntos <strong>de</strong>l recibidor, aprovechando la rejilla<br />

“natural” proporcionada por las baldosas <strong>de</strong>l suelo (con dimensiones 40 x<br />

40 cm), y anotando las medidas <strong>de</strong> RSSI recibidas <strong>de</strong> un marcador portado<br />

por el usuario. La figura 4 muestra los resultados <strong>de</strong> esta calibración, para<br />

dos <strong>de</strong> las antenas omnidireccionales y los dos paneles <strong>de</strong> una antena directiva.<br />

Fig. 3: Posicionamiento <strong>de</strong> los lectores en el recibidor <strong>de</strong>l Instituto <strong>de</strong> <strong>Automática</strong><br />

Industrial


Localización <strong>de</strong> Robots y AGVs Mediante Tecnología RFID 77<br />

Fig. 4: Disposición y calibración <strong>de</strong>l sistema RFID centralizado. (a) Montaje <strong>de</strong><br />

pares <strong>de</strong> antenas <strong>de</strong> tipo panel (círculos rojos); (b) y (c) mapas <strong>de</strong> calibración <strong>de</strong><br />

dos antenas omnidireccionales; (d) y (e) mapas <strong>de</strong> calibración <strong>de</strong> una antena <strong>de</strong>l<br />

tipo panel. La graduación <strong>de</strong> colores <strong>de</strong> ver<strong>de</strong> a rojo indica menores a mayores valores<br />

<strong>de</strong> RSSI. A partir <strong>de</strong> estos mapas se obtienen los mo<strong>de</strong>los <strong>de</strong> medida<br />

P(RSSI|r).


78 Robots <strong>de</strong> exteriores<br />

Fig. 5: Seguimiento <strong>de</strong> dos trayectorias (real: línea roja; estimación: línea negra)<br />

en el recibidor <strong>de</strong>l Instituto con el sistema <strong>de</strong> posicionamiento centralizado.<br />

Con dicho sistema se realizó el seguimiento <strong>de</strong> varias trayectorias por el<br />

recibidor, algunas <strong>de</strong> las cuales se muestran en la figura 5. En general, no<br />

se obtuvieron resultados satisfactorios con estas configuraciones, con errores<br />

medios en torno a los 3-4 m (en trayectorias <strong>de</strong> menos <strong>de</strong> 20 m <strong>de</strong> longitud).<br />

En particular, no se obtuvo un mo<strong>de</strong>lo estadístico satisfactorio <strong>de</strong><br />

las antenas <strong>de</strong> panel, por lo cual la aportación <strong>de</strong> las mismas a la estimación<br />

<strong>de</strong> la posición no fue muy positiva. La baja precisión pue<strong>de</strong> <strong>de</strong>berse a<br />

un número relativamente bajo <strong>de</strong> antenas receptoras operativas (4 lectores<br />

omnidireccionales). Obviamente, el coste global <strong>de</strong>l sistema crece rápidamente<br />

con el número <strong>de</strong> lectores, así que se <strong>de</strong>cidió cambiar <strong>de</strong> configuración<br />

y trabajar con el LPS que se <strong>de</strong>scribe a continuación.<br />

4.2 Sistema orientado a la privacidad<br />

Esta configuración <strong>de</strong>l sistema <strong>de</strong> localización es la inversa a la <strong>de</strong>l apartado<br />

4.1: en este caso existen varios marcadores <strong>de</strong> RFID diseminados <strong>de</strong>nsamente<br />

por el entorno, y es el propio usuario (dotado <strong>de</strong> su lector RFID)<br />

el que se autolocaliza, para lo cual <strong>de</strong>be contar con un sistema <strong>de</strong> procesamiento<br />

(un or<strong>de</strong>nador portátil o una PDA) a<strong>de</strong>más <strong>de</strong> un mapa con la posición<br />

<strong>de</strong> los marcadores RFID que le sirven como referencia. Este modo <strong>de</strong>


Localización <strong>de</strong> Robots y AGVs Mediante Tecnología RFID 79<br />

funcionamiento imita a la configuración <strong>de</strong> GPS, y está orientado a la privacidad<br />

en el sentido <strong>de</strong> que la posición <strong>de</strong> los usuarios es conocida únicamente<br />

por ellos mismos. En esta configuración se está trabajando en el<br />

seno <strong>de</strong>l proyecto Dédalo (“Sistema para proporcionar servicios <strong>de</strong> guiado<br />

en espacios interiores para el incremento <strong>de</strong> la autonomía personal <strong>de</strong> las<br />

personas mayores e invi<strong>de</strong>ntes”), y los primeros resultados obtenidos están<br />

<strong>de</strong>scritos en (Koutsou, 2007).<br />

Las ventajas <strong>de</strong> la arquitectura <strong>de</strong>scentralizada es la fácil escalabilidad<br />

<strong>de</strong>l sistema, el soporte <strong>de</strong> un número elevado <strong>de</strong> usuarios y la práctica ausencia<br />

<strong>de</strong> mantenimiento (más allá <strong>de</strong> reemplazar los marcadores RFID<br />

cuando sus baterías se agoten); a<strong>de</strong>más, <strong>de</strong>pendiendo <strong>de</strong> la aplicación, dichos<br />

marcadores pue<strong>de</strong>n ser pasivos, con la consiguiente disminución <strong>de</strong><br />

su coste.<br />

En la fase <strong>de</strong> calibración <strong>de</strong>l sistema para este proyecto se ha <strong>de</strong>cidido<br />

crear mo<strong>de</strong>los <strong>de</strong> medida distintos P(RSSI|r) en función <strong>de</strong> que lector y<br />

partícula tengan LOS o no; se ha comprobado experimentalmente que se<br />

alcanzan mayores precisiones en la localización <strong>de</strong> esta forma. Un ejemplo<br />

<strong>de</strong> histogramas <strong>de</strong> la calibración <strong>de</strong>l sistema se muestra en la figura 6.<br />

Fig. 6: Histogramas con la <strong>de</strong>nsidad <strong>de</strong> probabilidad P(RSSI|r) halladas mediante<br />

la calibración <strong>de</strong>l sistema orientado a la privacidad (columna izquierda:<br />

LOS entre receptor y marcador; columna <strong>de</strong>recha: sin línea directa). Se muestran<br />

tres rangos diferentes (3, 10 y 21 m).


80 Robots <strong>de</strong> exteriores<br />

Como ejemplo <strong>de</strong> la capacidad <strong>de</strong> autolocalización obtenida, en la figura<br />

7 se muestran dos trayectorias, la primera <strong>de</strong> las cuales transcurre en el recibidor<br />

<strong>de</strong>l Instituto <strong>de</strong> <strong>Automática</strong> y la segunda abarca tres salas: el propio<br />

recibidor, un pasillo y el laboratorio <strong>de</strong> nuestro grupo. En ambos casos<br />

comprobamos que el usuario es capaz <strong>de</strong> autolocalizarse con suficiente<br />

precisión como para permitir la navegación; aunque los errores medios obtenidos<br />

(1.4 y 2.5 m respectivamente) están todavía lejos <strong>de</strong> la precisión<br />

obtenible por LPS ultrasónicos (Jiménez, 2006). Un área <strong>de</strong> mejora es el<br />

mo<strong>de</strong>lo doble <strong>de</strong> P(RSSI|r) <strong>de</strong> la figura 6.<br />

Fig. 7: Estimaciones <strong>de</strong> trayectorias propias con el sistema <strong>de</strong> localización <strong>de</strong>l<br />

apartado 4.2: (a) trayectoria en el recibidor; (b) trayectoria por el recibidor, pasillo<br />

y laboratorio. Los marcadores RFID se indican mediante puntos rojos.<br />

Conclusiones<br />

En este trabajo se han discutido las principales características <strong>de</strong> los sistemas<br />

<strong>de</strong> localización basados en la tecnología RFID (RFID-LPS), incluyendo<br />

su configuración, las técnicas <strong>de</strong> estimación bayesiana <strong>de</strong> la posición<br />

que <strong>de</strong>ben emplearse para procesar la información aportada por el nivel <strong>de</strong><br />

señal RSSI y una implementación práctica basada en un filtro <strong>de</strong> partículas.<br />

Se han mostrado los resultados obtenidos con dos prototipos <strong>de</strong> LPS basados<br />

en diseños distintos: uno centralizado con varios receptores en el entorno,<br />

y otro individual u orientado a la privacidad, don<strong>de</strong> son los marcadores<br />

inalámbricos los que se colocan en el edificio. En principio se han<br />

obtenido mejores precisiones <strong>de</strong> localización con el segundo sistema. Se


Localización <strong>de</strong> Robots y AGVs Mediante Tecnología RFID 81<br />

<strong>de</strong>muestra que el LPS permite localizar <strong>de</strong> forma topológica al móvil, si<br />

bien las precisiones ofrecidas (entre 1.5 y 2.5 m) no son competitivas por<br />

el momento con las alcanzables por sistemas LPS ultrasónicos. No obstante,<br />

la enorme ventaja en coste y escalabilidad <strong>de</strong> la tecnología RFID frente<br />

a ultrasonidos hace que sea prometedora la investigación en la mejora <strong>de</strong><br />

los sistemas RFID-LPS para aplicaciones <strong>de</strong> <strong>Robótica</strong>, computación ubicua<br />

y entornos inteligentes.<br />

Agra<strong>de</strong>cimientos<br />

Los autores agra<strong>de</strong>cen la financiación aportada por el Imserso en el marco<br />

<strong>de</strong> los proyectos Ariadna (2006) y Dédalo (2007) en la realización <strong>de</strong> la<br />

presente investigación.<br />

Referencias<br />

Fox D., S. Thrun, W. Burgard y F. Dellaert "Particle Filters for Mobile<br />

Robot Localization," in Sequential Monte Carlo Methods in Practice, (editors<br />

A. Doucet, J.F.G. <strong>de</strong> Freitas and N.J. Gordon). New York: Springer-<br />

Verlag (2001).<br />

Fox D., Hightower, J., Liao, L., Schulz D. y Borriello, G, 2003. Bayesian<br />

Filtering for Location Estimation. IEEE Pervasive Computing 2 (3): pp<br />

24−33.<br />

Gezici S. et al, 2005. Localization via Ultrawi<strong>de</strong>band Radios. IEEE Signal<br />

Processing Magazine 22(4): pp 70-84.<br />

Jiménez, A. R., Seco, F, Prieto C. y Roa, J., Tecnologías<br />

sensoriales para la localización en entornos inteligentes, Simposio <strong>de</strong><br />

Computación Ubicua e Inteligencia Ambiental, UCAmI'2005 (CEDI 2005:<br />

I Congreso Español <strong>de</strong> Informática), Granada, 13-16 <strong>de</strong> septiembre <strong>de</strong><br />

2005. Libro <strong>de</strong> actas, pp. 75-86 (ISBN: 84-9732-442-0)<br />

Jiménez A. R. y Seco, F. Ultrasonic Localization Methods for Accurate<br />

Positioning, en “New acoustics : selected topics II” (CSIC, F. Montero <strong>de</strong><br />

Espinosa, C. Ranz, J. Pfretzschner, editores), pp.147-166 (2006) ISBN 84-<br />

00-08471-3.


82 Robots <strong>de</strong> exteriores<br />

Kolodziej, K. W. y Hjelm, J. 2006. Local Positioning Systems. LBS Applications<br />

and Services, Taylor and Francis: Boca Raton, FL.<br />

Koutsou, A. et al 2007. Preliminary Localization Results With an RFID<br />

Based Indoor Guiding System. In Proc. IEEE Internacional Symposium on<br />

Intelligent Signal Processing., Alcalá <strong>de</strong> Henares, España, 3-5 octubre <strong>de</strong><br />

2007.<br />

Moreno, L., Garrido, S., Muñoz, M. L., 2006. Evolutionary filter for robust<br />

mobile robot global localization. Robotics and Autonomous Systems 54<br />

(7): pp 590−600.<br />

F. Ramos, Estudio y <strong>de</strong>finición <strong>de</strong> estrategias para localización en entornos<br />

interiores basadas en tecnología RFID. Trabajo <strong>de</strong> maestría, Universidad<br />

Politécnica <strong>de</strong> Madrid (2006)<br />

Salichs, M. A., Moreno, L., 2000. Navigation of mobile robots: open<br />

questions. Robotica vol. 18: pp 227−234.<br />

Thrun S, Fox, D., Burgard, W. y Dellaert, F, 2001. Robust Monte Carlo<br />

Localization for Mobile Robots. Artificial Intelligence, vol. 128, pp. 99-<br />

141.<br />

Thrun, S, 2002. Probabilistic Robotics, Communications of the ACM, vol.<br />

45, no. 2, pp. 52-57.


CAPÍTULO 6<br />

Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la<br />

Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

S. NABULSI, J. SARRIA, R. PONTICELLI y M. ARMADA<br />

Instituto <strong>de</strong> <strong>Automática</strong> Industrial – CSIC snabulsa@iai.csic.es<br />

Se presenta el análisis <strong>de</strong>l diseño mecánico <strong>de</strong> Roboclimber (Anthoine,<br />

2003) (Armada, 2002). Un robot <strong>de</strong> cuatro patas, escalador y caminante,<br />

financiado por un proyecto Growth/Craft <strong>de</strong> la Comunidad Europea para<br />

realizar perforaciones en las la<strong>de</strong>ras <strong>de</strong> las montañas para po<strong>de</strong>r <strong>de</strong>spués<br />

inyectar otros materiales para fortalecer su estructura. En la investigación<br />

se analizan los principios <strong>de</strong>l diseño según las especificaciones <strong>de</strong>l proyecto<br />

y <strong>de</strong>l estudio <strong>de</strong> la problemática <strong>de</strong> la robótica para implementar un robot<br />

<strong>de</strong> gran<strong>de</strong>s dimensiones con un nivel <strong>de</strong> seguridad y robustez altos.<br />

1 Introducción<br />

Para fortalecer la estructura <strong>de</strong> las montañas se realizan perforaciones horizontales<br />

con profundida<strong>de</strong>s <strong>de</strong> hasta 20 m. en varios puntos <strong>de</strong> la pendiente,<br />

y a continuación se inyecta hormigón para consolidar la estructura <strong>de</strong> la<br />

la<strong>de</strong>ra. Este tipo <strong>de</strong> consolidación es realizada, a veces, acercando camiones<br />

con brazos articulados y llevando consigo el sistema <strong>de</strong> perforación,<br />

en sitios que <strong>de</strong>ben ser accesibles para un vehículo pesado. Otra solución<br />

típica para este tipo <strong>de</strong> trabajos es el uso <strong>de</strong> andamios construidos para que<br />

los trabajadores logren acce<strong>de</strong>r y subir los equipos necesarios. Por supuesto<br />

estas soluciones tienen un alto coste en todos los aspectos, necesitan<br />

mucho tiempo para su realización, lo que supone cargas laborales muy altas<br />

y especializadas en tareas sumamente peligrosas. Otras soluciones alternativas<br />

han sido <strong>de</strong>sarrolladas, como son el uso <strong>de</strong> estructuras metálicas<br />

colgadas <strong>de</strong> las montañas mediante cables <strong>de</strong> acero en las que se lleva todo<br />

el equipamiento y trabajadores especializados a bordo.


84 Robots <strong>de</strong> exteriores<br />

Roboclimber es un robot caminante y escalador cuadrúpedo financiado<br />

bajo un proyecto Growth/Craft <strong>de</strong> la Comisión Europea (2002-2004), <strong>de</strong>sarrollado<br />

para realizar operaciones remotas y automatizadas <strong>de</strong> monitorización<br />

y <strong>de</strong> perforación en montañas rocosas <strong>de</strong> difícil acceso, con el objeto<br />

<strong>de</strong> consolidar las la<strong>de</strong>ras y evitar <strong>de</strong>rrumbes, disminuyendo el riesgo que<br />

esto supone para distintas infraestructuras como carreteras, ferrocarriles o<br />

viviendas ubicadas al pie <strong>de</strong> las montañas.<br />

Fig. 1. Diseño <strong>de</strong> Roboclimber<br />

Conceptualmente Roboclimber se basa en una estructura mecánica diseñada<br />

para llevar el equipo necesario a bordo para realizar las labores <strong>de</strong><br />

consolidación. La estructura es soportada por cuatro patas, cada una <strong>de</strong> tres<br />

grados <strong>de</strong> libertad y <strong>de</strong> configuración cilíndrica, cuyos movimientos se generan<br />

a partir <strong>de</strong> actuadores hidráulicos y cuyo equipamiento tanto <strong>de</strong> control<br />

como <strong>de</strong> potencia son llevados a bordo, ascendiendo por las pare<strong>de</strong>s <strong>de</strong><br />

las montañas con un peso superior a 3500 Kg con la ayuda <strong>de</strong> cables <strong>de</strong><br />

acero sujetos a<strong>de</strong>cuadamente en la cima <strong>de</strong> la montaña. El proyecto tiene<br />

como objetivo principal mejorar las condiciones <strong>de</strong>l trabajo <strong>de</strong> consolidación<br />

con respecto a los diferentes tipos <strong>de</strong> soluciones actuales como lo son<br />

la reducción <strong>de</strong>l tiempo <strong>de</strong> trabajo, reducción <strong>de</strong> gastos <strong>de</strong> materiales y <strong>de</strong><br />

operación, y lo más importante, la disminución <strong>de</strong>l riesgo laboral.<br />

2 Diseño <strong>de</strong>l sistema mecánico<br />

Para enten<strong>de</strong>r el concepto <strong>de</strong> la estructura mecánica <strong>de</strong>l robot se <strong>de</strong>ben recordar<br />

los requerimientos <strong>de</strong>l proyecto para el que fue construido. Primero,<br />

el robot tiene dos funciones principales, la primera es la recopilación <strong>de</strong>


Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

85<br />

datos geológicos y la segunda es la <strong>de</strong> realizar trabajos <strong>de</strong> perforación para<br />

alcanzar profundida<strong>de</strong>s <strong>de</strong> hasta 20 m en montañas rocosas.<br />

Para la recopilación <strong>de</strong> datos geológicos, la fuerza <strong>de</strong> propulsión <strong>de</strong>l robot<br />

en la la<strong>de</strong>ra <strong>de</strong>be ser generada mediante el uso <strong>de</strong> cables <strong>de</strong> acero sujetos<br />

en la cima <strong>de</strong> la montaña, y por consiguiente la fuerza <strong>de</strong> agarre <strong>de</strong>l robot<br />

<strong>de</strong>be ser su propio peso. El robot <strong>de</strong>be ser capaz <strong>de</strong> caminar y escalar<br />

sobre pendientes compuestas entre 60º y 90º, superando obstáculos superiores<br />

a 500 mm <strong>de</strong> altura. En segundo lugar, el sistema <strong>de</strong>be llevar a bordo<br />

el equipo necesario para alimentar los actuadores y para la generación <strong>de</strong><br />

movimientos <strong>de</strong> los diversos sistemas mecánicos.<br />

2.1 Estructura mecánica<br />

El diseño <strong>de</strong> la estructura mecánica <strong>de</strong> Roboclimber se basa en tubos cuadrados<br />

<strong>de</strong> acero con perfil cuadrado <strong>de</strong> 70 mm y 7 mm <strong>de</strong> espesor. Aunque<br />

existen materiales más ligeros, como el aluminio, se ha <strong>de</strong>cidido utilizar<br />

el acero como el material principal para la fabricación <strong>de</strong> la estructura<br />

<strong>de</strong> Roboclimber gracias a sus propieda<strong>de</strong>s mecánicas, que son más fiables<br />

consi<strong>de</strong>rando las elevadas cargas y torsiones que la estructura tendrá que<br />

soportar.<br />

b.<br />

a.<br />

c.<br />

Fig. 2. Estructura <strong>de</strong> Roboclimber


86 Robots <strong>de</strong> exteriores<br />

Esta estructura está dividida en seis partes principales. En la parte central<br />

<strong>de</strong>l cuerpo se encuentran dos cavida<strong>de</strong>s (c); la posterior está diseñada<br />

para alojar tanto los sistemas hidráulicos con un <strong>de</strong>pósito <strong>de</strong> aceite como el<br />

sistema <strong>de</strong> control. La cavidad <strong>de</strong>lantera esta diseñada para instalar el sistema<br />

<strong>de</strong> perforación.<br />

El <strong>de</strong>splazamiento <strong>de</strong> la estructura se realiza mediante unas patas las<br />

cuales son soportadas por los cuatro arreglos laterales creados para este<br />

fin. En sus extremos se instalan cuatro rótulas las cuales tendrán la tarea <strong>de</strong><br />

sujetar las patas y hacer <strong>de</strong> pivote para realizar giros. Como se pue<strong>de</strong> ver<br />

en la (a), las dimensiones entre ejes se asemejan aun cuadrado, lo cual<br />

simplificará el estudio <strong>de</strong> las condiciones <strong>de</strong> estabilidad en el momento <strong>de</strong><br />

realizar la generación <strong>de</strong> modos <strong>de</strong> caminar. Una característica fundamental<br />

es que el peso total <strong>de</strong> la estructura base es <strong>de</strong> 500 Kg pero pue<strong>de</strong> llegar<br />

a soportar sobre sí misma una carga superior a 3.5 toneladas.<br />

2.2 Configuración <strong>de</strong> las patas<br />

Las patas <strong>de</strong> las máquinas caminantes son el elemento básico para su locomoción.<br />

Por esa razón la elección acerca <strong>de</strong>l tipo <strong>de</strong> configuración <strong>de</strong><br />

patas que se va a utilizar es fundamental para lograr un buen comportamiento<br />

en la locomoción. En el caso <strong>de</strong> Roboclimber, se eligió un tipo <strong>de</strong><br />

configuración que, si bien, no es muy versátil, se adapta bien a los requerimientos<br />

operativos <strong>de</strong>l robot. En nuestro caso, las patas no tienen que<br />

hacer una fuerza necesariamente alta <strong>de</strong> agarre (puesto que es <strong>de</strong>sarrollada<br />

por el peso <strong>de</strong> la máquina), pero si tienen que generar un soporte muy estable<br />

para moverse con un gran peso a bordo y para realizar las tareas <strong>de</strong><br />

perforación.<br />

El diseño se basa en las patas <strong>de</strong> dos grados <strong>de</strong> libertad que equilibran<br />

los camiones grúa, los cuales tienen un centro <strong>de</strong> gravedad alto, y en los<br />

que se generan pares que pue<strong>de</strong>n llegar a volcar el vehículo lateralmente al<br />

trabajar con cargas elevadas.<br />

La única diferencia con respecto a este tipo <strong>de</strong> soporte es que, en las patas<br />

que utiliza Roboclimber, se ha añadido una articulación más para po<strong>de</strong>r<br />

tener la capacidad <strong>de</strong> giro horizontal y lograr realizar diferentes maniobras<br />

en la locomoción. Roboclimber tiene cuatro patas, y cada una <strong>de</strong> ellas tiene<br />

3 grados <strong>de</strong> libertad (gdl), dando como resultado un total <strong>de</strong> 12 gdl en el<br />

robot. Dentro <strong>de</strong> las principales características <strong>de</strong>l diseño <strong>de</strong> las patas cabe<br />

resaltar su robustez y fiabilidad. Cada pata se conecta a la estructura, como<br />

se muestra en la imagen, por medio <strong>de</strong> unos ejes superiores e inferiores a<br />

as rotulas instaladas en los extremos <strong>de</strong> la estructura creando el primer gdl<br />

<strong>de</strong> rotación; este movimiento <strong>de</strong> rotación lo genera un actuador hidráulico


Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

87<br />

ubicado en la parte lateral <strong>de</strong> la pata y conectado a su vez a la parte lateral<br />

correspondiente <strong>de</strong> la estructura.<br />

Fig. 3 Configuración cinemática<br />

Los siguientes dos gdl prismáticos, uno horizontal y otro vertical, se<br />

crean al introducir un tubo cuadrado <strong>de</strong> acero <strong>de</strong>ntro <strong>de</strong> otro. Entre los tubos<br />

se instala un cilindro hidráulico que sujeto <strong>de</strong>l tubo exterior mueve el<br />

interior y <strong>de</strong> esta manera cuando el cilindro actúa, saliendo o entrando,<br />

también lo hace el tubo interior.<br />

Esta configuración cinemática <strong>de</strong> las articulaciones, una <strong>de</strong> rotación y<br />

dos prismáticas, es normalmente llamada cilíndrica <strong>de</strong>bido al volumen <strong>de</strong><br />

trabajo y alcance que <strong>de</strong>scribe su movimiento (Sciavacco, 2001). La zona<br />

ver<strong>de</strong> <strong>de</strong> la figura muestra el área cinemática útil <strong>de</strong> trabajo para el <strong>de</strong>sarrollo<br />

<strong>de</strong> movimientos en el robot.<br />

Una <strong>de</strong> las principales características <strong>de</strong> la configuración mecánica actuada<br />

mediante cilindros hidráulicos es que se generan topes mecánicos<br />

muy rígidos en don<strong>de</strong> no es posible alcanzar posiciones <strong>de</strong> interferencia<br />

entre los distintos componentes <strong>de</strong>l robot. Está característica es muy importante<br />

puesto que dadas las fuerzas que cada uno <strong>de</strong> estos cilindros pue<strong>de</strong><br />

<strong>de</strong>sarrollar, si hubiese alguna interferencia, sería muy probable la generación<br />

<strong>de</strong> daños en la estructura.<br />

2.3 Sistema <strong>de</strong> sujeción<br />

Como se mencionó al inicio <strong>de</strong> este capítulo, al escalar Roboclimber utiliza<br />

dos dispositivos llamados Tirfor que, actuados hidráulicamente, ejercen


88 Robots <strong>de</strong> exteriores<br />

una fuerza tal que son capaces <strong>de</strong> mover el robot hacia arriba o <strong>de</strong>jarle <strong>de</strong>scen<strong>de</strong>r<br />

hacia abajo; cada uno se sujeta <strong>de</strong> un cable <strong>de</strong> acero instalado en el<br />

tope <strong>de</strong> la montaña; estos cables están ubicados <strong>de</strong> tal forma que sea posible<br />

para el robot abarcar el área en el que se quiera realizar los trabajos <strong>de</strong><br />

perforación.<br />

Una vez que cada uno <strong>de</strong> los extremos <strong>de</strong>l cable ha sido sujetado al tope<br />

<strong>de</strong> la montaña, se pasa el otro extremo por medio <strong>de</strong>l Tirfor. Cuando éste<br />

es accionado por un actuador hidráulico, el Tirfor se <strong>de</strong>splaza por el cable,<br />

<strong>de</strong>splazando consigo todo lo que lleva sujeto, en este caso Roboclimber.<br />

El Tirfor ha sido elegido como medio <strong>de</strong> propulsión para escalar frente a<br />

otros sistemas tradicionales motorizados por varios motivos. El primero es<br />

que no es necesario almacenar el cable puesto que este se mantiene colgado<br />

<strong>de</strong> la montaña; <strong>de</strong> esta forma se evitan los enredos y otros problemas<br />

que se pue<strong>de</strong>n generar al estar enrollando y <strong>de</strong>senrollando el cable. Otra <strong>de</strong><br />

las ventajas es que al ser propulsados hidráulicamente es posible utilizar el<br />

sistema hidráulico y <strong>de</strong> control ya incorporado en el robot.<br />

Como principal <strong>de</strong>sventaja, se tiene que la velocidad <strong>de</strong> <strong>de</strong>splazamiento<br />

por el cable no es continuo, lo que genera altas vibraciones al escalar y<br />

complicaciones al coordinar el movimiento <strong>de</strong>l robot con el <strong>de</strong> los Tirfor.<br />

2.4 Sistema <strong>de</strong> <strong>de</strong>tección <strong>de</strong>l suelo<br />

Al estar el robot concebido para la locomoción en terrenos naturales uno<br />

<strong>de</strong> los principales componentes <strong>de</strong> la generación <strong>de</strong> modos <strong>de</strong> locomoción<br />

es la <strong>de</strong>tección <strong>de</strong>l suelo. La transferencia <strong>de</strong> una pata consta <strong>de</strong> tres movimientos,<br />

primero el <strong>de</strong> separación <strong>de</strong>l suelo, seguido <strong>de</strong>l movimiento<br />

hasta su posición <strong>de</strong> llegada y por último el contacto con el suelo.<br />

El problema es que si existe una irregularidad en la superficie en el<br />

momento <strong>de</strong> bajar la pata para hacer el contacto con el suelo, si no existiera<br />

ningún sistema <strong>de</strong> <strong>de</strong>tección, la pata subiría hasta la altura <strong>de</strong>terminada<br />

por el sistema <strong>de</strong> control <strong>de</strong>l robot y generaría un <strong>de</strong>sequilibrio en la orientación<br />

<strong>de</strong>l robot con respecto al suelo. Esta situación pue<strong>de</strong> acarrear muchos<br />

problemas <strong>de</strong> estabilidad, sobre todo si la carga soportada por el robot<br />

es muy gran<strong>de</strong>, y el centro <strong>de</strong> gravedad está situado en una posición muy<br />

alta con respecto al eje z <strong>de</strong>l robot, <strong>de</strong>bido a que pue<strong>de</strong>n producirse pares<br />

inesperados.<br />

Por esta razón se ha diseñado un sistema <strong>de</strong> <strong>de</strong>tección que se compone<br />

<strong>de</strong> cuatro elementos:<br />

• Base interior: Es en don<strong>de</strong> se conecta el pie a la pata.


Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

89<br />

• Muelle: Es el mecanismo <strong>de</strong> recuperación <strong>de</strong> la <strong>de</strong>tección y se<br />

aloja entre la base interior y la exterior.<br />

• Base exterior: Es la parte que activa el sensor y recubre el muelle.<br />

• Sensor inductivo: Se activa cuando el pie toca el suelo.<br />

Fig. 4. Mecanismo <strong>de</strong> <strong>de</strong>tección <strong>de</strong>l suelo<br />

Cuando la pata baja y el pie hace contacto con el suelo, se produce un<br />

leve movimiento <strong>de</strong> alre<strong>de</strong>dor <strong>de</strong> unos 4 mm <strong>de</strong> distancia, <strong>de</strong> tal manera<br />

que la base exterior, sin llegar a tocar el sensor inductivo, tenga la capacidad<br />

<strong>de</strong> activarlo, enviando una señal al sistema <strong>de</strong> control. Por supuesto,<br />

cuando la pata sube y el pie <strong>de</strong>ja <strong>de</strong> tocar el suelo el sensor se <strong>de</strong>sactiva,<br />

separándose la base exterior <strong>de</strong>l sensor por la acción <strong>de</strong>l muelle. La característica<br />

principal <strong>de</strong> este mecanismo es que, por medio <strong>de</strong> su sistema <strong>de</strong><br />

recuperación es capaz <strong>de</strong> trabajar tanto en superficies horizontales como en<br />

verticales.<br />

3 Sistema servo-hidráulico<br />

Para el diseño <strong>de</strong>l sistema hidráulico para el posicionamiento <strong>de</strong> Roboclimber<br />

hay que tener en cuenta los requerimientos <strong>de</strong>l sistema. Primero,<br />

se <strong>de</strong>be <strong>de</strong>finir el tipo <strong>de</strong> control que se <strong>de</strong>sea tener. Las principales ventajas<br />

<strong>de</strong> los servo-actuadores hidráulicos son primero la gran presión que<br />

pue<strong>de</strong>n soportar, la transmisión <strong>de</strong> movimientos con cargas muy altas y<br />

por último que pue<strong>de</strong>n ser controladas con varios tipos <strong>de</strong> realimentación


90 Robots <strong>de</strong> exteriores<br />

como el flujo, la presión, posición, fuerzas o cualquier combinación <strong>de</strong> estas.<br />

Finalmente, y porque en esta aplicación no es necesario el uso <strong>de</strong> altas<br />

velocida<strong>de</strong>s, los actuadores hidráulicos generan movimientos suaves, propiedad<br />

que ayuda en la generación <strong>de</strong> movimientos en don<strong>de</strong> la sincronización<br />

<strong>de</strong> varios actuadores es crítico y a<strong>de</strong>más ayudan también a mejorar el<br />

comportamiento dinámico <strong>de</strong>l sistema disminuyendo las inercias.<br />

Para lograr el movimiento <strong>de</strong>l robot por medio <strong>de</strong> las patas primero se<br />

<strong>de</strong>be lograr que cada una <strong>de</strong> las articulaciones se mueva in<strong>de</strong>pendientemente<br />

con una velocidad <strong>de</strong>terminada, que pueda llegar a una posición específica<br />

y que sea controlado en los dos sentidos. Como ya se ha indicado,<br />

el sistema mecánico fue diseñado para utilizar cilindros hidráulicos. Por<br />

consiguiente es necesario un cilindro <strong>de</strong> doble efecto para cada articulación.<br />

Controlar la velocidad <strong>de</strong>l actuador implica que es necesario controlar<br />

su caudal; para lograr esto tenemos dos opciones, la primera es la <strong>de</strong> controlar<br />

el motor <strong>de</strong> la bomba. Esta posibilidad no se ajusta a las necesida<strong>de</strong>s<br />

<strong>de</strong>l sistema, puesto que para lograr un movimiento coordinado <strong>de</strong>l cuerpo<br />

se da el caso en que la velocidad <strong>de</strong> las articulaciones no es la misma. Por<br />

esta razón se <strong>de</strong>cidió que cada articulación <strong>de</strong>bería ser un sistema in<strong>de</strong>pendiente<br />

controlado por medio <strong>de</strong> válvulas proporcionales.<br />

Des<strong>de</strong> el punto <strong>de</strong> vista energético, es preferible realizar un control directo<br />

sobre la bomba hidráulico para el control <strong>de</strong>l caudal. Pero los sistemas<br />

controlados por medio <strong>de</strong> válvulas proporcionales generalmente presentan<br />

mejores características dinámicas sobre los actuadores.<br />

Para una selección básica <strong>de</strong> una bomba hidráulica hay dos parámetros<br />

requeridos por el sistema que se <strong>de</strong>ben tener en cuenta, la presión y el caudal.<br />

Con respecto al primer requerimiento, la presión, <strong>de</strong>be ser la suficiente<br />

como para po<strong>de</strong>r generar una fuerza <strong>de</strong> empuje tal que se logren levantar<br />

por lo menos 3500 Kg, lo que significa que cada pata tendrá que levantar<br />

una carga <strong>de</strong> por lo menos 1500 Kg . Usando la ecuación <strong>de</strong> la presión (Jelali,<br />

2003):<br />

F mg<br />

P = =<br />

2<br />

A π r<br />

1750Kg<br />

⋅9.8 m / s<br />

P =<br />

−2 2<br />

π (3.5⋅10 m)<br />

6<br />

4.456 10 44.56<br />

P = ⋅ Pa = bar<br />

2<br />

(1)<br />

En don<strong>de</strong> r es el radio dado por la sección transversal <strong>de</strong> la camisa <strong>de</strong>l<br />

cilindro hidráulico tiene un diámetro <strong>de</strong> 70 mm, por lo tanto la presión mí-


Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

91<br />

nima que el motor hidráulico <strong>de</strong>be proporcionar es <strong>de</strong> 38.2 bar, con un flujo<br />

constante.<br />

Para analizar el caudal Q mínimo que la bomba <strong>de</strong>be entregar al sistema<br />

es necesario tener en cuenta que al realizar el movimiento <strong>de</strong>l cuerpo <strong>de</strong>l<br />

robot se utilizan al menos ocho articulaciones u ocho cilindros hidráulicos<br />

a la vez. Usando la ecuación <strong>de</strong>l caudal:<br />

V dA<br />

Q = =<br />

τ<br />

τ<br />

1.15l<br />

q = = 8.65 l / min<br />

0.133min<br />

(2)<br />

en don<strong>de</strong> V es el volumen <strong>de</strong> la camisa interna <strong>de</strong>l cilindro dado en Litros,<br />

en don<strong>de</strong> A es el área <strong>de</strong> la sección transversal <strong>de</strong> la camisa <strong>de</strong> cilindro <strong>de</strong>finida<br />

en la ecuación y d es la longitud máxima <strong>de</strong> recorrido <strong>de</strong>l cilindro<br />

que es <strong>de</strong> 300 mm; y τ es el tiempo en minutos en la que se hace el movimiento<br />

completo que es <strong>de</strong> alre<strong>de</strong>dor <strong>de</strong> 0.133 min o 8 seg, para cada una<br />

<strong>de</strong> las articulaciones. Por lo tanto, al multiplicar por el número <strong>de</strong> articulaciones<br />

el Q máximo requerido por el sistema es <strong>de</strong> 34.638 l/min.<br />

La selección <strong>de</strong> la válvula proporcional se <strong>de</strong>be hacer con respecto al<br />

caudal necesario para que solo un cilindro hidráulico, <strong>de</strong> 300 mm <strong>de</strong> carrera,<br />

logre recorrer esa distancia en 3 seg. Calculando <strong>de</strong> la misma forma el<br />

caudal pero con un tiempo <strong>de</strong> 3 seg da como resultado que el caudal necesario<br />

es <strong>de</strong> 13.85 l/min, <strong>de</strong> esta forma se seleccionó una válvula <strong>de</strong> capaz<br />

<strong>de</strong> entregar hasta 15 l/min según las características <strong>de</strong>l fabricante.<br />

4 Arquitectura <strong>de</strong> control<br />

Todos los movimientos hidráulicos en el sistema que necesitan ser controlados<br />

tienen que <strong>de</strong>sarrollar una velocidad específica y/o llegar con precisión<br />

a alguna posición <strong>de</strong>seada (Nabulsi, 2003). Por esta razón, en la estructura<br />

básica <strong>de</strong> control, los servo-mecanismos hidráulicos son<br />

controlados midiendo su posición mediante enco<strong>de</strong>rs (codificadores incrementales<br />

<strong>de</strong> posición), para cerrar el lazo. El sistema <strong>de</strong> control realiza<br />

la coordinación <strong>de</strong> las acciones sobre los actuadores <strong>de</strong> forma que se produzca<br />

la locomoción en la<br />

dirección y orientación <strong>de</strong>seadas.<br />

La plataforma consta <strong>de</strong> una unidad <strong>de</strong> control central para la supervisión<br />

y planificación <strong>de</strong> todas las tareas a realizar. La unidad <strong>de</strong> control


92 Robots <strong>de</strong> exteriores<br />

central es en la práctica un or<strong>de</strong>nador industrial <strong>de</strong> reducidas dimensiones,<br />

pero con todos los periféricos estándar <strong>de</strong> un PC. Los diferentes sensores a<br />

bordo están atendidos por una tarjeta <strong>de</strong> entrada/salida <strong>de</strong> señales analógicas<br />

y digitales. Las mediciones <strong>de</strong> magnitu<strong>de</strong>s sensoriales, así como las acciones<br />

sobre los actuadores <strong>de</strong> cada pata están supervisadas en todo momento<br />

por el procesador central.<br />

La arquitectura <strong>de</strong> control <strong>de</strong>be ocuparse <strong>de</strong> toda la información generada<br />

por el sistema y procesarla en tiempo real. Por esta razón el sistema<br />

operativo QNX ® 6.3, un sistema operativo basado en UNIX y <strong>de</strong> procesamiento<br />

en tiempo real, se utiliza para leer y procesar la información <strong>de</strong> todos<br />

los sensores manteniendo la capacidad y la precisión para controlar los<br />

actuadores simultáneamente, con un software <strong>de</strong> control <strong>de</strong>sarrollado en<br />

lenguaje C++.<br />

En el robot hay cinco tarjetas <strong>de</strong> control local <strong>de</strong>sarrolladas por el Departamento<br />

<strong>de</strong> Control Automático <strong>de</strong>l IAI-CSIC, las cuales utilizan microcontroladores<br />

LM629 <strong>de</strong>dicados al control <strong>de</strong> articulaciones en lazo cerrado<br />

con realimentación <strong>de</strong> posición. Estos microcontroladores cuentan<br />

con un generador <strong>de</strong> perfiles <strong>de</strong> posición y velocidad, un regulador PID digital<br />

programable y un <strong>de</strong>codificador <strong>de</strong> señales <strong>de</strong> cuadratura <strong>de</strong> codificadores<br />

ópticos incrementales (enco<strong>de</strong>rs) para la realimentación <strong>de</strong> la posición.<br />

La señal <strong>de</strong> control a la salida <strong>de</strong>l microcontrolador es un tren <strong>de</strong><br />

pulsos modulados en anchura (también llamada PWM, <strong>de</strong>l inglés ``Pulse<br />

Width Modulation"). Los microcontroladores locales están agrupados en<br />

tarjetas <strong>de</strong> tres ejes cada una, por lo que cada tarjeta realiza el control <strong>de</strong><br />

una pata <strong>de</strong>l robot.<br />

En Roboclimber, dos tipos <strong>de</strong> enco<strong>de</strong>rs son usados principalmente para<br />

la medición <strong>de</strong> la posición <strong>de</strong> las articulaciones <strong>de</strong> las patas. En las articulaciones<br />

<strong>de</strong> rotación se usaron enco<strong>de</strong>rs <strong>de</strong> 2500 ppr (pulsos por revolución)<br />

adaptándolos directamente al eje <strong>de</strong> cada una <strong>de</strong> las articulaciones<br />

para medir el ángulo <strong>de</strong> la pata disminuyendo la carga <strong>de</strong> operaciones en el<br />

or<strong>de</strong>nador <strong>de</strong>l robot, facilitando así la solución <strong>de</strong> las ecuaciones cinemáticas.<br />

El segundo tipo <strong>de</strong> enco<strong>de</strong>r es el lineales; estos sensores tienen la característica<br />

<strong>de</strong> medir posiciones <strong>de</strong> actuadores lineales que, a diferencia <strong>de</strong><br />

los rotacionales, mediante un cable <strong>de</strong> acero instalado en el actuador, mueve<br />

el mecanismo interno <strong>de</strong>l enco<strong>de</strong>r generando el mismo tipo <strong>de</strong> señales.<br />

El cable está sujeto a los tubos <strong>de</strong> acero internos <strong>de</strong> las articulaciones<br />

prismáticas <strong>de</strong> las patas, midiendo directamente su posición con una precisión<br />

<strong>de</strong> 0.1 mm.<br />

Para cerrar completamente el lazo, en el sistema <strong>de</strong> control hay 12 amplificadores<br />

<strong>de</strong> potencia, uno por cada actuador, tanto <strong>de</strong>l sistema <strong>de</strong> posicionamiento<br />

como para los elementos <strong>de</strong> perforación. Su función es la <strong>de</strong><br />

dar la señal <strong>de</strong> control a<strong>de</strong>cuada a las válvulas proporcionales <strong>de</strong>l robot pa-


Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

93<br />

ra lo cual reciben las señales analógicas <strong>de</strong>moduladas <strong>de</strong> ±10 voltios a partir<br />

<strong>de</strong> la señal PWM suministrada por las tarjetas <strong>de</strong> control.<br />

La electrónica <strong>de</strong> potencia transforma <strong>de</strong> nuevo a una señal analógica en<br />

una señal PWM amplificada y sintonizada para las válvulas proporcionales.<br />

A<strong>de</strong>más realizan automáticamente un control con realimentación <strong>de</strong><br />

corriente para obtener la señal <strong>de</strong>seada para alimentar el solenoi<strong>de</strong> <strong>de</strong><br />

acuerdo con la consigna <strong>de</strong> entrada.<br />

Fig. 5. Lazo <strong>de</strong> control para una articulación<br />

5 Modos <strong>de</strong> locomoción<br />

El posicionamiento <strong>de</strong>l robot no se realiza <strong>de</strong> forma completamente automática;<br />

un operario <strong>de</strong>be <strong>de</strong>cidir en que dirección y la posición a don<strong>de</strong> se<br />

<strong>de</strong>be mover el robot dando los comandos convenientes <strong>de</strong> acuerdo con la<br />

información <strong>de</strong> posición generada por el sistema <strong>de</strong> control. De la misma<br />

forma la unidad <strong>de</strong> control tiene almacenados movimientos pre<strong>de</strong>finidos<br />

para lo cual solo es necesario que el usuario <strong>de</strong> comandos tales como a<strong>de</strong>lante,<br />

atrás o subir y bajar para que el robot automáticamente genere un<br />

movimiento. Estos movimientos son lo suficientemente complejos para un<br />

posicionamiento seguro <strong>de</strong>l robot, en terreno regular o irregular, en planos<br />

horizontales o con inclinación.


94 Robots <strong>de</strong> exteriores<br />

Tanto el modos <strong>de</strong> caminar como el <strong>de</strong> escalar requieren <strong>de</strong> diferentes<br />

movimientos, por esta razón el usuario <strong>de</strong>be seleccionar cual <strong>de</strong> los dos tipos<br />

<strong>de</strong> movimientos es el idóneo <strong>de</strong>pendiendo <strong>de</strong> la posición en la que se<br />

encuentre el robot. Para los modos <strong>de</strong> caminar se usa un modo discontinuo<br />

<strong>de</strong> dos fases. La característica principal <strong>de</strong> este tipo <strong>de</strong> movimientos es que<br />

se optimiza la estabilidad <strong>de</strong>l robot pues se mantiene una zona estable muy<br />

amplia <strong>de</strong>ntro <strong>de</strong>l triangulo <strong>de</strong> apoyo generado por las patas que están<br />

apoyadas en el suelo.<br />

Distintos movimientos pre<strong>de</strong>terminados <strong>de</strong>l robot han sido programados<br />

en el or<strong>de</strong>nador; estos movimientos son lo suficientemente complejos como<br />

para po<strong>de</strong>r ubicar el robot por terrenos regulares o irregulares, y en<br />

don<strong>de</strong> es indispensable mantener una posición equilibrada sobre la superficie<br />

para asegurar la estabilidad y por lo tanto la seguridad <strong>de</strong>l sistema.<br />

5.1 Modo <strong>de</strong> caminar discontinuo <strong>de</strong> dos fases<br />

En la secuencia <strong>de</strong>l modo discontinuo <strong>de</strong> dos fases, las patas se <strong>de</strong>ben ubicar<br />

<strong>de</strong> tal forma que el M<strong>DE</strong> no se salga <strong>de</strong>l polígono <strong>de</strong> apoyo <strong>de</strong>l robot al<br />

subir una <strong>de</strong> ellas (Hirose, 1984). Esto se logra apoyando la pata <strong>de</strong>spués<br />

<strong>de</strong> realizar su transferencia en su límite cinemático. En la primera parte <strong>de</strong><br />

la secuencia la pata 4 <strong>de</strong>be ser levantada y se <strong>de</strong>be mover hasta un punto<br />

en el que sea posible subir otra pata, sin per<strong>de</strong>r estabilidad; esto se <strong>de</strong>be<br />

hacer cuando el cuerpo <strong>de</strong>l robot está en posición estática. Después se<br />

mueve la pata 2 en el mismo sentido para luego po<strong>de</strong>r hacer el movimiento<br />

<strong>de</strong>l cuerpo que <strong>de</strong>be recorrer la mitad <strong>de</strong> la distancia recorrida por las patas;<br />

<strong>de</strong> esta forma termina el termina la primera fase. La segunda fase <strong>de</strong> la<br />

secuencia consiste en hacer los mismos movimientos, pero con las patas<br />

<strong>de</strong>l lado opuesto, es <strong>de</strong>cir la pata 1 y la pata 3, y mover <strong>de</strong> nuevo el cuerpo<br />

<strong>de</strong>l robot, terminando así con la segunda fase <strong>de</strong> la secuencia.<br />

Analíticamente se pue<strong>de</strong> <strong>de</strong>terminar el grado <strong>de</strong> estabilidad <strong>de</strong> la posición<br />

<strong>de</strong> las patas mediante el “Margen <strong>de</strong> Estabilidad Longitudinal” (MEL)<br />

que está <strong>de</strong>finido como la distancia más corta entre la proyección <strong>de</strong>l centro<br />

<strong>de</strong> gravedad y el límite <strong>de</strong>l polígono <strong>de</strong> apoyo en la dirección <strong>de</strong>l eje<br />

longitudinal <strong>de</strong> la máquina. El MEL se <strong>de</strong>termina por la diagonal <strong>de</strong>finida<br />

por dos pies no adyacentes y contralaterales; la diagonal va <strong>de</strong>s<strong>de</strong> una pata<br />

en la mitad <strong>de</strong> su volumen <strong>de</strong> trabajo a una pata ubicada en su límite cinemático<br />

y cercano al centro <strong>de</strong> gravedad. Como se pue<strong>de</strong> ver en la figura,<br />

el M<strong>DE</strong> es el mismo en todos los casos en los que el robot se encuentra en<br />

tres patas y por lo tanto el valor MEL está <strong>de</strong>terminado por el valor absoluto<br />

<strong>de</strong> la abscisa <strong>de</strong> la diagonal en el origen (Gozález <strong>de</strong> Santos, 2006):


Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

95<br />

⎛ y − y ⎞<br />

MEL<br />

d<br />

= x + y<br />

⎝ ⎠<br />

3 2<br />

2 ⎜ ⎟ 2<br />

x3 − x2<br />

(3)<br />

En don<strong>de</strong> P 2 (x 2 ,y 2 ) y P 3 (x 3 ,y 3 ) son los extremos <strong>de</strong> la diagonal. Sustituyendo<br />

los valores <strong>de</strong> estos puntos por la primera postura, (-P x /2, P y /2) y (P x /2-<br />

R x /2, -P y /2), <strong>de</strong> la Ecuación (3) se <strong>de</strong>duce que:<br />

Ry<br />

MEL<br />

d<br />

= (4)<br />

4<br />

En este caso en don<strong>de</strong> P x es la longitud <strong>de</strong>l paso en la dirección <strong>de</strong>l eje x,<br />

P y es la longitud <strong>de</strong>l paso en la dirección <strong>de</strong>l eje y y, R x y R y son las dimensiones<br />

<strong>de</strong>l área <strong>de</strong> trabajo <strong>de</strong> una pata, que <strong>de</strong>fine la longitud <strong>de</strong>l paso.<br />

Fig. 6. Secuencia <strong>de</strong> locomoción <strong>de</strong>l modo <strong>de</strong> caminar discontinuo <strong>de</strong> dos fases<br />

En la secuencia (ver Fig. 6) se muestra la posición <strong>de</strong> las articulaciones<br />

<strong>de</strong>l Roboclimber durante un ciclo completo <strong>de</strong> un modo <strong>de</strong> caminar discontinuo<br />

<strong>de</strong> dos fases. De acuerdo con la geometría <strong>de</strong> la pata (es posible<br />

calcular el MEL d <strong>de</strong> la Ecuación (4) <strong>de</strong>pendiendo <strong>de</strong> la posición <strong>de</strong> las articulaciones<br />

<strong>de</strong> las patas. Según la gráfica (ver Fig. 7) el MEL máximo du-


96 Robots <strong>de</strong> exteriores<br />

rante el modo <strong>de</strong> caminar discontinuo <strong>de</strong> dos fases es <strong>de</strong> 220 mm, lo cual<br />

lo hace un modo <strong>de</strong> caminar muy confiable con respecto a su estabilidad.<br />

Rotación ( º )<br />

50<br />

0<br />

Posición <strong>de</strong> las articulaciones <strong>de</strong> las patas<br />

-50<br />

0 10 20 30 40 50 60<br />

Horizontal (m m .)<br />

Vertical (m m .)<br />

M EL d<br />

(m m .)<br />

300<br />

Pata 1<br />

Pata 2<br />

200<br />

Pata 3<br />

Pata 4<br />

100<br />

0 10 20 30 40 50 60<br />

400<br />

300<br />

200<br />

0 10 20 30 40 50 60<br />

200<br />

100<br />

Márgen <strong>de</strong> Estabilidad Longitudinal<br />

0<br />

0 10 20 30 40 50 60<br />

Tiempo (seg.)<br />

Fig. 7. Posición <strong>de</strong> las articulaciones y MEL en un modo <strong>de</strong> caminar discontinuo<br />

<strong>de</strong> dos fases <strong>de</strong> Roboclimber.<br />

5.2 Modo <strong>de</strong> escalar<br />

El problema <strong>de</strong>l escalado <strong>de</strong> Roboclimber (cuya masa pue<strong>de</strong> superar los<br />

3500 Kg), es que tiene que realizarse por pendientes con una inclinación<br />

entre 45º y 90º y, a<strong>de</strong>más, <strong>de</strong>be <strong>de</strong>splazarse por superficies irregulares que<br />

en ciertos momentos tienen obstáculos. Tales condiciones son las que en<br />

su mayoría po<strong>de</strong>mos encontrar en terrenos naturales como por ejemplo en<br />

montañas. Al ser muy difícil diseñar e implementar un sistema <strong>de</strong> sujeción<br />

o <strong>de</strong> agarre para que las patas se mantengan unidas a la superficie, se ha<br />

optado por la solución <strong>de</strong> que el robot <strong>de</strong>be estar colgado por medio <strong>de</strong> cables<br />

<strong>de</strong> acero y utilizando los Tirfor como actuador y elemento <strong>de</strong> sustentación.


Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

97<br />

Así los conceptos clásicos <strong>de</strong> estabilidad para escalar según los robots<br />

que se sujetan con dispositivos <strong>de</strong> adherencia especiales (Grieco, 1997)<br />

(Hirose, 1997) no son aplicables. Razón por la cual un nuevo modo <strong>de</strong> escalado<br />

ha sido <strong>de</strong>sarrollado para este proyecto, y pue<strong>de</strong> ser aplicable para<br />

cualquier tipo <strong>de</strong> robot aunque no esté especialmente diseñado para escalar.<br />

Fig. 8. Esquema <strong>de</strong> los momentos en el modo <strong>de</strong> escalar<br />

El objetivo <strong>de</strong> los movimientos es el <strong>de</strong> lograr subir las patas evitando<br />

inestabilida<strong>de</strong>s tanto verticales como horizontales, para que <strong>de</strong>spués sea<br />

posible trasladar el cuerpo. Para lograrlo la proyección <strong>de</strong>l centro <strong>de</strong> gravedad<br />

<strong>de</strong>be estar siempre por <strong>de</strong>trás <strong>de</strong> las patas <strong>de</strong> apoyo, <strong>de</strong> esta forma<br />

logramos que el momento generado por el peso <strong>de</strong>l cuerpo siempre tenga<br />

la dirección M 1 . Así, cuando las dos patas traseras se levanten el apoyo <strong>de</strong><br />

las patas posteriores es suficiente como para hacer una fuerza <strong>de</strong> soporte F s<br />

y mantener una distancia con la superficie, mientras los cables soportan el<br />

peso <strong>de</strong> la máquina manteniendo así su posición y un equilibrio en las<br />

fuerzas <strong>de</strong> propulsión F p .<br />

Si por el contrario, el momento resultante por la proyección <strong>de</strong>l centro<br />

<strong>de</strong> gravedad fuera <strong>de</strong> M 2 , es <strong>de</strong>cir, que la proyección <strong>de</strong>l centro <strong>de</strong> gravedad<br />

estuviera por <strong>de</strong>lante <strong>de</strong>l apoyo <strong>de</strong> las patas, la máquina ten<strong>de</strong>ría a girar<br />

hacia a<strong>de</strong>lante en el instante en que las patas <strong>de</strong>lanteras fueran levantadas.<br />

También ocurriría lo mismo si, por ejemplo, se levantaran solo las<br />

patas <strong>de</strong> uno <strong>de</strong> los lados <strong>de</strong>l robot, creando un <strong>de</strong>sequilibrio lateral. Por<br />

consiguiente el modo <strong>de</strong> escalar se ha <strong>de</strong>ducido a partir <strong>de</strong> esta problemática<br />

(Nabulsi, 2004).


98 Robots <strong>de</strong> exteriores<br />

Fig. 9. Secuencia <strong>de</strong> movimientos para el modo <strong>de</strong> escalar<br />

6 Medición en las fuerzas <strong>de</strong> reacción <strong>de</strong> las<br />

articulaciones verticales<br />

Durante la fase <strong>de</strong> la puesta en marcha y experimentación <strong>de</strong> Roboclimber<br />

se han realizado varios intentos para aumentar la eficiencia en el funcionamiento<br />

<strong>de</strong> este. Los problemas que se suelen encontrar son siempre <strong>de</strong>bido<br />

al cambio <strong>de</strong> las condiciones físicas tanto <strong>de</strong> la estructura mecánica<br />

<strong>de</strong>l robot como en los distintos medios naturales en los que se <strong>de</strong>be trabajar.<br />

Un robot <strong>de</strong> estas dimensiones pue<strong>de</strong> ser útil para muchas otras aplicaciones<br />

distintas a la <strong>de</strong> perforación. Pue<strong>de</strong> emplearse como un vehículo <strong>de</strong><br />

carga para transportar materiales o herramientas a sitios <strong>de</strong> difícil acceso.<br />

Esto implica el cambio <strong>de</strong> la masa <strong>de</strong>l robot y por consiguiente <strong>de</strong>l centro<br />

<strong>de</strong> gravedad, aumentándose así la inestabilidad en los modos <strong>de</strong> caminar<br />

(Montes, 2006).<br />

Se han estudiado distintas posibilida<strong>de</strong>s en las que no se tenga que realizar<br />

cambios mecánicos drásticos, ni realizar inversiones altas para lograr<br />

una medición fiable <strong>de</strong> las fuerzas. Una <strong>de</strong> las posibles propuestas se ha<br />

<strong>de</strong>ducido <strong>de</strong>l análisis <strong>de</strong> las fuerzas que actúan sobre las patas. De este<br />

análisis se <strong>de</strong>duce que la extensión <strong>de</strong> la articulación prismática es generada<br />

por la presión que genera el fluido hidráulico y por lo tanto, la carga<br />

que <strong>de</strong>be soportar para mantener el robot.<br />

Fig. 10. Cilindro hidráulico


Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

99<br />

Por eso se ha <strong>de</strong>terminado que una <strong>de</strong> las posibles soluciones al problema<br />

<strong>de</strong> la medición <strong>de</strong> las fuerzas en Roboclimber pue<strong>de</strong> ser la <strong>de</strong> incorporar<br />

sensores que midan la presión hidráulica generada y por lo tanto <strong>de</strong>ducir<br />

las fuerzas que actúan sobre la articulación. Los transductores más<br />

utilizados actualmente para convertir la energía hidráulica en energía eléctrica<br />

son los transductores <strong>de</strong> presión. Las principales ventajas <strong>de</strong> estos<br />

sensores es que son relativamente económicos, son fáciles <strong>de</strong> instalar, son<br />

robustos y precisos.<br />

Cuando el pistón se mueve a una velocidad <strong>de</strong>terminada se generan<br />

fuerzas <strong>de</strong> fricción entre las cámaras A y B <strong>de</strong> la camisa <strong>de</strong>l cilindro, si la<br />

velocidad sube normalmente la fricción aumenta. Pero esta relación no es<br />

lineal puesto que en cada instante la posición <strong>de</strong>l pistón <strong>de</strong>ntro <strong>de</strong>l cilindro<br />

es diferente, lo que significa que hay mayor o menor cantidad <strong>de</strong> fluido<br />

<strong>de</strong>ntro <strong>de</strong> las cámaras, afectando en mayor o en menor medida su comportamiento.<br />

Uno <strong>de</strong> los métodos más usados para contrarrestar el efecto <strong>de</strong> la fricción<br />

entre las cámaras, es instalando un sensor <strong>de</strong> presión en la cada una<br />

<strong>de</strong> las cámaras cilindro hidráulico y <strong>de</strong>terminar la fuerza <strong>de</strong> presión diferencial<br />

F p generada por el movimiento <strong>de</strong>l pistón aplicando la ecuación<br />

(Jelali, 2003):<br />

F = ( p − α p ) A<br />

(5)<br />

p A B p<br />

en don<strong>de</strong> A p es el área <strong>de</strong> la camisa <strong>de</strong>l pistón, p A y p B es la presión en la<br />

cámara A y B respectivamente y α es el factor diferencial <strong>de</strong>l área <strong>de</strong> las<br />

cámaras producido por el vástago.<br />

Controlar la estabilidad <strong>de</strong> un robot con las características <strong>de</strong> Roboclimber,<br />

usando la medida <strong>de</strong> la presión hidráulica en los actuadores como realimentación,<br />

ofrece muchos <strong>de</strong>safíos. Roboclimber está compuesto por<br />

una serie <strong>de</strong> sistemas (e.g. el sistema <strong>de</strong> control, el mecánico o el hidráulico)<br />

en los que cada uno <strong>de</strong> ellos afecta <strong>de</strong> forma importante a los <strong>de</strong>más<br />

complicando la posibilidad <strong>de</strong> realizar mo<strong>de</strong>los completos <strong>de</strong>l sistema y el<br />

po<strong>de</strong>r, en consecuencia, diseñar controladores aptos para los distintos procesos.<br />

Aunque teóricamente es posible hacerse una i<strong>de</strong>a <strong>de</strong> como podrían actuar<br />

las fuerza durante un modo <strong>de</strong> caminar, ha sido necesario evaluar su<br />

comportamiento real realizando dos pasos en el modo <strong>de</strong> caminar discontinuo<br />

hacia atrás midiendo las fuerzas generadas en cada una <strong>de</strong> las articulaciones<br />

verticales. De esta forma se pue<strong>de</strong>n analizar las diferentes posibilida<strong>de</strong>s<br />

para mejorar la estabilidad <strong>de</strong>l robot mediante el uso <strong>de</strong> sistemas <strong>de</strong><br />

control <strong>de</strong> fuerza alternativos.


100 Robots <strong>de</strong> exteriores<br />

Posición <strong>de</strong> las articulaciones verticales<br />

0.5<br />

P os (m .)<br />

0.45<br />

0.4<br />

0.35<br />

q 1<br />

q 2<br />

q 3<br />

q 4<br />

0.3<br />

0 20 40 60 80 100 120<br />

Tiempo (seg.)<br />

Fuerzas en las articulaciones verticales<br />

15<br />

F uerz a (K N)<br />

10<br />

5<br />

0<br />

F 1<br />

F 2<br />

F 3<br />

F 4<br />

0 20 40 60 80 100 120<br />

Tiempo (seg.)<br />

Fig. 11. Comportamiento <strong>de</strong> las fuerzas diferenciales en un modo <strong>de</strong> caminar<br />

discontinuo <strong>de</strong> dos fases<br />

7 Conclusiones<br />

Actualmente, con los sistemas <strong>de</strong> locomoción con patas actuales, no se ha<br />

logrado alcanzar un nivel <strong>de</strong> <strong>de</strong>sarrollo lo suficientemente alto como para<br />

po<strong>de</strong>r introducirlos ampliamente en el mercado <strong>de</strong> la robótica <strong>de</strong> servicios.<br />

Esto se <strong>de</strong>be, a que su elevada complejidad técnica genera un coste muy<br />

alto en el <strong>de</strong>sarrollo <strong>de</strong> los sistemas robóticos sin que siempre se logre una<br />

plataforma realmente útil, para las aplicaciones en las que es necesaria la<br />

automatización <strong>de</strong> procesos <strong>de</strong> difícil ejecución.<br />

Tal es el caso <strong>de</strong> los trabajos <strong>de</strong> consolidación <strong>de</strong> montañas en don<strong>de</strong>,<br />

actualmente, en la ejecución <strong>de</strong> cada una <strong>de</strong> estas tareas es necesario utilizar<br />

una infraestructura compleja y costosa. El <strong>de</strong>sarrollo <strong>de</strong> Roboclimber<br />

ha supuesto la búsqueda <strong>de</strong> soluciones a problemas muy complejos y altamente<br />

técnicos pero que, a su vez, simplifican la forma <strong>de</strong> ejecutar las tareas<br />

<strong>de</strong> consolidación que actualmente son realizadas manualmente por<br />

trabajadores especializados.


Robot <strong>de</strong> Gran<strong>de</strong>s Dimensiones para la Consolidación <strong>de</strong> La<strong>de</strong>ras <strong>de</strong> Montañas<br />

101<br />

En este trabajo se ilustran las distintas soluciones que se han adoptado<br />

para el <strong>de</strong>sarrollo y la puesta en marcha <strong>de</strong>l proyecto Roboclimber, empezando<br />

<strong>de</strong>s<strong>de</strong> el diseño básico mecánico, el control <strong>de</strong> las articulaciones,<br />

hasta lograr implementar una plataforma útil para las labores <strong>de</strong> consolidación,<br />

el <strong>de</strong>sarrollo <strong>de</strong> modos <strong>de</strong> caminar y <strong>de</strong> estrategias <strong>de</strong> control, aportando<br />

a su vez soluciones a la investigación <strong>de</strong> la locomoción <strong>de</strong> robots<br />

con patas <strong>de</strong> gran<strong>de</strong>s dimensiones.<br />

Agra<strong>de</strong>cimientos<br />

El proyecto ROBOCLIMBER ha sido financiado por la Comunidad Europea<br />

(EC) con el Contrato Nº G1ST-CT-2002-50160. El consorcio está integrado<br />

por: ICOP S.p.a., Space Applications Services (SAS), Otto Natter<br />

Prazisionenmechanik GmbH, Comacchio SRL, Te.Ve. Sas di Zannini Roberto<br />

& Co. (TEVE), MACLYSA, D'Appolonia S.p.a., University of Genova-PMAR<br />

Laboratory, y el CSIC-IAI.<br />

Referencias<br />

Anthoine P., Armada M., Carosio S., Comacchio P., Cepolina F., González<br />

P., Klopf T., Martin F., Michelini R.C., Molfino R.M., Nabulsi S.,<br />

Razzoli R.P., Rizzi E., Steinicke L., Zannini R., y Zoppi M., 2003,<br />

ROBOCLIMBER. In: ASER03, 1st International Workshop on Advances<br />

in Service Robotics, March 13-15, Bardolino, Italy.<br />

Armada M. y Molfino R.M., 2002, Improving Working Conditions and<br />

Safety for Landsli<strong>de</strong> Consolidation and Monitoring. In: Workshop on the<br />

role of CLAWAR in education, training, working conditions and safety, on<br />

CD-Rom, Madrid.<br />

Gozález <strong>de</strong> Santos P., Garcia E., y Estremera J., 2006, Quadrupedal Locomoion:<br />

An Introduction to the Control of Four-Legged Robots. London:<br />

Springer.<br />

Grieco J.C., 1997, Robots escaladores. Consi<strong>de</strong>raciones acerca <strong>de</strong>l diseño,<br />

estabilidad y estrategias <strong>de</strong> control. Ph. D. thesis, Universidad <strong>de</strong> Valladolid.


102 Robots <strong>de</strong> exteriores<br />

Hirose, S., 1984, A Study <strong>de</strong>sign and Control of a Quadruped Walking<br />

Vehicle. The International Journal of Robotics Research, 31(2): 113-133.<br />

Hirose S., Yoneda K., y Tsukagoshi H., 1997, TITAN VII: Qudruped<br />

walking and manipulating robot on a steep slope. In Proc. IEEE Int. Conf.<br />

Robotics and Automation. Albuquerque, New Mexico.<br />

Jelali M. y Kroll A., 2003, Hydrulic Servo-systems: Mo<strong>de</strong>lling, I<strong>de</strong>ntification<br />

and Control. Springer, London.<br />

Montes H., Nabulsi S., y Armada M., 2006, Reliable, built-in, high- accuracy<br />

force sensing for legged robots. The International Journal of Robotics<br />

Research. Vol.25, No.9, 931-950.<br />

Nabulsi S. y Armada M., 2004, Climbing strategies for remote maneuverability<br />

of ROBOCLIMBER. In: 35 th International Symposium on Robotics,<br />

23-26 March, Paris-Nord Villepinte, France.<br />

Nabulsi S., Armada M., González <strong>de</strong> Santos P., 2003, Control Architecture<br />

for a Four-Legged Hydraulically Actuated Robot. Measurement and Control<br />

in Robotics (ISMCR 2003), pp. 291-295, Madrid.<br />

Sciavacco L. y Siciliano B., 2001, Mo<strong>de</strong>lling and Control of Robot Manipulators,<br />

Springer-Verlag: London.


CAPÍTULO 7<br />

Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una<br />

Plataforma Paralela Experimental para Aterrizaje<br />

y Despegue <strong>de</strong> Helicópteros<br />

JACQUELINE QUINTERO, ILKA BANFIELD, ALEXANDRE CAM-<br />

POS, ROQUE SALTARÉN, MANUEL FERRÉ, RAFAEL ARACIL<br />

División <strong>de</strong> Ingeniería <strong>de</strong> Sistemas y <strong>Automática</strong>.<br />

Departamento <strong>de</strong> <strong>Automática</strong>, Ingeniería Electrónica e Informática Industrial,<br />

Universidad Politécnica <strong>de</strong> Madrid<br />

Esta publicación presenta el análisis, simulación y construcción <strong>de</strong> un prototipo<br />

<strong>de</strong> mecanismo basado en la plataforma Stewart y dirigido a facilitar<br />

el aterrizaje <strong>de</strong> helicópteros en barcos, consi<strong>de</strong>rando el movimiento oscilante<br />

<strong>de</strong> los barcos <strong>de</strong>bido al movimiento <strong>de</strong>l mar y el viento. Para simular<br />

el movimiento <strong>de</strong>l mar se utiliza un robot paralelo <strong>de</strong> tres grados <strong>de</strong> libertad<br />

<strong>de</strong>nominado plataforma inferior. La plataforma inferior se <strong>de</strong>splaza a<br />

lo largo <strong>de</strong>l eje vertical (z) y gira alre<strong>de</strong>dor <strong>de</strong> los dos ejes restantes.<br />

La plataforma Stewart-Gough, <strong>de</strong>nominada en este artículo heliplataforma,<br />

está colocada sobre la el efector final <strong>de</strong> la plataforma inferior. Sobre<br />

el efector final <strong>de</strong> la plataforma superior se fija la superficie <strong>de</strong> aterrizaje<br />

<strong>de</strong>l helicóptero.<br />

La heliplataforma se encarga <strong>de</strong> compensar el movimiento <strong>de</strong> la plataforma<br />

inferior, <strong>de</strong> tal forma que la superficie <strong>de</strong> aterrizaje permanezca en<br />

una misma posición y sin variación en su orientación con relación a un<br />

marco inercial absoluto <strong>de</strong>nominado tierra. Para esto es necesario medir<br />

ciertas dimensiones <strong>de</strong> la plataforma inferior. Estas medidas <strong>de</strong>ben ser realimentadas<br />

al control <strong>de</strong> posición <strong>de</strong> la heliplataforma cada milisegundo.<br />

Para estas medidas se utilizan una unidad <strong>de</strong> medida inercial, IMU situada<br />

sobre el efector <strong>de</strong> la plataforma inferior y un sensor ultrasónico. Con el<br />

objetivo <strong>de</strong> controlar la plataforma experimental se implementan los algoritmos<br />

<strong>de</strong> control utilizando una tarjeta controladora dSPACE1103. La<br />

plataforma experimental es probada en campo utilizando un helicóptero <strong>de</strong>


104 Robots <strong>de</strong> exteriores<br />

aeromo<strong>de</strong>lismo, el cual realiza una aproximación sobre la plataforma y<br />

luego aterriza.<br />

1 Introducción<br />

Las operaciones <strong>de</strong> vuelo sobre estructuras flotantes son procesos complejos.<br />

Estos procesos requieren altos niveles <strong>de</strong> entrenamiento, aptitud y<br />

habilidad para planear el vuelo, el <strong>de</strong>spegue y el aterrizaje sobre una estructura<br />

offshore con el fin <strong>de</strong> ejecutar la tarea eficientemente y con seguridad<br />

bajo condiciones “normales” <strong>de</strong> vuelo y buen tiempo. El hecho <strong>de</strong> introducir<br />

condiciones adversas <strong>de</strong> tiempo (por ejemplo, baja visibilidad),<br />

vuelos nocturnos o cualquier otro tipo <strong>de</strong> factor, pre<strong>de</strong>cible o impre<strong>de</strong>cible,<br />

pue<strong>de</strong>n limitar las habilida<strong>de</strong>s humanas en las tareas a realizar.<br />

Con la finalidad <strong>de</strong> aumentar la seguridad y facilitar a la tripulación <strong>de</strong><br />

los helicópteros la realización <strong>de</strong> las operaciones <strong>de</strong> vuelo se plantea la<br />

necesidad <strong>de</strong> <strong>de</strong>sarrollar nuevos equipos y tecnologías. Una <strong>de</strong> las maneras<br />

es contrarrestar los posibles movimientos <strong>de</strong> la plataforma <strong>de</strong> aterrizaje<br />

causados por el oleaje y el viento.<br />

La plataforma <strong>de</strong> aterrizaje <strong>de</strong>be compensar los movimientos en las tres<br />

direcciones <strong>de</strong>l movimiento y asimismo los tres posibles giros <strong>de</strong> un cuerpo<br />

en el espacio. Por lo tanto es necesario que la plataforma <strong>de</strong> aterrizaje<br />

tenga al menos 6 grados <strong>de</strong> libertad (gdl). Para cumplir con este requerimiento<br />

<strong>de</strong> movimiento se elige utilizar como prototipo una estructura paralela<br />

Stewart-Gough (Stewart, 1965; Fichter, 1986).<br />

La heliplataforma se prueba sobre un simulador <strong>de</strong>l movimiento <strong>de</strong>l<br />

mar. A diferencia <strong>de</strong>l simulador <strong>de</strong> la empresa AUGUST para ésta aplicación<br />

se consi<strong>de</strong>ran tres <strong>de</strong> los seis movimientos posibles. Los movimientos<br />

más importantes a tener en cuenta en un barco o plataforma flotante<br />

son los <strong>de</strong> roll, pitch y heave (nomenclatura según Fossen, 1994); y en esta<br />

dirección se crean los movimientos en el simulador. Para construir el<br />

simulador se utiliza una plataforma paralela <strong>de</strong> tres grados <strong>de</strong> libertad, con<br />

actuadores neumáticos; con los mismos se logran oscilaciones alre<strong>de</strong>dor <strong>de</strong><br />

los ejes roll y pitch cerca <strong>de</strong> los 10º y un movimiento vertical <strong>de</strong> 100 mm.<br />

Para la heliplataforma, como ya se ha dicho, se escoge la popular plataforma<br />

Stewart-Gough 6-UPS, cuyo número <strong>de</strong> aplicaciones crece cada día.<br />

Esta plataforma paralela utilizada comúnmente en simuladores (Hoffman.<br />

1979; Lee. 1999), se encarga en esta aplicación <strong>de</strong> compensar el movimiento<br />

<strong>de</strong>l simulador <strong>de</strong>l mar o plataforma inferior, para mantener su efector<br />

final en una posición y orientación fija respecto a un marco <strong>de</strong> referencia<br />

inercial.


Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una Plataforma Paralela Experimental<br />

para Aterrizaje y Despegue <strong>de</strong> Helicópteros 105<br />

En este artículo, inicialmente, se <strong>de</strong>scribe la plataforma experimental y<br />

sus partes constituyentes: heliplataforma, plataforma inferior y hardware.<br />

Luego, en la sección 3, se presenta el marco teórico <strong>de</strong>l mo<strong>de</strong>lo cinemático<br />

<strong>de</strong> plataformas paralelas para obtener el algoritmo <strong>de</strong> cinemática inversa<br />

necesario para controlar, tanto la heliplataforma como la plataforma inferior.<br />

En la secuencia, son analizadas las estrategias <strong>de</strong> movimiento a aplicarse<br />

en las plataformas, con el objetivo <strong>de</strong> obtener tanto el movimiento<br />

<strong>de</strong>l mar como el movimiento <strong>de</strong> compensación <strong>de</strong> la heliplataforma. En la<br />

sección 4 son <strong>de</strong>scritas simulaciones computacionales, a través <strong>de</strong> software<br />

especializado, <strong>de</strong> la plataforma experimental que validan los datos obtenidos<br />

con la formulación teórica. Finalmente, son presentadas las pruebas <strong>de</strong><br />

laboratorio y <strong>de</strong> campo realizadas.<br />

2 Descripción <strong>de</strong> la Plataforma Experimental<br />

La plataforma experimental, ver la figura 1, está constituida por dos partes<br />

principales, el simulador <strong>de</strong>l movimiento <strong>de</strong>l mar (plataforma inferior) y la<br />

plataforma Stewart-Gough (heliplataforma). La heliplataforma compensa<br />

el movimiento <strong>de</strong> la plataforma inferior, que representa el movimiento <strong>de</strong>l<br />

barco, para mantener a la superficie <strong>de</strong> aterrizaje, colocada sobre el efector<br />

final, en una posición fija. En esta sección se <strong>de</strong>scriben los principales<br />

componentes <strong>de</strong> ambas plataformas y el hardware utilizado para controlar<br />

el sistema.<br />

Fig. 1. Plataforma experimental prototipo


106 Robots <strong>de</strong> exteriores<br />

2.1 Heliplataforma<br />

La heliplataforma prototipo es una plataforma <strong>de</strong> Stewart-Gough 6-UPS; el<br />

efector es una plataforma circular <strong>de</strong> aluminio <strong>de</strong> 25 mm <strong>de</strong> espesor. Está<br />

unida a la plataforma inferior mediante seis actuadores eléctricos lineales.<br />

Los actuadores lineales se unen al efector final mediante articulaciones esféricas<br />

y a la base mediante articulaciones universales (observe la figura<br />

2).<br />

La junta prismática está constituida por dos cilindros concéntricos; uno<br />

se <strong>de</strong>sliza <strong>de</strong>ntro <strong>de</strong>l otro mediante un sistema <strong>de</strong> husillo a bolas (Bermejo,<br />

2004). Sobre el extremo <strong>de</strong>l husillo está colocada una polea que transmite<br />

el movimiento proveniente <strong>de</strong>l motor a través <strong>de</strong> una correa <strong>de</strong>ntada, que<br />

pasa también por el eje <strong>de</strong>l motor.<br />

Fig. 2. Mo<strong>de</strong>lo <strong>de</strong> la Plataforma Experimental en ADAMS®<br />

Los motores son <strong>de</strong> corriente continua sin escobillas, <strong>de</strong> la casa<br />

CONTROL TECHNIQUES mo<strong>de</strong>lo 55MMB300FBMAA. El motor es<br />

conectado a un servo amplificador, el cual lleva incorporado un juego <strong>de</strong>


Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una Plataforma Paralela Experimental<br />

para Aterrizaje y Despegue <strong>de</strong> Helicópteros 107<br />

transistores <strong>de</strong> potencia para manejar el voltaje que se aplica a las fases <strong>de</strong>l<br />

sistema trifásico <strong>de</strong>l estator. El amplificador utilizado en esta aplicación es<br />

también CONTROL TECHNIQUES, mo<strong>de</strong>lo MiniAx 60x10/20.<br />

2.2 Simulador <strong>de</strong> los movimientos <strong>de</strong>l mar<br />

El robot paralelo utilizado para simular el movimiento <strong>de</strong>l mar emplea cuatro<br />

cilindros neumáticos:<br />

• dos cilindros empotrados a la base que se unen a la plataforma mediante<br />

una unión universal, que permite el movimiento alre<strong>de</strong>dor <strong>de</strong><br />

los ejes planares. Estos cilindros se mueven verticalmente <strong>de</strong> forma<br />

simultánea para controlar la altura <strong>de</strong>l efector <strong>de</strong> la plataforma inferior.<br />

Para satisfacer los requerimientos <strong>de</strong> <strong>de</strong>splazamiento y carga se eligieron<br />

dos cilindros Numatics KFFM 063/0210, <strong>de</strong> 210 mm <strong>de</strong> carrera<br />

y diámetro <strong>de</strong>l pistón <strong>de</strong> 63 mm, doblemente actuados y con<br />

pistón magnéticos.<br />

• Los otros dos cilindros neumáticos proporcionan los movimientos<br />

rotacionales <strong>de</strong> la plataforma; estos cilindros están unidos a la base<br />

mediante uniones universales y a la plataforma móvil, por uniones<br />

esféricas. Se eligieron los cilindros neumáticos NUMATICS, doblemente<br />

actuado y con pistón magnético, WG 040/0320, con émbolo<br />

<strong>de</strong> 40 mm <strong>de</strong> diámetro y carrera <strong>de</strong> 220 mm.<br />

El flujo hacia las cámaras <strong>de</strong> los cilindros son controlados por válvulas<br />

posicionadoras 5/3- FESTO MPYE-5-1/8-HF\_010\_B. Estas válvulas<br />

modifican la sección <strong>de</strong> sus salidas en función <strong>de</strong> una señal analógica <strong>de</strong><br />

entrada entre 0 y 10 V; tiene un caudal nominal <strong>de</strong> 700 l/min y una presión<br />

<strong>de</strong> operación entre 0 y 10 bar.<br />

2.3 Hardware utilizado<br />

2.3.1 Sensores<br />

Para controlar la plataforma experimental es necesario conocer las variables<br />

<strong>de</strong> estado <strong>de</strong>l sistema, así como otras variables <strong>de</strong> vigilancia y señales<br />

<strong>de</strong> consigna. Se cuenta para ello con los siguientes sensores:<br />

• la Unidad <strong>de</strong> medida inercial (IMU) Micro Strain, mo<strong>de</strong>lo 3DM-<br />

GX1 utilizada para medir la orientación <strong>de</strong>l barco. Proporciona una


108 Robots <strong>de</strong> exteriores<br />

salida serial digital que provee la orientación en varios formatos:<br />

matriz <strong>de</strong> orientación, cuaternios, o ángulos <strong>de</strong> Euler; y con una rapi<strong>de</strong>z<br />

<strong>de</strong> actualización <strong>de</strong> datos <strong>de</strong> 350 Hz.<br />

• el sensor <strong>de</strong> posición ultrasónico BERO-Siemens 3RG6233-3JS00,<br />

realimenta la posición <strong>de</strong>l cilindro neumático central <strong>de</strong>l barco. El<br />

sensor emite un pulso ultrasónico y usa el primer eco reflejado por<br />

el objeto en cuestión para calcular la distancia. En este proyecto se<br />

utiliza el sensor con salida analógica lo que permite una medición<br />

continua <strong>de</strong> la distancia.<br />

• Los enco<strong>de</strong>rs, incorporados a los motores eléctricos, son capaces <strong>de</strong><br />

proporcionar el <strong>de</strong>splazamiento exacto <strong>de</strong> los cilindros a los cuales<br />

están conectados; tienen una resolución <strong>de</strong> 2048 pulsos/vuelta; <strong>de</strong> tal<br />

forma que cada milímetro es equivalente a 614.4.<br />

2.3.2 Tarjeta DS1103<br />

La tarjeta controladora PowerPC (PPC) DS1103 está específicamente diseñada<br />

para <strong>de</strong>sarrollos <strong>de</strong> controladores digitales <strong>de</strong> alta velocidad y simulaciones<br />

en tiempo real en distintos campos. Es un sistema completo <strong>de</strong><br />

control en tiempo real basado en el procesador PowerPC604e <strong>de</strong> Motorola<br />

que forma la unidad principal <strong>de</strong> procesamiento.<br />

Alre<strong>de</strong>dor <strong>de</strong>l procesador y bajo su control, se sitúan los periféricos que<br />

posibilitan la interacción <strong>de</strong> la tarjeta con el sistema al que se conecta. Entre<br />

las unida<strong>de</strong>s <strong>de</strong> E/S, cuenta con convertidores analógico/digital y digital/analógico,<br />

puertos <strong>de</strong> E/S digital, una interfaz serie y control <strong>de</strong> enco<strong>de</strong>rs<br />

incrementales (hasta para seis articulaciones), capaces <strong>de</strong> leer las<br />

señales en forma <strong>de</strong> tren <strong>de</strong> pulsos generadas por estos dispositivos y convertirlas<br />

directamente, en un valor numérico. A<strong>de</strong>más, cuenta con un subsistema<br />

DSP (Digital Signal Processor), basado en un TMS320F240 DSP<br />

<strong>de</strong> Texas Instrument, especialmente diseñado para el control <strong>de</strong> amplificadores<br />

eléctricos.<br />

Control Desk<br />

Control Desk es un software completo <strong>de</strong> experimentación que es incluido<br />

por el fabricante <strong>de</strong> la tarjeta dSPACE, para acce<strong>de</strong>r a la tarjeta en tiempo<br />

real. Control Desk proporciona todas las funciones <strong>de</strong> control, visualización<br />

y automatización <strong>de</strong> experimentos.<br />

Entre las ventajas que ofrece control <strong>de</strong>sk está el po<strong>de</strong>r crear un panel <strong>de</strong><br />

control, insertando una serie <strong>de</strong> instrumentos <strong>de</strong> control y medición. Los<br />

controles se asocian a los sensores u otras variables <strong>de</strong>l programa, y pue-


Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una Plataforma Paralela Experimental<br />

para Aterrizaje y Despegue <strong>de</strong> Helicópteros 109<br />

<strong>de</strong>n servir para cambiar el valor <strong>de</strong> una variable cuando el programa está<br />

en ejecución, o simplemente dar seguimiento a su valor en tiempo real. Posee<br />

también un editor <strong>de</strong> código fuente C o Python; una escritos los algoritmos<br />

<strong>de</strong> control, estos pue<strong>de</strong>n ser copilados y cargados a la dSPACE.<br />

3 Mo<strong>de</strong>lo Cinemática <strong>de</strong> una plataforma paralela<br />

Las consignas <strong>de</strong> control necesarias para mover las plataformas se <strong>de</strong>terminaron<br />

a través <strong>de</strong> los conceptos <strong>de</strong> cinemática inversa: cálculo <strong>de</strong> las<br />

longitu<strong>de</strong>s <strong>de</strong> cada eslabón a partir <strong>de</strong>l conocimiento <strong>de</strong> la posición <strong>de</strong>l<br />

efector final (Tsai, 1999). En general, para los robots paralelos espaciales,<br />

primero se establecen dos sistemas <strong>de</strong> referencia, uno unido a la base<br />

(marco <strong>de</strong> referencia A, origen O y ejes xyz), y otro unido al efector final<br />

(marco <strong>de</strong> referencia B, origen P, y ejes uvw), como se aprecia en la figura<br />

3.<br />

Fig. 3. Marcos <strong>de</strong> referencia en la base y efector <strong>de</strong> un robot paralelo.<br />

El punto don<strong>de</strong> cada actuador lineal se une a la base es <strong>de</strong>scrito por un<br />

vector posición A A i , referido al sistema <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong> la base (el superíndice<br />

anterior indica el sistema <strong>de</strong> coor<strong>de</strong>nadas al cual está referido el<br />

vector). De igual forma, cada punto <strong>de</strong> unión a la plataforma es <strong>de</strong>scrito<br />

por una posición B B j referido al sistema <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong> la plataforma.<br />

La longitud <strong>de</strong> cada actuador lineal es la magnitud <strong>de</strong>l vector S r i<br />

, dirigido<br />

<strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> unión en la plataforma inferior hasta el punto <strong>de</strong>


110 Robots <strong>de</strong> exteriores<br />

unión en la plataforma superior. Este vector se obtiene restando las posiciones<br />

B i - A i , expresadas en el mismo marco <strong>de</strong> referencia.<br />

Un punto expresado en un marco <strong>de</strong> referencia B pue<strong>de</strong> expresarse en<br />

un marco <strong>de</strong> referencia A, utilizando la matriz <strong>de</strong> transformación homogénea<br />

<strong>de</strong> la ecuación (1) (Tsai, 1999):<br />

A<br />

T<br />

B<br />

A<br />

⎡ RB<br />

⎢<br />

= ⎢ L<br />

⎢<br />

⎣ γ<br />

A<br />

( 3×<br />

3) M q( 3×<br />

1)<br />

M<br />

L<br />

( ) ( ) ⎥ ⎥⎥ 1×<br />

3 M ρ 1×<br />

1<br />

⎦<br />

don<strong>de</strong>,<br />

A<br />

q <strong>de</strong>nota la posición <strong>de</strong>l origen <strong>de</strong>l marco <strong>de</strong> referencia B respecto al<br />

marco <strong>de</strong> referencia A.<br />

γ es una matriz <strong>de</strong> transformación <strong>de</strong> perspectiva. Para cinemática <strong>de</strong><br />

mecanismos y robots manipuladores su valor es cero.<br />

ρ factor <strong>de</strong> escalamiento, su valor es igual a uno.<br />

A R<br />

B<br />

es la matriz <strong>de</strong> rotación, la cual es una representación <strong>de</strong> la orientación<br />

<strong>de</strong> la plataforma relativa a la base. En función <strong>de</strong> los parámetros<br />

<strong>de</strong> Euler, la matriz <strong>de</strong> rotación pue<strong>de</strong> obtenerse a través <strong>de</strong> la<br />

ecuación 2:<br />

A<br />

R B<br />

⎛<br />

2 2<br />

⎜<br />

q + − 1<br />

0<br />

q1<br />

2<br />

= 2⎜<br />

q1q2<br />

+ q0q3<br />

⎜<br />

⎜ q −<br />

⎝<br />

1q3<br />

q0q2<br />

q1q2<br />

− q0q3<br />

2 2<br />

q + − 1<br />

0<br />

q2<br />

2<br />

q q + q q<br />

2<br />

3<br />

0<br />

1<br />

⎤<br />

q ⎞<br />

1q3<br />

+ q0q2<br />

⎟<br />

q − ⎟<br />

2q3<br />

q0q1<br />

⎟<br />

2 2<br />

q + − 1 ⎟<br />

0<br />

q3<br />

2⎠<br />

Una vez encontrada la matriz <strong>de</strong> transformación homogénea, la posición<br />

en el nuevo marco <strong>de</strong> referencia se obtiene a partir <strong>de</strong> la ecuación (3):<br />

A<br />

(1)<br />

(2)<br />

A B<br />

pˆ = T pˆ<br />

(3)<br />

B<br />

[ ]<br />

T<br />

x<br />

y<br />

z<br />

don<strong>de</strong>,<br />

A<br />

pˆ = p , p , p , 1 es la posición, en coor<strong>de</strong>nadas homogéneas, expresada<br />

en el marco <strong>de</strong> referencia A.<br />

pˆ = p , p , p , 1 es la posición expresada en el marco <strong>de</strong> referencia B.<br />

[ ] T<br />

u<br />

v<br />

w<br />

B


Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una Plataforma Paralela Experimental<br />

para Aterrizaje y Despegue <strong>de</strong> Helicópteros 111<br />

3.1 Mo<strong>de</strong>lo Cinemático <strong>de</strong> la Plataforma Inferior<br />

La plataforma inferior utiliza un robot paralelo <strong>de</strong> tres grados <strong>de</strong> libertad.<br />

La plataforma móvil pue<strong>de</strong> <strong>de</strong>splazarse translacionalmente a lo largo <strong>de</strong>l<br />

eje vertical z y angularmente alre<strong>de</strong>dor <strong>de</strong> los ejes situados en el plano xy.<br />

Para lograr este movimiento emplea tres actuadores neumáticos, cuyo <strong>de</strong>splazamiento<br />

<strong>de</strong>be ser controlado.<br />

Para el análisis cinemático inverso, se escoge como origen <strong>de</strong> referencia<br />

<strong>de</strong> la base, un punto sobre el eje vertical que pasa por el centro <strong>de</strong> gravedad<br />

y a la altura <strong>de</strong> la punta <strong>de</strong>l sensor ultrasónico, utilizado para <strong>de</strong>terminar su<br />

altura; y para el marco <strong>de</strong> referencia <strong>de</strong>l efector final, se escoge como origen<br />

el centro <strong>de</strong> rotación <strong>de</strong> la unión universal <strong>de</strong>l cilindro central, éste es<br />

el único punto unido al efector final que siempre se <strong>de</strong>splazará sólo en dirección<br />

z.<br />

La orientación <strong>de</strong> ambos sistemas coor<strong>de</strong>nados, se escogen inicialmente<br />

iguales a la <strong>de</strong> la IMU, el eje x señala al polo norte magnético terrestre, y<br />

el eje z positivo a la dirección <strong>de</strong> la fuerza gravitacional. En base a estos<br />

marcos <strong>de</strong> referencias se establecen las posiciones <strong>de</strong> los puntos <strong>de</strong> unión<br />

<strong>de</strong> los cilindros neumáticos a la base (A) y a la plataforma móvil (B). Los<br />

cuaternios que proporciona la IMU son utilizados para calcular la matriz<br />

<strong>de</strong> rotación en todo momento, utilizando la ecuación (2), luego los valores<br />

<strong>de</strong> A B i son calculados con la ecuación 3. En todo momento se conoce la<br />

posición <strong>de</strong> P respecto a O, puesto que sus coor<strong>de</strong>nadas x y y, son siempre<br />

cero y la coor<strong>de</strong>nada z está <strong>de</strong>terminada por la lectura <strong>de</strong>l sensor ultrasónico.<br />

3.2 Mo<strong>de</strong>lo Cinemático <strong>de</strong> la heliplataforma<br />

La heliplataforma prototipo es una plataforma <strong>de</strong> Stewart-Gough 6-UPS; el<br />

efector está unido a la base mediante seis actuadores eléctricos lineales.<br />

Las coor<strong>de</strong>nadas <strong>de</strong>l punto <strong>de</strong> unión <strong>de</strong> los actuadores lineales a la base,<br />

son expresadas en el marco <strong>de</strong> referencia B <strong>de</strong>l barco, y las posiciones <strong>de</strong><br />

los puntos <strong>de</strong> unión al efector final <strong>de</strong> la Stewart son expresadas respecto a<br />

un marco <strong>de</strong> referencia C. El marco <strong>de</strong> referencia C tiene su origen P f ubicado<br />

en el centro <strong>de</strong> la superficie superior <strong>de</strong> la plataforma, y está orientado<br />

igual que la IMU. Para <strong>de</strong>terminar el <strong>de</strong>splazamiento <strong>de</strong> los actuadores<br />

es necesario obtener los puntos <strong>de</strong> unión en el efector, en el marco <strong>de</strong> referencia<br />

B, y obtener el vector BC i cuya magnitud es la longitud total <strong>de</strong>l<br />

actuador lineal. En la siguiente sección se explicará como se efectúa la<br />

transformación, utilizando los datos sensoriales.


112 Robots <strong>de</strong> exteriores<br />

4 Estrategias <strong>de</strong> movimiento<br />

Se tiene como objetivo <strong>de</strong>terminar los <strong>de</strong>splazamientos lineales para cada<br />

actuador <strong>de</strong>l barco y la plataforma Stewart; <strong>de</strong> tal forma, que se logren los<br />

movimientos <strong>de</strong>seados en el barco y se contrarresten estos movimientos en<br />

la plataforma Stewart. A continuación se <strong>de</strong>scriben estos movimientos<br />

4.1 Movimiento <strong>de</strong>l barco<br />

El <strong>de</strong>splazamiento <strong>de</strong>l cilindro central <strong>de</strong>l barco se realiza in<strong>de</strong>pendientemente<br />

<strong>de</strong> los otros dos, éste se <strong>de</strong>splaza sinusoidalmente alre<strong>de</strong>dor <strong>de</strong> una<br />

posición inicial. Dicho <strong>de</strong>splazamiento provoca el movimiento vertical<br />

<strong>de</strong>seado para el barco. Los otros dos cilindros se mueven siguiendo también<br />

un <strong>de</strong>splazamiento sinusoidal, la cinemática inversa toma lugar para<br />

calcular los <strong>de</strong>splazamientos efectivos que <strong>de</strong>ben realizarse para obtener la<br />

posición <strong>de</strong>l actuador, en base a la posición y orientación <strong>de</strong>l barco. Los<br />

movimientos sinusoidales <strong>de</strong> los actuadores están <strong>de</strong>sfasados entre ellos<br />

para lograr el movimiento alre<strong>de</strong>dor <strong>de</strong>l eje x, y <strong>de</strong>sfasados <strong>de</strong>l pistón central<br />

para lograr oscilaciones alre<strong>de</strong>dor <strong>de</strong>l eje y.<br />

4.2 Movimiento <strong>de</strong> la heliplataforma<br />

Para calcular el <strong>de</strong>splazamiento necesario <strong>de</strong> los actuadores, <strong>de</strong> la heliplataforma,<br />

se parte <strong>de</strong> la consigna <strong>de</strong> que el movimiento absoluto <strong>de</strong>l efector<br />

final <strong>de</strong>be ser cero; i.e. la plataforma <strong>de</strong>be mantener una posición y orientación,<br />

respecto a tierra, constante. Sin embargo, para aplicar las ecuaciones<br />

<strong>de</strong> cinemática inversa es necesario obtener esta posición, respecto al<br />

marco <strong>de</strong> referencia <strong>de</strong> la base <strong>de</strong> la heliplataforma. Reemplazando en la<br />

ecuación (1), se obtiene la ecuación (4) para realizar la transformación <strong>de</strong><br />

coor<strong>de</strong>nadas:<br />

B<br />

B<br />

B A<br />

⎡ R ⎤⎡<br />

⎤<br />

A<br />

PA<br />

Pf<br />

P<br />

f<br />

= ⎢<br />

⎥⎢<br />

⎥<br />

(4)<br />

⎣[ 0 0 0]<br />

1 ⎦⎣<br />

1 ⎦<br />

don<strong>de</strong>,<br />

A P f es la posición <strong>de</strong>l efector <strong>de</strong> la heliplataforma respecto al marco <strong>de</strong> referencia<br />

fijo a tierra (A). Su valor <strong>de</strong>be mantenerse constante para<br />

cualquier movimiento <strong>de</strong>l barco.


Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una Plataforma Paralela Experimental<br />

para Aterrizaje y Despegue <strong>de</strong> Helicópteros 113<br />

B P A es la posición <strong>de</strong>l marco <strong>de</strong> referencia A respecto al marco <strong>de</strong> referencia<br />

B. Esta posición se obtiene por la ecuación:<br />

B<br />

P<br />

A<br />

( − P )<br />

B<br />

A<br />

= RA<br />

B<br />

(5)<br />

En esta expresión la posición <strong>de</strong> la plataforma <strong>de</strong>l barco respecto al<br />

marco <strong>de</strong> referencia <strong>de</strong> la base A P B es una cantidad que <strong>de</strong>be ser medida<br />

en todo momento.<br />

B R A es la matriz <strong>de</strong> rotación <strong>de</strong>l marco <strong>de</strong> referencia A respecto al marco <strong>de</strong><br />

referencia B. Este se obtiene <strong>de</strong> la transpuesta <strong>de</strong> la matriz <strong>de</strong> rotación<br />

<strong>de</strong> B respecto a A, y que se obtiene a través <strong>de</strong> la ecuación (2)<br />

sustituyendo el valor <strong>de</strong> los cuaternios medidos por la IMU.<br />

5 Simulación Computacional<br />

La simulación computacional permite comprobar la cinemática <strong>de</strong>l robot,<br />

que las longitu<strong>de</strong>s <strong>de</strong> las juntas prismáticas no excedan sus límites, en ningún<br />

momento, y que la respuesta <strong>de</strong>l robot a las señales <strong>de</strong> control sean las<br />

esperadas. Los programas <strong>de</strong> simulación que se emplearon en el diseño y<br />

en la simulación <strong>de</strong>l comportamiento <strong>de</strong>l sistema <strong>de</strong> plataformas paralelas<br />

son Matlab® y ADAMS®. ADAMS permite mo<strong>de</strong>lar la planta (simulador<br />

<strong>de</strong>l barco y heliplataforma) y visualizarla, y Matlab permite implementar el<br />

sistema <strong>de</strong> control <strong>de</strong> esa planta.<br />

En la figura 2 se muestra el mo<strong>de</strong>lo terminado en Adams, el mismo<br />

consta <strong>de</strong> 20 partes construidas con las geometrías primitivas <strong>de</strong>l programa,<br />

y 26 uniones que conectan estas partes. Se crearon también, 30 variables<br />

<strong>de</strong> estado, <strong>de</strong> las cuales 9 son entradas (posiciones <strong>de</strong> los actuadores<br />

lineales) y el resto son señales <strong>de</strong> salida (lectura <strong>de</strong> sensores) utilizadas por<br />

el controlador y para la verificación <strong>de</strong> los resultados.<br />

El mo<strong>de</strong>lo es exportado como un bloque <strong>de</strong> simulink a Matlab® a través<br />

<strong>de</strong> una herramienta <strong>de</strong> MSC.ADAMS®, ADAMS/Controls. Las salidas y<br />

entradas <strong>de</strong> la planta son conectadas a los otros bloques <strong>de</strong> simulink.<br />

ADAMS impone a cada junta prismática un <strong>de</strong>splazamiento en función <strong>de</strong>l<br />

tiempo, igual al calculado por Matlab.<br />

5.1 Resultado <strong>de</strong> las simulaciones<br />

El movimiento la plataforma inferior se simuló directamente en ADAMS®<br />

para observar el comportamiento <strong>de</strong> la plataforma móvil, con el acciona-


114 Robots <strong>de</strong> exteriores<br />

miento in<strong>de</strong>pendiente <strong>de</strong> los pistones neumáticos. Por medio <strong>de</strong> Adams se<br />

observan los movimientos translacionales y rotacionales resultantes, para<br />

una onda senoidal <strong>de</strong> los pistones 50 sin(.628t) a partir <strong>de</strong> los 100 mm,<br />

don<strong>de</strong> uno <strong>de</strong> los cilindros laterales tiene un <strong>de</strong>sfase <strong>de</strong> 180º. La figura 4<br />

muestra el movimiento <strong>de</strong> la plataforma móvil <strong>de</strong>l barco, las rotaciones están<br />

un poco por encima <strong>de</strong> los 10 grados y el <strong>de</strong>splazamiento total en z alcanza<br />

los 100 mm.<br />

Fig. 4. Movimiento <strong>de</strong>l barco que resulta <strong>de</strong>l <strong>de</strong>splazamiento in<strong>de</strong>pendiente <strong>de</strong><br />

los pistones. Arriba, movimiento vertical; abajo, componentes x y y <strong>de</strong> rotación.<br />

La figura 5 muestra los <strong>de</strong>splazamientos que tendría la heliplataforma si<br />

los motores estuvieran bloqueados. Cuando el <strong>de</strong>splazamiento <strong>de</strong> los actuadores<br />

es mínimo alcanza <strong>de</strong>splazamientos en x y y por arriba <strong>de</strong> los 200<br />

mm y en z un poco más <strong>de</strong> 100 mm.<br />

El algoritmo que calcula los <strong>de</strong>splazamientos requeridos <strong>de</strong> los actuadores<br />

fue implementado en una función embebida <strong>de</strong> Matlab y fue conectada<br />

al bloque <strong>de</strong> simulink que representa la planta construida en ADAMS®. Se<br />

<strong>de</strong>termina que para mantener a la heliplataforma en una posición <strong>de</strong> 1726<br />

mm respecto a tierra, el <strong>de</strong>splazamiento máximo requerido <strong>de</strong> los pistones<br />

es <strong>de</strong> 337 mm, y el mínimo <strong>de</strong> cero. Por lo tanto para asegurar que los pistones<br />

no alcancen su final <strong>de</strong> carrera, la altura <strong>de</strong> la heliplataforma respecto<br />

a su base <strong>de</strong>be ser <strong>de</strong> 1310 mm, esta es la posición inicial que <strong>de</strong>be tener la<br />

heliplataforma antes <strong>de</strong> iniciar el controlador, a la cual es llevada mediante<br />

un planificador, como se <strong>de</strong>scribe en la siguiente sección.


Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una Plataforma Paralela Experimental<br />

para Aterrizaje y Despegue <strong>de</strong> Helicópteros 115<br />

Fig. 5. Desplazamiento resultante <strong>de</strong> la heliplataforma si los motores estuviesen<br />

bloqueados<br />

6 Pruebas<br />

Varias pruebas son realizadas para verificar el funcionamiento y comportamiento<br />

<strong>de</strong> la heliplataforma. Estas pruebas son divididas en etapas o<br />

pruebas intermedias con el objetivo <strong>de</strong> comprobar el <strong>de</strong>sempeño <strong>de</strong> los<br />

subsistemas por separado y luego, en pruebas posteriores, examinar el<br />

comportamiento <strong>de</strong> la heliplataforma como un todo.<br />

6.1 Prueba <strong>de</strong> la plataforma paralela <strong>de</strong> 3 GdL<br />

6.1.1 Determinación <strong>de</strong> las ganancias <strong>de</strong>l controlador<br />

El control <strong>de</strong> la posición <strong>de</strong> los pistones, se logra variando la entrada <strong>de</strong><br />

voltaje a las válvulas proporcionales que controlan el flujo <strong>de</strong> aire hacia la<br />

cámara <strong>de</strong> los cilindros. Esta señal <strong>de</strong> control se hace proporcional al error<br />

<strong>de</strong> posición. Inicialmente se <strong>de</strong>terminan las ganancias proporcionales a<strong>de</strong>cuadas.


116 Robots <strong>de</strong> exteriores<br />

La estimación <strong>de</strong> las ganancias proporcionales, para los cilindros <strong>de</strong><br />

menor diámetro, se realizó con la ayuda <strong>de</strong> la interfaz gráfica <strong>de</strong>l programa<br />

Control Desk. En esta interfaz, la ganancia se incrementa lentamente por<br />

medio <strong>de</strong> un instrumento <strong>de</strong>slizante en la pantalla <strong>de</strong>l PC. Al mismo tiempo,<br />

se monitorea la respuesta <strong>de</strong> los cilindros, por medio <strong>de</strong> las lecturas <strong>de</strong><br />

los sensores (el sensor ultrasónico y la IMU), y por medio <strong>de</strong> los cálculos<br />

cinemáticos cuyo resultado se muestran en pantalla. El objetivo es lograr<br />

la posición <strong>de</strong>seada rápidamente pero sin causar cambios bruscos <strong>de</strong> posición,<br />

o vibraciones alre<strong>de</strong>dor <strong>de</strong> la posición <strong>de</strong>seada.<br />

Debido a que cada válvula neumática tiene un comportamiento diferente,<br />

esto <strong>de</strong>be hacerse para cada una <strong>de</strong> ellas; a<strong>de</strong>más <strong>de</strong>bido a las variaciones<br />

dinámicas y la asimetría <strong>de</strong> las caras <strong>de</strong> los émbolos, se estiman dos<br />

ganancias proporcionales para cada pistón, <strong>de</strong>pendientes <strong>de</strong> la dirección <strong>de</strong><br />

avance. Las ganancias proporcionales <strong>de</strong> subida/bajada estimadas son <strong>de</strong><br />

0.11/0.034 y 0.10/0.030, respectivamente.<br />

6.1.2 Movimiento sinusoidal <strong>de</strong> los pistones neumáticos<br />

Con el objetivo <strong>de</strong> simular el movimiento <strong>de</strong>l barco sobre el mar se implementa<br />

el control <strong>de</strong> posición para los pistones neumáticos a una trayectoria<br />

sinusoidal. La trayectoria sinusoidal <strong>de</strong>seada pue<strong>de</strong> ser modificada<br />

online por medio <strong>de</strong> variables controladas directamente en el panel <strong>de</strong> control<br />

<strong>de</strong> la tarjeta controladora dSPACE1103. Por tanto, durante el funcionamiento<br />

<strong>de</strong> la plataforma es posible alterar tanto la amplitud <strong>de</strong> la trayectoria<br />

sinusoidal, como el valor alre<strong>de</strong>dor <strong>de</strong>l cual la onda sinusoidal oscila.<br />

No se consiguió un seguimiento exacto <strong>de</strong> la onda, sin embargo para la<br />

aplicación utilizada se consi<strong>de</strong>ra aceptable la respuesta <strong>de</strong> los pistones a la<br />

señal comandada.<br />

Debido a que la tarjeta controladora dSPACE1103 pue<strong>de</strong> controlar solamente<br />

ocho ejes, es necesario que el control <strong>de</strong> movimiento <strong>de</strong> los cilindros<br />

centrales se realice por medio <strong>de</strong> un PLC externo, éste utiliza directamente<br />

los datos <strong>de</strong>l sensor ultrasónico para cerrar el lazo <strong>de</strong> control.<br />

6.2 Prueba <strong>de</strong> la plataforma Stewart-Gough<br />

Para realizar las pruebas <strong>de</strong> seguimiento <strong>de</strong> trayectoria, utilizando el control<br />

<strong>de</strong> posición <strong>de</strong> lazo cerrado, <strong>de</strong> la plataforma Stewart-Gough es necesario<br />

inicialmente sintonizar las ganancias proporcionales <strong>de</strong> los seis servomotores<br />

eléctricos. Una vez estimadas las ganancias se proce<strong>de</strong> a<br />

verificar que el movimiento que la plataforma Stewart-Gough realiza al re-


Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una Plataforma Paralela Experimental<br />

para Aterrizaje y Despegue <strong>de</strong> Helicópteros 117<br />

alimentar la información <strong>de</strong> la unidad <strong>de</strong> medida inercia IMU, sea el a<strong>de</strong>cuado.<br />

6.2.1 Sintonización <strong>de</strong> los servomotores eléctricos<br />

Se realizó una subrutina <strong>de</strong> prueba en C para sintonizar el lazo <strong>de</strong> control<br />

<strong>de</strong> posición y se agregó una gráfica en la interfaz para visualizar los resultados.<br />

Esta subrutina manda una señal <strong>de</strong> referencia <strong>de</strong> voltaje al motor,<br />

que sería el error <strong>de</strong> posición o sea la diferencia entre la posición <strong>de</strong>seada y<br />

la posición actual marcada por el encon<strong>de</strong>r (en pulsos), multiplicado por<br />

una ganancia proporcional.<br />

Al inicio todas las ganancias proporcionales son reducidas a lo mínimo.<br />

A continuación se aumenta la ganancia proporcional kp, hasta que el enco<strong>de</strong>r<br />

alcanza la posición <strong>de</strong>seada rápidamente, pero sin causar vibración<br />

al sistema.<br />

Por otra parte el amplificador contiene unos potenciómetros que se <strong>de</strong>ben<br />

ajustar para ajustar las ganancias, entre ellos uno <strong>de</strong> ganancia <strong>de</strong>rivativa<br />

llamada <strong>DE</strong>R y uno <strong>de</strong> ganancia PI llamada Kv, la <strong>DE</strong>R ayuda a amortiguar<br />

la respuesta y la Kv podría mejorar la respuesta en el tiempo. Por<br />

otra parte el amplificador contiene unos potenciómetros que se <strong>de</strong>ben <strong>de</strong><br />

ajustar, entre ellos tiene una ganancia <strong>de</strong>rivativa llamada <strong>DE</strong>R y una ganancia<br />

PI llamada Kv, la <strong>DE</strong>R ayuda a amortiguar la respuesta y la Kv podría<br />

mejorar la respuesta en el tiempo.<br />

6.2.2 Movimiento <strong>de</strong> la plataforma sincronizada con la unidad<br />

<strong>de</strong> medida inercial - IMU<br />

Con el objetivo <strong>de</strong> mantener el efector final <strong>de</strong> la heliplataforma estable en<br />

una posición inicial dada, es necesario medir la inclinación <strong>de</strong> la base <strong>de</strong> la<br />

plataforma Stewart-Gough, el barco, y realimentarla al control <strong>de</strong> posición<br />

<strong>de</strong> la plataforma. Para esto se localiza la unidad <strong>de</strong> medida inercial IMU<br />

sobre la base <strong>de</strong> la plataforma Stewart-Gough.<br />

En una prueba previa se <strong>de</strong>smontan los motores <strong>de</strong> los husillos y se retira<br />

la unidad <strong>de</strong> medida inercial <strong>de</strong> la base <strong>de</strong> la plataforma. Entonces, la<br />

orientación <strong>de</strong> la unidad <strong>de</strong> medida inercial es modificada con la mano y se<br />

observa que el movimiento <strong>de</strong> los ejes <strong>de</strong> los motores eléctricos sea el esperado.<br />

Posteriormente, los motores son montados a los husillos y el efector<br />

<strong>de</strong> la plataforma Stewart es llevado, mediante un planificador, a una<br />

posición <strong>de</strong> inicio (por encima <strong>de</strong> la mitad <strong>de</strong> su carrera), y nuevamente la<br />

orientación <strong>de</strong> la unidad <strong>de</strong> medida inercial es cambiada manualmente, para<br />

verificar el correcto movimiento <strong>de</strong> la plataforma.


118 Robots <strong>de</strong> exteriores<br />

6.3 Prueba <strong>de</strong> la plataforma experimental<br />

Estas pruebas se realizan inicialmente en el laboratorio y luego en campo,<br />

a todo el conjunto <strong>de</strong> la plataforma experimental, la plataforma Stewart-<br />

Gough montada sobre la plataforma <strong>de</strong> 3 GdL. Con esta prueba se requiere<br />

comprobar que el efector <strong>de</strong> la heliplataforma (lugar <strong>de</strong> aterrizaje <strong>de</strong>l helicóptero)<br />

permanece en una misma posición y sin variación en su orientación<br />

con relación a la tierra durante el movimiento <strong>de</strong> la plataforma <strong>de</strong> simulación<br />

<strong>de</strong>l mar.<br />

Inicialmente se utiliza un planificador <strong>de</strong> trayectorias para llevar el efector<br />

<strong>de</strong> la plataforma a una posición que le permita compensar los movimientos<br />

<strong>de</strong>l barco en todo momento. Durante ese tiempo los pistones<br />

neumáticos <strong>de</strong> la plataforma paralela <strong>de</strong> 3 GdL se encuentran bloqueados.<br />

En seguida, son accionados los pistones neumáticos. Los <strong>de</strong> menor diámetro<br />

son llevados a una posición que logre colocar el efector <strong>de</strong> la plataforma<br />

inferior paralelo a tierra. En este momento se pasa a la Stewart a<br />

modo Control (modo en que compensa el movimiento <strong>de</strong>l barco). Seguido,<br />

todos los pistones son llevados a la mitad <strong>de</strong> sus carreras y luego son<br />

movidos sinusoidalmente. Este movimiento senoidal provoca en una variación<br />

en la orientación y posición <strong>de</strong>l barco, lo cual es captada por los sensores<br />

y realimentadas a la tarjeta controladora.<br />

A partir <strong>de</strong> la información prestada por los sensores, el procesador calcula<br />

el <strong>de</strong>splazamiento <strong>de</strong> los actuadores <strong>de</strong> la plataforma Stewart, necesarios<br />

para mantener su posición y orientación fijas con respecto a la tierra.<br />

Con esta información y el control <strong>de</strong> posición <strong>de</strong> lazo cerrado los servomotores<br />

son actuados a través <strong>de</strong> los amplificadores.<br />

La figura 5 muestra una prueba en campo <strong>de</strong> la plataforma experimental,<br />

se observa como la inclinación <strong>de</strong>l barco es compensada por el movimiento<br />

<strong>de</strong> los actuadores <strong>de</strong> la plataforma Stewart, para mantener a la plataforma<br />

<strong>de</strong> aterrizaje paralela al piso. La plataforma Stewart-Gough es equipada<br />

con una placa <strong>de</strong> 1 m 2 <strong>de</strong> ma<strong>de</strong>ra sobre el efector final como<br />

plataforma <strong>de</strong> aterrizaje; en la figura 6 se muestra el momento en que el<br />

helicóptero Colibrí (www.disam.upm.es/colibri) aterriza en la heliplataforma.<br />

En campo, cuando se colocó la superficie <strong>de</strong> aterrizaje al efector <strong>de</strong> la<br />

heliplataforma, a diferencia <strong>de</strong> los experimentos realizado en el laboratorio,<br />

se observó una inestabilidad en el sistema <strong>de</strong> control. El movimiento<br />

que alcanzaba la plataforma inferior <strong>de</strong>bía ser reducido para que la plataforma<br />

se comportara correctamente.


Mo<strong>de</strong>lado, Análisis y Construcción <strong>de</strong> una Plataforma Paralela Experimental<br />

para Aterrizaje y Despegue <strong>de</strong> Helicópteros 119<br />

Fig. 5. Prueba en campo <strong>de</strong> la plataforma experimental.<br />

Fig. 6. Helicóptero Colibrí aterrizado en la heliplataforma, durante el movimiento<br />

<strong>de</strong>l barco.<br />

7. Conclusiones y Trabajos Futuros<br />

Con la simulación se <strong>de</strong>mostró que es posible compensar el movimiento<br />

<strong>de</strong>l mar a través <strong>de</strong> una plataforma Stewart-Gough, por medio <strong>de</strong> un algoritmo<br />

<strong>de</strong> control, que <strong>de</strong>termina los <strong>de</strong>splazamientos <strong>de</strong> los actuadores a<br />

cada instante.<br />

El prototipo <strong>de</strong>sarrollado ha <strong>de</strong>mostrado su capacidad para la ayuda para<br />

el aterrizaje y <strong>de</strong>spegue <strong>de</strong> helicópteros <strong>de</strong> pequeñas dimensiones. Los<br />

equipos utilizados, han <strong>de</strong>mostrado ser idóneos para el control <strong>de</strong> la plataforma<br />

<strong>de</strong> aterrizaje.


120 Robots <strong>de</strong> exteriores<br />

Las pruebas realizadas mostraron que para oscilaciones <strong>de</strong> la plataforma<br />

inferior cuyos ángulos superan un valor límite, es necesario un estudio <strong>de</strong>tallado<br />

<strong>de</strong>l efecto dinámico <strong>de</strong> la superficie <strong>de</strong> aterrizaje en el comportamiento<br />

<strong>de</strong> la plataforma experimental.<br />

Los algoritmos <strong>de</strong> control y el <strong>de</strong>sempeño <strong>de</strong> los sensores, como unidad<br />

<strong>de</strong> medida inercial, enco<strong>de</strong>rs y sensor-ultrasónico, se mostraron a<strong>de</strong>cuados<br />

para asegurar el cumplimiento <strong>de</strong> la tarea propuesta.<br />

Referencias<br />

Fichter E.F., 1986. A Stewart Platform- Based Manipulator: General Theory<br />

and Practical Construction. The International Journal of Robotics Research;<br />

5; 157<br />

Fossen, Thor I., Guidance and Control of Ocean Vehicles, John Wiley &<br />

Sons, Chichester England, 1994.<br />

Lung-Wen Tsai, Robot analysis: The mechanics of serial and parallel manipulators,<br />

John Wiley & Sons, Inc, 1999.<br />

R. Bermejo, Desarrollo <strong>de</strong> un Robot Paralelo Trepador. Tesis Doctoral,<br />

UPM, 2004.<br />

R. Hoffman. 1979. Dynamics and control of a flight simulator motion system,<br />

in Proc. Canadian Conf. Automatic Control, Montreal, Canada, May<br />

23–25, pp. 1–10.<br />

Stewart, D. 1965 (London, England). A platform with six <strong>de</strong>grees of freedom.<br />

Proc. Inst. Mech. Engr. 180(1):371-386.<br />

W-S. Lee, J.H. Kim, J.H. Cho, and S.J. Lee. 1999. The Kookmin University<br />

driving simulators for vehicle control system <strong>de</strong>velopment and human<br />

factor study. In Proc. DSC’99—Driving Simulation Conf., Paris, July 7–8.


CAPÍTULO 8<br />

Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el<br />

Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos Aéreos<br />

P. GUTIÉRREZ, J. <strong>DE</strong>L CERRO, A. BARRIENTOS, R. SAN MARTÍN,<br />

A. MARTINEZ y C. ROSSI<br />

Grupo <strong>de</strong> <strong>Robótica</strong> y Cibernética, Universidad Politécnica <strong>de</strong> Madrid<br />

pgutierrez@etsii.upm.es, antonio.barrientos@upm.es<br />

El Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos Aéreos (AVCL) permite expresar <strong>de</strong><br />

forma abstracta una misión para vehículos aéreos autónomos (UAVs). El<br />

AVCL: representa el vínculo entre una herramienta GIS <strong>de</strong> Planificación<br />

<strong>de</strong> Misiones y un grupo heterogéneo <strong>de</strong> UAVs y sensores; permite<br />

expresar misiones que no requieren <strong>de</strong> un UAV específico, siendo capaz<br />

<strong>de</strong> <strong>de</strong>finir interacciones simples es misiones multi-vehículo. Su vali<strong>de</strong>z ha<br />

sido probada extensamente mediante misiones simuladas en las que se han<br />

realizado diversos tipos <strong>de</strong> maniobras con un vehículo virtual conectado a<br />

un módulo <strong>de</strong> guiado y navegación. Asimismo se han realizado pruebas<br />

con UAV reales, con algunas <strong>de</strong> las misiones previamente simuladas.<br />

1 Introducción<br />

En las últimas décadas el <strong>de</strong>sarrollo <strong>de</strong> vehículos aéreos autónomos<br />

(UAVs por sus siglas en inglés) se ha centrado en el control <strong>de</strong> actitud,<br />

seguimiento <strong>de</strong> trayectorias y generación <strong>de</strong> trayectorias libres <strong>de</strong> colisión.<br />

Tradicionalmente los científicos e ingenieros interesados en el <strong>de</strong>sarrollo<br />

<strong>de</strong> UAVs siguen el esquema mostrado en la Fig. 1: primero se construye<br />

un mo<strong>de</strong>lo <strong>de</strong> la dinámica <strong>de</strong>l vehículo mientras que el control <strong>de</strong> misión<br />

constituye la última etapa, algunas veces sólo como un diseño insinuado<br />

en papel.<br />

La persistencia <strong>de</strong> esta metodología es especialmente cierta en el caso<br />

<strong>de</strong> vehículos inherentemente inestables como los helicópteros. Como<br />

evi<strong>de</strong>ncia está la gran cantidad <strong>de</strong> artículos <strong>de</strong>dicados al control <strong>de</strong> actitud


122 Robots <strong>de</strong> exteriores<br />

frente al escaso <strong>de</strong>sarrollo <strong>de</strong> herramientas <strong>de</strong> control y planificación <strong>de</strong><br />

misión. Esta “jerarquía” es un planteamiento razonable, incluso natural,<br />

para el <strong>de</strong>sarrollo <strong>de</strong> un UAV pero comúnmente el diseño <strong>de</strong> las etapas<br />

superiores está condicionado por las capacida<strong>de</strong>s, limitaciones y<br />

arquitectura <strong>de</strong> las etapas inferiores.<br />

Fig. 1. Desarrollo tradicional <strong>de</strong> UAVs<br />

En este escenario el diseño se propaga hacia arriba, y es posible que el<br />

diseño <strong>de</strong> las capas más bajas <strong>de</strong> la jerarquía limiten severamente las<br />

alternativas <strong>de</strong> diseño <strong>de</strong> las capas más altas. Por ejemplo: con un vehículo<br />

diseñado para navegación punto-a-punto será virtualmente imposible<br />

<strong>de</strong>sarrollar algoritmos <strong>de</strong> navegación capaces <strong>de</strong> realizar trayectorias<br />

complejas; un control <strong>de</strong> actitud. Estos problemas son más notorios cuando<br />

los responsables <strong>de</strong>l proyecto consi<strong>de</strong>ran que el prototipo existe como un<br />

elemento aislado <strong>de</strong>l universo, limitado en tiempo y espacio, un diseño que<br />

probablemente no podrá interactuar con sistemas <strong>de</strong> planificación futuros u<br />

otros UAVs. Fuera <strong>de</strong> los centros <strong>de</strong> investigación con nexos militares<br />

(Office of the Secretary of Defense, 2005) no existe una “fuerza” que<br />

impulse el uso <strong>de</strong> estándares aplicables y tecnologías que faciliten la<br />

integración <strong>de</strong> un grupo heterogéneo <strong>de</strong> vehículos autónomos con los<br />

sistemas actualmente en operación.<br />

El presente documento expone parte <strong>de</strong> los resultados obtenidos por el<br />

grupo <strong>de</strong> <strong>Robótica</strong> y Cibernética * . El grupo cuenta con un grupo<br />

heterogéneo <strong>de</strong> vehículos autónomos: un dirigible y tres helicópteros con<br />

diferentes autopilotos, cada uno con capacida<strong>de</strong>s y limitaciones diferentes.<br />

La disparidad entre los autopilotos (dos comerciales y el último<br />

<strong>de</strong>sarrollado internamente) obligó a una parte <strong>de</strong>l grupo <strong>de</strong> investigadores<br />

a invertir el esquema <strong>de</strong> la Fig. 1: el diseño empieza en las etapas<br />

superiores <strong>de</strong> la jerarquía (software <strong>de</strong> planificación <strong>de</strong> misión) y asume<br />

que el sistema <strong>de</strong>be integrarse con un grupo heterogéneo <strong>de</strong> UAVs que<br />

utilizan diferentes algoritmos <strong>de</strong> control y seguimiento <strong>de</strong> trayectorias, y<br />

*<br />

URL: http://robcib.etsii.upm.es


Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos<br />

Aéreos 123<br />

una gran variedad <strong>de</strong> sensores y equipamiento adicional a bordo <strong>de</strong>l<br />

vehículo.<br />

El fruto <strong>de</strong> ese proyecto es una herramienta <strong>de</strong> software para la<br />

planificación, simulación y supervisión <strong>de</strong> vehículos aéreos. Esta<br />

herramienta está basada en un Sistema <strong>de</strong> Información Geográfica (GIS)<br />

digital, y se conecta con diferentes vehículos (simulados y reales)<br />

mediante el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos Aéreos (AVCL, por sus<br />

siglas en inglés), un lenguaje interpretado en tiempo <strong>de</strong> ejecución. El<br />

AVCL permite que el diseño <strong>de</strong> las etapas superiores sea in<strong>de</strong>pendiente<br />

<strong>de</strong> la arquitectura <strong>de</strong> las etapas inferiores, algo análogo al MDLe (Hristu,<br />

2000). Tanto el Planificador <strong>de</strong> Misión (PM) como el AVCL son las piezas<br />

clave <strong>de</strong> una arquitectura unificada y abierta para la integración <strong>de</strong> grupos<br />

heterogéneos <strong>de</strong> vehículos aéreos, aunque este documento se centrará casi<br />

exclusivamente en el AVCL y el control <strong>de</strong> un UAV simulado.<br />

El AVCL es la capa <strong>de</strong> abstracción que permite al supervisor humano<br />

crear misiones in<strong>de</strong>pendientes <strong>de</strong> vehículos y sensores, <strong>de</strong> forma que la<br />

reutilización <strong>de</strong>l código es posible y ventajosa. Al mismo tiempo las<br />

expresiones y comandos en AVCL escon<strong>de</strong>n las diferencias entre los<br />

diferentes sistemas <strong>de</strong> software/hardware que constituyen un UAV, y<br />

sirven como un medio <strong>de</strong> <strong>de</strong>finición y almacenamiento <strong>de</strong> misiones.<br />

2 Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos Aéreos<br />

Aunque en este documento se centra en el <strong>de</strong>sarrollo y funcionalidad <strong>de</strong>l<br />

AVCL es necesario exponer el diseño <strong>de</strong>l sistema global <strong>de</strong> planificación y<br />

supervisión <strong>de</strong> misión. Sólo así podrá enten<strong>de</strong>rse cabalmente el papel que<br />

juega el AVCL en el esquema global y sus conexiones con el resto <strong>de</strong><br />

componentes <strong>de</strong>l sistema.<br />

2.1 Planificador <strong>de</strong> Misión basado en GIS<br />

Una parte importante <strong>de</strong> los proyectos <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> UAVs tienen un<br />

objetivo o motivación claramente militar (Air & Space Europe, 1999), y<br />

por tanto sus esfuerzos en algoritmos <strong>de</strong> planificación se han centrado en<br />

los sistemas reactivos y la navegación en espacios parcial o totalmente<br />

<strong>de</strong>sconocidos. Sin embargo el mismo Departamento <strong>de</strong> Defensa <strong>de</strong> los<br />

Estados Unidos (Office of the Secretary of Defense, 2005) afirma que una<br />

tarea importante <strong>de</strong> los UAVs es llevar a cabo misiones aburridas, es


124 Robots <strong>de</strong> exteriores<br />

<strong>de</strong>cir, operaciones repetitivas en territorio no-hostil y conocido, y que<br />

pue<strong>de</strong>n ser realizadas por máquinas más sencillas, fiables y baratas.<br />

En otras palabras, el gobierno <strong>de</strong> los EEUU reconoce en los UAVs las<br />

mismas ventajas que la industria <strong>de</strong>l automóvil en los manipuladores<br />

tradicionales. A<strong>de</strong>más, sin <strong>de</strong>jar a un lado la capacidad <strong>de</strong> reacción en un<br />

ambiente dinámico y/o hostil, hay que consi<strong>de</strong>rar que casi ningún ámbito<br />

don<strong>de</strong> habitualmente se <strong>de</strong>sarrolla la misión <strong>de</strong> un UAV es totalmente<br />

<strong>de</strong>sconocido -siendo los micro vehículos una notable excepción-. Todos<br />

los días organizaciones gubernamentales y comerciales trabajan para<br />

enriquecer enormes bases <strong>de</strong> datos <strong>de</strong> información geográfica (GIS). En<br />

los países más <strong>de</strong>sarrollados la cobertura es prácticamente total y la<br />

precisión aumenta a la par <strong>de</strong>l nivel <strong>de</strong> <strong>de</strong>talle y la riqueza <strong>de</strong> la<br />

información georeferenciada, sobretodo en las inmediaciones <strong>de</strong> los<br />

centros urbanos.<br />

En España múltiples instancias <strong>de</strong> los tres niveles <strong>de</strong> gobierno publican<br />

información cartográfica en formato digital. por ejemplo: el Instituto<br />

Geográfico Nacional, el Servicio <strong>de</strong> Cartografía y el Instituto <strong>de</strong><br />

Estadística <strong>de</strong> la Comunidad Autónoma <strong>de</strong> Madrid, y la Gerencia<br />

Municipal <strong>de</strong> Urbanismo <strong>de</strong>l Ayuntamiento <strong>de</strong> Madrid. Sin contar con el<br />

GIS comercial son muchas las bases <strong>de</strong> datos disponibles que pue<strong>de</strong>n<br />

servir <strong>de</strong> marco <strong>de</strong> referencia para una gran variedad <strong>de</strong> misiones aéreas.<br />

El uso <strong>de</strong> información GIS no es nuevo en robótica móvil (Doherty,<br />

2000; Sinopoli, 2001; Doherty, 2004), y en el caso <strong>de</strong> planificación <strong>de</strong><br />

misiones resulta crucial (p. ej. para la inspección <strong>de</strong> líneas <strong>de</strong> alta tensión),<br />

al tiempo que ofrece la oportunidad <strong>de</strong> ambientes virtuales para<br />

teleoperación con mayor nivel <strong>de</strong> realismo. A<strong>de</strong>más el uso <strong>de</strong> tecnologías<br />

y estándares GIS son un excelente medio para compartir información<br />

espacial con otros sistemas.<br />

2.1.1 Arquitectura <strong>de</strong>l Planificador<br />

El Planificador <strong>de</strong> Misión (PM) (Gutiérrez, 2006) es una herramienta<br />

informática (ver Fig. 2), basada en una librería comercial (ESRI<br />

ArcObjects * ), y con capacidad <strong>de</strong> operar directamente sobre gran cantidad<br />

<strong>de</strong> formatos e interfases GIS. Este nivel <strong>de</strong> integración con las bases <strong>de</strong><br />

datos <strong>de</strong> objetos georeferenciados es la diferencia más notable y, <strong>de</strong>s<strong>de</strong><br />

nuestro punto <strong>de</strong> vista, la principal ventaja <strong>de</strong>l planificador frente a<br />

<strong>de</strong>sarrollo previos (Barrouil, 1998; Tso, 1998; Kim, 2002; Ramos, 2003).<br />

*<br />

URL: http://www.esri.com/arcobjects


Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos<br />

Aéreos 125<br />

El PM tiene, grosso modo, dos funciones: construcción <strong>de</strong> una Realidad<br />

Aumentada (2-3D) (ver Fig. 3) y diseño <strong>de</strong> la misión. La primer función<br />

pue<strong>de</strong> <strong>de</strong>scomponerse en dos operaciones:<br />

1. Preprocesamiento <strong>de</strong> las bases <strong>de</strong> datos GIS (comerciales y<br />

oficiales) para obtener un “mapa digital” que incluye: ortofoto,<br />

mo<strong>de</strong>lo digital <strong>de</strong>l terreno y objetos georeferenciados (líneas<br />

eléctricas, sembradíos, poblaciones, etc.).<br />

2. Inclusión <strong>de</strong> objetos virtuales (zonas restringidas, puntos <strong>de</strong> paso,<br />

otros vehículos, combinaciones lógicas <strong>de</strong> objetos, etc.)<br />

En otras palabras, la primer función <strong>de</strong>l PM es ofrecer al usuario el<br />

contexto don<strong>de</strong> volará el UAV, ofreciendo toda la información relevante y<br />

facilitando el diseño <strong>de</strong> la misión.<br />

Fig. 2. El Planificador <strong>de</strong> Misión<br />

Fig. 3. Diagrama simplificado <strong>de</strong>l MP<br />

Es para el diseño <strong>de</strong> misión, la segunda tarea <strong>de</strong>l MP, don<strong>de</strong> entra en<br />

juego el AVCL – fundamentalmente su intérprete –, tal y como se observa<br />

en la Fig. 4. Es <strong>de</strong>cir, el AVCL es el puente que une una herramienta<br />

visual (el MP) con un grupo heterogéneo <strong>de</strong> UAVs.


126 Robots <strong>de</strong> exteriores<br />

2.2 AVCL: el puente entre la planificación y el UAV<br />

El Planificador <strong>de</strong> Misión (PM) es una herramienta visual y <strong>de</strong> alto nivel<br />

que permite a un operador humano <strong>de</strong>finir una misión para un vehículo<br />

aéreo autónomo <strong>de</strong> forma abstracta. Sin embargo <strong>de</strong>be existir un<br />

mecanismo potente, flexible y extensible capaz <strong>de</strong> unir el PM con un grupo<br />

heterogéneo <strong>de</strong> UAVs. La respuesta a este problema es una arquitectura <strong>de</strong><br />

software que consta <strong>de</strong> tres partes:<br />

1. un lenguaje <strong>de</strong> programación <strong>de</strong> UAVs capaz <strong>de</strong> <strong>de</strong>scribir las<br />

misiones y capacida<strong>de</strong>s <strong>de</strong> un grupo heterogéneo <strong>de</strong> vehículos y<br />

sensores;<br />

2. el intérprete <strong>de</strong> dicho lenguaje, con capacidad para establecer la<br />

comunicación entre los UAVs y el Planificador <strong>de</strong> Misiones;<br />

3. la <strong>de</strong>finición <strong>de</strong> un vehículo básico cuyas capacida<strong>de</strong>s <strong>de</strong><br />

operación y maniobra pue<strong>de</strong>n ser extendidas por UAVs<br />

específicos.<br />

Fig. 4. Planificador <strong>de</strong> Misión e Intérprete <strong>de</strong> AVCL<br />

El resultado es el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos Aéreos – AVCL,<br />

por sus siglas en inglés –. El AVCL no <strong>de</strong>be consi<strong>de</strong>rarse simplemente<br />

como una gramática y su sintaxis, sino como un lenguaje, su intérprete, y<br />

una serie <strong>de</strong> especificaciones que establecen las reglas básicas que todo<br />

UAV <strong>de</strong>be cumplir para operar <strong>de</strong>ntro <strong>de</strong> la arquitectura <strong>de</strong>l Planificador<br />

<strong>de</strong> Misiones. En otras palabras, el Planificador <strong>de</strong> Misión permite al<br />

operador expresar los objetivos <strong>de</strong> la misión y las operaciones concretas


Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos<br />

Aéreos 127<br />

que habrá <strong>de</strong> realizar el UAV mediante expresiones <strong>de</strong> un lenguaje. Como<br />

ejemplo <strong>de</strong> AVCL:<br />

# puntos <strong>de</strong> paso<br />

variable p1, p2, p3<br />

p1 = @ 1.1 km, 0.1 km, 55 m @<br />

p2 = @ p1.X() + 33.3m, 0km, 70m@<br />

# comandos al UAV<br />

helicopter.TakeOff (15m)<br />

helicopter.FlyTo (p1)<br />

helicopter.Camera.Zoom (1.0)<br />

# lectura <strong>de</strong> datos<br />

p3 = helicopter.Position()<br />

print (‘p3 = ‘, p3)<br />

# los argumentos <strong>de</strong> las funciones pue<strong>de</strong>n<br />

# tener nombre, lo que facilita la<br />

# lectura <strong>de</strong>l código<br />

uav.FlyTo (<strong>de</strong>stination = p1, abortIf = uav.Z < 3 ft)<br />

Otros proyectos <strong>de</strong> vehículos aéreos y submarinos autónomos han<br />

<strong>de</strong>sarrollado sus propios lenguajes <strong>de</strong> programación/control (Yuan, 1999;<br />

Dixon, 1999; Duarte, 2000; Doherty, 2000; Kim, 2002; Kim , 2003) <strong>de</strong> los<br />

que el AVCL toma algunos conceptos básicos que fueron ampliados hasta<br />

convertirse no sólo en un lenguaje sino en una arquitectura abierta y<br />

extensible. Frente a proyectos anteriores las principales ventajas <strong>de</strong>l AVCL<br />

son:<br />

1. su manejo intuitivo <strong>de</strong> diferentes sistemas <strong>de</strong> unida<strong>de</strong>s, y la<br />

facilidad con que nuevas unida<strong>de</strong>s y magnitu<strong>de</strong>s pue<strong>de</strong>n agregarse;<br />

2. sigue el paradigma <strong>de</strong> la programación orientada a objetos (POO),<br />

lo que permite agrupar <strong>de</strong> forma útil y coherente las funciones y<br />

propieda<strong>de</strong>s <strong>de</strong> un vehículo o sensor;<br />

3. el paradigma POO permite el diseño <strong>de</strong> misiones multi-vehículo;<br />

4. las funciones pue<strong>de</strong>n recibir punteros a objetos. Esto permite<br />

conectar en tiempo <strong>de</strong> ejecución diferentes vehículos y sensores;<br />

5. es extensible, nuevas funciones y clases <strong>de</strong> objetos se pue<strong>de</strong>n<br />

agregar fácilmente;<br />

6. el intérprete fue <strong>de</strong>sarrollado en C++ estándar, por tanto pue<strong>de</strong><br />

utilizarse en una gran variedad <strong>de</strong> sistemas operativos.<br />

Usar el AVCL para unir el Planificador <strong>de</strong> Misiones y las capacida<strong>de</strong>s<br />

específicas <strong>de</strong> un vehículo aéreo representa una importante ventaja frente a<br />

otros mecanismos: el AVCL también sirve <strong>de</strong> puente entre los vehículos.<br />

Esto significa que en tiempo <strong>de</strong> ejecución se pue<strong>de</strong>n generar nuevas<br />

conexiones, interacciones que no fueron consi<strong>de</strong>radas durante la fase <strong>de</strong><br />

diseño. Por ejemplo:


128 Robots <strong>de</strong> exteriores<br />

1. se pue<strong>de</strong> pedir a un vehículo que siga la trayectoria <strong>de</strong> otro, o que<br />

espere una señal <strong>de</strong> un sensor remoto;<br />

2. pue<strong>de</strong> conectarse dinámicamente un vehículo con diferentes<br />

algoritmos <strong>de</strong> navegación;<br />

3. diferentes sensores pue<strong>de</strong>n mezclarse con los vehículos disponibles,<br />

conectando sus señales mediante comandos AVCL;<br />

4. pue<strong>de</strong> <strong>de</strong>finirse un sensor estándar que encapsule la funcionalidad<br />

básica <strong>de</strong> diferentes sensores, un mecanismo <strong>de</strong> abstracción.<br />

Como ejemplo <strong>de</strong> algunos <strong>de</strong> estos casos se ofrecen los siguientes<br />

segmentos <strong>de</strong> código AVCL:<br />

# seguimiento <strong>de</strong> un vehículo<br />

uavA.TakeOff (5m)<br />

uavB.TakeOff (15 ft)<br />

uavB.FlyTo (p1)<br />

while (uavB.Position != p1)<br />

uavA.RefPosition = uavB.Position + offset<br />

endWhile<br />

# conexión con sensores<br />

uav.Sensors(0) = parser.loadObject (‘camera.lib’)<br />

uav.Sensors(0).LookAt (p1)<br />

uav.Sensors(1) = parser.loadObject (‘laser.lib’)<br />

uav.Sensors(1).TurnOn()<br />

# señales <strong>de</strong> sensores como ban<strong>de</strong>ras <strong>de</strong> control<br />

uav.FlyTo (p1, abortIf = laser.Range < 10m)<br />

2.2.1 Sintaxis básica<br />

El AVCL es un lenguaje interpretado en tiempo <strong>de</strong> ejecución, es <strong>de</strong>cir, no<br />

se compila. Su sintaxis ha sido <strong>de</strong>scrita en una variante <strong>de</strong> la Forma<br />

Backus-Naur Extendida (EBNF), la cual es <strong>de</strong>masiado compleja y extensa<br />

para presentarse aquí. Sin embargo el AVCL es un lenguaje quasiimperativo<br />

muy parecido al C++ y resulta sencillo apren<strong>de</strong>rlo una vez que<br />

se conocen sus tipos <strong>de</strong> datos y operaciones básicas:<br />

1. tipos básicos: bool, número <strong>de</strong> coma flotante, y ca<strong>de</strong>na <strong>de</strong><br />

caracteres;<br />

2. tipos complejos: distancia, velocidad, aceleración, ángulos,<br />

temperatura, coor<strong>de</strong>nadas 3D, actitud (guiñada, cabeceo y alabeo),<br />

vector, etc. Todas ellas con unida<strong>de</strong>s en SI e Inglés;<br />

3. operadores lógicos, <strong>de</strong> comparación y aritméticos, <strong>de</strong>finidos para<br />

todos los tipos, y funciones trigonométricas;<br />

4. variables, constantes y mutables. Las variables pue<strong>de</strong>n <strong>de</strong>struirse, y<br />

la diferencia respecto a un mutable es que tienen un tipo <strong>de</strong>finido<br />

mientras que éstos últimos son contenedores universales;


Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos<br />

Aéreos 129<br />

5. las funciones pue<strong>de</strong>n sobrecargarse y anidarse (sin límite). Los<br />

argumentos <strong>de</strong> las funciones pue<strong>de</strong>n incluir una etiqueta (nombre)<br />

que facilite la lectura <strong>de</strong>l código (p. ej. alpha = sin ( ángulo = 30°));<br />

6. los objetos tienen métodos y propieda<strong>de</strong>s (por ejemplo, una ca<strong>de</strong>na<br />

<strong>de</strong> caracteres tiene la propiedad “longitud”).<br />

2.2.2 El intérprete: diseño extensible<br />

El intérprete <strong>de</strong> AVCL fue <strong>de</strong>sarrollado en C++ estándar, por tanto pue<strong>de</strong><br />

compilarse en diversos sistemas operativos (Windows, variantes <strong>de</strong> Linux<br />

y Mac OS X). Ya que el intérprete sólo <strong>de</strong>fine los tipos <strong>de</strong> datos básicos y<br />

los operadores <strong>de</strong>scritos en la sección anterior, es necesario un mecanismo<br />

para <strong>de</strong>finir nuevos tipos <strong>de</strong> objetos, funciones y operadores. En otras<br />

palabras, todos los vehículos y sensores sobre los que <strong>de</strong>seamos operar se<br />

<strong>de</strong>finen como librerías externas, lo mismo que funciones adicionales que<br />

se quieran incorporar al AVCL.<br />

El <strong>de</strong>sarrollo <strong>de</strong> las librerías que extien<strong>de</strong>n la funcionalidad <strong>de</strong>l<br />

intérprete <strong>de</strong> AVCL siguen un estándar propio, y pue<strong>de</strong>n <strong>de</strong>sarrollarse en<br />

C, C++ y C#. Es importante notar que se incluyó C# por dos importantes<br />

razones:<br />

1. Mono * permite el <strong>de</strong>sarrollo <strong>de</strong> librerías que funcionan en varios<br />

sistemas operativos sin necesidad <strong>de</strong> recompilar;<br />

2. el estándar .NET establece un protocolo para el procesamiento<br />

distribuido, en algunos casos análogo a CORBA, que permite al<br />

intérprete operar <strong>de</strong> forma transparente con objetos que existen en<br />

diferentes contextos (p. ej. en los or<strong>de</strong>nadores <strong>de</strong> varios UAVs).<br />

El vehículo simulado cuyo uso <strong>de</strong>scribiremos en secciones posteriores,<br />

es un ejemplo práctico <strong>de</strong> cómo exten<strong>de</strong>r el intérprete mediante librerías<br />

externas que <strong>de</strong>finen un objeto nuevo (con propieda<strong>de</strong>s y métodos<br />

propios).<br />

2.2.3 Vehículos y sensores genéricos<br />

Contamos con un grupo cada vez más gran<strong>de</strong> y heterogéneo <strong>de</strong> vehículos<br />

aéreos y sensores. Adicionalmente cada autopiloto (la combinación<br />

HW/SW que pilota cada vehículo) tiene diferentes modos <strong>de</strong> operación,<br />

nuevos y mejores algoritmos <strong>de</strong> control y navegación, lo que configura un<br />

universo casi ilimitado <strong>de</strong> combinaciones <strong>de</strong> vehículo – sensor – software.<br />

Sin embargo la mayor parte <strong>de</strong> estas combinaciones comparten<br />

*<br />

URL: http://www.mono-project.com


130 Robots <strong>de</strong> exteriores<br />

características básicas, por ejemplo: todos ellos son capaces <strong>de</strong> <strong>de</strong>spegue<br />

automático, vuelo en línea recta y vuelo estacionario (no contamos con<br />

aviones).<br />

Ya que el AVCL es un lenguaje interpretado es posible el concepto <strong>de</strong><br />

vehículos y sensores genéricos. En otras palabras, el Planificador <strong>de</strong><br />

Misión conoce el subconjunto <strong>de</strong> operaciones que son posibles para todos<br />

los vehículos y sensores disponibles, y pue<strong>de</strong> generar misiones genéricas<br />

que cualquiera <strong>de</strong> los vehículos pue<strong>de</strong> realizar. Este concepto es<br />

importante por dos motivos: permite al operador concentrarse en cumplir<br />

los objetivos <strong>de</strong> la misión en vez <strong>de</strong> preocuparse por la disponibilidad <strong>de</strong><br />

un vehículo específico; para una misión multi-vehículo permite el libre<br />

intercambio <strong>de</strong> roles.<br />

3 Control <strong>de</strong> vuelo y guiado<br />

Los autopilotos <strong>de</strong> nuestros vehículos aéreos se comandan con dos tipos<br />

básicos <strong>de</strong> or<strong>de</strong>n: vector <strong>de</strong> velocidad y puntos <strong>de</strong> paso (waypoints).<br />

Ninguno <strong>de</strong> estos modos <strong>de</strong> operación cumplen todos los requisitos <strong>de</strong><br />

flexibilidad y potencia <strong>de</strong> “expresión” que requiere el Planificador basado<br />

en AVCL. Por un lado es complicado (por no <strong>de</strong>cir imposible) expresar<br />

una misión en términos <strong>de</strong> vectores <strong>de</strong> velocidad, mientras que un control<br />

<strong>de</strong> guiado basado exclusivamente en un grupo <strong>de</strong> waypoints no permite al<br />

operador <strong>de</strong>finir trayectorias específicas. Por ello surgió la necesidad <strong>de</strong><br />

<strong>de</strong>sarrollar un control <strong>de</strong> vuelo y guiado capaz <strong>de</strong> volar un conjunto básico<br />

<strong>de</strong> trayectorias, un conjunto <strong>de</strong> elementos que permiten construir misiones<br />

complejas. El resultado es un módulo <strong>de</strong> guiado superior a <strong>de</strong>sarrollos<br />

anteriores (Lillo, 2007), capaz <strong>de</strong> guiar cualquier helicóptero que pueda<br />

comandarse con un vector <strong>de</strong> velocidad, y que incluye el siguiente<br />

conjunto <strong>de</strong> operaciones:<br />

1. vuelo estacionario;<br />

2. vuelo en línea recta y velocidad constante hacia un punto;<br />

3. vuelo en arco a velocidad constante. El arco se construye a partir <strong>de</strong><br />

las coor<strong>de</strong>nadas <strong>de</strong>l centro <strong>de</strong> la circunferencia y su longitud se<br />

expresa en grados;<br />

4. vuelo en una dirección a velocidad variable durante un tiempo<br />

pre<strong>de</strong>finido.<br />

En todos los casos la guiñada pue<strong>de</strong> ser constante respecto al norte, un<br />

offset respecto a la dirección <strong>de</strong> vuelo o apuntar hacia la dirección <strong>de</strong> una


Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos<br />

Aéreos 131<br />

coor<strong>de</strong>nada 3D; por otra parte la altura se controla <strong>de</strong> forma in<strong>de</strong>pendiente<br />

mediante una referencia <strong>de</strong> posición.<br />

El módulo realiza básicamente dos operaciones: genera un perfil <strong>de</strong><br />

velocidad que se ajusta a la trayectoria <strong>de</strong>seada y <strong>de</strong>spués vigila que la<br />

trayectoria real <strong>de</strong>l UAV se ajuste a la i<strong>de</strong>al. La Fig. 5 ilustra el principio<br />

básico <strong>de</strong>l bucle <strong>de</strong> control que mantiene el vehículo sobre la trayectoria<br />

<strong>de</strong>seada. La línea punteada es la trayectoria que ha creado el algoritmo <strong>de</strong><br />

generación <strong>de</strong> trayectorias, y representa un perfil <strong>de</strong> velocidad que el UAV<br />

<strong>de</strong>be cumplir. El rombo representa la posición que i<strong>de</strong>almente <strong>de</strong>bería<br />

tener el vehículo, mientras que el círculo representa (<strong>de</strong> forma exagerada<br />

para que sea más ilustrativo) la posición actual <strong>de</strong>l vehículo. El error <strong>de</strong><br />

posición y el siguiente segmento <strong>de</strong>l perfil <strong>de</strong> velocidad se combinan<br />

linealmente para generar el vector <strong>de</strong> velocidad <strong>de</strong> referencia para el UAV.<br />

En otras palabras, el UAV persigue la posición futura <strong>de</strong> un vehículo i<strong>de</strong>al.<br />

Fig. 5. Seguimiento <strong>de</strong> trayectorias<br />

Se han realizado muchas pruebas <strong>de</strong>l módulo <strong>de</strong> guiado con un vehículo<br />

simulado (<strong>de</strong>l Cerro, 2004) con excelentes resultados, algunos <strong>de</strong> los<br />

cuales se exponen en la siguiente sección.<br />

4 Simulación <strong>de</strong> misiones<br />

Las pruebas al intérprete <strong>de</strong> AVCL y el módulo <strong>de</strong> guiado se han realizado<br />

utilizando un vehículo virtual capaz <strong>de</strong> simular el comportamiento<br />

dinámico <strong>de</strong> un mini-helicóptero y los lazos <strong>de</strong> control <strong>de</strong> bajo nivel en<br />

tiempo real (<strong>de</strong>l Cerro, 2004). A continuación se presentan los resultados<br />

<strong>de</strong> tres misiones simuladas. Por limitaciones <strong>de</strong> espacio sólo se presentan<br />

gráficos 2D (ilustran mejor la trayectoria <strong>de</strong>l UAV), los segmentos más<br />

relevantes <strong>de</strong>l código AVCL <strong>de</strong> cada misión (se obvia, por ejemplo, la


132 Robots <strong>de</strong> exteriores<br />

inicialización <strong>de</strong>l vehículo simulado) y no se presentan gráficos que<br />

ilustren los cambios <strong>de</strong> guiñada.<br />

Es importante <strong>de</strong>stacar que <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista informático este<br />

vehículo virtual (<strong>de</strong>sarrollado en C+ y C#) fue diseñado como un objeto<br />

remoto, lo que permite que diferentes contextos (or<strong>de</strong>nadores o procesos)<br />

lo utilicen como si fuera un objeto local, algo análogo a un sistema<br />

CORBA. En otras palabras, el intérprete <strong>de</strong> AVCL (o cualquier otro<br />

proceso) crea el vehículo virtual y publica su ubicación en un servidor<br />

central. Software en otros contextos – típicamente un visualizador (ver.<br />

Fig. 6), otros vehículos y sensores virtuales – pue<strong>de</strong>n interactuar (o<br />

comandar) en tiempo real con el UAV virtual.<br />

Fig. 6. Interface visual<br />

4.1 Concatenación <strong>de</strong> maniobras<br />

El primer conjunto <strong>de</strong> misiones para el UAV representa la concatenación<br />

<strong>de</strong> diferentes tipos <strong>de</strong> maniobra. En todos los casos el vehículo parte <strong>de</strong> las<br />

coor<strong>de</strong>nadas (0,0). El código <strong>de</strong> la misión se presenta a continuación y el<br />

resultado son los gráficos <strong>de</strong> la Fig. 7:<br />

# <strong>de</strong>finición <strong>de</strong> variables<br />

variable uav, v, p1, p2, p3<br />

# crear el vehiculo virtual<br />

uav = parser.loadObject (‘Vampira.Sim.dll’)<br />

# coor<strong>de</strong>nadas relevantes<br />

p1 = @10m, 0m, 3m@<br />

p2 = @15m, 0m, 3m@<br />

# velocidad para todas las operaciones<br />

v = 0.5 m_s


Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos<br />

Aéreos 133<br />

# misión 1 – circuito cerrado<br />

uav.TakeOff (3m)<br />

uav.Arc (centro = p1, vel = v, longitud = 90 <strong>de</strong>g)<br />

uav.Hover (tiempo = 5s)<br />

uav.FlyTo (<strong>de</strong>stino = p2, v)<br />

uav.FlyTo (@-5m, 5m, 3m@, v)<br />

uav.FlyTo (@-5m,-5m, 3m@, v)<br />

p3 = @0m, -5m, 3m@<br />

uav.Arc (centro = p3, vel = v, longitud = 90 <strong>de</strong>g)<br />

uav.Land ()<br />

# misión 2 – dos círculos<br />

uav.TakeOff (altura = 15 ft)<br />

p1 = @5m, 0m, 15ft@<br />

uav.Arc (p1, v, 360 <strong>de</strong>g, sentido_horario = true)<br />

uav.FlyTo (@-5m, 0m, 15ft@, velocidad = v)<br />

p2 = @-10m, 0m, 15ft@<br />

uav.Arc (p2, v, 270 <strong>de</strong>g, sentido_horario = false)<br />

uav.FlyTo (@0m, -5m, 15ft@, v)<br />

uav.Land ()<br />

20<br />

10<br />

15<br />

5<br />

10<br />

5<br />

0<br />

0<br />

-5<br />

-5<br />

-10<br />

-10 -5 0 5 10 15<br />

-10<br />

-20 -15 -10 -5 0 5 10 15<br />

Fig. 7. Misiones simples (en metros)<br />

4.2 Inspección <strong>de</strong> un sembradío<br />

Esta misión reproduce la planificación <strong>de</strong> un vuelo fotogramétrico sobre<br />

un terreno cultivado al objeto <strong>de</strong> recoger información multiespectral que<br />

permitirá analizar el efecto <strong>de</strong> un plaguicida sobre el cultivo. Para ello<br />

requiere que un conjunto <strong>de</strong> sensores multi-espectrales sobrevuelen el<br />

campo a una altura <strong>de</strong>terminada y con una trayectoria que garantice N<br />

metros <strong>de</strong> solapamiento entre las mediciones. El campo mi<strong>de</strong>,<br />

aproximadamente 40 x 140 metros, y colinda en uno <strong>de</strong> sus extremos con<br />

una autovía que no <strong>de</strong>be sobrevolar el UAV por cuestiones <strong>de</strong> seguridad.<br />

El código <strong>de</strong> la misión se presenta a continuación y el resultado <strong>de</strong> la<br />

simulación <strong>de</strong> la ejecución <strong>de</strong> la trayectoria planificada <strong>de</strong> manera


134 Robots <strong>de</strong> exteriores<br />

automática por el sistema aparece en la Fig. 8 (las ligeras variaciones en la<br />

trayectoria no son visibles por la escala empleada):<br />

# obviamos la creación <strong>de</strong>l vehículo y algunas variables<br />

# <strong>de</strong>spegue y posición inicial en una esquina <strong>de</strong>l campo<br />

uav.TakeOff (10m)<br />

uav.FlyTo (coord_esquina, velocidad = v)<br />

# fijamos la altura <strong>de</strong> referencia<br />

uav.RefPosition.Z() = 50m<br />

# la misión pue<strong>de</strong> <strong>de</strong>finirse como un bucle<br />

<strong>de</strong>stino = coord_esquina<br />

for (i = 0; i < 15; i = i + 1)<br />

# calculamos la coor<strong>de</strong>nada final <strong>de</strong> este segmento<br />

# con la anchura <strong>de</strong>l campo<br />

<strong>de</strong>stino = <strong>de</strong>stino + @0.0, ancho_campo, 50m@<br />

# volamos en línea recta<br />

print (‘volando hacia ‘, <strong>de</strong>stino)<br />

uav.FlyTo (<strong>de</strong>stino, v)<br />

# en ese extremo <strong>de</strong>l campo po<strong>de</strong>mos girar con un arco<br />

# <strong>de</strong> circunferencia<br />

print (‘girando’)<br />

centro = <strong>de</strong>stino + @2.5m, 0m, 0m@<br />

uav.Arc (centro, velocidad = v, longitud = 180 <strong>de</strong>g)<br />

# volvemos<br />

<strong>de</strong>stino = <strong>de</strong>stino + @0.0, -ancho_campo, 50m@<br />

print (‘volando hacia ‘, <strong>de</strong>stino)<br />

uav.FlyTo (<strong>de</strong>stino, v)<br />

# en este extremo hay que evitar la autovia. Volamos a<br />

# la mitad <strong>de</strong> velocidad y giramos en ángulos rectos<br />

<strong>de</strong>stino = <strong>de</strong>stino + @5m, 0m, 0m@<br />

# si a la instrucción Hover le damos un punto, orienta<br />

# el uav en esa direccion<br />

uav.Hover (duracion = 15s, dir = <strong>de</strong>stino)<br />

uav.FlyTo (<strong>de</strong>stino, velocidad = v/2)<br />

endFor<br />

# fin <strong>de</strong>l bucle. Vuelta a “casa” y aterrizaje<br />

uav.RefPosition.Z() = 5m<br />

uav.FlyTo (casa, velocidad = v)<br />

uav.Land ()<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

-20 -10 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150<br />

Fig. 8. Vuelo sobre un sembradío (en metros)


Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos<br />

Aéreos 135<br />

5 Conclusiones<br />

Se ha mostrado el uso <strong>de</strong> un intérprete para comandar un vehículo virtual<br />

en varias misiones expresadas con el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos<br />

Aéreos (AVCL). Asimismo se ha comparado el AVCL con otros lenguajes<br />

<strong>de</strong>sarrollados anteriormente, se ha presentado su sintaxis e introducido el<br />

concepto <strong>de</strong> vehículos y sensores “genéricos” que permiten al operador<br />

centrarse en los objetivos <strong>de</strong> la misión en vez <strong>de</strong> las particularida<strong>de</strong>s <strong>de</strong><br />

cada vehículo o sensor.<br />

Los vuelos simulados también han puesto a prueba un módulo <strong>de</strong><br />

control <strong>de</strong> vuelo y guiado compatible con todos los UAVs que poseemos.<br />

Este módulo ofrece un conjunto <strong>de</strong> maniobras (vuelo estacionario, línea<br />

recta y arco <strong>de</strong> circunferencia) que se mezclan con cambios <strong>de</strong> altura y<br />

guiñada, ofreciendo un gran abanico <strong>de</strong> posibilida<strong>de</strong>s para el operador<br />

humano que planifica la misión.<br />

Un UAV es útil en función <strong>de</strong> los sensores que carga y <strong>de</strong> la potencia <strong>de</strong><br />

su sistema <strong>de</strong> <strong>de</strong>finición <strong>de</strong> misiones. La arquitectura que hemos<br />

<strong>de</strong>sarrollado – basada en el concepto <strong>de</strong>l AVCL – tiene varias ventajas:<br />

1. permite el <strong>de</strong>sarrollo <strong>de</strong> sensores y vehículos como módulos cuyas<br />

interacciones pue<strong>de</strong>n <strong>de</strong>finirse en tiempo <strong>de</strong> ejecución;<br />

2. otorga al operador gran flexibilidad y potencia <strong>de</strong> expresión para<br />

<strong>de</strong>finir los objetivos, parámetros y operaciones que conforman una<br />

misión;<br />

3. el AVCL es un mecanismo <strong>de</strong> almacenamiento <strong>de</strong> misiones.<br />

Adicionalmente se ha ilustrado la relación que existe entre el intérprete<br />

<strong>de</strong> AVCL presentado en este trabajo, con el sistema completo: un conjunto<br />

<strong>de</strong> UAVs y un Planificador <strong>de</strong> Misión con acceso a Sistemas <strong>de</strong><br />

Información Geográfica (GIS, por sus siglas en inglés).<br />

Agra<strong>de</strong>cimientos<br />

Este trabajo ha sido financiado por el Ministerio <strong>de</strong> Educación y Ciencia a<br />

través <strong>de</strong> los proyectos DPI 2003-01767 y 2006-03444. A<strong>de</strong>más se contó<br />

con el apoyo <strong>de</strong>l Consejo Nacional <strong>de</strong> Ciencia y Tecnología (México) y la<br />

Comunidad Autónoma <strong>de</strong> Madrid a través <strong>de</strong>l proyecto Robocity2030.


136 Robots <strong>de</strong> exteriores<br />

Referencias<br />

Air & Space Europe. 1999. Civilian applications: the challenges facing the<br />

UAV industry. Vol. I. pp. 63 – 66.<br />

Barrouil, C., y Lemaire, J. 1998. An integrated navigation system for a<br />

long range AUV. OCEANS Conference. Vol 1. pp. 331 – 335.<br />

<strong>de</strong>l Cerro, J., Valero, J., Vidal, J. y Barrientos, A. 2004. Mo<strong>de</strong>lling and<br />

i<strong>de</strong>ntification of a small unmanned helicopter. World Automation<br />

Congress.<br />

Dixon, K., Dolan, J., Huang, W., Paredis, C. y Khosla, P. 1999. RAVE: a<br />

real and virtual environment for multiple robot systems. Intelligent Robots<br />

and Systems Conference. Vol. 3. pp. 1360 – 1367.<br />

Doherty, P. 2004. Advanced research with autonomous aerial vehicles.<br />

International Conference on Principles of Knowledge Representation and<br />

Reasoning.<br />

Doherty, P., Granlund, G., Kuchinski, K., San<strong>de</strong>wall, E., Nordberg, K.,<br />

Skarman, E., y Wiklund, I. 2000. The WITAS Unmanned Aerial Vehicle<br />

project. 14 th European Conference on Artificial Intelligence. pp. 747 – 755.<br />

Duarte, C.N., y Werger, B.B. 2000. Defining a common control language<br />

for multiple autonomous vehicle operation. OCEANS Conference. Vol. 3.<br />

pp. 1861 – 1867.<br />

Gutiérrez, P., Barrientos, A., <strong>de</strong>l Cerro, J., San Martín, R. 2006. Mission<br />

planning and simulation of unmanned aerial vehicles with a GIS-based<br />

framework. AIAA Guidance, Navigation and Control Conference.<br />

Hristu, D., Krishnaprasad, P.S., An<strong>de</strong>rsson, S., Zhang, F., Sodre, P., y<br />

Anna, L.D. 2000. The MDLe engine: A software tool for hybrid motion<br />

control.<br />

Kim, H.J., Shim, D.H., y Sastry, S. 2002. Flying robots: mo<strong>de</strong>ling, control<br />

and <strong>de</strong>cision making. International Conference on Robotics and<br />

Automation. Vol 1. pp. 66 – 71.


Planificación <strong>de</strong> Misiones <strong>de</strong> UAV Mediante el Lenguaje <strong>de</strong> Control <strong>de</strong> Vehículos<br />

Aéreos 137<br />

Kim. T.W., y Yuh, J. 2003. Task <strong>de</strong>scription language for un<strong>de</strong>rwater<br />

robots. Intelligent Robots and Systems. Vol 1. pp. 565 – 570.<br />

Lillo, E. 2007. Estrategias para el guiado <strong>de</strong> un helicóptero autonomo:<br />

diseño y validación.<br />

Office of the Secretary of Defense. 2005. Unmanned Aircraft Systems<br />

(UAS) Roadmap, 2005 – 2030.<br />

Ramos, J.J.G., Maeta, S.M., Mirisola, L.G.B., Bueno, S.S., Bergerman,<br />

M., Faria, B.G., Pinto, G.E.M. y Brucipaglia, H. 2003. Internet-based<br />

solutions in the <strong>de</strong>velopment and operation of an unmanned robotic<br />

airship. Proceedings of the IEEE. pp. 463 – 474.<br />

Sinopoli, B., Micheli, M., Donato, G., y Koo, T.J. 2001. Vision based<br />

navigation for an unmanned aerial vehicle. International Conference on<br />

Robotics and Atuomation. Vol. 2. pp. 1757 – 1764.<br />

Tso, K.S., Tharp, G.K., Zhang, W. y Tai, A.T. 1999. A multi-agent<br />

operator interface for unmanned aerial vehicles. Digital Avionics<br />

Conference. Vol 2. pp. 641 – 648.<br />

Yuan, X., Ganesan, K., Snow<strong>de</strong>n, S., Smith, S.M., y Evett, M. 1999.<br />

Mission command macros for autonomous un<strong>de</strong>rwater vehicle. OCEANS<br />

Conference. Vol. 3. pp. 1312 – 1316.


138 Robots <strong>de</strong> exteriores


CAPÍTULO 9<br />

Sistema Robotizado para la Detección y<br />

Localización <strong>de</strong> Minas Antipersonas<br />

R. PONTICELLI, E. GARCIA, P. GONZALEZ <strong>DE</strong> SANTOS y M.<br />

ARMADA<br />

Departamento <strong>de</strong> Control Automático, Instituto <strong>de</strong> <strong>Automática</strong> Industrial –<br />

CSIC, pgds@iai.csic.es<br />

La <strong>de</strong>tección <strong>de</strong> minas en tareas humanitarias requiere la utilización <strong>de</strong><br />

sensores específicos normalmente formados por dispositivos <strong>de</strong> <strong>de</strong>tección<br />

puntual los cuales <strong>de</strong>ben <strong>de</strong>splazarse sobre el terreno, para el barrido <strong>de</strong><br />

gran<strong>de</strong>s áreas, mediante una combinación <strong>de</strong> manipuladores y plataformas<br />

móviles. Los manipuladores necesitan cierto tipo <strong>de</strong> sensores que les permitan<br />

adaptarse a las irregularida<strong>de</strong>s <strong>de</strong>l terreno así como <strong>de</strong>tectar obstáculos<br />

en la trayectoria <strong>de</strong>l <strong>de</strong>tector. Todos estos sensores <strong>de</strong>ben integrarse en<br />

una cabeza sensora encargada <strong>de</strong> <strong>de</strong>tectar alarmas (minas antipersonas potenciales)<br />

y proporcionar las funciones necesarias para permitir el guiado<br />

<strong>de</strong> la plataforma móvil. En este capítulo se presenta una cabeza sensora basada<br />

en un <strong>de</strong>tector <strong>de</strong> minas comercial y un sistema <strong>de</strong> seguimiento <strong>de</strong>l terreno<br />

que se ha configurado en torno a una red <strong>de</strong> medidores <strong>de</strong> distancia.<br />

El manipulador <strong>de</strong> barrido está configurado como una ca<strong>de</strong>na cinemática<br />

abierta <strong>de</strong> 5 grados <strong>de</strong> libertad con articulaciones rotatorias. Este capítulo<br />

se centra en la <strong>de</strong>scripción <strong>de</strong> la cabeza sensora, <strong>de</strong>scribe brevemente el<br />

manipulador, y documenta la validación experimental <strong>de</strong>l conjunto.<br />

1 Introducción<br />

Las activida<strong>de</strong>s encaminadas a la <strong>de</strong>sactivación humanitaria 1 <strong>de</strong> minas<br />

antipersonas requiere la utilización <strong>de</strong> sistemas robotizados que incremen-<br />

1<br />

Se consi<strong>de</strong>ran dos tipos básicos <strong>de</strong> activida<strong>de</strong>s relacionadas con la <strong>de</strong>sactivación<br />

<strong>de</strong> minas: <strong>de</strong>sactivación militar, que tiene lugar durante el conflicto, y <strong>de</strong>sactivación<br />

humanitaria, que se <strong>de</strong>sarrolla <strong>de</strong>spués <strong>de</strong> finalizar la contienda.


140 Robots <strong>de</strong> exteriores<br />

ten la velocidad <strong>de</strong> <strong>de</strong>tección y, a<strong>de</strong>más, alejen al operario <strong>de</strong>l campo minado<br />

por razones <strong>de</strong> seguridad (Nicoud, 1997). Aunque para tales aplicaciones<br />

se requieren sistemas robotizados móviles eficientes, es primordial<br />

la investigación básica <strong>de</strong> dispositivos sensorizados que permitan el funcionamiento<br />

<strong>de</strong> los robots y sistemas automáticos. La mayoría <strong>de</strong> los <strong>de</strong>tectores<br />

<strong>de</strong> minas antipersonas son dispositivos puntuales y, por tanto se<br />

precisa moverlos sobre áreas mayores utilizando fundamentalmente robots<br />

manipuladores. Por tanto, los sistemas <strong>de</strong> <strong>de</strong>tección robotizados normalmente<br />

incluyen una cabeza sensora, un manipulador y una plataforma móvil:<br />

el manipulador <strong>de</strong>splaza la cabeza sensora para barrer áreas gran<strong>de</strong>s, y<br />

ésta le permite adaptarse a las irregularida<strong>de</strong>s <strong>de</strong>l terreno. Ambos subsistemas<br />

se <strong>de</strong>splazan sobre los campos minados mediante la plataforma móvil.<br />

Brújula magnética<br />

Manipulador<br />

Antena GPS<br />

Plataforma móvil<br />

Cabeza sensora<br />

Fig. 1. Configuración <strong>de</strong>l sistema DYLEMA<br />

El objetivo básico <strong>de</strong>l proyecto DYLEMA 2 es la configuración <strong>de</strong> un<br />

sistema para la <strong>de</strong>tección y localización eficiente <strong>de</strong> minas antipersonas<br />

que incluye una cabeza sensora, un manipulador y una plataforma móvil<br />

basada en un robot caminante hexápodo (véase la Fig. 1). La cabeza sensora<br />

está formada por un <strong>de</strong>tector comercial <strong>de</strong> minas <strong>de</strong> contenido metálico<br />

y una red <strong>de</strong> sensores para la <strong>de</strong>tección y seguimiento <strong>de</strong> las irregularida<strong>de</strong>s<br />

<strong>de</strong>l terreno <strong>de</strong>nominado Sistema <strong>de</strong> Seguimiento <strong>de</strong>l Terreno (SST). La<br />

principal misión <strong>de</strong>l SST es proporcionar información al controlador <strong>de</strong>l<br />

2<br />

Técnicas <strong>de</strong> sensorización y control para la <strong>de</strong>tección y localización eficiente <strong>de</strong><br />

minas antipersonas (PN I+D+i DPI2004-05824).


Sistema Robotizado para la Detección y Localización <strong>de</strong> Minas<br />

Antipersonas 141<br />

manipulador para que mantenga la cabeza sensora a una <strong>de</strong>terminada distancia<br />

<strong>de</strong>l terreno mientas efectúa el barrido. Adicionalmente, el manipulador<br />

tiene que evitar los obstáculos que aparezcan en la trayectoria <strong>de</strong> la cabeza<br />

tales como gran<strong>de</strong>s piedras, arbustos, árboles, etc. La información <strong>de</strong><br />

la cabeza sensora también la utiliza el controlador <strong>de</strong>l sistema para guiar la<br />

plataforma móvil durante las misiones <strong>de</strong> <strong>de</strong>tección.<br />

En el área <strong>de</strong> la <strong>de</strong>sactivación <strong>de</strong> minas, se acepta ampliamente que una<br />

cabeza sensora eficiente <strong>de</strong>bería mezclar diferentes tecnologías <strong>de</strong> <strong>de</strong>tección.<br />

Sin embargo, el proyecto DYLEMA se centra únicamente en el <strong>de</strong>sarrollo<br />

<strong>de</strong> sistemas robotizados más que en tecnologías <strong>de</strong> <strong>de</strong>tección. Por esta<br />

razón, para <strong>de</strong>tección <strong>de</strong> alarmas consi<strong>de</strong>ramos el sensor más sencillo:<br />

un <strong>de</strong>tector <strong>de</strong> metales. Después <strong>de</strong> <strong>de</strong>tectar la alarma, su localización se<br />

registra en una base <strong>de</strong> datos para un posterior análisis y <strong>de</strong>sactivación, si<br />

proce<strong>de</strong>, por un equipo <strong>de</strong> especialistas.<br />

Este capítulo se estructura en las siguientes secciones. La sección 2 presenta<br />

el <strong>de</strong>sglose <strong>de</strong> la cabeza sensora y <strong>de</strong>talla el <strong>de</strong>tector <strong>de</strong> metales utilizado<br />

así como el diseño <strong>de</strong>l sistema <strong>de</strong> seguimiento <strong>de</strong>l terreno. La sección<br />

3 presenta las principales características <strong>de</strong>l manipulador y las<br />

particularida<strong>de</strong>s <strong>de</strong> su diseño. La sección 4 presenta los resultados obtenidos<br />

con el manipulador y la cabeza sensora dispuestos sobre una guía lineal<br />

que simula el <strong>de</strong>splazamiento <strong>de</strong> la plataforma móvil. Finalmente, la<br />

sección 5 presenta las conclusiones <strong>de</strong>l trabajo.<br />

2. Elementos <strong>de</strong>l sistema<br />

La cabeza sensora está formada por un <strong>de</strong>tector <strong>de</strong> minas comercial y un<br />

sistema <strong>de</strong> seguimiento <strong>de</strong>l terreno, SST, basado en una red <strong>de</strong> medidores<br />

<strong>de</strong> distancia divididos en dos grupos: grupo <strong>de</strong> sensores laterales (GSL) y<br />

grupo <strong>de</strong> sensor <strong>de</strong>l terreno (GST) (Ponticelli et al., 2006). Estos elementos<br />

están montados en un bastidor <strong>de</strong> arnite, plástico <strong>de</strong> altas prestaciones<br />

que combina rigi<strong>de</strong>z y resistencia. Se ha usado este compuesto para evitar<br />

las interferencias sobre el <strong>de</strong>tector <strong>de</strong> metales.<br />

2.1 Detector <strong>de</strong> metales<br />

Para la <strong>de</strong>tección <strong>de</strong> minas antipersonas se utilizan diferentes tecnologías.<br />

La más simple consiste en un sencillo <strong>de</strong>tector <strong>de</strong> metales. Sin embargo,<br />

esta tecnología sólo es efectiva cuando las minas disponen que alguna,<br />

aunque pequeña, cantidad <strong>de</strong> metal y son ineficientes con minas no metáli-


142 Robots <strong>de</strong> exteriores<br />

cas, por ejemplo la minas fabricadas exclusivamente en plástico o en ma<strong>de</strong>ra.<br />

En este caso, nos vemos obligados a utilizar otras tecnologías basadas<br />

en radar penetrante en tierra (GPR) (Ga<strong>de</strong>r et al., 2000), sensores <strong>de</strong><br />

sustancias químicas (Albert et al, 1999), o incluso sistemas olfativos<br />

(Rouhi, 1997).<br />

En el proyecto DYLEMA se ha utilizado el <strong>de</strong>tector comercia Schiebel<br />

AN-19/2 (véase la Fig. 2). Este <strong>de</strong>tector está homologado por las tropas <strong>de</strong><br />

la OTAN y se diseñó para <strong>de</strong>tectar contenidos muy pequeños <strong>de</strong> metal sobre<br />

el suelo o enterrados a poca profundidad. Este <strong>de</strong>tector es i<strong>de</strong>al para<br />

inspecciones <strong>de</strong> terreno rápidas y precisas por su ligereza e inmunidad a<br />

interferencias. Su funcionamiento es in<strong>de</strong>pendiente <strong>de</strong> la temperatura <strong>de</strong><br />

trabajo, su sensibilidad no <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la velocidad <strong>de</strong> <strong>de</strong>splazamiento y<br />

dispone <strong>de</strong> circuitos automáticos <strong>de</strong> auto-diagnóstico.<br />

Este dispositivo está diseñado para ser utilizado por un operario y produce<br />

una salida audible <strong>de</strong> una <strong>de</strong>terminada frecuencia en un auricular. La<br />

frecuencia <strong>de</strong> esta señal aumenta cuando el <strong>de</strong>tector pasa sobre algún componente<br />

metálico. Esta señal se ha adaptado electrónicamente para ser introducida<br />

en el controlador <strong>de</strong>l sistema DYLEMA. Cuando el sistema <strong>de</strong>tecta<br />

una alarma, su posición, obtenida a través <strong>de</strong> la cinemática <strong>de</strong>l brazo<br />

manipulador y <strong>de</strong> la posición <strong>de</strong>terminada por el GPS situado en la plataforma<br />

móvil, se registra en la base <strong>de</strong> datos. Esta base <strong>de</strong> datos es el punto<br />

<strong>de</strong> partida <strong>de</strong> la tarea <strong>de</strong> <strong>de</strong>sactivación que no se resuelve en este trabajo <strong>de</strong><br />

investigación.<br />

2.2. Sistema <strong>de</strong> seguimiento <strong>de</strong>l terreno<br />

El grupo <strong>de</strong> sensores laterales (GSL) y grupo <strong>de</strong> sensores <strong>de</strong>l terreno<br />

(GST) están basados en un conjunto <strong>de</strong> medidores infra-rojos <strong>de</strong> distancia.<br />

Auriculares<br />

Equipo electrónico<br />

y baterías<br />

Detector<br />

Fig. 2. Detector <strong>de</strong> minas


Sistema Robotizado para la Detección y Localización <strong>de</strong> Minas<br />

Antipersonas 143<br />

Cada medidor proporciona una señal que indica la distancia <strong>de</strong>l objeto situado<br />

frente a él. El prototipo <strong>de</strong>sarrollado dispone <strong>de</strong> un sensor infra-rojo<br />

SHARO GP2D120 (véase la Fig. 3). La relación entre tensión <strong>de</strong> salida <strong>de</strong><br />

los dispositivos y la distancia al objeto se presenta en la Fig. 4.<br />

El sensor está basado en un par <strong>de</strong> emisores-receptores infra-rojos con<br />

un rango <strong>de</strong> operación <strong>de</strong> 4-30 cm que requieren una tensión <strong>de</strong> alimentación<br />

<strong>de</strong> 5 VDC a 40 mA. A pesar <strong>de</strong> la naturaleza analógica <strong>de</strong> la salida, el<br />

sensor muestrea la distancia con un periodo <strong>de</strong> 40 ms. Este periodo <strong>de</strong>termina<br />

la frecuencia mínima <strong>de</strong> muestreo <strong>de</strong>l sistema y establece, por tanto,<br />

la velocidad máxima <strong>de</strong> barrido. Este sensor proporciona una medida que<br />

<strong>de</strong>pen<strong>de</strong> <strong>de</strong> la luz, color y textura <strong>de</strong> la superficie. Sin embargo, para las<br />

distancias medidas en nuestra aplicación el error introducido por las diferentes<br />

condiciones <strong>de</strong> luz y propieda<strong>de</strong>s <strong>de</strong> la superficie es inferior a 1 cm,<br />

Fig. 3. GP2D120 IR Sensor<br />

que queda por <strong>de</strong>bajo <strong>de</strong>l error admisible.<br />

La distancia a la superficie <strong>de</strong>tectada se mi<strong>de</strong> a través <strong>de</strong> un haz <strong>de</strong> luz<br />

infra-roja con una sección aproximadamente elíptica que se expan<strong>de</strong> con la<br />

distancia al emisor. A una distancia <strong>de</strong> 10 cm <strong>de</strong>l emisor el haz elíptico<br />

tiene unos ejes menor y mayor <strong>de</strong> 2 y 5 cm, respectivamente. La figura 5<br />

muestra las dimensiones típicas <strong>de</strong>l haz en función <strong>de</strong> la distancia al objeto.<br />

Las ventajas <strong>de</strong> este dispositivo para nuestro prototipo están fundamentalmente<br />

en su tamaño y peso (8.4 gramos incluyendo electrónica asociada).<br />

Debe tenerse en cuenta que, en principio, cualquier tipo <strong>de</strong> medidor<br />

<strong>de</strong> distancia (ultra-sonido, láser, micro-ondas) pue<strong>de</strong> servir para esta aplicación;<br />

la utilización <strong>de</strong> sensores <strong>de</strong> infra-rojo se ha <strong>de</strong>bido a las características<br />

<strong>de</strong> tamaño, peso y precio, fundamentalmente.


144 Robots <strong>de</strong> exteriores<br />

Voltaje (×5×2 -12 V)<br />

Distancia (cm)<br />

Fig. 4. Salidas características <strong>de</strong> los medidores <strong>de</strong> infra-rojos utilizados. Pue<strong>de</strong>n<br />

observarse pequeñas diferencias entre las salidas <strong>de</strong> los diferentes sensores.<br />

2.2.1 Grupo <strong>de</strong> sensores laterales<br />

Para <strong>de</strong>tectar obstáculos en la trayectoria <strong>de</strong> la cabeza sensora sin contacto<br />

mecánico se utiliza una red <strong>de</strong> medidores <strong>de</strong> distancia situados alre<strong>de</strong>dor<br />

<strong>de</strong> dicha cabeza sensora. Los medidores se sitúan equidistantes en el<br />

anillo exterior <strong>de</strong> la cabeza sensora, con los haces orientados tangencialmente<br />

al anillo exterior. El área cubierta por cada sensor se ajusta para que<br />

las áreas se solapen (véase la Fig. 6).<br />

Con esta configuración, el número <strong>de</strong> sensores necesarios para cubrir<br />

completamente el perímetro es inferior al necesario si los medidores se situasen<br />

con su haz orientados radialmente. De este modo, un objeto que se<br />

aproxime a la cabeza sensora en dirección radial será <strong>de</strong>tectado al menos<br />

por un medidor. Sin embargo, aparecen zonas muertas entre dos áreas adyacentes<br />

don<strong>de</strong> un objeto pue<strong>de</strong> no ser <strong>de</strong>tectado. Para evitar esta situación,<br />

pue<strong>de</strong>n implementarse estrategias <strong>de</strong> barrido con el manipulador que<br />

impida el <strong>de</strong>splazamiento <strong>de</strong> la cabeza sensora en la dirección <strong>de</strong> las zonas<br />

muertas.<br />

Este grupo sensor <strong>de</strong>be ser capaz <strong>de</strong> <strong>de</strong>tectar obstáculos en la trayectoria<br />

<strong>de</strong> la cabeza sensora mientras se proporciona información cualitativa sobre<br />

la distancia <strong>de</strong> los objetos próximos (presencia/ausencia <strong>de</strong> objeto, distancia<br />

aproximada, etc). La forma <strong>de</strong> la superficie <strong>de</strong> un objeto se pue<strong>de</strong> esti-


Sistema Robotizado para la Detección y Localización <strong>de</strong> Minas<br />

Antipersonas 145<br />

mar a partir <strong>de</strong> la información recibida por dos o más sensores. Esta información<br />

se utiliza para que el controlador <strong>de</strong>l manipulador planifique la trayectoria<br />

<strong>de</strong> la cabeza sensora.<br />

2.2.2. Grupo <strong>de</strong> sensores <strong>de</strong>l terreno<br />

El grupo <strong>de</strong> sensores <strong>de</strong>l terreno utiliza un conjunto <strong>de</strong> medidores para<br />

cubrir un área bajo la cabeza sensora, permitiendo medir la distancia relativa<br />

a las elevaciones <strong>de</strong>l terreno y <strong>de</strong>tectar obstáculos sin contacto mecánico.<br />

Los medidores están también situados en el anillo exterior <strong>de</strong> la cabeza<br />

sensora en intervalos regulares y con el haz apuntando hacia el suelo.<br />

Los medidores <strong>de</strong> distancia, normalmente, necesitan una distancia mínima<br />

al obstáculo para operar, por tanto, su disposición está elevada ligeramente<br />

sobre el plano en el que se encuentra el <strong>de</strong>tector <strong>de</strong> metales. Este montaje y<br />

las direcciones <strong>de</strong> los haces <strong>de</strong> los medidores se presentan en la Fig. 7.<br />

Voltaje analógico V0 (V)<br />

Fig. 5. Haz infra-rojo típico<br />

Distancia <strong>de</strong> <strong>de</strong>tección X (cm)


146 Robots <strong>de</strong> exteriores<br />

Bastidor<br />

Medidor lateral<br />

Haz lateral <strong>de</strong>l<br />

medidor<br />

Fig. 6. Vista <strong>de</strong>l sensor lateral. Las áreas <strong>de</strong> <strong>de</strong>tección están sombreadas.<br />

Casos: (A) Zona en la que no se <strong>de</strong>tectan pequeños objetos, (B) Detección <strong>de</strong> un<br />

objeto mayor que la zona ciega, (C) Detección <strong>de</strong> un objeto gran<strong>de</strong>, (D) Detección<br />

<strong>de</strong> un objeto pequeño, (E) Detección <strong>de</strong> un matorral compuesto por objetos <strong>de</strong>lgados<br />

Con la información <strong>de</strong> los medidores se pue<strong>de</strong>n calcular los parámetros<br />

que <strong>de</strong>terminan la ecuación <strong>de</strong>l plano bajo el <strong>de</strong>tector <strong>de</strong> metales. Uno <strong>de</strong><br />

los objetivos es explorar el plano bajo la cabeza sensora (ángulos y distancias)<br />

para que el manipulador pueda seguir una trayectoria que mantenga<br />

la cabeza cerca (y paralela al suelo). Se preten<strong>de</strong> que el <strong>de</strong>tector <strong>de</strong> minas<br />

se mantenga a unos 5 cm sobre el terreno mientras sigue las irregularida<strong>de</strong>s<br />

<strong>de</strong>l terreno. Un segundo objetivo <strong>de</strong> este sistema es proporcionar in-<br />

Haz lateral<br />

Bastidor<br />

Haz <strong>de</strong> terreno<br />

Sensor <strong>de</strong> terreno<br />

Sensor lateral<br />

Fig. 7. Sensores laterales, sensores <strong>de</strong> terreno e ilustración <strong>de</strong> los haces.


Sistema Robotizado para la Detección y Localización <strong>de</strong> Minas<br />

Antipersonas 147<br />

formación que pueda utilizarse para obtener mapas <strong>de</strong> elevación <strong>de</strong> terreno<br />

combinando medidas <strong>de</strong> la cabeza sensora y la cinemática <strong>de</strong>l manipulador<br />

con las medidas proporcionadas con el GPS.<br />

Existen 8 medidores <strong>de</strong> distancia en este conjunto por lo que se obtienen<br />

8 puntos para <strong>de</strong>terminar el plano medio <strong>de</strong>l suelo con respecto a la cabeza<br />

sensora. Con esta información se han <strong>de</strong>sarrollado estrategias <strong>de</strong> control<br />

para el manipulador <strong>de</strong> manera que la cabeza sensora pueda seguir las irregularida<strong>de</strong>s<br />

<strong>de</strong>l terreno así como el contorno <strong>de</strong> objetos en la trayectoria <strong>de</strong><br />

la cabeza sensora.<br />

2.3 Configuración <strong>de</strong> la cabeza sensora<br />

La cabeza sensora, como ya se ha indicado, está compuesta por dos dispositivos:<br />

el <strong>de</strong>tector <strong>de</strong> metales y el sistema <strong>de</strong> seguimiento <strong>de</strong>l terreno<br />

(SST) dividido en el grupo <strong>de</strong> sensores laterales (GSL) y el grupo <strong>de</strong> sensor<br />

<strong>de</strong>l terreno (GST). El <strong>de</strong>tector <strong>de</strong> metales es el dispositivo principal y<br />

está situado en el centro <strong>de</strong>l bastidor. El GSL está dispuesto sobre el exterior<br />

<strong>de</strong>l bastidor y el GST está colocado sobre la parte superior <strong>de</strong>l bastidor.<br />

Un requerimiento <strong>de</strong>l <strong>de</strong>tector <strong>de</strong> metales es que no pue<strong>de</strong>n existir<br />

componentes metálicos <strong>de</strong>ntro <strong>de</strong> un cilindro imaginario cuya sección es<br />

coaxial e igual al anillo <strong>de</strong> <strong>de</strong>tección, como se ilustra en la Fig. 8. El sistema<br />

completo se representa en la Fig. 9 que también muestra el controlador<br />

<strong>de</strong> la cabeza sensora.<br />

Tanto el GSL como el GST están conectados al controlador <strong>de</strong> la cabeza<br />

sensora que consiste en una tarjeta que incorpora un bloque <strong>de</strong> adquisición<br />

Detector <strong>de</strong> minas<br />

Fig. 8. Cilindro virtual libre <strong>de</strong> componentes metálicos para no interferir<br />

con el <strong>de</strong>tector <strong>de</strong> minas.


148 Robots <strong>de</strong> exteriores<br />

<strong>de</strong> datos, un bloque <strong>de</strong> procesamiento <strong>de</strong> datos, un bloque <strong>de</strong> comunicaciones<br />

y el bloque <strong>de</strong> control. Esta unidad <strong>de</strong> control adquiere las señales analógicas<br />

<strong>de</strong> los 16 medidores <strong>de</strong> distancia y las convierte en señales digitales<br />

<strong>de</strong> 12 bits. Posteriormente, estas señales se filtran en el procesador <strong>de</strong><br />

señal y se introducen en un bloque <strong>de</strong> estimación don<strong>de</strong> se transforman las<br />

señales digitales en señales que representan la distancia a la que se encuentra<br />

un objeto en el rango 4 – 30 cm. Cada bloque <strong>de</strong> estimación se calibra<br />

para su correspondiente medidor <strong>de</strong> distancia y la estimación se realiza suponiendo<br />

que el proceso sigue una curva exponencial <strong>de</strong>l tipo<br />

f ( x) = ax . b + c<br />

Don<strong>de</strong> x es el valor digital <strong>de</strong>l medidor <strong>de</strong> distancias y a, b y c son los<br />

coeficientes estimados.<br />

La salida para un <strong>de</strong>terminado medidor y el error entre la distancia real<br />

y la estimada se presenta en la Fig. 10. La estimación <strong>de</strong>l error es menos<br />

que ±0.20 cm, excepto para medidas inferiores a 5 cm, don<strong>de</strong> el error pue<strong>de</strong><br />

llegar a alcanzar ±1 cm. La medida <strong>de</strong> distancia tiene una precisión teó-<br />

Punto <strong>de</strong> fijación al manipulador<br />

Medidor <strong>de</strong> distancia<br />

Controlador <strong>de</strong> la cabeza<br />

sensora<br />

Detector <strong>de</strong> minas<br />

Bastidor<br />

Fig. 9. Cabeza sensora


Sistema Robotizado para la Detección y Localización <strong>de</strong> Minas<br />

Antipersonas 149<br />

rica <strong>de</strong> ±0.1 cm, pero en realidad el comportamiento <strong>de</strong>l medidor no es tan<br />

preciso como fuera <strong>de</strong>seable. La medida <strong>de</strong> distancia <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la reflectividad<br />

y textura <strong>de</strong> la superficie que <strong>de</strong>tecta, <strong>de</strong>l ángulo <strong>de</strong> inci<strong>de</strong>ncia y <strong>de</strong><br />

la temperatura ambiente, entre otros factores menos significativos. Como<br />

se presentará en los resultados experimentales, la precisión real <strong>de</strong>l sistema<br />

está <strong>de</strong>ntro <strong>de</strong> ±1 cm, que es suficiente para la aplicación que nos ocupa.<br />

Después <strong>de</strong> que las 16 medidas <strong>de</strong> distancia se han filtrado y codificado<br />

se trasmiten al procesador central encargado <strong>de</strong>l sistema <strong>de</strong> manipulación.<br />

Esta información es <strong>de</strong> diferente naturaleza: medidas directas, medidas calibradas,<br />

medidas filtradas y medidas elaboradas. Estas últimas proporcionan<br />

los parámetros <strong>de</strong>l plano medio teórico bajo la cabeza sensora, el cual<br />

se utiliza por el controlador <strong>de</strong>l manipulador para controlar la altura <strong>de</strong> la<br />

cabeza sensora y ajustar su orientación hasta que queda paralela al suelo.<br />

La i<strong>de</strong>a <strong>de</strong>trás <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> este sistema electrónico <strong>de</strong> adquisición,<br />

elaboración y comunicación es reducir el cableado <strong>de</strong>s<strong>de</strong> la cabeza sensora<br />

hasta el controlador general a bordo <strong>de</strong> la plataforma móvil y reducir el<br />

flujo <strong>de</strong> información al mínimo. La unidad <strong>de</strong> control <strong>de</strong> la cabeza sensora<br />

efectúa todas las operaciones <strong>de</strong> procesamiento <strong>de</strong> bajo nivel y comunicaciones,<br />

mientras que el controlador central <strong>de</strong>l sistema recibe los datos sin<br />

esfuerzo computacional utilizando un número mínimo <strong>de</strong> cables.<br />

3. Manipulador <strong>de</strong> barrido<br />

Como ya se ha mencionado, el proyecto DYLEMA requiere un dispositivo<br />

para <strong>de</strong>splazar la cabeza sensora sobre áreas gran<strong>de</strong>s. El sistema más<br />

sencillo es un manipulador diseñado a propósito para esta aplicación. Este<br />

manipulador requiere 3 GDL para posicionar la cabeza sensora en un volumen<br />

3D, ya que, asumiendo que se van a barrer áreas no planas, se precisan<br />

movimientos en las componentes x, y y z <strong>de</strong>l entorno <strong>de</strong> trabajo. A<strong>de</strong>más,<br />

el <strong>de</strong>tector tiene que adaptarse a inclinaciones en el terreno, por tanto,<br />

se precisan dos GDL adicionales en la muñeca <strong>de</strong>l manipulador para po<strong>de</strong>r<br />

controlar la orientación <strong>de</strong> la cabeza sensora. Como el <strong>de</strong>tector tiene simetría<br />

radial no se precisa un sexto GDL para la orientación <strong>de</strong> la cabeza. Resumiendo,<br />

el manipulador <strong>de</strong>be tener al menos 5 GDL para llevar a cabo<br />

esta aplicación.


150 Robots <strong>de</strong> exteriores<br />

Con relativa frecuencia, durante las operaciones <strong>de</strong> <strong>de</strong>tección se hace<br />

necesario cortar hierbas o pequeños arbustos; por tanto, el manipulador<br />

<strong>de</strong>be estar dotado <strong>de</strong> un cortador <strong>de</strong> vegetación. En nuestro caso se ha utilizado<br />

una <strong>de</strong>sbrozadora comercial que se sitúa sobre la cabeza sensora <strong>de</strong><br />

manera que sólo es necesario <strong>de</strong>splazar la articulación A-4 para poner en<br />

posición <strong>de</strong> operación uno u otro dispositivo (véase la Fig. 11). La posición<br />

relativa <strong>de</strong> los dispositivos es tal que los pares necesarios en la articulación<br />

A-4 son prácticamente nulos. El manipulador ha sido diseñado para<br />

soportar exclusivamente la carga que supone la cabeza sensora y la <strong>de</strong>sbrozadora.<br />

Para esta aplicación una estructura RRR para el manipulador proporciona<br />

suficiente movilidad y al estar la estructura principal en un plano perpendicular<br />

al suelo se disminuyen las colisiones con el entorno (asumiendo<br />

que el robot está nivelado). Otro aspecto clave en el diseño <strong>de</strong>l manipulador<br />

consiste en disponer las masas <strong>de</strong> los motores CC (elementos más pesados<br />

en la estructura) <strong>de</strong> manera que se reduzcan los pares necesarios en<br />

las articulaciones. La Fig. 11 muestra una fotografía <strong>de</strong>l manipulador. La<br />

articulación A-5 proporciona un rango <strong>de</strong> cabeceo <strong>de</strong> ±45º a la cabeza sensora.<br />

La articulación A-4 tiene un <strong>de</strong>splazamiento <strong>de</strong> ±200º (balanceo) pa-<br />

Distancia linealizada (cm)<br />

Lectura <strong>de</strong> distancias en los sensores (×5×2 -12 V)<br />

Error <strong>de</strong> en la distancia<br />

linealizada (cm)<br />

Lectura <strong>de</strong> distancias en los sensores (×5×2 -12 V)<br />

Figura 10. Ajunte <strong>de</strong> la salida y estimación <strong>de</strong> errores para los parámetros: a<br />

=11410, b = -0.9688 , c = -0.8051


Sistema Robotizado para la Detección y Localización <strong>de</strong> Minas<br />

Antipersonas 151<br />

ra po<strong>de</strong>r colocar en posición <strong>de</strong> trabajo la cabeza o la <strong>de</strong>sbrozadora. La articulación<br />

A-1 es una articulación simple y las articulaciones A-2 y A-3,<br />

que soportan los pares más elevados, están configuradas en torno a un sistema<br />

diferencial formado por tres piñones cónicos. Dos motores hacen girar<br />

directamente dos piñones cónicos opuestos el uno al otro. Un tercer piñón<br />

cónico es forzado a (a) rotar alre<strong>de</strong>dor <strong>de</strong>l eje común <strong>de</strong> los piñones<br />

fijos, (b) girar alre<strong>de</strong>dor <strong>de</strong> su propio eje o (c), en una combinación <strong>de</strong> rotaciones<br />

(a) y (b), <strong>de</strong>pendiendo <strong>de</strong> la dirección <strong>de</strong> giro <strong>de</strong> los motores. Con<br />

esta configuración los motores trabajan al mismo tiempo actuando para<br />

producir los pares requeridos, es <strong>de</strong>cir, cada motor proporciona aproximadamente<br />

la mitad <strong>de</strong>l par requerido actuando en paralelo (cuando los movimientos<br />

<strong>de</strong> las articulaciones A-2 y A-3 están <strong>de</strong>sacoplados), mientras<br />

que un simple motor <strong>de</strong>bería proporcionar in<strong>de</strong>pendientemente el par <strong>de</strong><br />

una articulación.<br />

La Tabla 1 resume las características <strong>de</strong>l manipulador. Algunas <strong>de</strong> estas<br />

características, tales como la longitud <strong>de</strong> los eslabones <strong>de</strong>l manipulador,<br />

<strong>de</strong>pen<strong>de</strong>n <strong>de</strong> las dimensiones <strong>de</strong> la plataforma móvil (altura <strong>de</strong>l cuerpo y<br />

envergadura <strong>de</strong> las patas) seleccionadas con unos criterios ajenos a los objetivos<br />

<strong>de</strong> este capítulo.<br />

La estructura <strong>de</strong>l manipulador se ha fabricado básicamente en aluminio.<br />

Algunos componentes sometidos a esfuerzos han sido fabricados en duroaluminio<br />

7075 y todo el sistema está accionado por motores <strong>de</strong> CC.<br />

Articulación/<br />

Eslabón<br />

Tabla 1. Principales características <strong>de</strong>l manipulador<br />

Longitud<br />

eslabón<br />

(mm)<br />

<strong>de</strong><br />

Potencia<br />

<strong>de</strong>l motor<br />

(watt)<br />

Reductor<br />

Masa<br />

(kg)<br />

1 206 220 492:1 1.8<br />

2 375 220 881:1 2.3<br />

3 100 220 881:1 2<br />

4 361 83.2 246:1 0.5<br />

5 135 83.2 287:1 0.5<br />

Total 7.1


152 Robots <strong>de</strong> exteriores<br />

4 Resultados experimentales<br />

Para la calibración <strong>de</strong>l sistema, el conjunto manipulador-cabeza sensora<br />

se ha montado sobre una guía lineal motorizada <strong>de</strong> 3 m <strong>de</strong> longitud que<br />

simula el movimiento <strong>de</strong> la plataforma móvil (véase la Fig. 12). Se han<br />

realizado experimentos para i<strong>de</strong>ntificar la superficie <strong>de</strong>l suelo. La Fig. 13<br />

Grass cutter<br />

A-4<br />

A-5<br />

A-3<br />

Sensor head<br />

A-1<br />

A-2<br />

Fig. 11. Manipulador y cabeza sensora<br />

Fig. 12. Guía lineal


Sistema Robotizado para la Detección y Localización <strong>de</strong> Minas<br />

Antipersonas 153<br />

Fig. 13. Experimentos para generación <strong>de</strong> mapas <strong>de</strong> elevación <strong>de</strong> terreno<br />

muestra dos fotografías <strong>de</strong>l montaje sobre un suelo irregular formado por<br />

cuerpos <strong>de</strong> geometría regular como son cilindros y prismas. Como los medidores<br />

<strong>de</strong> distancia están dispuestos en configuración circular, los datos<br />

proporcionados están <strong>de</strong>salineados respecto a los otros sensores según se<br />

<strong>de</strong>splaza la cabeza sensora sobre la guía lineal. Para reconstruir la superficie<br />

barrida con la cabeza <strong>de</strong>ben alinearse todos los datos previamente. La<br />

Fig. 14 reconstruye la superficie bajo la cabeza. Esta reconstrucción se realizó<br />

moviendo la guía lineal a velocidad constante. Un estudio numérico<br />

muestra que la superficie se pue<strong>de</strong> reproducir con una precisión inferior a<br />

±1 cm, que resulta ser suficientemente buena para las aplicaciones <strong>de</strong> <strong>de</strong>tección<br />

<strong>de</strong> minas antipersonas.


154 Robots <strong>de</strong> exteriores<br />

Fig. 14. Reconstrucción 3D <strong>de</strong>l terreno bajo la cabeza sensora<br />

El dispositivo manipulador-cabeza sensora se ha probado en un terreno<br />

natural como se muestra en la Fig. 15. La cabeza sensora está instalada<br />

como herramienta <strong>de</strong>l manipulador que se <strong>de</strong>splaza sobre la guía lineal. El<br />

procedimiento, como ya se ha indicado, consiste en barrer la zona situada<br />

<strong>de</strong>lante <strong>de</strong> la cabeza sensora mediante movimientos <strong>de</strong>l manipulador cuyo<br />

controlador adapta la altura y orientación <strong>de</strong> la cabeza en función <strong>de</strong> los<br />

datos proce<strong>de</strong>ntes <strong>de</strong>l controlador <strong>de</strong> la cabeza sensora.<br />

Como ya se ha mencionado, la sección <strong>de</strong>l haz infra-rojo aumenta con la<br />

distancia. Si el objeto está más alejado <strong>de</strong> 15 cm, el haz pue<strong>de</strong> interferir<br />

con el sistema <strong>de</strong> seguimiento <strong>de</strong>l terreno produciendo una oscilación <strong>de</strong><br />

alre<strong>de</strong>dor <strong>de</strong> 1 Hz en las lecturas <strong>de</strong> los medidores <strong>de</strong> distancia, con una<br />

modulación en los pulsos cada 2 ó 3 segundos. Este comportamiento <strong>de</strong>saparece<br />

en cuanto los sensores adyacentes se cortan o bien se sitúa un objeto<br />

a una distancia inferior a los 15 cm. Cuando el suelo se encuentra a<br />

más <strong>de</strong> 15 cm <strong>de</strong>l sensor, el haz <strong>de</strong> un sensor alcanza al sensor adyacente<br />

interfiriendo en la medida que esté realizando. Cada medidor <strong>de</strong> distancia<br />

tiene su propia frecuencia natural <strong>de</strong> muestreo, pero todas ellas son muy<br />

próximas, con un resultado <strong>de</strong> modulación <strong>de</strong> frecuencias que se observa<br />

en la salida <strong>de</strong> los medidores.


Sistema Robotizado para la Detección y Localización <strong>de</strong> Minas<br />

Antipersonas 155<br />

Para evitar el efecto <strong>de</strong> las interferencias se <strong>de</strong>bería utilizar un esquema<br />

diferente <strong>de</strong> colocación <strong>de</strong> los medidores sobre la cabeza. Los medidores<br />

<strong>de</strong> suelo podrían proyectar sus haces en una <strong>de</strong>terminada dirección en lugar<br />

<strong>de</strong> proyectarlos directamente contra el suelo. En este caso la distancia<br />

al suelo no sería una medida directa sino que se obtendría mediante triangulación<br />

a partir <strong>de</strong>l ángulo que forma el medidor con el bastidor <strong>de</strong> la cabeza<br />

sensora y la medida <strong>de</strong> distancia proporcionada.<br />

5 Conclusión<br />

Las labores <strong>de</strong> <strong>de</strong>sactivación humanitaria requieren <strong>de</strong> la automatización<br />

<strong>de</strong>l proceso <strong>de</strong> localización <strong>de</strong> munición sin estallar. Esto se pue<strong>de</strong> realizar<br />

mediante sistemas robotizados capaces <strong>de</strong> barrer con sensores especiales<br />

los campos hipotéticamente minados. Este capítulo presenta el <strong>de</strong>sarrollo<br />

<strong>de</strong> un manipulador <strong>de</strong> 5 GDL combinado con una cabeza sensora formada<br />

por un <strong>de</strong>tector <strong>de</strong> minas y una red <strong>de</strong> medidores <strong>de</strong> distancia que permiten<br />

al manipulador seguir las irregularida<strong>de</strong>s <strong>de</strong>l terreno durante la tarea <strong>de</strong> barrido<br />

mientras está atento a la presencia <strong>de</strong> obstáculos en su camino. El sistema<br />

se ha diseñado para situarse a bordo <strong>de</strong> una plataforma móvil constituida<br />

por un robot caminante hexápodo.<br />

La unidad <strong>de</strong> control <strong>de</strong> la cabeza sensora proporciona información <strong>de</strong><br />

diferentes tipos: medidas directas, medidas calibradas, medidas filtradas y<br />

Fig. 15. Experimentos en exteriores


156 Robots <strong>de</strong> exteriores<br />

medidas elaboradas. Estas últimas proporcionan los parámetros <strong>de</strong>l plano<br />

medio teórico bajo la cabeza sensora, el cual se utiliza por el controlador<br />

<strong>de</strong>l manipulador para controlar la altura <strong>de</strong> la cabeza sensora y ajustar su<br />

orientación hasta que queda paralela al suelo.<br />

El funcionamiento <strong>de</strong>l sistema se ha comprobado en terreno natural utilizando<br />

una guía lineal como símil <strong>de</strong> plataforma móvil. Este sistema pue<strong>de</strong><br />

seguir irregularida<strong>de</strong>s con precisiones en torno a l0 mm.<br />

El siguiente paso en nuestras investigaciones será la experimentación <strong>de</strong>l<br />

sistema presentado sobre la plataforma móvil para estudiar las modificaciones<br />

necesarias en los algoritmos para resolver los movimientos inesperados<br />

<strong>de</strong> la plataforma.<br />

Agra<strong>de</strong>cimientos<br />

Este trabajo <strong>de</strong> investigación ha sido financiado por el Ministerio <strong>de</strong><br />

Educación y Ciencia a través <strong>de</strong>l proyecto <strong>de</strong> investigación <strong>de</strong>l Plan Nacional<br />

<strong>de</strong> I+D+i DPI2004-05824.<br />

Referencias<br />

Nicoud J. D., 1997, "Vehicles and robots for humanitarian <strong>de</strong>mining", Industrial<br />

Robot: An International Journal, Vol. 24, N. 2, pp. 164 - 168.<br />

Ponticelli R., Gonzalez <strong>de</strong> Santos, P., Armada, M., 2006, "Lateral sensor<br />

for ground tracking systems in humanitarian-<strong>de</strong>mining tasks", 9th International<br />

Conference on Climbing and Walking Robots, pp. 485 - 489.<br />

Ga<strong>de</strong>r P. D., Nelson, B., Frigui, H., Vaillette, G. and Keller, J., 2000,<br />

"Landmine <strong>de</strong>tection in ground penetrating radar using fuzzy logic (Invited<br />

Paper)", Signal Processing, Special Issue on Fuzzy Logic in Signal Processing,<br />

Vol. 80, N. 6, pp. 1069-1084.<br />

Albert K. J., Myrick, M. L., Brown, S. B., Milanovich, F. P. and Walt D.<br />

R., 1999, "High-speed fluorescence <strong>de</strong>tection of explosives vapour", SPIE-<br />

The International Society for Optical Engineering, 3710, pp. 308-314.<br />

Rouhi A. M., 1997, "Land Mines: Horrors begging for solutions", Chemical<br />

& Engineering news, Vol. 75, N. 10, pp. 14-22.


CAPÍTULO 10<br />

Una Nueva Metodología para Descripción <strong>de</strong>l<br />

Entorno en la Detección en Robots <strong>de</strong> Minas<br />

Antipersonas<br />

C. SALINAS, M. ARMADA y P. GONZALEZ <strong>DE</strong> SANTOS.<br />

Instituto <strong>de</strong> <strong>Automática</strong> Industrial -CSIC; csalinas@iai.csic.es,<br />

Se <strong>de</strong>scribe una nueva metodología basada en sistemas <strong>de</strong> visión omnidireccional,<br />

para la i<strong>de</strong>ntificación <strong>de</strong> entornos no estructurados o cambiantes.<br />

Actualmente, los sistemas <strong>de</strong> visión por computador convencionales son<br />

ampliamente utilizados con este fin, sin embargo, las cámaras convencionales<br />

tienen un campo <strong>de</strong> visión limitado, siendo restrictivas para ciertas<br />

aplicaciones. Los sensores omnidireccionales permiten ampliar el rango<br />

<strong>de</strong>l campo <strong>de</strong> visión. Pue<strong>de</strong>n adquirir imágenes <strong>de</strong> hasta 360 grados alre<strong>de</strong>dor<br />

<strong>de</strong> la cámara. En este trabajo, se presentan los distintos tipos <strong>de</strong> sensores<br />

omnidireccionales. Sus principales características y el mo<strong>de</strong>lado <strong>de</strong><br />

los mismos. Finalmente, se muestra la aplicación directa <strong>de</strong> un sistema <strong>de</strong><br />

visión omnidireccional catadióptrico <strong>de</strong> bajo coste, en el robot caminante<br />

Silo6 <strong>de</strong> <strong>de</strong>tección <strong>de</strong> minas anti-personas.<br />

1 Introducción<br />

A lo largo <strong>de</strong> los años, la utilización <strong>de</strong> sistemas <strong>de</strong> visión por computador<br />

se ha extendido <strong>de</strong> forma exponencial, especialmente en áreas <strong>de</strong> la robótica<br />

y la automática, esto se <strong>de</strong>be en gran parte a los avances en la tecnología<br />

<strong>de</strong> las cámaras y los or<strong>de</strong>nadores. La experimentación con sensores <strong>de</strong><br />

visión implica un costo elevado en materiales, y una cierta complejidad en<br />

el tratamiento <strong>de</strong> la señal. A pesar <strong>de</strong> ello, las señales proporcionadas por<br />

los sensores visuales son muy valiosas <strong>de</strong>bido a la cantidad y a la riqueza<br />

<strong>de</strong> la información que contienen.<br />

En la actualidad el mundo <strong>de</strong> la robótica obliga a que las tareas y funciones<br />

<strong>de</strong> los robots se realicen en entornos no estructurados y cambiantes,<br />

y que, en consecuencia, requieran mayor precisión, seguridad y robustez.<br />

Las cámaras convencionales en muchas ocasiones resultan restrictivas, en


158 Robots <strong>de</strong> exteriores<br />

el campo <strong>de</strong> visión que son capaces <strong>de</strong> observar, por ello surgen los sensores<br />

<strong>de</strong> visión omnidireccional, que permiten ampliar el rango <strong>de</strong>l campo <strong>de</strong><br />

visión (~360 grados).<br />

Un ejemplo típico, en cuanto a seguridad, se presenta en el seguimiento<br />

<strong>de</strong> objetos que se mueven <strong>de</strong> forma in<strong>de</strong>pendiente. En los sistemas convencionales,<br />

los puntos <strong>de</strong> interés que i<strong>de</strong>ntifican a los objetos en movimiento,<br />

<strong>de</strong>saparecen rápidamente y restan fiabilidad al sistema. En contraste,<br />

en los sistemas omnidireccionales estos puntos permanecen en el campo<br />

<strong>de</strong> visión durante un periodo largo <strong>de</strong> tiempo, permitiendo <strong>de</strong>sarrollar satisfactoriamente<br />

tareas <strong>de</strong> i<strong>de</strong>ntificación, <strong>de</strong>tección y seguimiento<br />

Entre algunas <strong>de</strong> las aplicaciones que precisan un mayor rango <strong>de</strong> visión<br />

se encuentran la seguridad y vigilancia, la tele-operación, la realidad virtual,<br />

etc. Muchas otras tareas que pue<strong>de</strong>n beneficiarse y mejorar su rendimiento<br />

mediante la visión omnidireccional, en especial las <strong>de</strong>dicadas a labores<br />

<strong>de</strong> robot móviles, como la navegación, el seguimiento, el egomovimiento,<br />

la caracterización <strong>de</strong>l entorno, etc. Para po<strong>de</strong>r mejorar el alcance<br />

y rendimiento <strong>de</strong> las tareas anteriormente mencionadas, empleando<br />

visión omnidireccional, es necesario adaptar los métodos convencionales y<br />

aplicar nuevas técnicas. Con este objeto <strong>de</strong> adaptar los métodos convencionales<br />

(análisis <strong>de</strong> imágenes dinámicas, <strong>de</strong>tección <strong>de</strong>l movimiento, extracción<br />

<strong>de</strong> características, etc.), es fundamental la correcta parametrización<br />

y mo<strong>de</strong>lado <strong>de</strong>l sistema omnidireccional.<br />

Este artículo se encarga <strong>de</strong> presentar un estudio <strong>de</strong> los diversos tipos <strong>de</strong><br />

sensores omnidireccionales y sus principios <strong>de</strong> funcionamiento. Se presenta<br />

el mo<strong>de</strong>lado geométrico que permite tratar las imágenes omnidireccionales<br />

<strong>de</strong> la misma forma que las imágenes convencionales (en perspectiva).<br />

Y finalmente, se muestra la utilidad <strong>de</strong> este estudio, con un caso<br />

práctico como el diseño y construcción <strong>de</strong> un sistemas <strong>de</strong> visión omnidireccional<br />

catadióptrico <strong>de</strong> bajo coste, para el robot caminante Silo6 (González,<br />

2004).<br />

2 Sistemas <strong>de</strong> visión omnidireccional<br />

La estructura <strong>de</strong> estos sistemas se basa en sensores omnidireccionales.<br />

Existe una gran variedad <strong>de</strong> estos sensores, e in<strong>de</strong>pendiente a su clase, la<br />

i<strong>de</strong>a fundamental <strong>de</strong> estos dispositivos consiste en proporcionar un campo<br />

<strong>de</strong> visión amplio. Se clasificación en función <strong>de</strong> su estructura, y pue<strong>de</strong>n<br />

agruparse en 3 conjuntos, que se <strong>de</strong>scriben a continuación (Yagi, 1999):


Una Nueva Metodología para Descripción <strong>de</strong>l Entorno en la Detección en Robots<br />

<strong>de</strong> Minas Antipersonas 159<br />

~180<br />

~360º<br />

>180<br />

(a)<br />

(b)<br />

Fig. 1. Clasificación <strong>de</strong> sensores omnidireccionales: (a) Dióptricos, (b) Catadióptricos<br />

y (c) Poli-dióptricos.<br />

Los <strong>de</strong>nominados Dióptricos, que emplean lentes especiales y pue<strong>de</strong>n adquirir<br />

un rango menor a 180 grados correspondiente al plano hemisférico.<br />

Los Catadióptricos, que utilizan espejos convexos y cámaras convencionales,<br />

pue<strong>de</strong>n capturar un rango mayor a 180 grados. Y los Poli-dióptricos,<br />

estos emplean múltiples imágenes (cámaras traslapadas), pue<strong>de</strong>n adquirir<br />

hasta 360 grados (> hemisférico). En el grupo <strong>de</strong> figuras <strong>de</strong> Fig. 1, se esquematizan<br />

las tres estructuras <strong>de</strong>scritas, (a), (b) y (c) muestras respectivamente<br />

cada una <strong>de</strong> las estructuras.<br />

Otro criterio <strong>de</strong> clasificación <strong>de</strong>l sistema sensorial <strong>de</strong> omnivisión, es la<br />

condición <strong>de</strong> tenencia <strong>de</strong> un único punto <strong>de</strong> proyección. La proyección<br />

central por un único punto (pin-hole), es una característica importante en<br />

un sistema sensorial <strong>de</strong> omnivisión, <strong>de</strong>bido a que facilita la formación <strong>de</strong><br />

una imagen proyectada sobre cualquier posible plano <strong>de</strong> la imagen, como<br />

una imagen en perspectiva sin distorsión o imagen panorámica, <strong>de</strong> una<br />

imagen omnidireccional.<br />

Esta propiedad, <strong>de</strong> fácil formación <strong>de</strong> imágenes en perspectiva sin distorsión<br />

o <strong>de</strong> imágenes panorámicas, permite al sistema <strong>de</strong> visión <strong>de</strong>l robot<br />

el uso <strong>de</strong> métodos existentes <strong>de</strong> procesamiento <strong>de</strong> imágenes, para su navegación<br />

y manipulación <strong>de</strong> objetos, ambas autónomas. A<strong>de</strong>más, permite al<br />

usuario ver las imágenes en perspectiva o imágenes panorámicas, las cuales<br />

le son más familiares, en lugar <strong>de</strong> una imagen omnidireccional.<br />

(c)<br />

2.1 Sensores dióptricos<br />

En este grupo, se emplean una o dos cámaras con lentes ojo-<strong>de</strong>-pez, que<br />

permiten observar amplios campos <strong>de</strong> visión, hasta una vista hemisférica.<br />

Sin embargo, para navegación <strong>de</strong> robots, solamente se han obtenido bue-


160 Robots <strong>de</strong> exteriores<br />

nos resultados en la resolución cuando se observan techos, el cielo, etc., y<br />

la resolución es pobre a los lados y el en suelo (Cao, 1990).<br />

Esto quiere <strong>de</strong>cir, que la imagen obtenida por los lentes fish-eye tiene<br />

una muy buena resolución en la región central, pero una resolución pobre<br />

en la zona periférica. Por lo tanto, el análisis <strong>de</strong>l suelo y objetos en movimiento<br />

es complejo, <strong>de</strong>bido a que estos se encuentran en la región periférica<br />

<strong>de</strong> la imagen. Adicionalmente, es difícil generar una imagen perspectiva<br />

completa, porque estos lentes no tienen la propiedad <strong>de</strong> única proyección<br />

central.<br />

Las ventajas <strong>de</strong> estos sistemas resi<strong>de</strong>n en proporcionar alta resolución en<br />

sus imágenes y en la necesidad <strong>de</strong> bajas frecuencias <strong>de</strong> muestreo. Por otro<br />

lado, el cálculo computacional <strong>de</strong>l espacio tridimensional pue<strong>de</strong> o no ser<br />

complejo, <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la configuración <strong>de</strong>l sistema. Las <strong>de</strong>sventajas se encuentran<br />

en la complejidad <strong>de</strong> su construcción y en la resolución no uniforme<br />

<strong>de</strong> la imagen omnidireccional.<br />

2.2 Sensores catadióptricos<br />

La i<strong>de</strong>a fundamental <strong>de</strong> esos sistemas, consiste en utilizar espejos convexos<br />

que apunten verticalmente a una cámara, dón<strong>de</strong> el eje óptico <strong>de</strong> la<br />

cámara está alineado con el eje <strong>de</strong>l espejo. Mediante esta configuración, se<br />

pue<strong>de</strong> adquirir una vista <strong>de</strong> 2π alre<strong>de</strong>dor <strong>de</strong> la cámara en tiempo real.<br />

Los trabajos iniciales con estos sistemas, se encaminaron al estudio <strong>de</strong><br />

espejos cónicos. Las imágenes obtenidas con estos espejos tienen buena<br />

resolución en la sección periférica. Yagi utilizó este método para la construcción<br />

<strong>de</strong> COPIS (Yagi, 1994), un sistemas <strong>de</strong> navegación para robots<br />

móviles.<br />

(a)<br />

(b)<br />

Fig. 2. Sistema COPIS: (a) Prototipo y (b) Imagen adquirida con el sistema


Una Nueva Metodología para Descripción <strong>de</strong>l Entorno en la Detección en Robots<br />

<strong>de</strong> Minas Antipersonas 161<br />

En la figura anterior (Fig. 2), se pue<strong>de</strong> observar el prototipo <strong>de</strong> COPIS y la<br />

imagen omnidireccional que este pue<strong>de</strong> adquirir. Este sistema es <strong>de</strong> gran<br />

utilidad para aplicaciones en interiores, don<strong>de</strong> se <strong>de</strong>sea <strong>de</strong>tectar bor<strong>de</strong>s verticales<br />

como puertas, escritorios, columnas, etc. El inconveniente <strong>de</strong> estos<br />

sistemas, es que no tienen un punto focal (centro <strong>de</strong> proyección), por lo<br />

tanto no se pue<strong>de</strong> generar una imagen libre <strong>de</strong> distorsión a partir <strong>de</strong> la imagen<br />

omnidireccional.<br />

Fig. 3. Relación linear <strong>de</strong> ángulo <strong>de</strong> inclinación en COPIS.<br />

El campo <strong>de</strong> visión está limitado por el ángulo <strong>de</strong>l vértice <strong>de</strong>l espejo cónico<br />

y el lente <strong>de</strong> la cámara. En la figura Fig.3, se observa que la sección<br />

vertical <strong>de</strong> COPIS es un espejo plano y que el rayo que proviene <strong>de</strong>l punto<br />

P, cambia su dirección óptica utilizando esta característica, esto significa<br />

que la resolución angular vertical <strong>de</strong> COPIS es linear en la imagen <strong>de</strong> entrada.<br />

Una <strong>de</strong> las ventajas <strong>de</strong> los sistemas catadióptricos es la necesidad <strong>de</strong> una<br />

baja frecuencia <strong>de</strong> muestro, lo que le permite operar al sistema en aplicaciones<br />

<strong>de</strong> tiempo real. En función <strong>de</strong> su configuración, el cómputo <strong>de</strong> puntos<br />

<strong>de</strong>l espacio tridimensional pue<strong>de</strong> o no ser complejo y realizable. Esto<br />

también se extrapola a la construcción <strong>de</strong> estos sistemas, que <strong>de</strong>pen<strong>de</strong>n directamente<br />

<strong>de</strong> la propiedad <strong>de</strong> los espejos. La mayor <strong>de</strong>sventaja, es la disminución<br />

en la resolución <strong>de</strong> la imagen <strong>de</strong> salida.<br />

Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> la robótica, estos sistemas tienen 3 ventajas<br />

principales, La primera hace referencia al amplio campo <strong>de</strong> visión, que facilita<br />

la búsqueda <strong>de</strong> correspon<strong>de</strong>ncias, esto se <strong>de</strong>be a que los puntos correspondientes<br />

no <strong>de</strong>saparecen fácilmente. Por otro lado, este campo <strong>de</strong> visión<br />

amplio ayuda a estabilizar la estimación <strong>de</strong> algoritmos <strong>de</strong> ego-motion:


162 Robots <strong>de</strong> exteriores<br />

la rotación <strong>de</strong> la cámara se distingue cómodamente <strong>de</strong> su translación. Y finalmente,<br />

a partir <strong>de</strong> dos imágenes panorámicas se pue<strong>de</strong> reconstruir casi<br />

completamente un área circundante <strong>de</strong> una escena, una vista 2π alre<strong>de</strong>dor<br />

<strong>de</strong> la cámara.<br />

2.3 Sensores poli-dióptricos<br />

Los sistemas poli-dióptricos pue<strong>de</strong>n estar compuestos por cámaras rotatorias<br />

que giran alre<strong>de</strong>dor <strong>de</strong> su eje vertical con velocidad constante, o por<br />

múltiples cámaras traslapadas (ver Fig. 4).<br />

Fig.4. Mo<strong>de</strong>los <strong>de</strong> sistemas poli-dióptricos.<br />

En el caso <strong>de</strong> múltiples cámaras, las principales ventajas <strong>de</strong> estos sistemas<br />

son la alta resolución <strong>de</strong> las imágenes por ángulo-vista, el cómputo <strong>de</strong>l espacio<br />

tridimensional es directo, <strong>de</strong>bido a que las imágenes son en perspectiva.<br />

La <strong>de</strong>sventaja, se centra en la dificultad <strong>de</strong>l funcionamiento en tiempo<br />

real, accionado por el elevado requerimiento <strong>de</strong> ancho <strong>de</strong> banda. A<strong>de</strong>más,<br />

se <strong>de</strong>be realizar la sincronización <strong>de</strong> las múltiples cámaras, y la posición <strong>de</strong><br />

las mismas <strong>de</strong>riva en un complejo proceso <strong>de</strong> calibración. Se dificulta la<br />

construcción <strong>de</strong> sistemas compactos, fáciles <strong>de</strong> transportar.<br />

En el caso <strong>de</strong> contar con una configuración <strong>de</strong> cámaras rotatorias, se <strong>de</strong>be<br />

incluir el control <strong>de</strong>l sistema pan-tilt y las consi<strong>de</strong>raciones mecánicas<br />

requeridas para el caso. La principal ventaja es que la resolución <strong>de</strong> las<br />

imágenes es alta, que no <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la cámara, pero si <strong>de</strong> la resolución angular<br />

<strong>de</strong> rotación.


Una Nueva Metodología para Descripción <strong>de</strong>l Entorno en la Detección en Robots<br />

<strong>de</strong> Minas Antipersonas 163<br />

3 Sistemas <strong>de</strong> visión omnidireccional catadióptrica<br />

La i<strong>de</strong>a básica <strong>de</strong> estos sistemas consiste en utilizar una la cámara que<br />

apunte verticalmente hacia un espejo convexo, con el eje óptico <strong>de</strong>l lente<br />

<strong>de</strong> la cámara alineado con el eje <strong>de</strong>l espejo (Baker,1999).<br />

Al establecer el eje <strong>de</strong> la cámara verticalmente, es posible adquirir imágenes<br />

con un campo <strong>de</strong> visión 2π en tiempo real alre<strong>de</strong>dor <strong>de</strong> la cámara. La<br />

propiedad anisotrópica <strong>de</strong> un espejo convexo, se refleja como una mayor<br />

cantidad <strong>de</strong> blurring en la imagen <strong>de</strong> entrada <strong>de</strong> la cámara estándar, si el<br />

sistema no está bien diseñado.<br />

Un ejemplo <strong>de</strong> ello, es la curvatura <strong>de</strong>l espejo cónico, hiperbólico o parabólico<br />

que corta la sección horizontal, es la misma que un espejo esférico.<br />

Si el lente <strong>de</strong> la cámara tiene una apertura relativamente gran<strong>de</strong>, los rayos<br />

que vienen a través <strong>de</strong> la sección horizontal, <strong>de</strong>l punto <strong>de</strong>l objeto, no se<br />

focalizan en un punto común, el efecto se conoce como aberración esférica.<br />

La curvatura vertical <strong>de</strong>l espejo es la misma a la <strong>de</strong>l espejo plano,<br />

mientras que en la sección horizontal es la misma <strong>de</strong>l espejo esférico. De<br />

esta manera, los rayos reflejados a través <strong>de</strong> los planos vertical y horizontal,<br />

enfocan a diferentes puntos. Por consiguiente, para reducir el efecto <strong>de</strong><br />

blurring y obtener una imagen limpia, se necesita un sistema óptimo que<br />

pueda incluir los puntos <strong>de</strong> ambas ópticas (Yagi, 2004).<br />

3.1 Espejos esféricos<br />

Al igual que la lente <strong>de</strong> los ojos <strong>de</strong> un pez, una imagen obtenida a partir <strong>de</strong><br />

un espejo esférico, presenta una buena resolución en la región central pero<br />

una mala resolución en región periférica.<br />

Un espejo esférico produce una imagen <strong>de</strong>l entorno a su alre<strong>de</strong>dor y su<br />

campo <strong>de</strong> visión es el más amplio entro los sensores con espejos convexos.<br />

Una imagen amplia es útil para colocar al robot en su ruta.<br />

Hong (Hong,1990) propuso un método para la navegación <strong>de</strong> un robot,<br />

utilizando la apariencia <strong>de</strong>l cambio <strong>de</strong> las características <strong>de</strong>l horizonte. Sin<br />

embargo, la relación geométrica <strong>de</strong> un único centro <strong>de</strong> proyección no se<br />

satisface.<br />

3.2 Espejos hiperbólicos<br />

Un espejo hiperbólico produce una imagen <strong>de</strong> la escena alre<strong>de</strong>dor <strong>de</strong> su eje<br />

vertical, se pue<strong>de</strong> adquirir 360º <strong>de</strong> visión alre<strong>de</strong>dor <strong>de</strong> este dispositivo. Los<br />

mapas generados a través <strong>de</strong> este tipo <strong>de</strong> sistemas, utilizando el plano <strong>de</strong> la


164 Robots <strong>de</strong> exteriores<br />

imagen a través <strong>de</strong> una lente y espejo hiperbólico, son llamados “proyección<br />

hiperbólica”.<br />

Un espejo hiperbólico tiene un punto focal, el cual hace posible una fácil<br />

generación <strong>de</strong> una imagen <strong>de</strong>seada, proyectada sobre cualquier plano <strong>de</strong><br />

imagen <strong>de</strong>signado <strong>de</strong>s<strong>de</strong> una entrada omnidireccional. Esta fácil generación<br />

<strong>de</strong> imágenes en perspectiva o panorámicas le permiten al sistema <strong>de</strong><br />

visión <strong>de</strong>l robot utilizar métodos <strong>de</strong> procesamiento <strong>de</strong> imágenes existentes<br />

para navegación y manipulación autónoma. A<strong>de</strong>más, permite al usuario<br />

ver imágenes en perspectiva o imágenes panorámicas, las cuales le son<br />

más familiares, en lugar <strong>de</strong> una imagen omnidireccional <strong>de</strong>formada por el<br />

espejo hiperbólico.<br />

3.3 Espejos parabólicos<br />

El espejo parabólico fue propuesto por Peri y Nayar (Peri, 1996). Una óptica<br />

cóncava parabólica es usada frecuentemente para la convergencia <strong>de</strong><br />

un grupo <strong>de</strong> rayos como lo es una antena parabólica. En el caso <strong>de</strong> un espejo<br />

parabólico, básicamente la i<strong>de</strong>a es la misma que la <strong>de</strong> una antena parabólica.<br />

Todos los rayos <strong>de</strong>l entorno se reflejan en el espejo y corren paralelos<br />

al eje <strong>de</strong> rotación <strong>de</strong>l espejo parabólico.<br />

Una línea recta que extien<strong>de</strong> el rayo <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong>l objeto en el entorno,<br />

pasa a través <strong>de</strong>l punto focal a pesar <strong>de</strong> la ubicación <strong>de</strong>l punto objeto.<br />

Asimismo, una imagen omnidireccional con un solo centro <strong>de</strong> proyección<br />

pue<strong>de</strong> realizarse, al establecer la cámara con proyección ortogonal,<br />

como lo es el lente telecéntrico o una lente <strong>de</strong> aumento en frente <strong>de</strong> un espejo<br />

parabólico.<br />

El campo <strong>de</strong> visión <strong>de</strong> un espejo parabólico y la resolución <strong>de</strong> la imagen<br />

omnidireccional, se sitúan justo entre el espejo hiperbólico y el espejo esférico.<br />

Matemáticamente, las curvaturas <strong>de</strong> ambos espejos se representan<br />

como Ecuación (1):<br />

2<br />

cr<br />

Z =<br />

1+<br />

1−<br />

r<br />

2 2<br />

( 1+<br />

k) c<br />

Don<strong>de</strong> el eje Z es el eje <strong>de</strong> rotación <strong>de</strong>l espejo convexo, c representa la<br />

curvatura, r representa la coor<strong>de</strong>nada radial en unida<strong>de</strong>s <strong>de</strong> la lente y k es<br />

la constante cónica. El tipo <strong>de</strong> espejo es representado por la constante cónica;<br />

k


Una Nueva Metodología para Descripción <strong>de</strong>l Entorno en la Detección en Robots<br />

<strong>de</strong> Minas Antipersonas 165<br />

3.4 Mo<strong>de</strong>lado <strong>de</strong> los sistemas catadióptricos: hiperboloi<strong>de</strong>s<br />

Los sistemas hiperbólicos tienen sus inicios gracias a (Yamazawa, 1993),<br />

estos sistemas tienen dos puntos focales (Focus1, Focus2). El centro <strong>de</strong> la<br />

cámara está fijo a uno <strong>de</strong> los puntos focales. Un espejo hiperbólico, produce<br />

una imagen <strong>de</strong> un punto en el espacio sobre un plano vertical, a través<br />

<strong>de</strong>l punto P y su eje. De este modo, el punto P en (X, Y, Z) es proyectado<br />

sobre la imagen <strong>de</strong>l punto p en (x, y) (ver Fig.5), como indican la Ecuación<br />

(2):<br />

Y<br />

tan θ =<br />

(2)<br />

X<br />

Para mo<strong>de</strong>lar estos sistemas, se utiliza la geometría elemental <strong>de</strong> la forma<br />

<strong>de</strong>l espejo. Mediante la Fig.5 se pue<strong>de</strong> <strong>de</strong>scribir cómo un punto P en el espacio<br />

es reflejado por un espejo hiperbólico y proyectado en el plano imagen.<br />

Un rayo que viene <strong>de</strong>l punto P(X,Y,Z) en el espacio, alcanza el punto<br />

focal Focus1, es reflejado por el espejo y pasa a través <strong>de</strong>l punto focal Focus2,<br />

el cual interseca el plano imagen en p(x,y,z).<br />

Cualquier punto <strong>de</strong>l espacio en el campo <strong>de</strong> visión <strong>de</strong> la proyección<br />

hiperbólica satisface esta relación. De esta forma, se pue<strong>de</strong> obtener una<br />

imagen omnidireccional <strong>de</strong> la escena en el plano imagen, con un único<br />

centro <strong>de</strong> proyección Focus2. El ángulo en la imagen pue<strong>de</strong> ser calculado<br />

<strong>de</strong> forma sencilla, mediante la relación y/x, indicada por el ángulo azimut θ<br />

<strong>de</strong>l punto P en el espacio. También, se pue<strong>de</strong> compren<strong>de</strong>r fácilmente que<br />

todos los puntos que tienen el mismo azimut en el espacio, aparecen en un<br />

alinea radial a partir <strong>de</strong>l centro <strong>de</strong> la imagen.<br />

Fig. 5 Proyección hiperboloi<strong>de</strong>


166 Robots <strong>de</strong> exteriores<br />

Esta característica, anteriormente mencionada, es la misma que en la proyección<br />

cónica. Por esta razón, con este tipo <strong>de</strong> proyecciones, los bor<strong>de</strong>s<br />

verticales <strong>de</strong>l entorno, aparecen <strong>de</strong> forma radial en la imagen. Empleando<br />

geometría elemental, se pue<strong>de</strong> <strong>de</strong>terminar la relación <strong>de</strong>l puntos P(X, Y, Z)<br />

<strong>de</strong>l espacio con su imagen (plano imagen (x, y)).<br />

Las superficies hiperboloi<strong>de</strong>s, pue<strong>de</strong>n ser obtenidas a partir <strong>de</strong> una revolución<br />

<strong>de</strong> una hipérbola alre<strong>de</strong>dor <strong>de</strong>l eje Z, teniendo dos puntos focales en<br />

(0, 0, +c) y (0,0, 2c). Empleando las coor<strong>de</strong>nadas <strong>de</strong>l mundo, se pue<strong>de</strong> representar<br />

(X, Y, Z), la superficie hiperboloi<strong>de</strong> pue<strong>de</strong> representarse tal como<br />

indican las Ecuaciones (2) y (3),<br />

X<br />

2<br />

+ Y<br />

a<br />

2<br />

2<br />

Z<br />

−<br />

b<br />

2<br />

2<br />

= −1<br />

(2)<br />

c +<br />

2 2<br />

= a b<br />

(3)<br />

Don<strong>de</strong> a y b <strong>de</strong>finen la forma <strong>de</strong> la hiperboloi<strong>de</strong>, y se utiliza una <strong>de</strong> la superficies<br />

<strong>de</strong> la hiperboloi<strong>de</strong> en Z>0. La composición geométrica es tal, que<br />

el punto focal <strong>de</strong>l espejo es Focus1 y <strong>de</strong> la lente es Focus2, y están fijos en<br />

el punto focal <strong>de</strong> la superficie hiperbólica en (0, 0,+c) y (0,0, 2c) respectivamente.<br />

El eje <strong>de</strong> la cámara está alineado con el <strong>de</strong>l espejo. El plano imagen<br />

pue<strong>de</strong> también ser posicionado a una distancia f (distancia focal <strong>de</strong> la<br />

cámara) <strong>de</strong>l centro <strong>de</strong>l lente <strong>de</strong> la cámara y ser paralelo al plano XY (Baker,1999).<br />

En base a la teorías <strong>de</strong>scrita anteriormente y a los conceptos fundamentales<br />

<strong>de</strong> geometría epipolar, se pue<strong>de</strong> mo<strong>de</strong>lar un sistema <strong>de</strong> visión omnidireccional<br />

catadióptrico y simular su funcionamiento.<br />

La geometría epipolar, <strong>de</strong>scribe la relación entre las posiciones <strong>de</strong> puntos<br />

correspondientes en un par <strong>de</strong> imágenes. Pue<strong>de</strong> establecerse a partir <strong>de</strong><br />

pocas imágenes correspondientes y se utiliza para: simplificar la búsqueda<br />

<strong>de</strong> más correspon<strong>de</strong>ncias, el cómputo <strong>de</strong>l <strong>de</strong>splazamiento entre cámaras y<br />

la reconstrucción <strong>de</strong> escenas tridimensionales (Svodoba, 2002).<br />

Empleando herramientas <strong>de</strong> geometría epipolar <strong>de</strong> Matlab, se ha realizado<br />

como caso práctico, la simulación <strong>de</strong> un sistema catadióptrico para un<br />

espejo hiperbólico <strong>de</strong> diámetro <strong>de</strong> 50 mm. y eje focal <strong>de</strong> 20 mm.


Una Nueva Metodología para Descripción <strong>de</strong>l Entorno en la Detección en Robots<br />

<strong>de</strong> Minas Antipersonas 167<br />

Fig.6. Simulación-mo<strong>de</strong>lo <strong>de</strong> sistema catadióptrico<br />

Para la simulación se han <strong>de</strong>signado 3 puntos aleatorios en el espacio tridimensional,<br />

en la Fig. 6 se pue<strong>de</strong> ver la vista tridimensional <strong>de</strong>l sistema,<br />

dón<strong>de</strong> los puntos <strong>de</strong>l espacio (1, 2, 3) se dirigen al punto focal <strong>de</strong>l espejo,<br />

el a vista superior, se pue<strong>de</strong> observar que estos puntos se encuentran a distintas<br />

profundida<strong>de</strong>s. Sin embargo, por la restricción <strong>de</strong> única proyección<br />

central, cada punto ocupa un eje radial <strong>de</strong>l espejo y si nada se interpone en<br />

medio, este punto será reflejado por el espejo.<br />

Cuando los puntos son reflejados por el espejo, el haz <strong>de</strong> luz atraviesa el<br />

eje óptico <strong>de</strong> la cámara y se forma una imagen 2D. La posición en el plano<br />

imagen se muestra en la siguiente figura Fig.7.<br />

Fig.7. Puntos aleatorios en el plano imagen.


168 Robots <strong>de</strong> exteriores<br />

A continuación se muestra los resultados <strong>de</strong> la experimentación, en el caso<br />

<strong>de</strong> realizar variaciones en los parámetros <strong>de</strong> la geometría <strong>de</strong>l espejo (ver<br />

Fig. 8). Mediante la simulación, se pue<strong>de</strong> observar claramente, que los<br />

mismo puntos aleatorios (1, 2, 3), se encuentran en distintas posiciones en<br />

el plano imagen. Este efecto se <strong>de</strong>be a la geometría <strong>de</strong>l espejo.<br />

Fig.8 Simulación-sistemas catadióptricos<br />

4 Aplicación <strong>de</strong> sistemas omnidireccionales en el robot<br />

caminante Silo6<br />

De acuerdo con la teoría expuesta en los anteriores apartados, en aplicaciones<br />

<strong>de</strong> robots móviles caminantes, el sistema óptimo <strong>de</strong> trabajo es un<br />

sistema <strong>de</strong> visión omnidireccional catadióptrico, compuesto por una cámara<br />

<strong>de</strong> alta resolución y un espejo hiperbólico, que permita observar correctamente<br />

al robot y el entorno periférico.<br />

A continuación, se muestran las pruebas preliminares obtenidas mediante<br />

un espejo hiperbólico <strong>de</strong> 50 mm <strong>de</strong> diámetro, punto focal <strong>de</strong> 20 mm. y<br />

una cámara estándar <strong>de</strong> televisión. La composición <strong>de</strong> imágenes <strong>de</strong> <strong>de</strong> la<br />

figura Fig. 9, muestra una imagen omnidireccional capturada por el sistema.<br />

Y a continuación, se encuentra la imagen panorámica correspondiente<br />

a la periferia <strong>de</strong>l entorno.


Una Nueva Metodología para Descripción <strong>de</strong>l Entorno en la Detección en Robots<br />

<strong>de</strong> Minas Antipersonas 169<br />

Fig.9. Imagen omnidireccional, imagen panorámica – Sistemas omnivisión robot<br />

Silo6.<br />

La imagen muestra ha sido adquirida en uno <strong>de</strong> los laboratorios <strong>de</strong>l Instituto<br />

<strong>de</strong> <strong>Automática</strong>, las dimensiones <strong>de</strong>l mismo son <strong>de</strong> 8x6 metros. Al realizar<br />

la transformación, se observa claramente que objetos se encuentran<br />

cerca y cuáles están alejados <strong>de</strong>l punto <strong>de</strong> referencia central. Esto nos permitirá<br />

en un futuro aplicar métodos <strong>de</strong> seguimiento y <strong>de</strong>tección <strong>de</strong> obstáculos,<br />

y <strong>de</strong>scribir el entorno <strong>de</strong> trabajo <strong>de</strong>l robot. Muchos autores han aprovechado<br />

las características <strong>de</strong> estos sistemas para mejorar tareas <strong>de</strong><br />

<strong>de</strong>tección <strong>de</strong> eventos y navegación <strong>de</strong> robots móviles con ruedas. (Winters,<br />

2002, Ghangi, 2004).<br />

Por otro lado, se observa claramente, que los objetos verticales, como el<br />

soporte <strong>de</strong>l espejo, aparecen en el eje radial <strong>de</strong>l espejo, y al ser transformado<br />

en la imagen panorámica, se curvan <strong>de</strong> acuerda a la forma geométrica<br />

<strong>de</strong>l espejo. Esta propiedad, se <strong>de</strong>be tomar en cuenta en el momento <strong>de</strong> realizar<br />

el análisis <strong>de</strong> las imágenes.<br />

Continuando con al experimentación, se han realizado pruebas <strong>de</strong> campo<br />

en exteriores, <strong>de</strong> activida<strong>de</strong>s típicas <strong>de</strong>l robot Silo6 <strong>de</strong> <strong>de</strong>tección <strong>de</strong> mi-


170 Robots <strong>de</strong> exteriores<br />

nas. En la secuencia <strong>de</strong> figuras Fig.10, se pue<strong>de</strong> observar el <strong>de</strong>splazamiento<br />

<strong>de</strong>l robot cuando <strong>de</strong>tecta minas ficticias. Se pue<strong>de</strong> observas que el sistema<br />

<strong>de</strong> visión observa fácilmente los objetos <strong>de</strong>l suelo y a su vez las periferia<br />

<strong>de</strong>l entorno.<br />

Fig. 10. Sistema Omnivisión Silo6-tarea <strong>de</strong> <strong>de</strong>tección <strong>de</strong> minas<br />

En conjunto <strong>de</strong> imágenes <strong>de</strong> la figura Fig.11, se observa una secuencia <strong>de</strong><br />

la operación <strong>de</strong> búsqueda, realizada por el manipular <strong>de</strong>l robot (González,<br />

2006). Este manipulador cuenta con una cabeza sensorial, que tiene un<br />

rango <strong>de</strong> acción limitado <strong>de</strong> 300 mm. Empleando el sistema <strong>de</strong> visión omnidireccional,<br />

se elimina esta restricción fácilmente. Y se pue<strong>de</strong> i<strong>de</strong>ntificar<br />

la posición <strong>de</strong>l manipulador en todo momento. Con este tipo <strong>de</strong> sistemas,<br />

se tiene el control <strong>de</strong> la posición <strong>de</strong>l robot continuamente, y al mismo<br />

tiempo se pue<strong>de</strong> i<strong>de</strong>ntificar las características <strong>de</strong>l entorno, incluyendo la<br />

periferia y suelo <strong>de</strong>l mismo.


Una Nueva Metodología para Descripción <strong>de</strong>l Entorno en la Detección en Robots<br />

<strong>de</strong> Minas Antipersonas 171<br />

Fig. 11. Sistema <strong>de</strong> omnisivión Silo6-movimiento <strong>de</strong>l manipulador<br />

5 Conclusiones<br />

En este artículo se ha presentado un estudio sobre los sistemas <strong>de</strong> visión<br />

omnidireccional, haciendo énfasis en los puntos más relevantes, que permiten<br />

la realización <strong>de</strong>l diseño <strong>de</strong> los mismos. Se ha prestado especial<br />

atención, a las características que permitan utilizar <strong>de</strong> forma óptima, estos<br />

sistemas en tareas <strong>de</strong> robots móviles autónomos.<br />

Mediante este estudio, se pue<strong>de</strong> <strong>de</strong>finir una nueva metodología para<br />

<strong>de</strong>sarrollar tareas <strong>de</strong> <strong>de</strong>scripción y caracterización <strong>de</strong> entornos no estructurados<br />

o cambiantes. Incrementando la fiabilidad y la robustez <strong>de</strong>l sistema,<br />

sin sacrificar la operabilidad en tiempo real.<br />

Se ha mostrado la utilidad <strong>de</strong> este estudio, con un caso práctico, realizando<br />

el mo<strong>de</strong>lado y la construcción <strong>de</strong> un sistemas <strong>de</strong> visión catadióptrico<br />

<strong>de</strong> bajo coste: formado por un espejo hiperbólico y una cámaras estándar


172 Robots <strong>de</strong> exteriores<br />

<strong>de</strong> TV. Se ha experimentado con el sistema, realizando una aplicación directa<br />

en el robot caminante Silo6 <strong>de</strong> <strong>de</strong>tección <strong>de</strong> minas antipersonas.<br />

Debido a que en este caso, el diseño y la construcción <strong>de</strong> este tipo <strong>de</strong><br />

sistemas no requieren un elevado coste, es posible continuar con la experimentación<br />

<strong>de</strong> otros espejos hiperbólicos, <strong>de</strong> distintas dimensiones y características<br />

geométricas.<br />

Se ha <strong>de</strong>mostrado que gracias a la propiedad <strong>de</strong> proyección central única,<br />

se pue<strong>de</strong> generar imágenes panorámicas a partir <strong>de</strong> las imágenes omnidireccionales,<br />

y que se pue<strong>de</strong> trabajar sin complicaciones con los métodos<br />

convencionales <strong>de</strong> visión por computador.<br />

Agra<strong>de</strong>cimientos<br />

El primer autor <strong>de</strong>sea expresar su agra<strong>de</strong>cimiento a la Comunidad <strong>de</strong> Madrid<br />

y a la Dirección General <strong>de</strong> Universida<strong>de</strong>s, por el financiamiento <strong>de</strong> la<br />

beca <strong>de</strong> Formación Profesional Investigador, que permite la realización <strong>de</strong><br />

este trabajo <strong>de</strong> investigación.<br />

También se agra<strong>de</strong>ce la colaboración y el apoyo recibidos por los miembros<br />

<strong>de</strong>l proyecto nacional DYLEMA (CICYT DPI2004-05824,2002-<br />

2007) y el proyecto Robocity2030 (S-0505/DPI/0176), financiado por la<br />

Comunidad <strong>de</strong> Madrid.<br />

Referencias<br />

González <strong>de</strong> Santos, P.,Garcia, E., Cubano J.A., Ramírez, A. 2004. Silo6:<br />

A sixlegged robot for humanitarian <strong>de</strong>-mining tasks. Proc. of 10th Int.<br />

Sym. on Robotics and Applications, World Automation Congress, Spain.<br />

González <strong>de</strong> Santos, P.,Garcia, E., Cubano J.A., Estremera, J., Armada, M.<br />

2006. A six-legged-robot-based system for humanitarian <strong>de</strong>minig missions.<br />

Mechatronics, en prensa.<br />

Yagi, Y. 1999. Omnidireccional sensing and its applications. IEICE Trans.<br />

Inf. Syst. E82-D(3):568–579.<br />

Peri, V., Nayar, S.K.. 1996. Omnidrectional vi<strong>de</strong>o system. Proc. U.S-Japan<br />

Graduate Stu<strong>de</strong>nt Forum in Robotics, pp. 28-31.


Una Nueva Metodología para Descripción <strong>de</strong>l Entorno en la Detección en Robots<br />

<strong>de</strong> Minas Antipersonas 173<br />

Cao, Z., Hall, E.L. 1990. Beacon recognition in omni-vision guidance.<br />

Proc. Int. Conf. Optoelectric Science & Engineering, 1230:788-790.<br />

Yagi, Y., Yachida, M. 2004. Real-Time Omnidirectional Image Sensors.<br />

International Journal of Computer Vision 58(3): 173–207.<br />

Hong, J., Tan, X., Pinette, B., Wiess, R, Riseman, E.M. 1990. Image-based<br />

homing. Proc. IEEE Int. Conf. Robotics & Automation, pp. 620-625.<br />

Yagi ,Y., Kawato, S., Tsuji, S. 1994. Real-time omnidirectional image sensor<br />

(COPIS) for vision-gui<strong>de</strong>d navigation. IEEETrans. Rob. Autom.<br />

10(1):11–22.<br />

Svodoba, T., Pajdla, T. 2002. Epipolar geometry for central catadioptric<br />

camera. Int. J. of Computer Vision, 49(1), 23-37.<br />

Baker, S. Nayar, S.K.1999. A theory of single-viewpoint catadioptric image<br />

formation. Int. J. of Computer Vision 35(2), 175–196.<br />

Ghangi. T., Trivedi, M. 2004. Motion analysis for event <strong>de</strong>tection and<br />

tracking with a mobile omnidirectional camera. Multimedia Systems 10:<br />

131–143.<br />

Winters, N., Gaspar, J., Lacey, G,, Santos-Victor, J. 2002. Omnidirectional<br />

vision for robot navigation. In: Proc. IEEEworkshop on omnidirectional<br />

vision, pp 21–28.<br />

Yamazawa, K., Yagi, Y., and Yachida, M. 1993. Omnidirectional imaging<br />

with hyperboloidal projection. In Proc. IEEE/RSJ Int. Conf. on Intelligent<br />

Robots and Systems, 2: 1029–1034.


174 Robots <strong>de</strong> exteriores


CAPÍTULO 11<br />

Arquitectura Multi-Agente para la Interfaz <strong>de</strong><br />

Usuario <strong>de</strong> un Vehículo Agrícola<br />

X.P. BURGOS-ARTIZZU, A. RIBEIRO, M.C. GARCÍA-ALEGRE y L.<br />

GARCÍA-PÉREZ<br />

Instituto <strong>de</strong> <strong>Automática</strong> Industrial, CSIC,<br />

28500 Arganda <strong>de</strong>l Rey, Madrid, España; angela@iai.csic.es<br />

Las máquinas tienen como objetivo principal ayudar al usuario en sus tareas<br />

diarias, evitándole riesgos y esfuerzos innecesarios. Para que una máquina<br />

realmente ayu<strong>de</strong> al usuario, no sólo <strong>de</strong>be llevar a cabo correctamente<br />

su tarea, si no que también <strong>de</strong>be ser fácilmente manipulable y controlable<br />

por el usuario. Esto se hace particularmente difícil cuando se trata <strong>de</strong> un<br />

robot, vista la complejidad <strong>de</strong> éstos, y <strong>de</strong> que lo que se necesita no es sólo<br />

una aceptación y comprensión <strong>de</strong> las ór<strong>de</strong>nes, si no una interacción <strong>de</strong> iniciativa<br />

compartida. En el caso que se presenta, supervisar las tareas <strong>de</strong> un<br />

tractor agrícola autónomo <strong>de</strong>s<strong>de</strong> gran<strong>de</strong>s distancias requiere el <strong>de</strong>sarrollo<br />

<strong>de</strong> una interfaz humano-robot adaptable a las preferencias <strong>de</strong> cada operario<br />

y <strong>de</strong> fácil uso. Como solución se propone una arquitectura <strong>de</strong> agentes que<br />

ayu<strong>de</strong>n al operario en la supervisión y control <strong>de</strong>l vehículo agrícola, integrándose<br />

en la arquitectura basada en agentes para la generación <strong>de</strong> comportamientos<br />

que ya incorpora éste.<br />

1 Introducción<br />

Des<strong>de</strong> que el hombre empezó a usar máquinas para <strong>de</strong>sarrollar sus tareas<br />

diarias, ha sido necesario estudiar como conseguir que la interacción entre<br />

ambos se produzca <strong>de</strong> la forma más simple e intuitiva posible, (Adams,<br />

2002), Inicialmente era necesario que el usuario adaptase su comunicación<br />

a la máquina; sin embargo, la ten<strong>de</strong>ncia actual es diseñar máquinas capaces<br />

<strong>de</strong> ajustarse a las necesida<strong>de</strong>s <strong>de</strong>l usuario, en otras palabras el objetivo es<br />

alcanzar máquinas auto-explicativas que no necesiten gran<strong>de</strong>s conocimien-


176 Robots <strong>de</strong> exteriores<br />

tos para ser manejadas. En el caso <strong>de</strong> los robots, dado que son máquinas en<br />

muchos casos autónomas en la realización <strong>de</strong> ciertas tareas, capaces <strong>de</strong> tomar<br />

<strong>de</strong>cisiones e imitar el comportamiento <strong>de</strong> los seres vivos, extrayendo<br />

información <strong>de</strong>l entorno (percepción) e interaccionando con el mismo (acción)<br />

para alcanzar unos objetivos, el diseño y <strong>de</strong>sarrollo <strong>de</strong> una interfaz<br />

a<strong>de</strong>cuada es una tarea esencial. En concreto se pasa <strong>de</strong> una interacción básicamente<br />

unidireccional, en la que el usuario le dice a la máquina que <strong>de</strong>be<br />

hacer, a una interacción bidireccional, en la que el robot tiene que comunicarse<br />

con el usuario informándole <strong>de</strong> su estado actual y/o <strong>de</strong> sus<br />

próximos objetivos/intenciones y por su parte el usuario a<strong>de</strong>más <strong>de</strong> emitir<br />

or<strong>de</strong>nes, necesita supervisar al máximo el comportamiento <strong>de</strong>l robot. En<br />

(Allen, 1999), se <strong>de</strong>fine este tipo <strong>de</strong> interacción como <strong>de</strong> “iniciativa mixta”,<br />

ya que el usuario no es el único que toma <strong>de</strong>cisiones y/o cambia <strong>de</strong> estado.<br />

El objetivo es por tanto una iteración mutua rápida, sencilla y lo más intuitiva<br />

posible. La situación actual requiere, sin embargo, en muchos casos<br />

<strong>de</strong> un experto capaz <strong>de</strong> enten<strong>de</strong>r y procesar la información <strong>de</strong>vuelta por el<br />

robot para así respon<strong>de</strong>r a<strong>de</strong>cuadamente, en otras palabras, se necesita a<br />

un experto que conozca el sistema montado en el robot (hardware y software)<br />

y que sepa manejar la interfaz <strong>de</strong> “control” <strong>de</strong>l robot. Esto representa<br />

un cuello <strong>de</strong> botella importante, ya que implica que sólo podrán interactuar<br />

con el robot personal cualificado, mientras que lo <strong>de</strong>seable es que el robot,<br />

al igual que una lavadora, pueda ser fácilmente manipulable sin que sea<br />

necesario conocer cómo está construido por <strong>de</strong>ntro. Por eso, a<strong>de</strong>más <strong>de</strong> las<br />

consi<strong>de</strong>raciones ya comentadas, la interfaz <strong>de</strong>bería adaptarse al tipo <strong>de</strong><br />

usuario que esté usándola, para <strong>de</strong> esta forma permitir que usuarios menos<br />

expertos puedan <strong>de</strong> todos modos interactuar con el robot. Cumplir con requisitos<br />

<strong>de</strong> este tipo no sólo es conveniente en robótica si no que es beneficioso<br />

en cualquier aplicación software, como por ejemplo las compras online,<br />

(Ardissono et. al, 2000), el aprendizaje con tutores inteligentes, etc. A<br />

todo lo dicho hay que añadir que la percepción y acción <strong>de</strong> un robot sobre<br />

su entorno se ve casi siempre condicionada por una infinidad <strong>de</strong> variables<br />

que no pue<strong>de</strong>n ser presentadas o visualizadas sin más, ya que en la mayoría<br />

<strong>de</strong> los casos el usuario sería incapaz <strong>de</strong> procesar tanta información o <strong>de</strong><br />

hacerlo con suficiente rapi<strong>de</strong>z como para tomar una <strong>de</strong>cisión a<strong>de</strong>cuada <strong>de</strong><br />

supervisión en el momento preciso. Por ejemplo, la percepción que tiene<br />

un robot <strong>de</strong> su entorno suele obtenerse a través <strong>de</strong> una “fusión sensorial”,<br />

es <strong>de</strong>cir, dotando al robot <strong>de</strong> una infinidad <strong>de</strong> sensores (odómetro, láser, ultrasonidos,<br />

visión artificial…), cuyo valor no sólo es difícilmente interpretable,<br />

si no que a<strong>de</strong>más se actualiza a una velocidad elevadísima (varias<br />

veces por segundo).


Arquitectura Multi-Agente para la Interfaz <strong>de</strong> Usuario <strong>de</strong> un Vehículo<br />

Agrícola 177<br />

En este artículo se presenta una arquitectura multi-agente como mo<strong>de</strong>lo<br />

para el <strong>de</strong>sarrollo <strong>de</strong> un interfaz que da respuesta a todas las necesida<strong>de</strong>s<br />

comentadas. La aproximación propuesta se ha <strong>de</strong>sarrollado e integrado para<br />

su uso como interfaz en un tractor que tiene capacidad <strong>de</strong> navegar sin<br />

conductor.<br />

En el siguiente apartado <strong>de</strong>scribimos nuestro problema en <strong>de</strong>talle. En la<br />

sección 2 se explica la arquitectura <strong>de</strong> agentes <strong>de</strong> Interfaz propuesta para la<br />

interacción entre un operario cualquiera y el tractor autónomo. En la sección<br />

3 se verá su implementación y primeros resultados. Por último, en la<br />

sección 4 se exponen las conclusiones y trabajo futuro.<br />

1.1 Descripción <strong>de</strong>l problema<br />

En nuestro caso, el robot con el que <strong>de</strong>seamos interactuar es un pequeño<br />

tractor autónomo, y el propósito <strong>de</strong> la interacción es po<strong>de</strong>r llevar a cabo tareas<br />

<strong>de</strong> laboreo en el campo. Este tractor lleva acoplada una arquitectura <strong>de</strong><br />

control basada en agentes, resi<strong>de</strong>nte en un pequeño computador a bordo<br />

(García-Pérez, 2004). Estos agentes dotan al tractor <strong>de</strong> la inteligencia suficiente<br />

como para que se mueva <strong>de</strong> forma autónoma, controlando la velocidad<br />

y evitando los obstáculos, y a la vez permiten que el operario <strong>de</strong>fina la<br />

ruta a seguir. Los principales problemas a los que nos enfrentamos son los<br />

ya <strong>de</strong>scritos en el apartado anterior: primero, que para po<strong>de</strong>r supervisar el<br />

funcionamiento <strong>de</strong>l tractor, el operario <strong>de</strong>be tener conocimiento <strong>de</strong>tallado<br />

<strong>de</strong> cómo operan los agentes, y segundo, la cantidad <strong>de</strong> información procesada<br />

por los agentes es <strong>de</strong>masiado gran<strong>de</strong> para ser transferida al operario.<br />

A<strong>de</strong>más, en este caso el tractor pue<strong>de</strong> estar en el campo a una distancia <strong>de</strong>l<br />

operario muy gran<strong>de</strong>, con lo que es difícil conocer la posición <strong>de</strong>l vehículo<br />

e incluso, <strong>de</strong>pendiendo <strong>de</strong> las dimensiones <strong>de</strong> la finca, es posible que el<br />

operario lo pierda <strong>de</strong> vista en algún momento. La interfaz <strong>de</strong>berá resolver o<br />

atenuar al máximo estos problemas. Otro requisito importante es que la interfaz<br />

sea capaz <strong>de</strong> filtrar la información recibida por el tractor, mostrando<br />

sólo la que en cada momento pueda ser más relevante para el sistema<br />

hombre-robot. Asimismo, una vez filtrada la información, ésta <strong>de</strong>be visualizarse<br />

con el objetivo <strong>de</strong> que el operario pueda interpretarla rápidamente.<br />

A lo anterior hay que añadir como requisito, el adaptarse al perfil <strong>de</strong>l operario<br />

que esté interactuando con el tractor, ya que por ejemplo la información<br />

que solicitará o requiere un agricultor no es la misma que pue<strong>de</strong>n precisar<br />

los <strong>de</strong>sarrolladores <strong>de</strong>l robot, ni tampoco lo será la forma en la que<br />

éstos quieran que esta información sea mostrada. Por último, la interfaz<br />

<strong>de</strong>berá proporcionar también al operario una forma <strong>de</strong> comunicarse con el<br />

tractor, ya sea simplemente para re<strong>de</strong>finir la ruta u objetivo, como para


178 Robots <strong>de</strong> exteriores<br />

tomar completamente el control <strong>de</strong> las operaciones (tele-operar). Hay que<br />

tener en cuenta, cómo ya se ha dicho, que en este contexto la tele operación<br />

<strong>de</strong>l tractor pue<strong>de</strong> llevarse a cabo en situaciones en las que el operario<br />

difícilmente sitúa visualmente al vehículo, por lo que será esencial, una<br />

vez más, la información que el tractor <strong>de</strong>vuelva al operario, para que éste<br />

sepa hacia adón<strong>de</strong> va y por dón<strong>de</strong> está pasando.<br />

2 Sistema MAS como interfaz Humano-Vehículo<br />

Como ya se ha dicho, el objetivo es <strong>de</strong>sarrollar una interfaz que facilite la<br />

interacción entre el operario y el vehículo agrícola, que sea adaptable al tipo<br />

<strong>de</strong> operario y que permita obtener una interacción bidireccional rápida y<br />

sencilla.<br />

Como primera aproximación a este problema, podría pensarse en <strong>de</strong>sarrollar<br />

una interfaz gráfica <strong>de</strong> usuario (GUI) lo más intuitiva posible, y<br />

posteriormente añadir sobre dicha GUI un gestor <strong>de</strong> ventanas a través <strong>de</strong><br />

un sistema basado en reglas, <strong>de</strong> forma que según los datos <strong>de</strong>vueltos por el<br />

robot muestre una ventana u otra. Esta solución presenta dos claros inconvenientes:<br />

1) el sistema basado en reglas no se adapta a las distintas necesida<strong>de</strong>s<br />

y preferencias <strong>de</strong> los diferentes usuarios, y difícilmente pue<strong>de</strong><br />

adaptarse <strong>de</strong> las peticiones <strong>de</strong> éstos, y 2) necesitamos que la interacción<br />

entre el usuario y el robot esté abierta en ambos sentidos simultáneamente,<br />

es <strong>de</strong>cir, no es <strong>de</strong>seable una mera comunicación <strong>de</strong> paso <strong>de</strong> mensajes, si no<br />

que a la vez que el usuario cambia algún parámetro <strong>de</strong> control, el robot tiene<br />

que seguir actualizando su estado y ejecutando su tarea.<br />

En (Schiaffino et. al, 2005), se introducen los Agentes <strong>de</strong> Interfaz como<br />

programas <strong>de</strong> or<strong>de</strong>nador que ayudan y supervisan al usuario en las tareas<br />

relacionadas con el uso <strong>de</strong> los or<strong>de</strong>nadores. Estos agentes, registran toda la<br />

actuación <strong>de</strong> un usuario, para crear un perfil <strong>de</strong> ayuda al uso <strong>de</strong>l programa<br />

que se traduce en recomendaciones o en tomar la iniciativa, filtrando información<br />

que no tiene interés para el operario. Esto es lo que se preten<strong>de</strong><br />

también en este caso, es <strong>de</strong>cir, disponer <strong>de</strong> un Agente <strong>de</strong> Interfaz que ayu<strong>de</strong><br />

al operario en el manejo <strong>de</strong>l robot, filtrando en cada instante la información<br />

superflua y creando gradualmente el perfil <strong>de</strong> los distintos usuarios,<br />

para permitir ajustar al máximo la interfaz a cada uno <strong>de</strong> ellos. En, (Kawanura<br />

et. al, 2003) se presenta una aproximación <strong>de</strong> agente <strong>de</strong> interfaz para<br />

recoger la información <strong>de</strong>vuelta por un robot con resultados interesantes.<br />

Por otra parte, el interfaz a <strong>de</strong>sarrollar tiene que tratar con la información<br />

<strong>de</strong> salida y estado <strong>de</strong> cada uno <strong>de</strong> los agentes <strong>de</strong> la arquitectura <strong>de</strong> control<br />

<strong>de</strong>l tractor autónomo en la que se va a implantar el interfaz, una razón más


Arquitectura Multi-Agente para la Interfaz <strong>de</strong> Usuario <strong>de</strong> un Vehículo<br />

Agrícola 179<br />

que muestra lo apropiado que pue<strong>de</strong> ser el paradigma multi-agente en el<br />

diseño <strong>de</strong> interfaces hombre-robot.<br />

Por otro lado, como hemos dicho, necesitamos también que el operario,<br />

a la vez que recibe información, pueda re<strong>de</strong>finir la ruta, o tele-operar el<br />

tractor. Esto requiere más <strong>de</strong> un agente, se necesita al menos un segundo<br />

agente, que recoja las intenciones <strong>de</strong>l usuario y tenga capacidad <strong>de</strong> comunicación<br />

con todos los agentes <strong>de</strong> la arquitectura <strong>de</strong> comportamiento que<br />

lleva el vehículo agrícola, AGRO-AMARA (García-Pérez, 2004) seleccionando<br />

a quién comunicar las or<strong>de</strong>nes <strong>de</strong>l usuario, tal como se muestra en la<br />

Fig. 1.<br />

En <strong>de</strong>finitiva, la interfaz estará constituida por dos agentes: el agente Interfaz<br />

y el agente Operación. Embarcado en el tractor se encuentra el<br />

computador <strong>de</strong> a bordo don<strong>de</strong> se ejecutan los agentes que componen la arquitectura<br />

<strong>de</strong> control AGRO-AMARA, mientras que en la máquina usada<br />

por el operario, se encuentran los dos agentes Interfaz y Operación, así<br />

como la GUI. Todos los agentes son estáticos, ya que se comunican<br />

abriendo un canal <strong>de</strong> comunicación <strong>de</strong> doble sentido, pero sin moverse <strong>de</strong><br />

su entorno <strong>de</strong> ejecución.<br />

Fig. 1 – Arquitectura <strong>de</strong> la Interfaz Humano - Tractor<br />

El agente Interfaz se comunica con todos los agentes <strong>de</strong> AGRO-<br />

AMARA, recibiendo <strong>de</strong> cada uno <strong>de</strong> éstos el estado actual y la informa-


180 Robots <strong>de</strong> exteriores<br />

ción que están procesando o la salida <strong>de</strong> los que están activos. A partir <strong>de</strong><br />

esta información, actualiza todas las ventanas <strong>de</strong> la GUI que lo necesiten, y<br />

cuándo lo consi<strong>de</strong>ra necesario (en función <strong>de</strong>l perfil <strong>de</strong>l operario que está<br />

usando la interfaz), mostrará al operario una ventana, o cerrará una abierta.<br />

A su vez, el operario es libre <strong>de</strong> abrir o cerrar una ventana siempre que<br />

quiera, acto que el agente registrará en una traza <strong>de</strong> ejecución junto con el<br />

estado actual <strong>de</strong> operaciones. De esta forma, el agente pue<strong>de</strong> apren<strong>de</strong>r que<br />

el operario ha preferido en una <strong>de</strong>terminada situación cerrar o abrir una<br />

ventana en concreto y así en el futuro cuando se produzca una situación<br />

similar podrá anticiparse abriendo o cerrando dicha ventana. Por ejemplo,<br />

imaginemos una situación en la que el tractor está navegando autónomamente<br />

siguiendo una ruta pre<strong>de</strong>finida. Si repentinamente el agente Evitar<br />

Obstáculos se activa, <strong>de</strong>sactivando todos los <strong>de</strong>más, el agente interfaz<br />

pue<strong>de</strong> pensar que al operario le interesará ver los datos <strong>de</strong>l sensor láser<br />

(mediante el cuál se <strong>de</strong>tectan los obstáculos), y abrir dicha ventana. Sin<br />

embargo, si el usuario prefiere ver las imágenes sacadas por la cámara <strong>de</strong><br />

vi<strong>de</strong>o, cerrará la ventana <strong>de</strong> láser y abrirá la <strong>de</strong>l vi<strong>de</strong>o; el agente interfaz<br />

registrará dichos movimientos, y la próxima vez que se active el agente<br />

Evitar Obstáculos abrirá directamente la ventana <strong>de</strong> vi<strong>de</strong>o.<br />

El agente Operación, se encarga <strong>de</strong> la interacción en sentido contrario:<br />

<strong>de</strong>l operario hacia el tractor. El usuario, a parte <strong>de</strong> la tarea <strong>de</strong> supervisión<br />

ya <strong>de</strong>scrita (uso pasivo <strong>de</strong> la GUI), pue<strong>de</strong> efectuar 3 operaciones directas<br />

sobre el tractor: 1) solicitar una parada <strong>de</strong> emergencia, 2) tele operar el<br />

tractor, y 3) <strong>de</strong>finir una nueva ruta <strong>de</strong> navegación. Para ello, usará las ventanas<br />

y botones <strong>de</strong> la GUI preparados a tales efectos, y el agente operación<br />

recogerá dichas operaciones y se encargará <strong>de</strong> que se lleven a cabo en el<br />

tractor. Veamos cada una <strong>de</strong> las operaciones por separado:<br />

Cuando el operario pulsa el botón <strong>de</strong> “PARADA INMEDIATA”, el<br />

agente operación <strong>de</strong>be activar el agente Parar, que se encarga <strong>de</strong> paralizar<br />

el tractor actuando sobre los actuadores <strong>de</strong> éste.<br />

Si el operario quiere tele-operar el tractor, abrirá la ventana <strong>de</strong> tele operación,<br />

y el usuario actuará sobre el volante, el acelerador y el freno <strong>de</strong><br />

modo remoto y con total libertad. Nada más abrirse la ventana <strong>de</strong> tele operación,<br />

el agente operación <strong>de</strong>sactivará todos los agentes <strong>de</strong> AGRO-<br />

AMARA, y activará el agente Frenar. A partir <strong>de</strong> ahí, cada vez que el<br />

operario cambie el giro o quiera acelerar o frenar, el agente operación se<br />

encargará <strong>de</strong> activar los agentes Girar Volante, Avanzar y Frenar, pasando<br />

en el caso <strong>de</strong>l primero el ángulo <strong>de</strong> giro <strong>de</strong>l volante solicitado. Por<br />

otro lado, es importante que el agente operación informe al agente Interfaz<br />

cuándo el operario está en modo tele operando y cuándo no, para que este<br />

cambie su comportamiento, ya que en el caso <strong>de</strong> estar en modo tele ope-


Arquitectura Multi-Agente para la Interfaz <strong>de</strong> Usuario <strong>de</strong> un Vehículo<br />

Agrícola 181<br />

rando se preocupará más <strong>de</strong> transmitir al operario lo que “ve” el tractor<br />

(vi<strong>de</strong>o, láser, posición GPS), para ayudarle a guiar el tractor, y menos en<br />

informar sobre el estado <strong>de</strong> los agentes.<br />

Por último, el operario pue<strong>de</strong> <strong>de</strong>sear cambiar la ruta pre<strong>de</strong>finida, abriendo<br />

la ventana <strong>de</strong> “Ir a Punto”. En ese caso, el operario pinchará en una zona<br />

<strong>de</strong>l mapa actual (foto aérea georeferenciada), indicando que este <strong>de</strong>be<br />

ser el nuevo <strong>de</strong>stino <strong>de</strong>l tractor. En este caso, el agente Operación <strong>de</strong>be<br />

una vez más <strong>de</strong>sactivar todos los agentes, y activar el agente Ir a Punto,<br />

con la posición <strong>de</strong>seada, para que éste a su vez planifique la nueva ruta activando<br />

el agente Planificador.<br />

Cómo se pue<strong>de</strong> ver, gracias a esta arquitectura <strong>de</strong> agentes, conseguimos<br />

todos los objetivos propuestos: la interacción se produce simultáneamente<br />

en ambos sentidos gracias a la participación <strong>de</strong> ambos agentes, y <strong>de</strong> forma<br />

intuitiva y personalizada para el usuario, gracias al diseño <strong>de</strong> la GUI y a<br />

los dos agentes, Interfaz y Operación. En la siguiente sección se <strong>de</strong>scribe<br />

el entorno <strong>de</strong> simulación <strong>de</strong>sarrollado para probar esta arquitectura.<br />

3 Desarrollo y simulación<br />

Debido a las limitaciones <strong>de</strong> campo y al posible riesgo <strong>de</strong> pérdidas materiales,<br />

no se pue<strong>de</strong> probar un nuevo sistema sin antes simularlo y comprobar<br />

que funciona en simulación. Por eso, se ha simulado el sistema completo<br />

<strong>de</strong>scrito en la sección 3, tanto los agentes <strong>de</strong> los que se compone<br />

AGRO-AMARA como los propuestos para la interfaz, todo ello en un entorno<br />

C++.<br />

Primero se ha simulado el comportamiento <strong>de</strong> cada uno <strong>de</strong> los agentes<br />

<strong>de</strong> AGRO-AMARA siguiendo lo <strong>de</strong>scrito en (García-Pérez, 2004). La comunicación<br />

entre agentes se implementa a partir <strong>de</strong> “sockets”. Los datos<br />

<strong>de</strong> entrada, cómo los datos <strong>de</strong>l láser o <strong>de</strong> localización DGPS, que <strong>de</strong>volverían<br />

los sensores <strong>de</strong>l tractor, se han simulado mediante trazas en varios archivos<br />

que utilizan los agentes simulados para generar las salidas.<br />

Una vez construido el simulador, se ha <strong>de</strong>sarrollado la interfaz gráfica<br />

<strong>de</strong> usuario, y sobre ella se han encapsulado los dos agentes Interfaz y Operación.<br />

La GUI se compone <strong>de</strong> la ventana principal, que contiene el resto<br />

<strong>de</strong> ventanas <strong>de</strong> información, así cómo a los botones asociados a las acciones<br />

que pue<strong>de</strong> realizar el operario (parada, tele operación, re<strong>de</strong>finir la ruta).<br />

En la Fig. 2 se muestran las distintas ventanas; la Fig. 2a muestra la ventana<br />

<strong>de</strong> los estados <strong>de</strong> los agentes, que el agente interfaz actualiza cada vez<br />

que un agente <strong>de</strong> AGRO-AMARA cambia su estado. La Fig. 2b muestra la


182 Robots <strong>de</strong> exteriores<br />

ventana <strong>de</strong> posición, en la que se <strong>de</strong>talla la salida <strong>de</strong> los sensores <strong>de</strong> posición<br />

(GPS, brújula y odómetros), y la salida final calculada a partir <strong>de</strong> dichos<br />

datos, así como la forma en la que el agente Actualizar Posición la<br />

ha obtenido (la posición se obtiene fusionando la localización GPS y la<br />

brújula, en casos <strong>de</strong> fallo GPS durante fracciones muy pequeñas <strong>de</strong> tiempo<br />

se usan los odómetros corregidos con la última señal GPS válida recibida).<br />

La Fig. 2c presenta la ventana <strong>de</strong> los datos <strong>de</strong> láser, don<strong>de</strong> se representa el<br />

barrido <strong>de</strong>l láser, <strong>de</strong> modo que en rojo aparece el obstáculo situado con<br />

respecto a la orientación en cada instante <strong>de</strong>l tractor. Por último, la Fig. 2d<br />

muestra la situación actual <strong>de</strong>l tractor <strong>de</strong>ntro <strong>de</strong>l mapa que los agentes Actualiza<br />

Obstáculos y Actualiza Mapa van construyendo. El agente Interfaz<br />

es el encargado <strong>de</strong> refrescar todas estas ventanas, estando en constante<br />

comunicación con la arquitectura AGRO-AMARA, y posteriormente, en<br />

función <strong>de</strong> las preferencias <strong>de</strong> usuario, se encargará también <strong>de</strong> mostrar al<br />

usuario una ventana en un <strong>de</strong>terminado momento (al inicio todas están minimizadas),<br />

así cómo <strong>de</strong> registrar los movimientos <strong>de</strong> éste sobre dichas<br />

ventanas para seguir generando el perfil <strong>de</strong> usuario.<br />

a<br />

b<br />

c<br />

d<br />

Fig. 2 – Ventanas <strong>de</strong> la GUI


Arquitectura Multi-Agente para la Interfaz <strong>de</strong> Usuario <strong>de</strong> un Vehículo<br />

Agrícola 183<br />

En la Fig. 3 se muestran las ventanas a través <strong>de</strong> las cuales el operario<br />

interactúa con el tractor. La primera (Fig. 3a) es la <strong>de</strong> tele-operación, don<strong>de</strong><br />

el operario dispone <strong>de</strong> un volante, acelerador y freno para tele operar el<br />

tractor. Aquí, el agente Operación <strong>de</strong>berá registrar los movimientos <strong>de</strong>l<br />

operario y asegurarse <strong>de</strong> que se ejecuten en tiempo real sobre el tractor,<br />

comunicándose con AGRO-AMARA. A<strong>de</strong>más, es importante que comunique<br />

al agente Interfaz que ha empezado una tele-operación, para que éste<br />

lo tenga en cuenta y muestre al operario la posición y en la medida <strong>de</strong> lo<br />

posible lo que el tractor está “viendo”, para facilitar a éste su tarea, como si<br />

estuviese sentado al mando <strong>de</strong>l tractor. La segunda ventana (Fig. 3b), es la<br />

<strong>de</strong> re<strong>de</strong>finición <strong>de</strong> la ruta y la <strong>de</strong> visualización. El operario pue<strong>de</strong> ver en<br />

dicha ventana (sobre una foto <strong>de</strong>l campo georeferenciada) el movimiento<br />

<strong>de</strong>l tractor en tiempo real <strong>de</strong>s<strong>de</strong> el inicio <strong>de</strong> la tarea, y si quiere pue<strong>de</strong> <strong>de</strong>finir<br />

un nuevo <strong>de</strong>stino pinchando directamente en la pantalla como si se tratase<br />

<strong>de</strong> una PDA (Ribeiro, 2003). El agente Operación, una vez seleccionado<br />

el nuevo <strong>de</strong>stino, se encarga <strong>de</strong> lanzar el agente Planificador, para<br />

que calcule la nueva ruta, y al agente Ir a Punto <strong>de</strong> AGRO-AMARA.<br />

Como ya se ha dicho, la comunicación entre los agentes <strong>de</strong>ntro <strong>de</strong> la arquitectura<br />

se ha realizado a través <strong>de</strong> canales Socket; todos los agentes son<br />

a la vez servidores y clientes <strong>de</strong>pendiendo <strong>de</strong>l sentido <strong>de</strong> la comunicación.<br />

La capa TCP/IP es la que se encarga <strong>de</strong> i<strong>de</strong>ntificar a cada Agente, asignando<br />

a cada uno un puerto distinto. Se ha <strong>de</strong>finido el formato <strong>de</strong> los paquetes<br />

que los Agentes intercambian entre sí. En la comunicación <strong>de</strong>s<strong>de</strong> AGRO-<br />

AMARA hacia la Interfaz, cada paquete lleva el ID <strong>de</strong>l agente, su estado<br />

actual, y en caso <strong>de</strong> estar activo, los datos <strong>de</strong> salida <strong>de</strong> éste, para con ellos<br />

realizar el refresco <strong>de</strong> la ventana pertinente. En sentido contrario <strong>de</strong>l Interfaz<br />

a AGRO-AMARA, los paquetes llevan el ID <strong>de</strong>l Agente al que va <strong>de</strong>stinado<br />

el paquete, así como el estado al que este <strong>de</strong>be pasar (o 0 si no se<br />

quiere que este cambie su estado) y en caso <strong>de</strong> ser un paquete mandado por<br />

el agente Operación, los datos referentes a las ór<strong>de</strong>nes <strong>de</strong> control <strong>de</strong>l operario<br />

(el ángulo <strong>de</strong> giro, el nuevo punto <strong>de</strong>stino…). Todo esto se ilustra en<br />

la Fig. 4.


184 Robots <strong>de</strong> exteriores<br />

AGRO-AMARA<br />

AGRO-AMARA<br />

Cliente<br />

………..<br />

………..<br />

Cliente<br />

……..<br />

……..<br />

Servidor<br />

Socket (TCP)<br />

Socket (TCP)<br />

Agente Interfaz<br />

Cliente<br />

Cliente<br />

Paquete<br />

Servidor<br />

IDSen<strong>de</strong>r Estado Datos<br />

Agente<br />

Operación<br />

Agente<br />

Agente Interfaz<br />

Operación<br />

Paquete<br />

IDReceiver Estado Da-<br />

Fig. 4 – Comunicación arquitectura Cliente/Servidor<br />

4 Conclusiones y trabajo futuro<br />

En este artículo se ha propuesto una interfaz <strong>de</strong> interacción humano-robot<br />

basada en agentes, para facilitar la interacción entre un operario cualquiera<br />

y un robot agrícola autónomo.<br />

La interfaz propuesta consigue adaptarse a las distintas preferencias <strong>de</strong><br />

cada operario, tanto en el tipo y en la cantidad <strong>de</strong> información que el robot<br />

transfiere a éste como en cómo dicho operario controla <strong>de</strong> forma directa al<br />

robot. Por otro lado, gracias al diseño <strong>de</strong> una interfaz gráfica <strong>de</strong> usuario intuitiva<br />

y sencilla, el operario no necesita tener gran<strong>de</strong>s conocimientos sobre<br />

el sistema montado en el robot, cuello <strong>de</strong> botella importante en las interacciones<br />

entre usuarios y robots.<br />

El sistema completo se ha <strong>de</strong>sarrollado y simulado en un entorno C++, y<br />

se ha probado su funcionamiento al interactuar con el tractor autónomo,<br />

dotado <strong>de</strong> una <strong>de</strong> arquitectura <strong>de</strong> control híbrida basada en agentes para<br />

navegación autónoma.<br />

Los resultados iniciales son muy interesantes por lo que como trabajo<br />

futuro se ampliará el funcionamiento <strong>de</strong> la interfaz integrándola en la arquitectura<br />

AGRO-AMARA ampliada para tareas <strong>de</strong> laboreo.<br />

Por último <strong>de</strong>cir que la interfaz propuesta es genérica pudiendo ser integrada,<br />

sin <strong>de</strong>masiado esfuerzo en sistemas complejos, con el fin <strong>de</strong> realizar<br />

la interacción con cualquier vehículo autónomo que presente una proble-


Arquitectura Multi-Agente para la Interfaz <strong>de</strong> Usuario <strong>de</strong> un Vehículo<br />

Agrícola 185<br />

mática similar en supervisión y control a la <strong>de</strong> un tractor, como por ejemplo<br />

todo tipo <strong>de</strong> vehículos terrestres, aeronaves, helicópteros, etc.<br />

Agra<strong>de</strong>cimientos<br />

El trabajo ha sido financiado por la Comisión Interministerial <strong>de</strong> Ciencia y<br />

Tecnología (CICYT) <strong>de</strong>l Ministerio <strong>de</strong> Educación y Ciencia y el Plan Regional<br />

<strong>de</strong> Investigación Científica e Innovación Tecnológica (PRICIT) <strong>de</strong><br />

la Comunidad Autónoma <strong>de</strong> Madrid (CAM), proyectos: CICYT-<br />

AGL2005-06180-C03-03 Extracción <strong>de</strong> conocimiento espacio temporal y<br />

visión artificial para la automatización <strong>de</strong> tratamientos localizados,<br />

CICYT- DPI-2006-14497: Integración <strong>de</strong> percepción, planificación y acción<br />

en una arquitectura cognitiva y distribuida <strong>de</strong> agentes <strong>de</strong> comportamiento<br />

y ROBOCITY2030: Robots <strong>de</strong> Servicios- PRICIT-CAM-2005.<br />

Referencias<br />

Adams J.A., 2002. Critical consi<strong>de</strong>rations for Human-Robot Interface Development.<br />

In 2002 AAAI Fall Symposium: Human Robot Interaction,<br />

Nov.2002, pp 1-8<br />

Allen, J.F, 1999. “Mixed-Initiative Interaction”. In Proceedings of IEEE<br />

Intelligent Systems, Vol. 14, Nº5, pp 14-16<br />

Ardissono, L., A. Coy, G. Petrone, M. Segnan, 2000. Adaptive User Interfaces<br />

for On-Line Shopping. In 2000 AAAI Spring Symposium, Technical<br />

Report SS-00-01, pp 13-18<br />

García-Pérez L., 2004. Navegación Autónoma <strong>de</strong> Robots en Agricultura:<br />

Un Mo<strong>de</strong>lo <strong>de</strong> Agentes. Tesis Doctoral, Universidad Complutense <strong>de</strong> Madrid.<br />

Kawanura K., Nilas P., Muguruma K., Adams J.A., Zhou C., 2003. An<br />

Agent Based Architecture for an Adaptive Human-Robot Interface. In Proceedings<br />

of the 36th Hawaii International Conference on System Sciences.<br />

Ribeiro A., Garcia-Pérez, L., Garcia-Alegre, M.C., Guinea, D. 2003. A<br />

friendly man-machine visualisation agent for remote control of an autono-


186 Robots <strong>de</strong> exteriores<br />

mous tractor GPS gui<strong>de</strong>d. In Proc. 4th European Conf on Precision Agriculture.<br />

Wageningen, pp. 541-542.<br />

Schiaffino S., Amandi A., 2005. Personalizing user-agent interaction.<br />

Knowledge Based Systems Vol. 19, pp 43-49


CAPÍTULO 12<br />

Sistemas <strong>de</strong> Localización y Percepción<br />

Inteligente en la Navegación Autónoma y Segura<br />

<strong>de</strong> Robots <strong>de</strong> Exteriores<br />

M. C. GARCÍA-ALEGRE, A. RIBEIRO, D. MARTÍN, L. GARCÍA-<br />

PÉREZ y D. GUINEA<br />

Instituto <strong>de</strong> <strong>Automática</strong> Industrial (IAI), Consejo Superior <strong>de</strong> Investigaciones<br />

Científicas (CSIC), 28500 Arganda <strong>de</strong>l Rey. Madrid. maria@iai.csic.es<br />

En este trabajo se presentan los sistemas <strong>de</strong> localización, seguridad y percepción<br />

<strong>de</strong>l entorno integrados en dos vehículos comerciales, así como las<br />

adaptaciones <strong>de</strong> los sistemas <strong>de</strong> actuación requeridos para la navegación<br />

no tripulada en exteriores. Se trata <strong>de</strong> dotar al vehículo <strong>de</strong> sensores y actuadores,<br />

que permitan una localización y percepción <strong>de</strong>l entorno inteligente<br />

para la navegación autónoma en escenarios parcialmente estructurados.<br />

En estos entornos los requerimientos <strong>de</strong> seguridad y <strong>de</strong> percepción<br />

inteligente son imprescindibles a medida que aumenta, con la implantación<br />

<strong>de</strong> los robots <strong>de</strong> servicios, la interacción hombre-máquina. Se presenta el<br />

conjunto <strong>de</strong> agentes perceptuales y motores diseñados para la realización<br />

<strong>de</strong> un conjunto <strong>de</strong> tareas que siguen un patrón <strong>de</strong> navegación que combina<br />

las estrategias SEGUIR LINEA RECTA y CAMBIAR <strong>DE</strong> LINEA. Estas<br />

estrategias se integran en una arquitectura híbrida y distribuida <strong>de</strong> agentes<br />

<strong>de</strong> comportamiento, <strong>de</strong>nominada AMARA, para la consecución <strong>de</strong> tareas<br />

<strong>de</strong> complejidad creciente, a partir <strong>de</strong> un conjunto <strong>de</strong> agentes <strong>de</strong> percepción<br />

y locomoción básicos.<br />

1 Introducción<br />

La navegación autónoma y segura <strong>de</strong> vehículos en exteriores sigue siendo<br />

un reto con múltiples aplicaciones en el área <strong>de</strong> Servicios. Las potenciales<br />

aplicaciones <strong>de</strong> los robots <strong>de</strong> exteriores en campo han sido suficientemente<br />

reconocidas y una gran parte <strong>de</strong>l trabajo en esta área está motivado por las


188 Robots <strong>de</strong> exteriores<br />

aplicaciones militares y espaciales. Sin embargo en los últimos años empiezan<br />

a <strong>de</strong>spuntar aplicaciones en los campos <strong>de</strong> Agricultura (Atoe,<br />

2004), Minería (Marshall and Barfoot, 2007) y Forestal, ante la <strong>de</strong>manda<br />

tanto económica como social dirigida a la protección <strong>de</strong> la salud <strong>de</strong> los<br />

operarios y <strong>de</strong>l medioambiente.<br />

Des<strong>de</strong> tiempos inmemoriales, los hombres han realizado manualmente<br />

todos los trabajos en el exterior y aunque la mecanización <strong>de</strong>l siglo XX, ha<br />

liberado <strong>de</strong> las tareas más pesadas en la producción <strong>de</strong> cultivos, y extracción<br />

<strong>de</strong> materias primas, aún existe un largo camino por hacer en agricultura<br />

extensiva y en minería. Una gran parte <strong>de</strong> estas tareas, se realizan a velocidad<br />

reducida, son repetitivas y podrían acometerse <strong>de</strong> forma semiautomática<br />

o automática mediante la implantación <strong>de</strong> robots móviles. Así,<br />

la industria y los servicios podrían beneficiarse con la automatización <strong>de</strong><br />

tareas <strong>de</strong>l tipo: distribución selectiva <strong>de</strong> productos en el campo, mantenimiento<br />

<strong>de</strong> gran<strong>de</strong>s parques y jardines, corte <strong>de</strong> césped, extracción y transporte<br />

<strong>de</strong> materias primas, tanto bajo tierra como a cielo abierto, (Stentz et<br />

al. 1999), recogida <strong>de</strong> basuras en carreteras y vigilancia diurna y nocturna ,<br />

entre otras muchas (Nelly et al., 2006).<br />

La automatización <strong>de</strong> algunas <strong>de</strong> estas aplicaciones, facilitaría la realización<br />

<strong>de</strong> acciones selectivas guiadas tanto por GPS y mapa <strong>de</strong>l escenario<br />

como por una percepción local <strong>de</strong>l entorno (García-Alegre et al., 2005).<br />

Hasta la fecha son escasas las pruebas experimentales realizadas con tractores<br />

comerciales en escenarios reales (Stentz, 2002), (Stoll, 2003), (García-Pérez<br />

et al. 2003), (García-Pérez et al., 2007). Los pocos sistemas que<br />

en la actualidad se comercializan siguen siendo sistemas <strong>de</strong> ayuda a la conducción<br />

manual, aunque guiados por GPS, que ofrecen al conductor una<br />

visualización <strong>de</strong> las acciones a realizar para el guiado <strong>de</strong>l tractor (Beeline,<br />

2007).<br />

Los sistemas sensoriales son imprescindibles para sustituir las capacida<strong>de</strong>s<br />

<strong>de</strong> percepción y razonamiento que realiza el conductor humano. Si<br />

a<strong>de</strong>más se preten<strong>de</strong> que la navegación se realice en distintos escenarios, y<br />

con diferentes objetivos, es necesario buscar el conjunto <strong>de</strong> sensores que<br />

optimice la relación calidad/precio, <strong>de</strong>sarrollando a partir <strong>de</strong> las señales<br />

crudas que estos proporcionan, algoritmos inteligentes <strong>de</strong> fusión <strong>de</strong> información<br />

para la toma <strong>de</strong> <strong>de</strong>cisiones en tiempo real, con garantías <strong>de</strong> precisión<br />

y fiabilidad (Zhang et al., 1999). La variabilidad tanto <strong>de</strong> las tareas<br />

que se preten<strong>de</strong>n abordar como <strong>de</strong> los entornos <strong>de</strong> trabajo, implica la generación<br />

<strong>de</strong> prototipos enfocados a un posterior ajuste, por usuarios expertos,<br />

<strong>de</strong> acuerdo con los requerimientos y restricciones que imponen tanto las<br />

tareas como los vehículos y el entorno.


Sistemas <strong>de</strong> Localización y Percepción Inteligente en la Navegación Autónoma y<br />

Segura <strong>de</strong> Robots <strong>de</strong> Exteriores 189<br />

2 Navegación autónoma <strong>de</strong> robots <strong>de</strong> exteriores<br />

Los vehículos comerciales que han sido sensorizados y adaptados para la<br />

conducción autónoma son dos tractores comerciales <strong>de</strong> operación en campo.<br />

El primero, con 1.200 kg <strong>de</strong> peso, tamaño medio (2.60 x 0.95m), 46<br />

HP, motor diesel y dirección hidráulica asistida, tiene como escenarios<br />

campos <strong>de</strong> tamaño medio, habitualmente encontrados en la zona norte <strong>de</strong><br />

España y está diseñado en su totalidad y comercializado por la empresa<br />

Agria-Hispania (9940), (Fig. 1). El segundo es un tractor comercial MDT,<br />

<strong>de</strong> tamaño reducido (1.6 x 1.2m), ligero (150 kg) y con una potencia <strong>de</strong> 12<br />

HP. Ha sido diseñado para la realización <strong>de</strong> tareas <strong>de</strong> mantenimiento <strong>de</strong><br />

parques y jardines mediante la adaptación <strong>de</strong> diferentes aperos, fundamentalmente<br />

<strong>de</strong> corte <strong>de</strong> césped y recogida <strong>de</strong> hojas, (Fig. 2).<br />

2.1 Actuadores: Tractor AGRIA<br />

Para la automatización <strong>de</strong> la acción manual sobre los pedales <strong>de</strong>l freno y<br />

<strong>de</strong>l embrague, se han diseñado e incorporado dos circuitos hidráulicos,<br />

manteniendo la conducción manual. Así, el control <strong>de</strong>l freno y embrague<br />

se realiza a través <strong>de</strong> dos cilindros hidráulicos <strong>de</strong> pistón único y dos válvulas<br />

<strong>de</strong> 2 vías. El pistón <strong>de</strong> cada cilindro actúa sobre freno y embrague a fin<br />

<strong>de</strong> <strong>de</strong>tener o poner en movimiento el tractor. La dirección se ha automatizado<br />

integrando una electro-válvula <strong>de</strong> tres vías dado que el tractor disponía,<br />

<strong>de</strong> fábrica, <strong>de</strong> un cilindro para la dirección asistida (García-Pérez,<br />

2004), (Oksanen, et al., 2004). Un sensor potenciométrico, acoplado al cilindro<br />

<strong>de</strong> dirección, proporciona la posición <strong>de</strong> referencia, <strong>de</strong>l pistón, al<br />

sistema <strong>de</strong> control.<br />

Fig. 1. Tractor comercial AGRIA transformado en el<br />

robot móvil <strong>DE</strong>DALO


190 Robots <strong>de</strong> exteriores<br />

2.2 Actuadores: Tractor MDT<br />

La actuación manual sobre la dirección y el freno/embrague, han sido sustituidos,<br />

en este caso, por dos actuadores neumáticos. En comparación con<br />

los sistemas hidráulicos, los neumáticos poseen un coste inferior, un tamaño<br />

reducido y son más limpios. Por otro lado, si se comparan con DC servos<br />

equivalentes, ofrecen una respuesta rápida y una relación alta potencia/coste.<br />

Los actuadores neumáticos han sido a<strong>de</strong>cuadamente acoplados a los ejes<br />

<strong>de</strong> giro y <strong>de</strong> freno para sustituir la acción <strong>de</strong>l operador humano sobre el volante<br />

y el freno. Cada sistema <strong>de</strong> actuación está compuesto por una electroválvula<br />

y un cilindro neumático <strong>de</strong> doble efecto, con el pistón acoplado al<br />

eje correspondiente, (Fig. 2.). Los sistemas <strong>de</strong> control neumático integrados,<br />

comparten un tanque <strong>de</strong> aire a presión y un compresor accionado por<br />

el eje <strong>de</strong> tracción, siendo la fuente <strong>de</strong> energía el tanque <strong>de</strong> gasolina.<br />

Fig. 2. Vehículo comercial MDT transformado en el robot móvil ROJO


Sistemas <strong>de</strong> Localización y Percepción Inteligente en la Navegación Autónoma y<br />

Segura <strong>de</strong> Robots <strong>de</strong> Exteriores 191<br />

3 Integración <strong>de</strong> subsistemas sensoriales<br />

En ambos vehículos se ha integrado un conjunto idéntico <strong>de</strong> sensores para<br />

el posicionamiento global <strong>de</strong>l vehículo y para dotarle <strong>de</strong> la seguridad requerida<br />

en su interacción con un entorno dinámico semi-estructurado. Los<br />

sensores integrados pue<strong>de</strong>n dividirse en dos grupos: <strong>de</strong> localización y <strong>de</strong><br />

seguridad y reconocimiento <strong>de</strong>l entorno.<br />

3.1 Localización<br />

Para obtener la posición y orientación <strong>de</strong>l vehículo, se han incorporado un<br />

receptor GPS (Amstech 3100-LR12) con corrección diferencial Rasant y<br />

precisión nominal 1 m., una brújula digital (KVH-C100) con 0.5º <strong>de</strong> resolución,<br />

y un odómetro, <strong>de</strong> diseño propio, con una resolución nominal <strong>de</strong> 20<br />

cm, a fin <strong>de</strong> disponer <strong>de</strong> una localización global precisa y continua.<br />

3.2 Seguridad y percepción local<br />

Como sensores <strong>de</strong> seguridad, se han integrador dos setas <strong>de</strong> parada manual,<br />

dos inclinómetros y un parachoques <strong>de</strong> fibra óptica. El tractor dispone,<br />

para la <strong>de</strong>tección <strong>de</strong> obstáculos dinámicos en las proximida<strong>de</strong>s, <strong>de</strong> un<br />

láser <strong>de</strong> barrido 2D (SICK-LMS291) con alcance <strong>de</strong> 40 m, resolución angular<br />

0.5º y frecuencia máxima <strong>de</strong> muestreo 5 Hz. (Garcia-Pérez, et al.,<br />

2005), (Fig. 3.).<br />

Fig.3. Parachoques y láser <strong>de</strong> barrido 2D, situados en la zona<br />

frontal <strong>de</strong>l tractor. Detección <strong>de</strong> un obstáculo frente al tractor, en<br />

una representación en coor<strong>de</strong>nadas polares


192 Robots <strong>de</strong> exteriores<br />

En la (Fig. 4.) se muestra la información elaborada a partir <strong>de</strong> históricos<br />

previos <strong>de</strong> objetos <strong>de</strong>tectados y la imagen láser instantánea, representada<br />

sobre un mapa <strong>de</strong> rejilla <strong>de</strong> (20x20) m y tamaño <strong>de</strong> celdilla <strong>de</strong> 20 cm.,<br />

don<strong>de</strong> aparecen varios obstáculos con una persistencia diez veces superior<br />

a la <strong>de</strong>l ciclo <strong>de</strong> medida, 200 ms, <strong>de</strong>l sensor láser (Garcia-Pérez et al.,<br />

2005).<br />

Fig.4. Mapa <strong>de</strong> rejilla utilizado para la representación <strong>de</strong> la información proporcionada<br />

por el dispositivo láser <strong>de</strong> barrido 2D.<br />

5 Sistemas <strong>de</strong> proceso y comunicación a bordo <strong>de</strong>l robot<br />

A bordo <strong>de</strong>l robot se ha instalado un procesador convencional para adquirir<br />

y procesar las señales sensoriales, calcular y ejecutar las acciones <strong>de</strong><br />

control sobre los actuadores y comunicarse con el resto <strong>de</strong>l mundo. Los<br />

procesos <strong>de</strong> inicialización y visualización se ejecutan en un procesador<br />

portátil externo, que posee unas características similares a una PDA pero<br />

dispone <strong>de</strong> un monitor con mayor superficie y capacidad <strong>de</strong> proceso, facilitando<br />

un interfaz <strong>de</strong> usuario más completo.


Sistemas <strong>de</strong> Localización y Percepción Inteligente en la Navegación Autónoma y<br />

Segura <strong>de</strong> Robots <strong>de</strong> Exteriores 193<br />

La comunicación hombre-máquina tiene como soporte una red inalámbrica<br />

<strong>de</strong> bajo coste, que pue<strong>de</strong> configurarse en cualquier campo para realizar<br />

la tarea <strong>de</strong> navegación autónoma. En la experimentación en el campus<br />

<strong>de</strong>l IAI,CSIC en Arganda, se dispone <strong>de</strong> una WLAN (Wifi IEEE-802.11x),<br />

<strong>de</strong> forma que el procesador a bordo <strong>de</strong>l tractor pue<strong>de</strong> comunicarse, vía Intranet/Internet,<br />

con cualquier estación <strong>de</strong> trabajo.<br />

6 Sistema basado en conocimiento para la estimación <strong>de</strong><br />

la posición<br />

La posición y orientación <strong>de</strong>l vehículo se obtiene, a una frecuencia <strong>de</strong> 5Hz,<br />

a partir <strong>de</strong> las señales proporcionadas por el receptor GPS, dotado <strong>de</strong> corrección<br />

diferencial y por la brújula digital. Cuando la señal proporcionada<br />

por el GPS se <strong>de</strong>grada, la localización <strong>de</strong>l tractor se obtiene mediante<br />

algoritmos <strong>de</strong> fusión sensorial, basados en reglas borrosas, utilizando las<br />

lecturas <strong>de</strong> sensores complementarios, en este caso los odómetros, hasta<br />

que se reciben datos GPS precisos.<br />

Con esto se evitan paradas innecesarias <strong>de</strong> los robots en los breves instantes<br />

en los que se <strong>de</strong>tectan estos inci<strong>de</strong>ntes. En este trabajo el algoritmo<br />

<strong>de</strong> fusión sensorial se ha diseñado e implementado mediante un sistema<br />

basado en conocimiento que <strong>de</strong>termina en cada instante la forma <strong>de</strong> obtener<br />

la mejor estimación <strong>de</strong> la posición <strong>de</strong>l robot. Los <strong>de</strong>scriptores que tienen<br />

un mayor impacto en la localización precisa <strong>de</strong>l robot, existencia <strong>de</strong><br />

corrección diferencial, número <strong>de</strong> satélites visibles y edad <strong>de</strong> las señales<br />

recibidas, se utilizan como entradas al sistema <strong>de</strong> reglas. La salida la constituye<br />

la estimación <strong>de</strong> la posición, y el mantenimiento o cambio <strong>de</strong> alguno<br />

<strong>de</strong> los agentes básicos <strong>de</strong> locomoción (Tabla 1).<br />

Tabla 1. Sistema <strong>de</strong> razonamiento basado en heurísticos para estimar<br />

la posición más precisa posible <strong>de</strong>l robot móvil.<br />

R1: IF (DGPS OK) AND (brújula digital PRESENTE)<br />

THEN posición con precisión BUENA = posición (DGPS + brújula)<br />

AND agente AVANZAR OK<br />

R2: IF (DGPS OK) AND (brújula digital AUSENTE)<br />

THEN posición con precisión MEDIA = posición (DGPS)<br />

AND agente AVANZAR OK


194 Robots <strong>de</strong> exteriores<br />

R3: IF (DGPS (<strong>de</strong>gradado OR ausente) AND (NOT time-out)) AND<br />

(brújula digital PRESENTE)<br />

THEN posición con precisión MEDIA = posición (odómetro + brújula digital)<br />

AND agente AVANZAR OK<br />

R4: IF (DGPS (<strong>de</strong>gradado OR ausente) AND (time-out)) AND (brújula<br />

digital PRESENTE)<br />

THEN posición con precisión MALA = posición (odómetro + brújula digital)<br />

AND activar agente STOP<br />

else activar agente STOP<br />

De esta forma es posible continuar la navegación <strong>de</strong>l tractor en aquellos<br />

momentos en los que se produce algún fallo en los sistemas <strong>de</strong> localización<br />

siempre que su duración no exce<strong>de</strong> un tiempo prefijado (time-out). Experimentalmente<br />

los tiempos en que <strong>de</strong>saparece o se <strong>de</strong>grada la señal GPS<br />

han sido siempre inferiores a 30 s.<br />

La seguridad ante un contacto físico con un obstáculo imprevisto o ante<br />

la <strong>de</strong>tección <strong>de</strong> una inclinación superior a 20 º, está garantizada por la supervisión<br />

continua <strong>de</strong>l estado <strong>de</strong> los dispositivos <strong>de</strong> seguridad automáticos,<br />

esto es, parachoques e inclinómetros.<br />

5 AMARA: Una arquitectura distribuida <strong>de</strong> agentes <strong>de</strong><br />

comportamiento<br />

Para la navegación autónoma <strong>de</strong> los tractores, se ha propuesto una arquitectura<br />

cognitiva distribuida <strong>de</strong> carácter híbrido, estructurada mediante una<br />

jerárquica <strong>de</strong> procesos concurrentes, <strong>de</strong>nominados agentes <strong>de</strong> comportamiento.<br />

Estos agentes se caracterizan por realizar con autonomía la tarea<br />

para la que son <strong>de</strong>finidos, por ejemplo BOR<strong>DE</strong>AR un obstáculo imprevisto.<br />

Esta propuesta ha sido ya utilizada con buenos resultados a nivel <strong>de</strong> pilotaje<br />

en robots <strong>de</strong> interior (García-Alegre y Recio, 1998) y <strong>de</strong> navegación<br />

en campo (García-Pérez et al., 2007). El comportamiento global observable<br />

<strong>de</strong>l robot es el resultado <strong>de</strong> la activación secuencial o paralela <strong>de</strong>l conjunto<br />

<strong>de</strong> agentes <strong>de</strong> comportamiento implementados. El tamaño <strong>de</strong>l conjunto<br />

<strong>de</strong> agentes <strong>de</strong>pen<strong>de</strong> conjuntamente <strong>de</strong> la complejidad <strong>de</strong>l escenario,<br />

<strong>de</strong> las tareas a realizar y <strong>de</strong> la dotación sensorial <strong>de</strong>l robot.


Sistemas <strong>de</strong> Localización y Percepción Inteligente en la Navegación Autónoma y<br />

Segura <strong>de</strong> Robots <strong>de</strong> Exteriores 195<br />

La toma <strong>de</strong> <strong>de</strong>cisiones <strong>de</strong> control se realiza a partir tanto <strong>de</strong> la información<br />

instantánea proporcionada por los sensores, como <strong>de</strong> la información<br />

<strong>de</strong> contexto inyectada inicialmente al sistema <strong>de</strong> proceso y control (Keicher<br />

and Seufert, 2000). Esta información <strong>de</strong> contexto hace referencia tanto<br />

a datos y restricciones relativas al vehículo, tarea y entorno, como al conocimiento<br />

<strong>de</strong>rivado <strong>de</strong> la operación manual <strong>de</strong>l vehículo. La arquitectura<br />

cognitiva proporciona distintos niveles <strong>de</strong> competencia, soportados por varias<br />

representaciones <strong>de</strong>l sistema y entorno, don<strong>de</strong> los procesos comparten<br />

información por dos vías: paso <strong>de</strong> mensajes y memoria compartida.<br />

La arquitectura se implementa bajo el paradigma cliente/servidor, en el<br />

cual los procesos que se ejecutan en diferentes máquinas se conectan con<br />

winsockets y protocolos estándar. El agente principal es un Servidor <strong>de</strong>nominado<br />

<strong>DE</strong>DALO, que se ejecuta en el procesador a bordo <strong>de</strong>l tractor.<br />

Actúa <strong>de</strong> forma simultánea como servidor y como cliente, enviando datos<br />

<strong>de</strong> sensores, por suscripción <strong>de</strong> otros clientes, y aceptando los comandos<br />

<strong>de</strong> acciones <strong>de</strong> control en tiempo real. Existe pues un flujo bi-direccional<br />

<strong>de</strong> percepciones y acciones, guiado por datos <strong>de</strong>s<strong>de</strong> el servidor <strong>DE</strong>DALO<br />

hacia cualquier agente cliente y guiado por objetivos <strong>de</strong>s<strong>de</strong> cualquier cliente<br />

al agente servidor <strong>DE</strong>DALO, (Fig. 5.).<br />

5.2 Agentes <strong>de</strong> percepción<br />

Los agentes <strong>de</strong> percepción son aquellos que se encuentran en contacto directo<br />

con los sistemas sensoriales o con percepciones previamente elaboradas<br />

por otros agentes y son por tanto <strong>de</strong>liberativos, siendo su salida la actualización<br />

<strong>de</strong> alguna <strong>de</strong> las estructuras <strong>de</strong> datos <strong>de</strong> la memoria<br />

compartida.<br />

Aunque los receptores RTK DGPS <strong>de</strong> precisión centimétrica se utilizan<br />

en navegación <strong>de</strong> gran precision, por ejemplo para la plantación <strong>de</strong> viñas<br />

(Naranjo et al., 2004), los DGPS con precisión métrica pue<strong>de</strong>n utilizarse<br />

en muchas aplicaciones <strong>de</strong> campo, sobre todo si la información que proporcionan<br />

se complementa con la <strong>de</strong> otros sensores. De ahí que una actualización<br />

inteligente <strong>de</strong> la posición sea fundamental en la navegación autónoma.<br />

El agente ACTUALIZAR POSICION se ha diseñado para adquirir y<br />

procesar la información proveniente <strong>de</strong> varios sensores, (Tabla 1), calculando<br />

la Posición y Orientación. Las hipótesis <strong>de</strong> partida para su cálculo<br />

son las siguientes: el receptor GPS proporciona la estimación <strong>de</strong> posición<br />

más precisa y lo mismo suce<strong>de</strong> con la orientación dada por la brújula digital.<br />

Cuando estas señales están <strong>de</strong>gradadas o no existen, se activa el algo-


196 Robots <strong>de</strong> exteriores<br />

ritmo <strong>de</strong> fusión <strong>de</strong> información sensorial relativa a la localización (Tabla<br />

1), para calcular la estimación más precisa posible <strong>de</strong> la posición en cada<br />

instante.<br />

Se han diseñados dos agentes más, <strong>de</strong> tipos genérico, ACTUALIZAR<br />

OBSTACULOS y ACTUALIZAR MAPA LOCAL cuyo objetivo es mantener<br />

actualizados el Mapa local y la lista <strong>de</strong> Obstáculos, (Fig. 5.) en la<br />

memoria compartida, a partir <strong>de</strong> las medidas instantáneas proporcionadas<br />

por el láser <strong>de</strong> barrido 2D y los históricos relativos a los <strong>de</strong>scriptores <strong>de</strong> los<br />

obstáculos. La información dinámica contenida tanto en el Mapa local<br />

como en la lista <strong>de</strong> Obstáculos es crucial para la seguridad <strong>de</strong> los robots<br />

móviles y <strong>de</strong>l entorno (García-Alegre et al., 2005).<br />

ACTUALIZAR<br />

POSICION<br />

ACTUALIZAR<br />

REGION<br />

<strong>DE</strong>L CAMPO<br />

ACTUALIZAR<br />

OBSTÁCULOS<br />

ACTUALIZAR<br />

MAPA<br />

LOCAL<br />

OPERARIO<br />

Plan<br />

Mapa<br />

lista <strong>de</strong> Obstáculos<br />

Mapa local<br />

Posición <strong>de</strong>l Robot<br />

Orientación <strong>de</strong>l robot<br />

Posición en campo<br />

PLANIFICAR<br />

VISUALIZAR<br />

NAVEGAR<br />

SEGUIR LINEA<br />

RECTA<br />

CAMBIAR <strong>DE</strong><br />

LINEA<br />

IR A PUNTO<br />

BOR<strong>DE</strong>AR<br />

GIRAR<br />

AVANZAR<br />

PARAR<br />

Datos<br />

sensores<br />

Volante<br />

<strong>DE</strong>DALO<br />

Freno<br />

Embrague<br />

Acciones<br />

Sensores<br />

Actuadores<br />

Fig. 5. Arquitectura distribuida <strong>de</strong> agentes <strong>de</strong> comportamiento para la navegación<br />

autónoma en exteriores. Los marcos <strong>de</strong> la zona izquierda representan a los<br />

agentes <strong>de</strong> percepción, y las elipses <strong>de</strong> la <strong>de</strong>recha a los agentes motores. En el<br />

centro se muestra la información compartida en la pizarra y en su parte inferior,<br />

los tres agentes que están en contacto directo con sensores y actuadores


Sistemas <strong>de</strong> Localización y Percepción Inteligente en la Navegación Autónoma y<br />

Segura <strong>de</strong> Robots <strong>de</strong> Exteriores 197<br />

Finalmente, se ha diseñado un agente especializado en la <strong>de</strong>tección <strong>de</strong><br />

un evento propio <strong>de</strong> una tarea ACTUALIZAR REGION <strong>DE</strong>L CAMPO.<br />

Este agente calcula el valor booleano, <strong>de</strong> la variable Posición en Campo,<br />

que <strong>de</strong>termina el cambio <strong>de</strong>l modo <strong>de</strong> navegación SEGUIR LINEA<br />

RECTA a CAMBIAR <strong>DE</strong> LINEA y viceversa. Esta variable toma el valor<br />

verda<strong>de</strong>ro si el robot se encuentra en la región entre líneas <strong>de</strong> arbolado y<br />

falso si se encuentra fuera <strong>de</strong> ella (Fig. 6.).<br />

5.3 Agentes motores<br />

Fig. 6. Trayectoria patrón en muchas aplicaciones agrícolas y<br />

<strong>de</strong> mantenimiento <strong>de</strong> zonas urbanas ver<strong>de</strong>s y zonas <strong>de</strong> recreo.<br />

A<strong>de</strong>más <strong>de</strong>l agente servidor <strong>DE</strong>DALO, se han diseñado otros agentes que<br />

reproducen algunos <strong>de</strong> los comportamientos realizados por el conductor.<br />

La existencia <strong>de</strong> un conjunto básico <strong>de</strong> agentes <strong>de</strong> comportamiento motor a<br />

nivel <strong>de</strong> piloto (AVANZAR, PARAR, GIRAR, BOR<strong>DE</strong>AR) facilita extraordinariamente<br />

la reutilización <strong>de</strong> este código, aunque se cambie <strong>de</strong> plataforma<br />

experimental, siempre que se mantenga el mismo sistema sensorial.<br />

El cambio <strong>de</strong> plataforma afecta únicamente a los agentes motores que están<br />

en contacto directo con los actuadores físicos, esto es a VOLANTE y a


198 Robots <strong>de</strong> exteriores<br />

FRENO/EMBRAGUE. Estos agentes operan sobre estímulos perceptuales<br />

<strong>de</strong> tipo general, bien <strong>de</strong>finidos, como pue<strong>de</strong>n ser Camino Libre y Obstáculo.<br />

El agente AVANZAR se activa siempre que hay Camino Libre en la dirección<br />

<strong>de</strong>l objetivo. Si se <strong>de</strong>tecta un Obstáculo imprevisto, en el área <strong>de</strong><br />

emergencia, el agente AVANZAR ce<strong>de</strong> el control al agente BOR<strong>DE</strong>AR.<br />

El nivel <strong>de</strong> navegación guiada por objetivo, engloba las estrategias <strong>de</strong><br />

navegación asociadas a un conjunto <strong>de</strong> tareas, teniendo en cuenta las restricciones<br />

y requerimientos <strong>de</strong> las mismas. Agentes <strong>de</strong> este nivel son IR A<br />

PUNTO, SEGUIR LINEA RECTA y CAMBIAR <strong>DE</strong> LINEA. Sus estímulos<br />

<strong>de</strong> percepción son Punto, Línea recta y Línea adyacente. Estos<br />

conceptos se elaboran algorítmicamente a partir <strong>de</strong> datos sensoriales crudos<br />

y la información <strong>de</strong> contexto.<br />

Por <strong>de</strong>fecto los agentes <strong>de</strong> comportamiento motor se encuentran inactivos,<br />

hasta que reciben una señal <strong>de</strong> activación proveniente <strong>de</strong> otro agente o<br />

<strong>de</strong>l operario; entonces su estado pasa a alerta. Un agente en estado <strong>de</strong> alerta,<br />

sensible al contexto, vigila <strong>de</strong> forma continua, a través <strong>de</strong> los agentes <strong>de</strong><br />

percepción, la aparición <strong>de</strong> las condiciones <strong>de</strong>senca<strong>de</strong>nantes <strong>de</strong> sus procesos.<br />

En el instante en que las <strong>de</strong>tecta, su estado pasa a activo y toma el<br />

control <strong>de</strong>l robot móvil, <strong>de</strong> forma directa o indirecta a través <strong>de</strong> la activación<br />

<strong>de</strong> los agentes básicos <strong>de</strong> locomoción, AVANZAR, GIRAR, PARAR<br />

o BOR<strong>DE</strong>AR.<br />

Los agentes que encapsulan comportamientos <strong>de</strong> coordinación, visualización<br />

y planificación son agentes <strong>de</strong> propósito general, <strong>de</strong> utilidad para<br />

múltiples plataformas y tareas, e interactúan directamente con el usuario.<br />

Así, el agente NAVEGAR interpreta los comandos <strong>de</strong>l operario sobre el<br />

interfaz hombre-máquina que se ejecuta en la estación <strong>de</strong> trabajo. El agente<br />

VISUALIZAR, muestra la trayectoria <strong>de</strong>scrita por el vehículo sobre una<br />

imagen geo-referenciada <strong>de</strong> la parcela. El último agente <strong>de</strong> comportamiento,<br />

puramente <strong>de</strong>liberativo es PLANIFICAR, que calcula el camino óptimo<br />

entre un conjunto <strong>de</strong> posibles caminos alternativos, entre la posición origen<br />

y el <strong>de</strong>stino, teniendo en cuenta la orientación <strong>de</strong> ambas. Esta <strong>de</strong>cisión se<br />

toma evaluando una función <strong>de</strong> coste que valora los distintos <strong>de</strong>scriptores<br />

especificados por el operario ante los objetivos propuestos y las restricciones<br />

impuestas por el sistema y el entorno, por ejemplo distancia mínima,<br />

menor número <strong>de</strong> giros, orientación en <strong>de</strong>stino más próxima a la requerida,<br />

etc. En este caso, estos tres últimos agentes actualizar en la memoria compartida<br />

un conjunto <strong>de</strong> estructuras <strong>de</strong> datos <strong>de</strong> utilidad para otros agentes,<br />

como son el Plan <strong>de</strong> Navegación (Plan) y Trayectoria.


Sistemas <strong>de</strong> Localización y Percepción Inteligente en la Navegación Autónoma y<br />

Segura <strong>de</strong> Robots <strong>de</strong> Exteriores 199<br />

6 Resultados<br />

Se han realizado múltiples experimentos para probar la potencialidad <strong>de</strong><br />

los sistemas <strong>de</strong> localización y percepción instalados en el robot en tareas<br />

<strong>de</strong> navegación autónoma en campo. Los experimentos se pue<strong>de</strong>n clasificar<br />

en dos tipos. Aquellos necesarios para validar los sistemas <strong>de</strong> posicionamiento<br />

<strong>de</strong>l robot, relacionados fundamentalmente con los agentes <strong>de</strong> percepción<br />

y aquellos que ilustran el funcionamiento <strong>de</strong> los agentes motores,<br />

<strong>de</strong>s<strong>de</strong> los básicos como AVANZAR a los más complejos como SEGUIR<br />

LINEA RECTA y NAVEGAR. El objetivo principal, <strong>de</strong>l primer tipo <strong>de</strong><br />

experimentos es <strong>de</strong>mostrar la robustez <strong>de</strong> la navegación cuando el agente<br />

ACTUALIZAR POSICION estima la posición <strong>de</strong>l robot en ausencia <strong>de</strong><br />

corrección diferencial, <strong>de</strong>gradación <strong>de</strong> la señal GPS o ausencia <strong>de</strong> señal <strong>de</strong><br />

la brújula digital.<br />

Dado que estas situaciones son poco frecuentes en la experimentación<br />

realizada en campo abierto, se ha provocado <strong>de</strong> forma artificial, la ausencia<br />

<strong>de</strong> <strong>de</strong>terminadas señales sensoriales, para po<strong>de</strong>r controlar su efecto en<br />

las trayectorias resultantes. El efecto <strong>de</strong> la <strong>de</strong>sconexión <strong>de</strong> la señal <strong>de</strong> corrección<br />

diferencial en la estimación <strong>de</strong> la posición a lo largo <strong>de</strong> una ruta,<br />

se muestra en la (Fig. 7.}. En este caso, la estimación <strong>de</strong> la posición se realiza<br />

<strong>de</strong> forma correcta, tanto en segmentos rectilíneos como en giros en U,<br />

ya que se dispone <strong>de</strong> una estimación precisa <strong>de</strong> la última posición global<br />

obtenida con corrección diferencial, y a partir <strong>de</strong> ese instante la incorporación<br />

<strong>de</strong> los odómetros permite actualizar la posición con precisión durante<br />

un breve período <strong>de</strong> tiempo.<br />

Fig. 7. Estimaciones <strong>de</strong> posición realizadas por el agente ACTUALIZAR<br />

POSICION. Las cruces oscuras correspon<strong>de</strong>n a estimaciones <strong>de</strong> posición en ausencia<br />

<strong>de</strong> corrección diferencial en la señal GPS


200 Robots <strong>de</strong> exteriores<br />

Los círculos <strong>de</strong> la (Fig. 7.), correspon<strong>de</strong>n a las posiciones obtenidas a partir<br />

<strong>de</strong> las estimaciones proporcionadas por el sistema GPS con corrección<br />

diferencial en la navegación autónoma entre dos hileras <strong>de</strong> olivos y las<br />

cruces a la localización obtenida a partir <strong>de</strong> los algoritmos <strong>de</strong> fusión <strong>de</strong> la<br />

señal GPS y odómetros, en ausencia <strong>de</strong> corrección diferencial durante un<br />

período inferior a 30 segundos, con una velocidad <strong>de</strong>l tractor próxima a 0.5<br />

m/s.<br />

El siguiente experimento muestra la estimación <strong>de</strong> la posición cuando se<br />

<strong>de</strong>sconecta la brújula digital, (Fig. 8.). En ella se aprecia como la posición<br />

estimada a partir <strong>de</strong> la señal DGPS es aceptable, pero no así la orientación.<br />

Esto se <strong>de</strong>be a que los errores en orientación generan una <strong>de</strong>gradación en<br />

el control <strong>de</strong>l robot al afectar directamente al cálculo <strong>de</strong>l ángulo <strong>de</strong> giro y<br />

en consecuencia a la trayectoria <strong>de</strong>scrita por el robot. Como era previsible,<br />

la peor trayectoria se obtiene en aquellas situaciones en las que solamente<br />

están operativos los odómetros. En un recorrido <strong>de</strong> unas <strong>de</strong>cenas <strong>de</strong> metros,<br />

el error <strong>de</strong> posición hace necesaria la activación <strong>de</strong>l agente PARAR.<br />

Se ha <strong>de</strong>terminado experimentalmente que tras 30 m <strong>de</strong> recorrido, a una<br />

velocidad próxima a 0.5 m/s, el error en la posición, estimada únicamente<br />

con los odómetros, es inaceptable y es necesario activar al agente PARAR.<br />

Fig. 8. Posiciones estimadas por el agente perceptual ACTUALIZAR<br />

POSICION. La línea recta <strong>de</strong> círculos negros <strong>de</strong> la zona izquierda, correspon<strong>de</strong><br />

a estimaciones <strong>de</strong> posición en ausencia <strong>de</strong> la señal <strong>de</strong> la brújula digital.


Sistemas <strong>de</strong> Localización y Percepción Inteligente en la Navegación Autónoma y<br />

Segura <strong>de</strong> Robots <strong>de</strong> Exteriores 201<br />

A continuación se presenta la trayectoria <strong>de</strong>scrita por el robot móvil entre<br />

dos hileras <strong>de</strong> olivos, para validar el funcionamiento <strong>de</strong> los agentes perceptuales<br />

y motores en una misión <strong>de</strong> navegación, bajo el control <strong>de</strong>l agente<br />

<strong>de</strong> coordinación NAVEGAR. En la (Fig. 9.), el agente VISUALIZAR<br />

(Ribeiro et al., 2003), muestra la trayectoria <strong>de</strong>scrita por el robot móvil en<br />

navegación autónoma en un campo <strong>de</strong> olivos distribuidos irregularmente.<br />

La trayectoria está compuesta por dos segmentos rectilíneos, paralelos a<br />

las filas <strong>de</strong> olivos y <strong>de</strong> un giro en U necesario para pasar <strong>de</strong> una a otra hilera.<br />

Esta trayectoria, es solo una muestra <strong>de</strong>l patrón repetitivo que se realiza<br />

en muchas aplicaciones <strong>de</strong> campo, mostrado en la (Fig. 6.).<br />

Fig. 9. Trayectoria <strong>de</strong>scrita por el robot móvil bajo el control <strong>de</strong> la arquitectura<br />

<strong>de</strong> agentes <strong>de</strong> comportamiento (AMARA). En esta imagen <strong>de</strong>l campus<br />

<strong>de</strong>l IAI,CSIC se aprecia un edificio y un campo <strong>de</strong> olivos distribuidos <strong>de</strong><br />

forma irregular. La estrella correspon<strong>de</strong> a la posición <strong>de</strong>stino. El diámetro <strong>de</strong><br />

las copas <strong>de</strong> los olivos <strong>de</strong> mayor tamaño es <strong>de</strong> 4 m.


202 Robots <strong>de</strong> exteriores<br />

La trayectoria muestra la activación <strong>de</strong>l agente <strong>de</strong> comportamiento<br />

SEGUIR LINEA RECTA para controlar la navegación en los dos segmentos<br />

rectilíneos y paralelos y la <strong>de</strong>l agente CAMBIAR <strong>DE</strong> LÍNEA para conectar<br />

dos filas adyacentes a fin <strong>de</strong> alcanzar el Plan generado por el agente<br />

PLANIFICAR o marcado por el operario sobre el Mapa al inicio <strong>de</strong> la ejecución.<br />

La trayectoria resultante valida el diseño tanto <strong>de</strong> la arquitectura<br />

cognitiva <strong>de</strong> control, como <strong>de</strong> los agentes básicos <strong>de</strong> locomoción activados,<br />

AVANZAR, GIRAR y PARAR. El agente BOR<strong>DE</strong>AR no se activó<br />

en este recorrido, al no encontrar el robot móvil ningún obstáculo imprevisto<br />

en su camino. A lo largo <strong>de</strong> todos los recorridos experimentales realizados,<br />

el error en la estimación <strong>de</strong> la posición proporcionado por el receptor<br />

DGPS fue inferior a 0.5 m en el 68\% <strong>de</strong> las medidas.<br />

7 Conclusiones<br />

En este trabajo se <strong>de</strong>scriben algunas <strong>de</strong> las realizaciones <strong>de</strong> los últimos<br />

años, así como trabajos en curso, relativos a la navegación autónoma <strong>de</strong><br />

vehículos en campo. La consecución <strong>de</strong> un grado alto <strong>de</strong> autonomía lleva<br />

asociada necesariamente la integración <strong>de</strong> un conjunto apropiado <strong>de</strong> sensores<br />

y dispositivos <strong>de</strong> actuación. Por ello, se ha presentado el conjunto <strong>de</strong><br />

sensores, tanto <strong>de</strong> localización como <strong>de</strong> seguridad y <strong>de</strong> reconocimiento <strong>de</strong>l<br />

entorno próximo, en dos vehículos comerciales.<br />

Las comunicaciones inalámbricas accesibles hoy en día a bajo coste y<br />

banda ancha, posibilitan una comunicación fluida y continua hombremáquina,<br />

imprescindible en escenarios dinámicos y heterogéneos.<br />

En el diseño <strong>de</strong> los agentes se ha tenido especial consi<strong>de</strong>ración en los<br />

aspectos <strong>de</strong> seguridad, esenciales en la interacción <strong>de</strong> operarios y máquinas.<br />

La interacción entre agentes y agente-entorno ha permitido manejar<br />

con cierto éxito la complejidad e incertidumbre asociada a los entornos naturales<br />

sin marcas artificiales.<br />

El algoritmo cualitativo <strong>de</strong> fusión sensorial propuesto, basado en técnicas<br />

borrosas, evita paradas innecesarias <strong>de</strong>l vehículo en situaciones adversas<br />

para la recepción <strong>de</strong> la señal GPS, que usualmente se corrigen en breves<br />

períodos <strong>de</strong> tiempo.<br />

Aunque aún queda pendiente una ardua y extensa experimentación para,<br />

tanto el modo <strong>de</strong> operación <strong>de</strong> dispositivos físicos integrados como la arquitectura<br />

distribuida <strong>de</strong> procesos, has <strong>de</strong>mostrado su vali<strong>de</strong>z en la navegación<br />

autónoma <strong>de</strong> vehículos en exterior a baja velocidad, <strong>de</strong> interés en


Sistemas <strong>de</strong> Localización y Percepción Inteligente en la Navegación Autónoma y<br />

Segura <strong>de</strong> Robots <strong>de</strong> Exteriores 203<br />

muchas aplicaciones <strong>de</strong> campo, como el corte <strong>de</strong> césped, o la aplicación<br />

selectiva <strong>de</strong> pesticidas.<br />

La arquitectura distribuida <strong>de</strong> agentes <strong>de</strong> comportamiento simplifica la<br />

prueba <strong>de</strong> distintos algoritmos <strong>de</strong> percepción y control, atendiendo únicamente<br />

a la semántica <strong>de</strong> los mensajes. La arquitectura distribuida <strong>de</strong> agentes<br />

<strong>de</strong> comportamiento, AMARA, constituye un marco metodológico especialmente<br />

a<strong>de</strong>cuado para absorber el crecimiento gradual <strong>de</strong> tareas,<br />

objetivos y dispositivos sensoriales <strong>de</strong> complejidad creciente. Una parte <strong>de</strong><br />

su potencialidad radica en la ejecución concurrente <strong>de</strong> múltiples agentes <strong>de</strong><br />

comportamiento que comparten conocimientos por la doble vía <strong>de</strong> paso <strong>de</strong><br />

mensajes y memoria compartida.<br />

Agra<strong>de</strong>cimientos<br />

Los autores agra<strong>de</strong>cen a Eugenio Villanueva los valiosos diseños y realizaciones<br />

mecánicas en la etapa <strong>de</strong> sensorización y automatización <strong>de</strong> los<br />

tractores. El trabajo ha sido financiado por la Comisión Interministerial <strong>de</strong><br />

Ciencia y Tecnología (CICYT) <strong>de</strong>l Ministerio <strong>de</strong> Educación y Ciencia y el<br />

Plan Regional <strong>de</strong> Investigación Científica e Innovación Tecnológica<br />

(PRICIT) <strong>de</strong> la Comunidad Autónoma <strong>de</strong> Madrid (CAM), proyectos:<br />

CICYT-AGL2005-06180-C03-03 Extracción <strong>de</strong> conocimiento espacio<br />

temporal y visión artificial para la automatización <strong>de</strong> tratamientos localizados,<br />

CICYT- DPI-2006-14497: Integración <strong>de</strong> percepción, planificación<br />

y acción en una arquitectura cognitiva y distribuida <strong>de</strong> agentes <strong>de</strong> comportamiento<br />

y ROBOCITY2030: Robots <strong>de</strong> Servicios- PRICIT-CAM-2005.<br />

Referencias<br />

Atoe 2004. Proceedings of the Automation Technology for off-road<br />

equipment (ATOE) Intern. Conference, edited by Q.Zhang, M. Iida, A.<br />

Mizushima , ASAE Publ., Kyoto, Japan.<br />

Beeline (2007) www. beeline.com.au<br />

García-Alegre, M.C., Recio, F. 1998. Basic visual and motor agents for increasingly<br />

complex behavior generation on a mobile robot. Auton. Robot.<br />

5: 19-28.


204 Robots <strong>de</strong> exteriores<br />

García-Alegre, M.C., L. García-Pérez, A. Ribeiro, D. Guinea 2005. Sensor-actuator<br />

integration in a comercial tractor for safe teleoperation and<br />

autonomous navigation. In Proc 5th European Conf. On Precision Agriculture,<br />

edited by J. V. Stanford, Wageningen Aca<strong>de</strong>mic Publ., pp. 637-664.<br />

García-Pérez, L., García-Alegre, M.C., Ribeiro, A., Guinea, D. 2003.<br />

Fuzzy control for an approaching-orienting maneuver with a car like vehicle<br />

in outdoor environments. In Proc IV Workshop <strong>de</strong> Agentes Físicos.<br />

Publicaciones Universidad <strong>de</strong> Alicante, España. pp. 87-98.<br />

García-Pérez L. (2003). Autonomous Robot Navigation in Agriculture: A<br />

multi-agent mo<strong>de</strong>l. Ph.D. Dissertation. Universidad Complutense <strong>de</strong> Madrid<br />

Publ., España.<br />

García-Pérez, L. García-Alegre, M.C., Ribeiro, A., Guinea, D., Cañas,<br />

J.M. “Perception and tracking of dynamic objects for optimization of<br />

avoidance strategies in autonomous piloting of vehicles,” in Spatial Cognition<br />

IV: Action and Interaction. LNAI. 3343, edited by Ch.Freksa,<br />

M.Knauff, B.Krieg-Brackner et al. Springer-Verlag. Berlin, pp. 500-520,<br />

2005.<br />

Garcia-Perez, L., Garcia-Alegre, M.C., Ribeiro, A., Guinea, D. 2007. An<br />

agent of behaviour architecture for unmanned control of a farming vehicle,<br />

Comp. Electron. Agr. (en prensa).<br />

Keicher R., Seufert, H. 2000. Automatic guidance for agricultural vehicles<br />

in Europe. Comp. Electron. Agr. 25, 169-194.<br />

Kelly, A., Stentz, A., Amidi, O., Bo<strong>de</strong>, M., Bradley, D., Diaz-Cal<strong>de</strong>ron,<br />

A., Happold, M., Herman, H., Man<strong>de</strong>lbaum, R.,Pilarski, T., Ran<strong>de</strong>r, P.,<br />

Thayer, S., Vallidis, N., Warener, R. 2006. Toward reliable off-road<br />

autonomous vehicles operating in challenging environments. Int. J. Rob.<br />

Res.25: 449-483.<br />

Marshall, J., Barfoot, T. 2007 Design and Field Testing of an Autonomous<br />

Un<strong>de</strong>rground Tramming System. In Proc. 6th Int. Conf. Field and Service<br />

Robotics, Chamonix, France.<br />

Naranjo, J.E., González, C., Reviejo, J., García, R., <strong>de</strong> Pedro, T. 2004.<br />

Plantación <strong>de</strong> viñas y frutales con ayuda <strong>de</strong> GPS. Vida Rural, 195: 48-52.


Sistemas <strong>de</strong> Localización y Percepción Inteligente en la Navegación Autónoma y<br />

Segura <strong>de</strong> Robots <strong>de</strong> Exteriores 205<br />

Oksanen T., Ohman M., Miettinen, M., Visala, A. 2004. Open and configurable<br />

control system for precision farming. In Automation Technology<br />

for Off-road Equipment Conference, Kyoto, Japan, pp. 184-191.<br />

Ribeiro A., Garcia-Pérez, L., Garcia-Alegre, M.C., Guinea, D. 2003. A<br />

friendly man-machine visualisation agent for remote control of an autonomous<br />

tractor GPS gui<strong>de</strong>d. In Proc. 4th European Conf on Precision Agriculture.<br />

Wageningen, pp. 541-542.<br />

Stentz, A., Bares, J., Singh, S. Rowe, R. 1999. A robotic excavator for<br />

autonomous truck loading, Auton. Robot. 7 (2): 175-186.<br />

Stentz A., Dima, C., Wellington, C., Herman, H., Stager, D. 2002. A System<br />

for Semi-Autonomous Tractor Operations. Auton. Robot. 13: 83-104.<br />

Stoll A. 2003. Automatic operation planning for GPS-gui<strong>de</strong>d machinery.<br />

In Proc.4th European Conf. Precision Agriculture, edited by G. Grenier<br />

and S. Blackmore, Wageningen, pp. 657-664.<br />

Zhang Q., Reid J.F., Noguchi N. 1999. Agricultural vehicle navigation using<br />

multiple guidance sensors. UILU-ENG-99-7013.


206 Robots <strong>de</strong> exteriores


CAPÍTULO 13<br />

Robot Sub-acuático <strong>de</strong> Estructura Paralela para<br />

la Inspección y Teleoperación <strong>de</strong> Lugares <strong>de</strong><br />

Difícil Acceso<br />

C. ÁLVAREZ 1 , R. SALTARÉN 2 , R. ARACIL 3 , E. YIME 4 , M. SANCHO.<br />

Universidad Politécnica <strong>de</strong> Madrid, Escuela Técnica Superior <strong>de</strong> Ingenieros<br />

Industriales, DISAM, Madrid, España. 1 cealvarez@etsii.upm.es,<br />

2 rsaltaren@etsii.upm.es, 3 aracil@etsii.upm.es, 4 eyime@etsii.upm.es.<br />

En el siguiente trabajo se presenta una aplicación innovadora <strong>de</strong> una plataforma<br />

Stewart – Gough, la cual es la base <strong>de</strong>l funcionamiento <strong>de</strong>l robot<br />

subacuático REMO I. Este vehículo submarino es operado remotamente<br />

<strong>de</strong>s<strong>de</strong> la superficie mediante un sistema <strong>de</strong> comunicación con fibras ópticas,<br />

lo cual permite a un operador realizar tareas <strong>de</strong> inspección con visualización<br />

<strong>de</strong> cualquier problema que pueda ocurrir bajo el agua, evitando que<br />

esta riesgosa tarea la efectúen seres humanos. Para ello se emplea una interfaz<br />

<strong>de</strong> usuario que facilita en gran medida la operación, la visualización<br />

y la obtención <strong>de</strong> datos en el agua. El REMO I tiene como parte central,<br />

una estructura paralela <strong>de</strong>l tipo Stewart – Gough, la cual le permite: realizar<br />

movimientos con 6 grados <strong>de</strong> libertad, adquirir múltiples formas para<br />

po<strong>de</strong>r hacer maniobras <strong>de</strong> navegación con mucha flexibilidad y variar la<br />

orientación <strong>de</strong> un único impulsor que está en la parte trasera. Esto presenta<br />

la ventaja <strong>de</strong> <strong>de</strong>scribir trayectorias <strong>de</strong> mucha exigencia <strong>de</strong>ntro <strong>de</strong>l agua<br />

para po<strong>de</strong>r entrar a lugares <strong>de</strong> difícil acceso. Otras características que<br />

ofrece este vehículo submarino robótico, es la utilización <strong>de</strong> un sistema<br />

neumático <strong>de</strong> control <strong>de</strong> lastre, el cual se utiliza para compensar automáticamente<br />

su flotabilidad, y un control <strong>de</strong> presurización interno, el cual le<br />

permite mantener a la cabina con una presión positiva a cualquier profundidad.<br />

En este aparte se <strong>de</strong>scribe el funcionamiento <strong>de</strong>l REMO I, la arquitectura<br />

empleada para su control, el <strong>de</strong>sarrollo <strong>de</strong> la interfaz gráfica <strong>de</strong><br />

usuario y los resultados <strong>de</strong> las pruebas <strong>de</strong> control <strong>de</strong> navegación y lastrado.


208 Robots <strong>de</strong> exteriores<br />

1 Introducción<br />

Los vehículos subacuáticos no tripulados han sido un campo activo <strong>de</strong> investigación<br />

durante más <strong>de</strong> cinco décadas (Bohm, 2001). Esto se <strong>de</strong>be,<br />

tanto al interés por <strong>de</strong>scubrir lo que hay en las profundida<strong>de</strong>s marinas, como<br />

a la posibilidad <strong>de</strong> realizar tareas bajo el agua sin poner en riesgo la vida<br />

<strong>de</strong> seres humanos, don<strong>de</strong> se pueda hacer: la inspección y el mantenimiento<br />

<strong>de</strong> instalaciones submarinas, la explotación controlada <strong>de</strong> recursos<br />

en el fondo <strong>de</strong>l mar, la búsqueda y rescate <strong>de</strong> embarcaciones hundidas, la<br />

<strong>de</strong>tección <strong>de</strong> minas y el estudio <strong>de</strong> la fauna y flora marina, entre otras tantas<br />

aplicaciones.<br />

El <strong>de</strong>sarrollo <strong>de</strong> los vehículos subacuáticos remotamente operados<br />

(ROV Remotely Opered Vehicles), y los robots subacuáticos que realicen<br />

tareas preprogramadas o autónomas (AUV Autonomous Un<strong>de</strong>rwater Vehicles)<br />

han surgido como respuesta para realizar activida<strong>de</strong>s <strong>de</strong>ntro <strong>de</strong>l agua<br />

sin necesidad <strong>de</strong> la intervención humana directa (Valvanis, 1997).<br />

Haciendo un poco <strong>de</strong> historia, según Darío (2004), pue<strong>de</strong> <strong>de</strong>cirse que el<br />

primer vehículo subacuático programado fue un torpedo <strong>de</strong>sarrollado por<br />

Luppis–Whitehead Automobile en Austria en 1864; pero al hablar <strong>de</strong> robótica,<br />

el primer ROV, llamado POODLE fue <strong>de</strong>sarrollado por Dimitri Rebikoff<br />

(Francia) en 1953. Después le sucedieron otros vehículos <strong>de</strong>l tipo<br />

AUV tales como el SEA SPOOK <strong>de</strong> Rebikoff y el SPURV construido por<br />

la Universidad <strong>de</strong> Washington. A éstos le siguieron otros como el SKAT<br />

<strong>de</strong>l Shirshov Institute of Oceanology (Rusia), el OSR-V (Japón), los<br />

EAVE’s, RUMIC y UFSS (U.S.A.), y el EPAULARD (Francia). Desafortunadamente,<br />

la mayoría <strong>de</strong> estos AUV eran muy gran<strong>de</strong>s, ineficientes y<br />

<strong>de</strong>masiado costosos. Esto hizo que en la década <strong>de</strong> 1980 los ROV fueran<br />

ganando espacio frente a los AUV. Sin embargo, a partir <strong>de</strong> la década <strong>de</strong><br />

1990, se ha recuperado el interés por el <strong>de</strong>sarrollo <strong>de</strong> los AUV, <strong>de</strong>bido al<br />

surgimiento <strong>de</strong> nuevas tecnologías electrónicas compactas, el <strong>de</strong>sarrollo <strong>de</strong><br />

motores pequeños <strong>de</strong> alta eficiencia y la aparición <strong>de</strong> baterías recargables<br />

<strong>de</strong> mayor duración.<br />

Las principales ventajas y <strong>de</strong>sventajas <strong>de</strong>l empleo <strong>de</strong> la tecnología ROV<br />

con respecto a los AUV en el ambiente marino se basan en el empleo o no<br />

<strong>de</strong>l cordón umbilical. Este cordón umbilical, el cual es usado en los ROV,<br />

permite dos cosas principales: la transmisión <strong>de</strong> energía eléctrica a los dispositivos<br />

eléctricos y electrónicos <strong>de</strong>l equipo bajo el agua, y la comunicación<br />

en tiempo real entre los equipos <strong>de</strong> superficie y el robot submarino.<br />

Al contar con la energía eléctrica <strong>de</strong>s<strong>de</strong> la superficie, prácticamente no<br />

existe restricción en el tiempo que pue<strong>de</strong> estar un ROV <strong>de</strong>ntro <strong>de</strong>l agua.<br />

Por otro lado, al mantener una comunicación vía cable o fibra óptica, los


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 209<br />

datos se transmiten a muy alta velocidad, lo cual facilitará la observación<br />

<strong>de</strong> imágenes submarinas en la superficie, hacer tareas <strong>de</strong> control en tiempo<br />

real y realizar activida<strong>de</strong>s <strong>de</strong> telemanipulación. En el caso <strong>de</strong> los AUV, al<br />

no tener el cordón umbilical, presentan la ventaja <strong>de</strong> una mayor libertad <strong>de</strong><br />

movimiento y un menor costo operativo por no <strong>de</strong>pen<strong>de</strong>r <strong>de</strong> una embarcación<br />

en la superficie, pero con la limitante <strong>de</strong>l tiempo que empleará para<br />

ejecutar una misión, <strong>de</strong>bido a que utilizan baterías, y el ancho <strong>de</strong> banda<br />

restringido en la comunicación con la superficie, ya que la transmisión inalámbrica<br />

sólo se pue<strong>de</strong> efectuar a pocos metros <strong>de</strong> distancia bajo el agua,<br />

<strong>de</strong>bido a que las ondas electromagnéticas se atenúan fuertemente en ese<br />

medio (Chantler, 1994). Una posible forma <strong>de</strong> transmitir datos a mayor<br />

distancia, es mediante ondas sonoras; sin embargo, éstas tienen una velocidad<br />

muy baja, lo cual limita la posibilidad <strong>de</strong> realizar tareas en tiempo<br />

real a gran<strong>de</strong>s distancias.<br />

Hoy en día existe una gran diversidad <strong>de</strong> robots submarinos. La mayoría<br />

<strong>de</strong> ellos utiliza un impulsor y varias aletas móviles para realizar las maniobras<br />

<strong>de</strong> navegación. Otros utilizan varios impulsores, colocados <strong>de</strong> tal<br />

manera que puedan hacer movimientos <strong>de</strong> avance, cabeceo y viraje. Hay<br />

otro pequeño grupo que tienen la capacidad <strong>de</strong> orientar el impulsor para el<br />

guiado y la navegación simultáneamente. De ellos se pue<strong>de</strong> mencionar el<br />

<strong>de</strong>sarrollado por Le Page y Holappa, el cual ofrece una gran maniobrabilidad<br />

a bajas velocida<strong>de</strong>s (Le Page, 2000); otro robot realizado por Morel y<br />

Leonessa, quienes en su trabajo muestran la versatilidad <strong>de</strong>l uso <strong>de</strong>l impulsor<br />

vectorial para obtener un control más preciso en la trayectoria <strong>de</strong> un<br />

vehículo submarino (Morel, 2003); finalmente, está el AUV presentado<br />

por Cavallo y Michelini, el cual utiliza un impulsor vectorial con una plataforma<br />

paralela <strong>de</strong> tres grados <strong>de</strong> libertad (Cavallo, 2004).<br />

En este apartado se presenta una novedosa aplicación <strong>de</strong> la plataforma<br />

<strong>de</strong> Stewart – Gough como vehículo y robot paralelo subacuático, el cual es<br />

llamado REMO I (Saltarén, 2004) (Aracil, 2006). La plataforma <strong>de</strong> Stewart<br />

– Gough (S-G), es un mecanismo paralelo <strong>de</strong> seis grados <strong>de</strong> libertad<br />

basado en dos anillos que están conectados entres sí, a través <strong>de</strong> seis accionamientos<br />

lineales, que a su vez están unidos a los anillos con juntas esféricas<br />

y universales. El resultado <strong>de</strong> esta configuración cinemática presenta<br />

un mecanismo muy simple con una elevada rigi<strong>de</strong>z, gracias a que sus<br />

accionamientos son parte <strong>de</strong> su estructura mecánica. Esta plataforma tiene<br />

una gran capacidad <strong>de</strong> manipular cargas, ya que pue<strong>de</strong> concentrar en uno<br />

<strong>de</strong> sus anillos toda la potencia <strong>de</strong> sus accionamientos. A<strong>de</strong>más, <strong>de</strong>bido a<br />

su reducida inercia, pue<strong>de</strong> alcanzar gran<strong>de</strong>s velocida<strong>de</strong>s y aceleraciones.<br />

Para el REMO I, la plataforma <strong>de</strong> S-G es parte <strong>de</strong> su estructura y esto le<br />

permite <strong>de</strong>formarse, <strong>de</strong> tal manera, que pue<strong>de</strong> navegar en cualquier direc-


210 Robots <strong>de</strong> exteriores<br />

ción con una mayor flexibilidad que los vehículos con impulsores vectoriales,<br />

y en consecuencia tiene la capacidad <strong>de</strong> realizar los movimientos <strong>de</strong>l<br />

timón <strong>de</strong>l robot con 6 grados <strong>de</strong> libertad.<br />

Este capítulo se ha estructurado <strong>de</strong> la siguiente manera: primero se <strong>de</strong>scribe<br />

el diseño mecánico, eléctrico y electrónico <strong>de</strong>l robot paralelo submarino,<br />

posteriormente se habla <strong>de</strong> la arquitectura <strong>de</strong> hardware. A continuación<br />

se explica las propieda<strong>de</strong>s <strong>de</strong>l software elaborado y las interfaces<br />

humano-máquina. Como siguiente punto se explica las estrategias utilizadas<br />

para el control <strong>de</strong>l REMO I. Finalmente se presentan algunos <strong>de</strong> los<br />

resultados obtenidos en las primeras pruebas <strong>de</strong> navegación.<br />

2 Descripción <strong>de</strong>l REMO I<br />

Las siglas REMO significan “Robot <strong>de</strong> Estructura-paralela para la Medición<br />

y Observación oceanográfica”. En la figura 1 se pue<strong>de</strong> observar las<br />

partes principales <strong>de</strong>l REMO I, en la que se <strong>de</strong>staca la plataforma <strong>de</strong> Stewart<br />

– Gough en la parte central, que, junto al impulsor, son la base <strong>de</strong>l<br />

funcionamiento para la navegación <strong>de</strong> este robot submarino.<br />

Fig.1. Partes <strong>de</strong>l robot paralelo REMO I.<br />

En la izquierda <strong>de</strong> la figura 1, se <strong>de</strong>staca la base, que constituye la parte<br />

<strong>de</strong>lantera <strong>de</strong>l robot y es don<strong>de</strong> se encuentran los circuitos electrónicos <strong>de</strong><br />

medición, control, fuentes <strong>de</strong> alimentación y amplificadores; en el medio<br />

se encuentran los seis actuadores lineales, los cuales funcionan con motores<br />

<strong>de</strong> corriente continua; y finalmente, a la <strong>de</strong>recha se encuentra el efector,<br />

el cual representa la parte trasera o timón <strong>de</strong>l REMO I, y es don<strong>de</strong> está colocado<br />

el impulsor. La navegación <strong>de</strong> este vehículo se realiza por medio<br />

<strong>de</strong>l impulsor, para proporcionar la fuerza <strong>de</strong> empuje <strong>de</strong>l robot, y los actuadores,<br />

quienes son los que le dan la orientación y el <strong>de</strong>splazamiento a la estructura<br />

para po<strong>de</strong>r efectuar los giros, el balanceo, el ascenso y el <strong>de</strong>scen-


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 211<br />

so. A<strong>de</strong>más <strong>de</strong> ello se le ha agregado un tanque <strong>de</strong> lastre en cada aleta, para<br />

neutralizar automáticamente la flotabilidad en el agua. Los actuadores<br />

tienen la capacidad para trabajar <strong>de</strong> forma in<strong>de</strong>pendiente; sin embargo,<br />

ellos seis se mueven <strong>de</strong> manera coordinada, para obtener la orientación y<br />

<strong>de</strong>splazamiento requeridos entre la base y el efector, y con ello lograr el<br />

movimiento <strong>de</strong>seado para la navegación. En la figura 2, se muestra una foto<br />

actual <strong>de</strong>l REMO I.<br />

Fig. 2. Foto actual <strong>de</strong>l REMO I sin el impulsor.<br />

El primer prototipo <strong>de</strong>l proyecto REMO, el REMO I, consiste en un vehículo<br />

remotamente operado que tiene 170mm <strong>de</strong> ancho y su largo pue<strong>de</strong><br />

variar entre 165 y 200mm. Su peso es <strong>de</strong> unos 90 kilos en el aire, y en el<br />

agua se neutraliza por medio <strong>de</strong> unas bolsas <strong>de</strong> aire que hay en las aletas,<br />

las cuales también se utilizan para su sustentación en el agua. El control<br />

<strong>de</strong> los actuadores, el impulsor y el lastrado se realizan por medio <strong>de</strong> un<br />

joystick, para que, <strong>de</strong> esta forma se pueda hacer un manejo sencillo y con<br />

ello, observar su funcionamiento y maniobrabilidad en el agua. Para ello<br />

también se cuenta con algunos sensores, los cuales envían sus lecturas a un<br />

computador en la superficie.<br />

2.1 Construcción Mecánica<br />

Para la construcción <strong>de</strong>l REMO I se consi<strong>de</strong>ró la realización <strong>de</strong> un diseño<br />

modular, <strong>de</strong> manera <strong>de</strong> aprovechar al máximo el espacio interior <strong>de</strong>l mismo,<br />

específicamente en don<strong>de</strong> se ubica la parte electrónica. Tal como se<br />

pue<strong>de</strong> observar en la figura 3, se construyó varios anillos para el ensambla-


212 Robots <strong>de</strong> exteriores<br />

je. Estos anillos están hechos <strong>de</strong> polietileno <strong>de</strong> alta <strong>de</strong>nsidad y cada módulo<br />

tiene un ancho <strong>de</strong> 100mm. Para el mecanizado <strong>de</strong> cada anillo se utilizó<br />

una máquina <strong>de</strong> corte por inyección <strong>de</strong> agua a alta presión.<br />

Cada anillo se une por medio <strong>de</strong> unos espárragos en la parte central, y<br />

unos tornillos en cada extremo. Esta configuración pue<strong>de</strong> adaptarse para<br />

el caso en el que se <strong>de</strong>see alargar más la cabina para futuras modificaciones.<br />

Entre cada anillo, se ha colocado cuidadosamente cintas <strong>de</strong> teflón,<br />

para asegurar la estanqueidad <strong>de</strong> la cabina.<br />

Fig. 3. Vista <strong>de</strong>l anillo con los espárragos y <strong>de</strong>talles <strong>de</strong> una tapa y un anillo.<br />

2.2 Sensores utilizados en el REMO I<br />

En el REMO I se utilizan los sensores básicos para el control <strong>de</strong> la posición<br />

<strong>de</strong> los actuadores, los sensores para la navegación <strong>de</strong>l REMO I, los<br />

<strong>de</strong>tectores <strong>de</strong> condiciones anormales, y la cámara, que permite observar las<br />

escenas en el agua.<br />

En cuanto a los sensores para el control <strong>de</strong> la posición <strong>de</strong> los actuadores,<br />

se utilizaron unos enco<strong>de</strong>rs ópticos y <strong>de</strong> cuadratura que ofrecen una lectura<br />

muy precisa <strong>de</strong> la posición y el sentido <strong>de</strong>l movimiento <strong>de</strong>l motor interno.<br />

Otro elemento <strong>de</strong> gran importancia es la unidad <strong>de</strong> medición inercial o<br />

IMU, la cual permite leer los ángulos <strong>de</strong> cabeceo, balanceo y viraje (pitch,<br />

roll, yaw) y sus respectivas velocida<strong>de</strong>s. Una brújula electrónica se incluye<br />

como complemento para mejorar la orientación <strong>de</strong>l REMO I. El sensor<br />

magnético se utiliza para corregir el error <strong>de</strong> <strong>de</strong>riva producido por la unidad<br />

<strong>de</strong> medición inercial en el ángulo <strong>de</strong> viraje, y a la vez la IMU corregirá<br />

las lecturas erróneas que puedan venir <strong>de</strong> la brújula <strong>de</strong>bido a una interferencia<br />

magnética. Para tener un estimado <strong>de</strong> la profundidad se cuenta con<br />

un sensor <strong>de</strong> presión absoluta. Los sensores <strong>de</strong> presión diferencial indican<br />

el valor <strong>de</strong> la presión interna <strong>de</strong> la cabina con respecto a la <strong>de</strong>l agua, y la<br />

presión <strong>de</strong> las bolsas <strong>de</strong> flotación ubicadas en las aletas.


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 213<br />

Fig. 4. Colocación <strong>de</strong> la parte electrónica <strong>de</strong>ntro <strong>de</strong>l REMO.<br />

Los <strong>de</strong>tectores <strong>de</strong> condiciones anormales <strong>de</strong>terminan si existe una alarma<br />

en el REMO I. En este caso se utiliza un interruptor <strong>de</strong> presión, para<br />

avisar si falta poco para vaciarse las bombonas <strong>de</strong> aire <strong>de</strong> suministro al circuito<br />

neumático, y el <strong>de</strong>tector <strong>de</strong> intrusión <strong>de</strong> agua, que es un sensor <strong>de</strong> nivel<br />

óptico. Las otras alarmas se activan mediante la <strong>de</strong>tección <strong>de</strong> los niveles<br />

<strong>de</strong> medición por medio <strong>de</strong>l software. En la tabla 1 se presenta un<br />

resumen <strong>de</strong> los sensores utilizados en el REMO I.<br />

Tabla 1. Resumen <strong>de</strong> los tipos <strong>de</strong> sensores <strong>de</strong>l REMO I.<br />

Tipo <strong>de</strong> sensor Fabricante Mo<strong>de</strong>lo<br />

IMU Microinfinity MI-A3350M<br />

Posición <strong>de</strong> los actuadores<br />

(enco<strong>de</strong>r)<br />

Baumer Electric BDK16-24K<br />

1024-5-4<br />

Velocidad y par <strong>de</strong>l impulsor Control Techniques Eb-203<br />

Detector <strong>de</strong> líquido Honeywell LLE102000<br />

Temperatura Nat. Semiconductor LM335<br />

Presión absoluta.<br />

Keller<br />

PAA21<br />

(Profundidad)<br />

Presión diferencial. Honeywell 24PCFFM1D<br />

Presión diferencial Honeywell 24PCGFM1D<br />

Interruptor Presión Isis Fluid Control F4S<br />

Brújula magnetorresistiva Honeywell HMC1001-1002<br />

Cámara IP Grandtec Grand IP


214 Robots <strong>de</strong> exteriores<br />

2.3 Elementos finales <strong>de</strong> control<br />

Los elementos finales <strong>de</strong> control consisten en los actuadores lineales, el<br />

impulsor y las válvulas solenoi<strong>de</strong>s. Cada actuador lineal es una estructura<br />

alargada <strong>de</strong> unos 750mm en estado <strong>de</strong> reposo y sección interna circular, la<br />

cual incluye: un tornillo sinfín acoplado a una polea, un husillo y un émbolo.<br />

En el lado externo <strong>de</strong>l actuador, y acoplado por medio <strong>de</strong> una correa a<br />

la polea, se encuentra un motor <strong>de</strong> corriente directa <strong>de</strong> 72 w, un reductor y<br />

un enco<strong>de</strong>r. La capacidad <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong>l actuador es <strong>de</strong> 350mm.<br />

Debido a la reducción <strong>de</strong>l motor y el acople husillo - tornillo sinfín, el actuador<br />

transmite una gran fuerza en su extremo, a<strong>de</strong>más <strong>de</strong> una alta precisión<br />

en el movimiento a realizar. Estos movimientos son lineales y en<br />

coordinación con los otros actuadores según las trayectorias generadas <strong>de</strong><br />

cada actuador <strong>de</strong> acuerdo a la solución <strong>de</strong> la cinemática inversa <strong>de</strong> la plataforma<br />

<strong>de</strong> S-G (Almonacid, 2002). De esta manera se obtiene la posición<br />

<strong>de</strong>seada <strong>de</strong>l impulsor (efector) con respecto a la cabina (base).<br />

Fig. 5. Actuadores lineales <strong>de</strong>l REMO I.<br />

La unión <strong>de</strong> los actuadores con la base se hace mediante juntas universales,<br />

y la <strong>de</strong> los actuadores con el efector se realiza mediante juntas esféricas.<br />

Esto permite movimientos <strong>de</strong> seis grados <strong>de</strong> libertad entre la base y el<br />

efector (Tsai, 1999).<br />

El impulsor consiste en un motor sin escobillas <strong>de</strong> tres fases, acoplado a<br />

una hélice. El conjunto podrá girar a una velocidad máxima <strong>de</strong> 3000 rpm<br />

con un par máximo <strong>de</strong> 3,1 N-m que representa una potencia mecánica<br />

máxima <strong>de</strong> 974 w. Trabaja con un controlador con salida modulada en an-


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 215<br />

cho <strong>de</strong> pulsos, y éste a su vez, recibe la señal <strong>de</strong> manejo por medio <strong>de</strong> una<br />

salida analógica <strong>de</strong> la tarjeta <strong>de</strong> control que está en el REMO I.<br />

Otros elementos finales <strong>de</strong> control utilizados en el REMO I, son las válvulas<br />

solenoi<strong>de</strong>s <strong>de</strong>l circuito neumático, las cuales se utilizan para el control<br />

<strong>de</strong> la presurización <strong>de</strong> la cabina y el inflado <strong>de</strong> las bolsas <strong>de</strong> los tanques<br />

<strong>de</strong> lastre que regulan la flotabilidad. A<strong>de</strong>más se utiliza un sistema <strong>de</strong><br />

iluminación basado en diodos emisores <strong>de</strong> luz blanca, que se utiliza para<br />

iluminar la escena bajo el agua para mejorar la visibilidad en la cámara.<br />

3 Arquitectura <strong>de</strong> control<br />

Para el control <strong>de</strong> robots submarinos se han <strong>de</strong>sarrollado varias tipos <strong>de</strong><br />

arquitectura. Cada una pue<strong>de</strong> presentar sus ventajas y <strong>de</strong>sventajas según el<br />

tipo <strong>de</strong> aplicación. En el caso <strong>de</strong>l REMO I, se escogió una arquitectura tipo<br />

cliente - servidor, en la cual un computador personal (cliente), ubicado<br />

en la superficie, es el que pi<strong>de</strong> datos a una tarjeta <strong>de</strong> control multiejes y<br />

multifuncional (servidor), la cual está colocada en el REMO I, y es la que<br />

se encarga <strong>de</strong>: controlar y coordinar a bajo nivel los movimientos <strong>de</strong> los<br />

actuadores, tomar las lecturas <strong>de</strong> las señales analógicas y digitales, y recibir<br />

los comandos <strong>de</strong> control digital. Este tipo <strong>de</strong> arquitectura se adapta<br />

bien para un sistema teleoperado experimental, ya que en el computador<br />

ubicado en la superficie se ensayarán diversas configuraciones y algoritmos<br />

<strong>de</strong> control <strong>de</strong> alto nivel para ser aplicados al prototipo. Por otro lado,<br />

hay otros elementos in<strong>de</strong>pendientes en el REMO I, que trabajan como servidores,<br />

los cuales son: la unidad <strong>de</strong> medición inercial (IMU), la cual <strong>de</strong>tecta<br />

los ángulos y velocida<strong>de</strong>s angulares <strong>de</strong> cabeceo, balanceo y viraje <strong>de</strong><br />

la cabina <strong>de</strong>l robot, y la cámara <strong>de</strong> observación, que se usa para mostrar, en<br />

el computador <strong>de</strong> la superficie, las imágenes obtenidas en el agua.<br />

La arquitectura <strong>de</strong>l robot submarino se sintetiza básicamente según el<br />

diagrama <strong>de</strong> bloques <strong>de</strong> la figura 6. Un operador utilizará el joystick para<br />

realizar el movimiento <strong>de</strong> los actuadores, <strong>de</strong> manera que pueda hacer el<br />

manejo <strong>de</strong>l REMO I <strong>de</strong>s<strong>de</strong> la superficie. El computador personal realiza<br />

funciones <strong>de</strong> lectura, análisis, procesamiento y flujo <strong>de</strong> datos provenientes<br />

<strong>de</strong>l REMO I, y presenta las mediciones obtenidas, las imágenes submarinas<br />

y los gráficos <strong>de</strong> comportamiento <strong>de</strong>l movimiento <strong>de</strong>l robot. En la tarjeta<br />

<strong>de</strong> control, ubicada en el REMO I, es en don<strong>de</strong> se cierran los lazos <strong>de</strong><br />

control para el manejo directo <strong>de</strong> los actuadores y el impulsor. En el caso<br />

<strong>de</strong>l lastrado y la presurización, los lazos se cierran en superficie, ya que la<br />

respuesta <strong>de</strong> estos sistemas es más lenta.


216 Robots <strong>de</strong> exteriores<br />

Fig. 6. Arquitectura <strong>de</strong> control <strong>de</strong>l REMO.<br />

El computador personal (PC) proporciona los programas y las interfaces<br />

<strong>de</strong> usuario y <strong>de</strong> comunicación que estarán en la superficie. Los programas<br />

que se utilizan para el control y la simulación <strong>de</strong>l REMO I son los siguientes:<br />

La interfaz <strong>de</strong>l joystick, la interfaz <strong>de</strong> comunicación con la tarjeta <strong>de</strong><br />

control, el mo<strong>de</strong>lo <strong>de</strong> la cinemática inversa <strong>de</strong> la plataforma <strong>de</strong>l REMO I,<br />

la interpretación <strong>de</strong> datos, la interfaz humano máquina, la simulación <strong>de</strong>l<br />

control <strong>de</strong> la plataforma <strong>de</strong> S-G, la i<strong>de</strong>ntificación <strong>de</strong>l sistema <strong>de</strong> control, el<br />

cálculo <strong>de</strong> los valores <strong>de</strong> posición <strong>de</strong> cada uno <strong>de</strong> los actuadores para enviarlos<br />

a la tarjeta <strong>de</strong> control, el control <strong>de</strong>l impulsor, la lectura <strong>de</strong> los sensores<br />

y la representación en realidad virtual <strong>de</strong>l comportamiento <strong>de</strong>l<br />

REMO I en el agua.<br />

El joystick es el elemento que se utiliza para mover los actuadores por<br />

medio <strong>de</strong>l programa <strong>de</strong> control. Para ello el computador lee las señales<br />

generadas por este dispositivo y aplica los algoritmos <strong>de</strong> la cinemática inversa<br />

<strong>de</strong> la estructura paralela <strong>de</strong> S-G y el <strong>de</strong> generación <strong>de</strong> las trayectorias<br />

<strong>de</strong> cada actuador. A<strong>de</strong>más <strong>de</strong> esto, el joystick tiene la función <strong>de</strong> habilitar<br />

o <strong>de</strong>shabilitar los actuadores y el impulsor, fijar la velocidad <strong>de</strong> este último,<br />

controlar manualmente el llenado y vaciado <strong>de</strong> los tanques <strong>de</strong> lastrado,


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 217<br />

y encen<strong>de</strong>r o apagar las luces para la iluminación bajo el agua.<br />

El joystick utilizado tiene una palanca principal <strong>de</strong> tres grados <strong>de</strong> libertad,<br />

una palanquita <strong>de</strong> un grado <strong>de</strong> libertad, ocho botones <strong>de</strong> dos estados y<br />

un botón <strong>de</strong> ocho posiciones. Para hacer la equivalencia <strong>de</strong> los movimientos<br />

<strong>de</strong>l joystick con la platafoma <strong>de</strong> S-G que tiene seis grados <strong>de</strong> libertad,<br />

se separan los tres grados <strong>de</strong> libertad <strong>de</strong> orientación y dos grados <strong>de</strong> libertad<br />

<strong>de</strong> <strong>de</strong>splazamiento mediante los botones 1 y 2 que se incluyen en la palanca<br />

principal <strong>de</strong>l joystick. El <strong>de</strong>splazamiento en X, que consiste en alargar<br />

la plataforma, se controla mediante la palanquita <strong>de</strong>l eje Z <strong>de</strong>l joystick,<br />

cuando el impulsor está apagado.<br />

La tarjeta <strong>de</strong> control es básicamente un computador <strong>de</strong>dicado que está<br />

<strong>de</strong>ntro <strong>de</strong>l robot submarino REMO I. Esta tarjeta, tiene como función<br />

principal, la <strong>de</strong> leer las posiciones, que se proporcionan <strong>de</strong>s<strong>de</strong> el computador<br />

personal a través <strong>de</strong>l puerto <strong>de</strong> re<strong>de</strong>s, y calcular los <strong>de</strong>splazamientos,<br />

velocida<strong>de</strong>s y aceleraciones para controlar los actuadores <strong>de</strong> la plataforma<br />

paralela. Los valores <strong>de</strong> posiciones recibidos <strong>de</strong>s<strong>de</strong> el computador <strong>de</strong> la<br />

superficie, se comparan con las lecturas <strong>de</strong> los enco<strong>de</strong>rs y se calculan las<br />

velocida<strong>de</strong>s y aceleraciones según un perfil <strong>de</strong> velocidad introducido anteriormente<br />

en la tarjeta <strong>de</strong> control y luego se generan las señales <strong>de</strong> control<br />

apropiadas a los amplificadores <strong>de</strong> potencia. Las salidas <strong>de</strong> los amplificadores<br />

están conectadas a los motores <strong>de</strong> los actuadores, y <strong>de</strong> esta manera se<br />

realiza el movimiento para lograr el objetivo <strong>de</strong> posicionamiento <strong>de</strong> la<br />

forma más a<strong>de</strong>cuada posible. El algoritmo utilizado para la posición <strong>de</strong><br />

cada actuador es un PD (Proporcional Derivativo), ya que es el algoritmo<br />

más apropiado para un control <strong>de</strong> posición sencillo y está implementado en<br />

la tarjeta <strong>de</strong> control. Otras <strong>de</strong> las funciones que realiza la tarjeta <strong>de</strong> control<br />

son: Lectura <strong>de</strong> las señales <strong>de</strong> los sensores <strong>de</strong> presión, temperatura, inundación<br />

y, velocidad y par <strong>de</strong>l motor impulsor, por otro lado proporciona la<br />

señal <strong>de</strong> habilitación <strong>de</strong>l módulo <strong>de</strong> control <strong>de</strong>l impulsor, encendido y apagado<br />

<strong>de</strong> válvulas y luces, y también hace el envío <strong>de</strong> las lecturas <strong>de</strong> los<br />

sensores analógicos y <strong>de</strong> los enco<strong>de</strong>rs al computador personal. La comunicación<br />

entre el PC y el REMO I, se hace mediante la conexión <strong>de</strong> red local<br />

o Ethernet, a la que se le agrega unos convertidores a fibra óptica para aumentar<br />

la distancia <strong>de</strong> comunicación.<br />

4 Diseño <strong>de</strong>l software<br />

Para conseguir un control óptimo <strong>de</strong>l REMO I se realizó un software que<br />

proporciona una interfaz humano-máquina que permite observar con facilidad<br />

lo que ocurre en el agua y que se encargue <strong>de</strong> los lazos <strong>de</strong> control <strong>de</strong>l


218 Robots <strong>de</strong> exteriores<br />

REMO I, el cual incluye: el movimiento <strong>de</strong> los seis actuadores, el impulsor,<br />

la presurización y el lastrado, y por otro lado que informe al usuario <strong>de</strong><br />

los estados <strong>de</strong> todos los sensores. El diagrama <strong>de</strong> <strong>de</strong>spliegue utilizado en<br />

el software es el que se muestra en la figura 7.<br />

Fig. 7. Diagrama <strong>de</strong> <strong>de</strong>spliegue <strong>de</strong>l software utilizado para el control <strong>de</strong>l REMO.<br />

4.1 La interfaz <strong>de</strong> usuario<br />

En la interfaz <strong>de</strong> usuario aparecen las medidas que registra el REMO I.<br />

A<strong>de</strong>más podrá disponer <strong>de</strong> la ayuda <strong>de</strong> cualquier control o indicador que<br />

aparece en pantalla. Las acciones principales <strong>de</strong> control <strong>de</strong>l vehículo submarino<br />

robótico se realizan por medio <strong>de</strong>l joystick, mientras que la pantalla<br />

<strong>de</strong>l computador sirve para mostrar las lecturas <strong>de</strong> los datos recopilados<br />

en el REMO I.<br />

En la figura 8 se presenta a la interfaz <strong>de</strong> usuario <strong>de</strong>l REMO I. En ella<br />

se podrá observar un indicador gráfico que proporciona una medida intuitiva<br />

<strong>de</strong> la actitud <strong>de</strong>l vehículo submarino (color rojo), orientación <strong>de</strong>l joystick<br />

(azul) y orientación almacenada al soltar el botón 1 <strong>de</strong>l joystick (ver<strong>de</strong>).<br />

En el plano se muestran los ángulos <strong>de</strong> cabeceo y viraje, mientras la<br />

inclinación <strong>de</strong>l puntero indica el ángulo <strong>de</strong> balanceo.<br />

Otros elementos <strong>de</strong> la interfaz <strong>de</strong> usuario son los indicadores <strong>de</strong>: las<br />

longitu<strong>de</strong>s calculadas y leídas <strong>de</strong> los actuadores <strong>de</strong> la plataforma paralela,<br />

la velocidad y porcentaje <strong>de</strong> par <strong>de</strong>l impulsor, las presiones internas y <strong>de</strong><br />

los tanques <strong>de</strong> lastre, la brújula electrónica, el termómetro y las alarmas.<br />

Una posibilidad que se ofrece en el software, es la gestión <strong>de</strong> pruebas,<br />

calibración y entonación. Con ello, el operador podrá hacer pruebas <strong>de</strong> ca-


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 219<br />

da elemento <strong>de</strong>l robot antes <strong>de</strong> la inmersión, al igual que podrá calibrar los<br />

instrumentos o entonar los algoritmos <strong>de</strong> control <strong>de</strong>l sistema y fijar el<br />

tiempo <strong>de</strong> recopilación <strong>de</strong> la data leída.<br />

Fig. 8. Interfaz <strong>de</strong> usuario <strong>de</strong>l REMO I.<br />

Al software se le agregó también el <strong>de</strong>sarrollo <strong>de</strong> una interfaz <strong>de</strong> realidad<br />

virtual, la cual ofrece una “visión externa” <strong>de</strong>l comportamiento <strong>de</strong>l<br />

REMO I en el agua. Una aplicación <strong>de</strong> esta interfaz, es la <strong>de</strong> ofrecer la posibilidad<br />

<strong>de</strong> reproducir, mediante los datos recopilados, todos los movimientos<br />

<strong>de</strong>l robot, tal como si se tratara <strong>de</strong> una repetición <strong>de</strong> la prueba.<br />

Otra aplicación consiste en introducir los mo<strong>de</strong>los matemáticos <strong>de</strong>l comportamiento<br />

<strong>de</strong>l REMO I, para simular el control mediante el joystick.<br />

Los algoritmos para <strong>de</strong>sarrollar este programa <strong>de</strong> realidad virtual, están<br />

basados en la resolución <strong>de</strong> la cinemática directa <strong>de</strong> la plataforma <strong>de</strong> S-G<br />

y la aplicación <strong>de</strong> un software en Matlab para mostrar el dibujo <strong>de</strong>l REMO<br />

I, <strong>de</strong> acuerdo a sus piezas principales y a su proyección gráfica, tal como se<br />

muestra en la pantalla <strong>de</strong>recha <strong>de</strong> la figura 9.


220 Robots <strong>de</strong> exteriores<br />

Fig. 9. Vista <strong>de</strong>l software para la interfaz <strong>de</strong> usuario y realidad virtual.<br />

4.2 Control <strong>de</strong> la posición y orientación <strong>de</strong>l timón.<br />

En el modo <strong>de</strong> control a lazo abierto, la postura <strong>de</strong>l efector se obtiene por<br />

medio <strong>de</strong> las coor<strong>de</strong>nadas que proporciona el joystick y a partir <strong>de</strong> allí se<br />

hace el cálculo <strong>de</strong> la cinemática inversa para obtener las longitu<strong>de</strong>s <strong>de</strong> cada<br />

actuador. Los ángulos <strong>de</strong> orientación <strong>de</strong>l timón, referidos al sistema <strong>de</strong><br />

coor<strong>de</strong>nadas <strong>de</strong> la plataforma <strong>de</strong> S-G, se obtienen al encontrar una equivalencia<br />

entre los movimientos <strong>de</strong>l joystick y los ángulos <strong>de</strong> Euler.<br />

La otra fase <strong>de</strong>l control <strong>de</strong> la plataforma <strong>de</strong> S-G, consiste en la generación<br />

<strong>de</strong> trayectorias <strong>de</strong> manera <strong>de</strong> garantizar que los actuadores se muevan<br />

armónicamente para orientar y <strong>de</strong>splazar el efector con respecto a la cabina.<br />

En vista <strong>de</strong> que la posición y orientación <strong>de</strong>l efector se <strong>de</strong>berá obtener<br />

por medio <strong>de</strong>l joystick, dos puntos consecutivos que éste entregue al software<br />

podrían estar muy separados, especialmente cuando se pulsan los botones<br />

<strong>de</strong> posicionamiento en el cual, el punto <strong>de</strong> partida <strong>de</strong>l efector parte<br />

<strong>de</strong> un lugar muy distante al <strong>de</strong> llegada. Por lo tanto, se <strong>de</strong>be generar puntos<br />

intermedios, en los cuales los actuadores <strong>de</strong>ban pasar <strong>de</strong> manera coordinada<br />

y que, a su vez, no coincidan con alguna singularidad (Tsai, 1999).


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 221<br />

Para planificar y generar los puntos intermedios, se utilizó un algoritmo 4-<br />

3-4, tal como se plantea en Almonacid (2002).<br />

En el modo <strong>de</strong> control automático, el joystick se utiliza para fijar el<br />

rumbo a seguir, el cual es almacenado al soltar el botón 1. Este rumbo se<br />

indicará en la pantalla, y el control <strong>de</strong> cada eje se hace <strong>de</strong> acuerdo al algoritmo<br />

<strong>de</strong> control programado, consi<strong>de</strong>rando un movimiento óptimo <strong>de</strong>l<br />

efector, tanto <strong>de</strong> orientación, como <strong>de</strong> <strong>de</strong>splazamiento.<br />

4.3 Control <strong>de</strong> velocidad <strong>de</strong>l impulsor<br />

El control <strong>de</strong> velocidad <strong>de</strong>l impulsor se hace <strong>de</strong>s<strong>de</strong> el control Z <strong>de</strong>l joystick,<br />

que es una palanquita pequeña que pue<strong>de</strong> moverse hacia a<strong>de</strong>lante o<br />

hacia atrás, y está situada a la izquierda <strong>de</strong> la palanca principal. Para el giro<br />

<strong>de</strong> la hélice, se <strong>de</strong>finió la velocidad nula en la posición central. El movimientote<br />

la palanquita hacia <strong>de</strong>lante producirá una velocidad positiva, y<br />

el movimiento hacia atrás, generará una negativa.<br />

El valor producido por el joystick es enviado a la tarjeta <strong>de</strong> control, la<br />

cual genera un valor que será la referencia para el módulo <strong>de</strong> control <strong>de</strong>l<br />

impulsor y que, mediante un algoritmo <strong>de</strong> espacio <strong>de</strong> estado, se regula la<br />

velocidad y el par <strong>de</strong>l impulsor.<br />

4.4 El control <strong>de</strong> presurización y lastrado<br />

El control <strong>de</strong> lastre se utiliza para compensar la relación peso volumen <strong>de</strong>l<br />

REMO I, <strong>de</strong> manera que éste se mantenga con una flotabilidad neutra en el<br />

agua (Wolf, 2003), y la navegación se realice por medio <strong>de</strong>l impulsor y la<br />

plataforma paralela. El sistema <strong>de</strong> lastrado está compuesto por: dos bombonas<br />

<strong>de</strong> aire comprimido, un circuito neumático y cuatro cavida<strong>de</strong>s con<br />

sus bolsas elásticas <strong>de</strong> aire, dos en las aletas <strong>de</strong>lanteras y dos en las aletas<br />

traseras. Las bombonas se colocan en la parte exterior <strong>de</strong>l REMO I, cada<br />

una tiene una capacidad para almacenar 2 litros <strong>de</strong> aire a una presión <strong>de</strong><br />

200 bares, y se conecta a una válvula con un regulador <strong>de</strong> presión que, una<br />

vez abierta, mantiene una salida estabilizada <strong>de</strong> unos 8 bares, la cual es la<br />

presión <strong>de</strong> suministro al circuito neumático. En la entrada <strong>de</strong>l circuito<br />

neumático se encuentra un interruptor <strong>de</strong> presión, el cual envía una señal<br />

<strong>de</strong> alarma cuando la presión baja <strong>de</strong> 5 bares.<br />

El circuito neumático se controla por software. La presión <strong>de</strong> la cabina<br />

se regula a un valor comprendido entre 0,15 y 0,3 bares mediante un algoritmo<br />

<strong>de</strong> control on-off. En el caso <strong>de</strong>l control <strong>de</strong> flotación a lazo abierto,<br />

éste se controla mediante unos botones situados en la palanca <strong>de</strong>l joystick.


222 Robots <strong>de</strong> exteriores<br />

Para la regulación automática <strong>de</strong> la profundidad, la consigna se establece<br />

en la interfaz <strong>de</strong> usuario.<br />

El circuito neumático presenta algunas protecciones para el caso <strong>de</strong> fallas.<br />

En primer lugar, si <strong>de</strong>ja <strong>de</strong> llegar el suministro eléctrico, aumentará la<br />

presión interna <strong>de</strong> la cabina, y a<strong>de</strong>más se llenarán las bolsas <strong>de</strong> aire. De<br />

esta forma se mantendrá la cabina y las cavida<strong>de</strong>s <strong>de</strong> las aletas presurizadas,<br />

para que el REMO I salga a flote. Por otro lado, para que no haya una<br />

presión excesiva en la cabina y las bolsas <strong>de</strong> aire, se cuenta con válvulas <strong>de</strong><br />

alivio.<br />

5 Obtención <strong>de</strong> los Mo<strong>de</strong>los Matemáticos y Resultados<br />

En el control <strong>de</strong> cada actuador se utilizó un algoritmo PD (proporcional –<br />

<strong>de</strong>rivativo). Para el cálculo <strong>de</strong> las constantes se utilizó el método <strong>de</strong> compensación<br />

<strong>de</strong> polos y ceros, y la fijación <strong>de</strong> un margen <strong>de</strong> fase según Álvarez<br />

(1997). Luego se utilizó el algoritmo <strong>de</strong> generación <strong>de</strong> trayectorias y<br />

cálculo <strong>de</strong> la cinemática inversa según Almonacid (2002). El control <strong>de</strong><br />

los actuadores se logró correctamente al obtener los movimientos <strong>de</strong>l efector<br />

<strong>de</strong> manera coordinada y precisa.<br />

Para obtener la función <strong>de</strong> transferencia <strong>de</strong>l sistema <strong>de</strong> lastrado, se aplicó<br />

a lazo abierto, un pulso <strong>de</strong> llenado <strong>de</strong> aire <strong>de</strong> 2 segundos <strong>de</strong> duración<br />

cuando el REMO I estaba a una profundidad <strong>de</strong> 6,5 m. Este ancho <strong>de</strong> pulso<br />

correspon<strong>de</strong> al valor <strong>de</strong>l área Vi <strong>de</strong> una señal impulso aproximada en<br />

términos <strong>de</strong> Laplace.<br />

La gráfica <strong>de</strong> la figura 10, correspon<strong>de</strong> al resultado <strong>de</strong> la función <strong>de</strong><br />

transferencia <strong>de</strong>l sistema <strong>de</strong> lastrado en el tiempo, ya que la entrada <strong>de</strong> excitación<br />

es aproximada a la función impulso. En la gráfica se pue<strong>de</strong> observar:<br />

el tiempo muerto t d , el tiempo <strong>de</strong> respuesta τ, y la pendiente con valor<br />

K m xV i a la que tien<strong>de</strong> la respuesta para un tiempo estacionario.<br />

Al aplicar la transformada <strong>de</strong> Laplace <strong>de</strong> la función <strong>de</strong> la gráfica y dividir<br />

por el ancho <strong>de</strong>l pulso <strong>de</strong> entrada, se obtiene:<br />

−std<br />

−3,5s<br />

Kme<br />

0,14e<br />

G( s)<br />

= ≈<br />

2 2<br />

s ( τ s + 1) s (12,5s<br />

+ 1)<br />

(1)<br />

De acuerdo a la teoría clásica <strong>de</strong> control, no sería posible regular un sistema<br />

que <strong>de</strong> por sí introduce un <strong>de</strong>sfase <strong>de</strong> 180º, <strong>de</strong>bido al término 1/s 2 <strong>de</strong><br />

la ecuación. Para solucionar esto, se aplica a la salida <strong>de</strong>l controlador un<br />

modulador <strong>de</strong> ancho <strong>de</strong> pulso, con un tiempo <strong>de</strong> refrescamiento relativamente<br />

lento, <strong>de</strong> 5 segundos. Esto equivaldría a colocar un diferenciador, el


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 223<br />

cual compensaría uno <strong>de</strong> los factores integrales <strong>de</strong> la función <strong>de</strong> transferencia,<br />

y con ello el sistema <strong>de</strong>bería ser controlable, tal como se obtuvo en<br />

las simulaciones. De acuerdo a los criterios utilizados en Álvarez (1997),<br />

se pue<strong>de</strong> obtener las constantes proporcionales y <strong>de</strong>rivativas:<br />

0,433 0,433<br />

P = P 0,88<br />

K t<br />

= 3,5x0,14<br />

→ = (2)<br />

m d<br />

T = τ − t = 16seg − 3,5seg = 12,5seg<br />

(3)<br />

D<br />

d<br />

Fig. 10. Respuesta <strong>de</strong>l sistema <strong>de</strong> lastrado al suministrar un pulso <strong>de</strong> aire <strong>de</strong> 2 segundos<br />

<strong>de</strong> duración (negro) y respuesta <strong>de</strong> la simulación (rojo).<br />

El mo<strong>de</strong>lo <strong>de</strong>sarrollado con su controlador para una variable es el que se<br />

muestra en la figura 11.<br />

Fig.11. Mo<strong>de</strong>lo <strong>de</strong>sarrollado con su controlador para la variable profundidad.<br />

Debido a que el control <strong>de</strong> lastrado se hace para los pares <strong>de</strong> tanques <strong>de</strong>lantero<br />

y trasero, en el algoritmo se incluyó la influencia <strong>de</strong>l cabeceo <strong>de</strong>l<br />

robot. Al hacer las pruebas <strong>de</strong>l comportamiento a lazo cerrado, se fijó como<br />

entrada <strong>de</strong> profundidad un valor 0,3m y para el cabeceo un ángulo <strong>de</strong><br />

0º. La respuesta que se obtuvo fue bastante estable y precisa. Los errores<br />

máximos fueron 0,08m y 1,5º respectivamente. Ver figura 12.


224 Robots <strong>de</strong> exteriores<br />

Fig. 12. Respuesta a lazo cerrado <strong>de</strong> la profundidad (línea continua) y el cabeceo<br />

(línea a trazos). Para entradas fijadas en 0,3m <strong>de</strong> profundidad y 0º <strong>de</strong> cabeceo.<br />

En cuanto a los movimientos <strong>de</strong> la dirección a recorrer por el REMO I,<br />

se encontró que éstos respondían <strong>de</strong> acuerdo a las ór<strong>de</strong>nes <strong>de</strong>l joystick <strong>de</strong><br />

manera in<strong>de</strong>pendiente o <strong>de</strong>sacoplada, y que la velocidad <strong>de</strong>l impulsor también<br />

influye en la respuesta. Una muestra <strong>de</strong> esto se pue<strong>de</strong> observar en la<br />

figura 13, en la que se hace un control <strong>de</strong> viraje, y el balanceo y cabeceo<br />

permanecen fijos cerca <strong>de</strong>l valor 0.<br />

Fig.13. Respuesta <strong>de</strong>l control <strong>de</strong> viraje a lazo abierto, al aplicar un pulso <strong>de</strong> 54º en<br />

t = 1670, y al cambiar la velocidad <strong>de</strong>l impulsor en t = 1680.<br />

Las respuestas obtenidas en el gráfico <strong>de</strong> la figura 13 se utilizaron para<br />

el <strong>de</strong>sarrollo <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> navegación <strong>de</strong>l REMO I y el control a lazo cerrado.<br />

Se pue<strong>de</strong> notar que, tanto la velocidad <strong>de</strong>l impulsor, como la posi-


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 225<br />

ción <strong>de</strong>l joystick, influyen en la respuesta. Es por ello, que se propone el<br />

mo<strong>de</strong>lo <strong>de</strong> la figura 14, con su controlador.<br />

Fig. 14. Mo<strong>de</strong>lo obtenido para la respuesta al viraje y controlador propuesto<br />

El controlador a utilizar es <strong>de</strong>l tipo proporcional, pero con doble entrada,<br />

tal como se muestra en la figura 14. El cálculo <strong>de</strong> la constante proporcional<br />

se muestra en la ecuación 4, y las respuestas en la simulación se podrán<br />

observar en la figura 15 para varias velocida<strong>de</strong>s <strong>de</strong>l impulsor. Como<br />

se pue<strong>de</strong> observar en la figura, la estabilidad no <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la velocidad<br />

<strong>de</strong>l impulsor, pero si influye en el tiempo en el que alcanza el valor <strong>de</strong>seado.<br />

0,433 0,433<br />

P = P 3936<br />

K t<br />

= 0,00011x1<br />

→ = (4)<br />

m d<br />

Fig. 15. Respuesta al mo<strong>de</strong>lo para un pulso <strong>de</strong> 20º y con varias velocida<strong>de</strong>s <strong>de</strong>l<br />

impulsor.


226 Robots <strong>de</strong> exteriores<br />

6 Conclusiones<br />

Después <strong>de</strong> realizar el <strong>de</strong>sarrollo <strong>de</strong> este vehículo submarino robótico <strong>de</strong><br />

estructura paralela, se pue<strong>de</strong> afirmar que el funcionamiento <strong>de</strong> éste cumplió<br />

sus expectativas satisfactoriamente. La utilización <strong>de</strong> una plataforma<br />

<strong>de</strong> Stewart – Gough para hacer los movimientos <strong>de</strong>l impulsor, muestra una<br />

forma novedosa <strong>de</strong> navegación que permite una gran flexibilidad <strong>de</strong> movimientos<br />

<strong>de</strong>ntro <strong>de</strong>l agua.<br />

El sistema <strong>de</strong> control por medio <strong>de</strong>l joystick, la interfaz <strong>de</strong> usuario y las<br />

interfaces <strong>de</strong> realidad virtual presentan una forma sencilla, amigable y eficiente<br />

para el manejo <strong>de</strong>l vehículo robótico.<br />

El uso <strong>de</strong> un sistema <strong>de</strong> control <strong>de</strong> presurización en la cabina, ha resultado<br />

ser una opción económica para mantener el vehículo <strong>de</strong>ntro <strong>de</strong>l agua<br />

y evitar una posible inundación.<br />

Se pudo comprobar el buen funcionamiento <strong>de</strong>l control <strong>de</strong> lastrado, a<br />

pesar <strong>de</strong> la dificultad encontrada en la función <strong>de</strong> transferencia. Por otro<br />

lado, como era <strong>de</strong> esperarse, la respuesta <strong>de</strong> este sistema ha sido bastante<br />

lenta. Sin embargo, esto no presenta un gran problema, ya que este control<br />

se utiliza únicamente para compensar inicialmente la flotabilidad, y <strong>de</strong>spués<br />

el control <strong>de</strong> navegación se hace únicamente mediante la plataforma<br />

<strong>de</strong> Stewart - Gough.<br />

En el control manual <strong>de</strong>l REMO I, se pudo comprobar la versatilidad y<br />

flexibilidad que ofrece para la navegación, ya que pue<strong>de</strong> orientar y <strong>de</strong>splazar<br />

el timón. Esto representa una gran ventaja al ser utilizado en labores<br />

<strong>de</strong> inspección y teleoperación en lugares <strong>de</strong> difícil acceso.<br />

Fig. 16. El REMO I haciendo una emersión, mediante una maniobra <strong>de</strong> cabeceo.


Robot Sub-acuático <strong>de</strong> Estructura Paralela para la Inspección y Teleoperación <strong>de</strong><br />

Lugares <strong>de</strong> Difícil Acceso 227<br />

Referencias<br />

Almonacid, M. 2002. Mo<strong>de</strong>lado, Simulación y Control <strong>de</strong>l Movimiento <strong>de</strong> Robots<br />

Trepadores Paralelos. Tesis Doctoral, Universidad Miguel Hernán<strong>de</strong>z, Escuela Politécnica<br />

Superior <strong>de</strong> Elche.<br />

Álvarez, C. 1997. Método Analítico para la Entonación Rápida <strong>de</strong> un Controlador<br />

PID para Plantas <strong>de</strong> primero y segundo or<strong>de</strong>n con tiempo muerto. Revista Técnica<br />

<strong>de</strong> la Facultad <strong>de</strong> Ingeniería. Venezuela.<br />

Aracil, R., Saltarén, R., Sabater, J., Reinoso, O. 2006. Robots Paralelos: Máquinas<br />

con un Pasado para la <strong>Robótica</strong> <strong>de</strong>l Futuro. Revista Iberoamericana <strong>de</strong> <strong>Automática</strong><br />

e Informática Industrial. Vol 3, Núm. 1. pp. 16-28.<br />

Bohm, H. and V. Jensen. 2001. Introduction to Un<strong>de</strong>rwater Technology & Vehicle<br />

Design. Marine Advanced Technology Education Center.<br />

Cavallo, E. and Michelini, R.C. 2004. A Robotic Equipment for the Guidance of a<br />

Vectored Thruster AUV. 35 th International Symposium on Robotics ISR 2004. pp.<br />

1 – 6.<br />

Chantler, M.J., D.B. Lindsay, C.S. Reid and V.J. Wright 1994. Optical and acoustic<br />

range sensing for un<strong>de</strong>rwater robotics. ‘Proceedings Oceans Engineering for<br />

Today's Technology and Tomorrow's Preservation.' Vol. 1.<br />

Dario, P., R. Dillman and H. Christensen, 2004. EURON Research Roadmaps.<br />

European Robotic Research Network. pp. 85.<br />

Grady, J. 2005. Un<strong>de</strong>rwater Gli<strong>de</strong>rs: Dynamics, Control and Design. Department<br />

of Mechanical and Aerospace Engineering. Princeton University.<br />

Le Page, Y.G. and K.W.Holappa 2000. Simulation and Control of an Autonomous<br />

Un<strong>de</strong>rwater Vehicle Equipped with a Vectored Thruster. OCEANS 2000<br />

MTS/IEEE Conference and Exhibition. pp. 2129 – 2134.<br />

Morel, Y. and A. Leonessa. 2003. Adaptive Nonlinear Tracking Control of an<br />

Un<strong>de</strong>ractuated Nonminimum Phase Mo<strong>de</strong>l of a Marine Vehicle Using Ultimate<br />

Boun<strong>de</strong>dness. Proceedings of the 42nd IEEE Conference on Decision and Control.<br />

pp. 3097 -3102.<br />

Saltarén, R., R. Aracil and V. García. 2004. Un<strong>de</strong>rwater robot of variable geometry<br />

based on the Stewart-Gough parallel platform: Conception and hydrodynamic<br />

mo<strong>de</strong>ling. Automation for the Maritime Industries. Madrid.


228 Robots <strong>de</strong> exteriores<br />

Tsai, L.W. 1999. Robot Analysis: The Mechanics of Serial and Parallel Manipulators.<br />

John Wiley & Sons, Inc.<br />

Valvanis, K., D. Gracanin, M. Matijasevic, R. Kolluru, and G. Demetriou 1997.<br />

Control Architectures for Autonomous Un<strong>de</strong>rwater Vehicles. IEEE Control Systems<br />

Magazine. Vol 17. pp. 48 – 64.<br />

Wolf, M. 2003. The Design of a Pneumatic System for a Small Scale Remotely<br />

Opertated Vehicle. Department of Mechanical Engineering of Massachusetts Institute<br />

of Technology.


CAPÍTULO 14<br />

RobMAT: Sistema Modular para Entornos Semiestructurados<br />

R. ARACIL, J. BACA, M. FERRE, J. A. ESCALERA<br />

DISAM, E.T.S.I.I., U. P. M. - Grupo <strong>de</strong> Robots y Máquinas Inteligentes<br />

aracil, jbaca, mferre, jescalera@etsii.upm.es<br />

RobMAT es un sistema modular que pue<strong>de</strong> interactuar en entornos semiestructurados,<br />

al tener la posibilidad <strong>de</strong> autoconfigurarse para <strong>de</strong>splazarse<br />

<strong>de</strong>pendiendo <strong>de</strong> las circunstancias y po<strong>de</strong>r realizar tareas <strong>de</strong> manipulación<br />

individualmente o en equipo.<br />

1 Introducción<br />

Este trabajo <strong>de</strong>scribe el proyecto RobMAT (Robot Modular Autoconfigurable<br />

Teleoperado), el cual se basa en la utilización <strong>de</strong> robots modulares y<br />

autoconfigurables para la realización <strong>de</strong> tareas fuera <strong>de</strong>l laboratorio. La<br />

principal contribución <strong>de</strong>l proyecto RobMAT es la posibilidad <strong>de</strong> realizar<br />

distintos tipos <strong>de</strong> tareas <strong>de</strong> acuerdo a su configuración adoptada.<br />

La primera ventaja que tiene un sistema modular auto-configurable es la<br />

capacidad <strong>de</strong> <strong>de</strong>splazamiento múltiple, el robot pue<strong>de</strong> adoptar diferentes<br />

tipos <strong>de</strong> locomoción, <strong>de</strong> tal modo que se acerque al entorno <strong>de</strong> trabajo sin<br />

importar la superficie, y una vez alcanzado pueda reconfigurarse en otra<br />

forma para realizar la tarea correspondiente.<br />

La segunda ventaja es la capacidad <strong>de</strong> manipulación, ya que cada modulo<br />

cuenta con tres grados <strong>de</strong> libertad generando un espacio <strong>de</strong> trabajo correspondiente<br />

a la superficie <strong>de</strong> una esfera el cual pue<strong>de</strong> ser telemanipulado.<br />

En la segunda sección se <strong>de</strong>scribe <strong>de</strong> forma general los robots modulares<br />

y algunos ejemplos <strong>de</strong> proyectos <strong>de</strong>sarrollados en la actualidad. En la<br />

sección tres, se <strong>de</strong>talla como se conforma el sistema modular RobMAT. La<br />

cuarta sección habla <strong>de</strong> la ejecución <strong>de</strong> tareas <strong>de</strong>l RobMAT, empezando<br />

con la <strong>de</strong>mostración <strong>de</strong> una forma <strong>de</strong> avance <strong>de</strong> la molécula base, la posi-


230 Robots <strong>de</strong> exteriores<br />

bilidad <strong>de</strong> utilizar diferentes patrones <strong>de</strong> avance al formar una molécula<br />

compleja compuesta <strong>de</strong> 2 o 3 molécula base (4 o 6 módulos). La realización<br />

<strong>de</strong> una tarea en un entorno semi-estructurado fuera <strong>de</strong>l laboratorio<br />

<strong>de</strong>mostrando capacida<strong>de</strong>s <strong>de</strong>l RobMAT, y por ultimo las posibilida<strong>de</strong>s que<br />

tiene el RobMAT para interactuar en diferentes entornos con simples cambios<br />

<strong>de</strong> herramientas. Finalmente en la quinta sección exponemos las conclusiones<br />

<strong>de</strong>l proyecto y su capacidad para interactuar en el exterior.<br />

2 Sistemas Modulares<br />

Los robots modulares están compuestos por varios bloques, los cuales tienen<br />

un mecanismo <strong>de</strong> conexión común como interfase para transferir comunicación,<br />

fuerzas mecánicas, señales eléctricas, etc. El robot modular<br />

esta conformado por una estructura base y algunas herramientas especializadas<br />

como pinzas, ruedas, cámaras, electroimanes, etc.<br />

Tabla 1. Los sistemas <strong>de</strong> robot modulares autoconfigurables pue<strong>de</strong>n clasificarse en grupos<br />

<strong>de</strong> acuerdo a la arquitectura en el arreglo geométrico <strong>de</strong> sus bloques mencionados en (Yim,<br />

2007).<br />

• Arquitectura entramada. • Reconfiguración <strong>de</strong>terminística.<br />

• Arquitectura ca<strong>de</strong>na/árbol. • Reconfiguración<br />

estocástica.<br />

• Arquitectura móvil.<br />

A finales <strong>de</strong> 1980 el concepto básico <strong>de</strong> la conexión mecánica en común<br />

aplicada a todo el robot, fue introducido por Toshio Fukuda con el CEBOT<br />

(Fukuda, 1998). En los inicios <strong>de</strong> 1990 hubo <strong>de</strong>sarrollos <strong>de</strong> Greg Chirikjian<br />

y Satoshi Murata en robots modulares con arquitecturas entramadas, y<br />

Mark Yim <strong>de</strong>sarrollo sistemas basado en arquitectura tipo ca<strong>de</strong>na. Daniela<br />

Rus y Wei-Min Shen <strong>de</strong>sarrollaron un sistema modular impactando en aspectos<br />

<strong>de</strong> la programación. Recientemente una interesante plataforma ha<br />

sido <strong>de</strong>sarrollada por Satoshi Murata con el nombre <strong>de</strong> M-TRAN (Murata,<br />

2002), una sistema hibrido entre arquitectura tipo ca<strong>de</strong>na y entramada,<br />

usando lo mejor <strong>de</strong> los dos tipos <strong>de</strong> arquitecturas.


RobMAT: Sistema Modular para Entornos Semi-estructurados 231<br />

2.1 Ejemplo <strong>de</strong> sistemas modulares autoconfigurables.<br />

PolyBot G3, creado por el <strong>Centro</strong> <strong>de</strong> Investigación <strong>de</strong> Palo Alto (PARC)<br />

en el 2002 por Mark Yim (Yim, 2002) Es un sistema autoconfigurable tipo<br />

ca<strong>de</strong>na. Cada modulo tiene una forma <strong>de</strong> cubo redon<strong>de</strong>ado <strong>de</strong> aproximadamente<br />

50mm por lado y tiene un grado <strong>de</strong> libertad (rotacional).<br />

Molecubes (2005) es un sistema <strong>de</strong>sarrollado por Zykov en la Universidad<br />

<strong>de</strong> Cornell (Zykov, 2007). Construido para <strong>de</strong>mostrar físicamente cinemática<br />

<strong>de</strong> auto reproducción. Cada modulo pesa 0.65 Kg., una longitud<br />

<strong>de</strong> 100mm y un grado rotacional <strong>de</strong> libertad. El eje <strong>de</strong> rotación esta alineado<br />

con la diagonal más larga <strong>de</strong>l cubo.<br />

SuperBot esta <strong>de</strong>sarrollado por Shen en la Universidad <strong>de</strong>l Sur <strong>de</strong> California<br />

en el 2006, con la intención <strong>de</strong> <strong>de</strong>splegarse como robot autoconfigurable<br />

para aplicaciones en el mundo real fuera <strong>de</strong>l laboratorio. Sus módulos<br />

tienen una arquitectura hibrida tipo ca<strong>de</strong>na y entramada (Salemi, 2006).<br />

El sistema Miche en el 2006 ha sido <strong>de</strong>sarrollado por Rus en el MIT. Es<br />

un sistema <strong>de</strong> tipo ca<strong>de</strong>na capaz <strong>de</strong> auto-ensamblaje y <strong>de</strong>sensamblaje y ha<br />

<strong>de</strong>mostrados ser robusto al haber estado operando sobre cientos <strong>de</strong> experimentos.<br />

Las Partes Programables (2005) <strong>de</strong>sarrollado por Klavins (Klavins,<br />

2006) en la Universidad <strong>de</strong> Washington para explorar sectores <strong>de</strong> comunicación<br />

cuando las partes se unen. El objetivo es enten<strong>de</strong>r como programar<br />

auto-ensamblaje estocástico a todas las escalas.<br />

Atendiendo al número <strong>de</strong> tipos <strong>de</strong> módulo que posee el robot modular se<br />

presentan dos categorías:<br />

• Robots homogéneos: Existe un único tipo <strong>de</strong> módulo en el sistema.<br />

• Robot heterogéneos: Hay varias clases <strong>de</strong> módulos.<br />

Esto permite <strong>de</strong>nominar a los robots modulares como n-modular, don<strong>de</strong><br />

n es el número <strong>de</strong> módulos distintos.<br />

3 Arquitectura <strong>de</strong>l RobMAT<br />

El mo<strong>de</strong>lo diseñado para el RobMAT preten<strong>de</strong> obtener un equilibrio entre<br />

complejidad <strong>de</strong> diseño y funcionalidad, evitando la utilización <strong>de</strong> complejos<br />

elementos <strong>de</strong> transmisión. La i<strong>de</strong>a es un diseño mecánico lo mas simple<br />

posible, con la capacidad <strong>de</strong> <strong>de</strong>splazarse <strong>de</strong> acuerdo a las referencias que


232 Robots <strong>de</strong> exteriores<br />

se perciben <strong>de</strong>l exterior y la capacidad <strong>de</strong> manipulación para innumerables<br />

situaciones.<br />

El sistema modular RobMAT se sitúa en la categoría <strong>de</strong> arquitectura tipo<br />

ca<strong>de</strong>na y pue<strong>de</strong> <strong>de</strong>finirse como heterogéneo, ya que los módulos disponen<br />

<strong>de</strong> diferentes tipos <strong>de</strong> sensores y actuadores. El RobMAT esta compuesto<br />

por módulos y moléculas. Los módulos son los componentes más simples,<br />

los cuales tienen capacidad propia <strong>de</strong> movimiento y comunicación. El modulo<br />

consta <strong>de</strong> 3 grados <strong>de</strong> libertad <strong>de</strong> rotación (los ejes se cortan en un<br />

punto), y <strong>de</strong> un controlador propio. La configuración <strong>de</strong> los ejes crea un<br />

área <strong>de</strong> trabajo sobre una superficie esférica.<br />

Fig. 1. Modulo con 3 grados <strong>de</strong> libertad.<br />

Una molécula esta <strong>de</strong>finida por dos o más módulos, generando una capacidad<br />

propia <strong>de</strong> <strong>de</strong>splazamiento, como también <strong>de</strong> manipulación. La molécula<br />

más simple se <strong>de</strong>nomina molécula base, está compuesta por la<br />

unión <strong>de</strong> 2 módulos. Esta molécula tiene posibilidad <strong>de</strong> manipulación gracias<br />

a sus 5 gdl y capacida<strong>de</strong>s limitadas <strong>de</strong> <strong>de</strong>splazamiento. Su espacio <strong>de</strong><br />

trabajo correspon<strong>de</strong> al volumen <strong>de</strong> una esfera, existiendo una pequeña región<br />

en la que no pue<strong>de</strong> trabajar ya que los módulos colisionan entre sí. La<br />

configuración <strong>de</strong> la molécula pue<strong>de</strong> cambiar durante el transcurso <strong>de</strong> la tarea.<br />

Por ultimo <strong>de</strong>finimos como colonia al conjunto <strong>de</strong> todas las moléculas<br />

que intervienen durante la realización <strong>de</strong> tareas.<br />

Cuando dos o más moléculas base se unen, dan lugar a una nueva estructura<br />

que se <strong>de</strong>nomina molécula compleja. El número <strong>de</strong> grados <strong>de</strong> libertad<br />

<strong>de</strong> esta nueva molécula compleja son muy elevados (igual o mayor


RobMAT: Sistema Modular para Entornos Semi-estructurados 233<br />

a 10 grados <strong>de</strong> libertad) y esto le da gran<strong>de</strong>s posibilida<strong>de</strong>s, tanto para la<br />

manipulación <strong>de</strong> objetos como <strong>de</strong> movilidad, ya que pue<strong>de</strong>n <strong>de</strong>splazarse<br />

por cualquier superficie con la condición <strong>de</strong> controlar a<strong>de</strong>cuadamente el<br />

centro <strong>de</strong> gravedad <strong>de</strong> la molécula. Durante la ejecución <strong>de</strong> tareas, la funcionalidad<br />

alcanzada <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong>l número <strong>de</strong> módulos conectados.<br />

Las comunicaciones <strong>de</strong> la molécula son gestionadas por el módulo<br />

maestro el cual se comunica vía CAN con el resto <strong>de</strong> los módulos y vía<br />

BlueTooth con el computador <strong>de</strong> control, con una arquitectura <strong>de</strong> control<br />

para el sistema RobMAT (Sanchez-Urán, 2007).<br />

Fig. 2. Molécula base<br />

La interfaz <strong>de</strong> teleoperación permite al operador actuar sobre toda la colonia<br />

y le realimenta información <strong>de</strong>l estado <strong>de</strong> la tarea. El operador actúa<br />

a diferentes niveles sobre la colonia <strong>de</strong> robots. Los comandos generados<br />

por el operador <strong>de</strong>pen<strong>de</strong>n <strong>de</strong> la información que se disponga <strong>de</strong>l entorno <strong>de</strong><br />

trabajo y <strong>de</strong> la tarea a realizar. Todos los equipos que componen la interfaz<br />

<strong>de</strong> teleoperación se encuentran integrados en la estación <strong>de</strong> control; por<br />

tanto, la información intercambiada por el operador y los módulos se hace<br />

vía BlueTooth, excepto el ví<strong>de</strong>o que se transmite vía RF.<br />

El operador pue<strong>de</strong> actuar sobre la colonia en diferentes niveles, que van<br />

<strong>de</strong>s<strong>de</strong> la actuación directa sobre una articulación hasta una or<strong>de</strong>n <strong>de</strong> reconfiguración<br />

<strong>de</strong> la colonia.<br />

4 Ejecución <strong>de</strong> Tareas con el RobMAT<br />

A diferencia <strong>de</strong> los robots especializados, los sistemas modulares son versátiles,<br />

multiusos, adaptables a la situación que se les asigne. El sistema<br />

RobMAT es un conjunto <strong>de</strong> robots que colaboran como equipo para <strong>de</strong>sarrollar<br />

una tarea, pero tiene la capacidad <strong>de</strong> unirse entre ellos mismos,


234 Robots <strong>de</strong> exteriores<br />

formando diferentes estructuras para <strong>de</strong>splazarse en entornos semiestructurados<br />

e incrementar la manipulación para la ejecución <strong>de</strong> tareas<br />

más complejas.<br />

4.1 Manipulación y Desplazamiento <strong>de</strong> la molécula base<br />

Actualmente la molécula base cuenta con electroimanes como sujetador en<br />

sus extremida<strong>de</strong>s finales. Esto le permite la manipulación <strong>de</strong> elementos<br />

metálicos (paneles, bloques, etc.) y un <strong>de</strong>splazamiento limitado. Tiene la<br />

capacidad <strong>de</strong> sujetarse con una extremidad en la superficie metálica y po<strong>de</strong>r<br />

manipular al robot teniendo 5 grados <strong>de</strong> libertad. En la Fig. 3 se muestra<br />

una secuencia <strong>de</strong> <strong>de</strong>splazamiento.<br />

Fig. 5. Molécula base en secuencia <strong>de</strong><br />

<strong>de</strong>splazamiento sobre superficie metálica.<br />

El guiado <strong>de</strong> este movimiento se realiza con el joystick a nivel <strong>de</strong> módulo.<br />

La estación <strong>de</strong> control captura los comandos que el usuario realiza sobre<br />

el joystick, y los envía al módulo maestro a través <strong>de</strong>l enlace Bluetooth.<br />

El usuario controla in<strong>de</strong>pendiente los 3 grados <strong>de</strong> libertad <strong>de</strong> cada<br />

módulo y mediante los pulsadores <strong>de</strong>l joystick selecciona el módulo a<br />

guiar <strong>de</strong>ntro <strong>de</strong> cada molécula. También hace uso <strong>de</strong> los selectores <strong>de</strong>l<br />

joystick para la activación y <strong>de</strong>sactivación <strong>de</strong> los electroimanes. La realimentación<br />

<strong>de</strong> información que se realiza al operador son imágenes <strong>de</strong> ví<strong>de</strong>o<br />

y reflexión <strong>de</strong> fuerza proporcional a la corriente <strong>de</strong> los motores. Este


RobMAT: Sistema Modular para Entornos Semi-estructurados 235<br />

tipo <strong>de</strong> reflexión informa sobre el par que se está ejerciendo. En caso <strong>de</strong><br />

alcanzar el límite articular se le realimenta un gran par para evitar que<br />

fuerce dicha articulación.<br />

4.2 Reconfiguración <strong>de</strong> moléculas<br />

La condición <strong>de</strong> <strong>de</strong>splazarse únicamente en una superficie férrea es eliminada,<br />

cuando una segunda molécula base se conecta a la primera, creando<br />

una molécula compleja. Esta opción es la reconfiguración. Como se muestra<br />

en la Fig. 4, dos moléculas base pue<strong>de</strong>n aproximarse hasta que se produzca<br />

el contacto entre sus conectores <strong>de</strong> tal forma que puedan acoplarse.<br />

Actualmente se están usando electroimanes para el acoplamiento entre moléculas<br />

base, los cuales están siempre activos durante la modalidad <strong>de</strong> molécula<br />

compleja.<br />

Esto genera una gran capacidad <strong>de</strong> <strong>de</strong>splazamiento en casi cualquier superficie<br />

sin la necesidad <strong>de</strong> los electroimanes. En esta modalidad, los grados<br />

<strong>de</strong> libertad son mayores, creando una capacidad <strong>de</strong> manipulación apta<br />

para realizar diferente tareas. Si la tarea requiere <strong>de</strong> más apoyo es posible<br />

incorporarle una tercera molécula base, creando una molécula compleja<br />

compuesta <strong>de</strong> 6 módulos, como muestra en la Fig. 4.<br />

Fig. 4. La opción <strong>de</strong> acoplamiento entre moléculas, permite <strong>de</strong>splazarse por casi<br />

cualquier superficie y ofrece apoyo al realizar una tarea al tener mayor capacidad<br />

<strong>de</strong> manipulación.


236 Robots <strong>de</strong> exteriores<br />

4.3 Patrones <strong>de</strong> movimiento<br />

La figura anterior muestra una molécula compuesta por cuatro módulos<br />

permitiendo el <strong>de</strong>splazamiento por casi cualquier superficie sin la necesidad<br />

<strong>de</strong> los electroimanes. Sin embargo, el control <strong>de</strong> la molécula se complica.<br />

Una vez que se obtiene la molécula <strong>de</strong> cuatro módulos el control es<br />

diferente. Para el movimiento <strong>de</strong> una molécula compleja <strong>de</strong> 4 módulos, se<br />

utilizan patrones <strong>de</strong> movimiento para cada uno <strong>de</strong> los módulos, dichos patrones<br />

contienen tablas con la referencia angular <strong>de</strong> cada eje que <strong>de</strong>scriben<br />

secuencias <strong>de</strong> movimiento compuesto como: avanzar, retroce<strong>de</strong>r o girar.<br />

Con el joystick se gobierna la dirección y velocidad <strong>de</strong>l movimiento <strong>de</strong> la<br />

molécula.<br />

Fig. 5 Molécula compuesta <strong>de</strong> 4<br />

módulos simulando una forma <strong>de</strong> avance.<br />

Para la obtención <strong>de</strong> los patrones <strong>de</strong> movimiento se cuenta con un simulador<br />

don<strong>de</strong> el usuario prueba diferentes estrategias <strong>de</strong> movimiento hasta<br />

que alcanza el movimiento <strong>de</strong>seado. Entonces se guarda el patrón que se<br />

utilizará cuando se tenga una configuración para cierta aplicación. Como<br />

se observa en la Fig. 5, se simula el movimiento <strong>de</strong> acuerdo a la configuración<br />

<strong>de</strong> la molécula, tratando siempre <strong>de</strong> lograr estabilidad durante la ejecución<br />

<strong>de</strong> una tarea. Un punto crítico para el correcto funcionamiento es la<br />

sincronización <strong>de</strong> los módulos.<br />

Se pue<strong>de</strong> usar una misma configuración <strong>de</strong> molécula y realizar diferentes<br />

formas <strong>de</strong> avance. Esto permite el <strong>de</strong>splazamiento <strong>de</strong>l robot por dife-


RobMAT: Sistema Modular para Entornos Semi-estructurados 237<br />

rentes entornos irregulares. En la Fig. 5 muestra un patrón <strong>de</strong> <strong>de</strong>splazamiento<br />

uniforme, en el paso 3 se apoya en todas sus extremida<strong>de</strong>s para generar<br />

el <strong>de</strong>splazamiento con fuerza. Posibles aplicaciones, para <strong>de</strong>splazarse<br />

en edificios en construcción, barcos, aviones, terrenos semi-uniformes. En<br />

la Fig. 6 se muestra un patrón diferente el cual permite a la molécula <strong>de</strong>splazarse<br />

por terrenos irregulares. En ambos casos se busca siempre la estabilidad.<br />

1 2 3<br />

4 5 6<br />

Fig. 6. Los variados patrones <strong>de</strong> movimiento se pue<strong>de</strong>n simular y aplicar al robot<br />

para la ejecución <strong>de</strong> tareas.<br />

4.4 Estabilidad en movimientos <strong>de</strong> avance<br />

Existen dos puntos a tratar cuando se piensa en un movimiento <strong>de</strong> la molécula<br />

compleja. Se <strong>de</strong>be <strong>de</strong>terminar el modo <strong>de</strong> andar y conseguir que en<br />

cada instante la molécula permanezca estable durante su avance. Durante<br />

las pruebas realizadas se tomaron algunas consi<strong>de</strong>raciones para realizar los<br />

movimientos <strong>de</strong> cada una <strong>de</strong> las patas (modulo). Una <strong>de</strong> estas consi<strong>de</strong>raciones<br />

es la movilidad <strong>de</strong>l modulo <strong>de</strong>ntro <strong>de</strong> un área <strong>de</strong> trabajo correspondiente,<br />

esto para mantener la estabilidad estática <strong>de</strong>l robot evitando que éste<br />

caiga como consecuencia <strong>de</strong> una inestabilidad al caminar. Estudiando el<br />

modo <strong>de</strong> caminar <strong>de</strong> la molécula <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista estático se requiere<br />

que en todo momento <strong>de</strong> avance <strong>de</strong> las patas soporten el cuerpo.<br />

La proyección <strong>de</strong>l centro <strong>de</strong> gravedad <strong>de</strong>l cuerpo <strong>de</strong>ntro <strong>de</strong>l polígono <strong>de</strong><br />

apoyo que forman las patas apoyadas juega un papel muy importante <strong>de</strong>ntro<br />

<strong>de</strong> la estabilidad <strong>de</strong> la molécula. El número <strong>de</strong> patas mínimas consi<strong>de</strong>radas<br />

que aseguran una buena estabilidad son tres, que al ser apoyadas en<br />

la superficie generan un triángulo don<strong>de</strong> el robot esta soportado, si se apoyan<br />

cuatro se tiene un polígono <strong>de</strong> cuatro lados, y cinco lados se tiene en el


238 Robots <strong>de</strong> exteriores<br />

caso que solamente una <strong>de</strong> las patas esté en movimiento o fuera <strong>de</strong>l contacto<br />

<strong>de</strong> la superficie.<br />

In<strong>de</strong>pendientemente <strong>de</strong>l número <strong>de</strong> patas que estén realizando contacto<br />

con la superficie, la proyección <strong>de</strong>l centro <strong>de</strong> gravedad <strong>de</strong>be estar <strong>de</strong>ntro<br />

<strong>de</strong>l área <strong>de</strong>l polígono que se forma con las patas que están soportando el<br />

cuerpo <strong>de</strong>l robot. Ésta es la condición indispensable que evita que el robot<br />

caiga.<br />

4.5 Sincronización <strong>de</strong> movimientos<br />

El principal problema a resolver por las moléculas es la sincronización <strong>de</strong><br />

movimientos entre módulos. Esta sincronización es necesaria para que todas<br />

las articulaciones realicen sus movimientos <strong>de</strong> forma coordinada, ya<br />

que en caso contrario el movimiento realizado por la molécula tendría mucha<br />

incertidumbre e incluso podrían dañarse los objetos que se manipulan.<br />

Así pues, se precisa un mecanismo que garantice que todas las articulaciones<br />

comienzan y finalizan sus movimientos <strong>de</strong> forma coordinada. Existen<br />

diferentes posibilida<strong>de</strong>s para generar el reloj <strong>de</strong>ntro <strong>de</strong> la molécula normalmente<br />

basada en el paso <strong>de</strong> mensajes (Chow y Johnson, 1997; y Xu,<br />

1990).<br />

La solución adoptada en el caso <strong>de</strong>l RobMAT utiliza mensajes pero no<br />

para generar la señal <strong>de</strong> reloj sino para marcar puntos <strong>de</strong> control <strong>de</strong>l mismo.<br />

Es <strong>de</strong>cir, todos los módulos tienen un reloj interno que es reajustado<br />

cuando se recibe el mensaje <strong>de</strong> sincronismo <strong>de</strong>l módulo maestro.<br />

Este es un mensaje corto y <strong>de</strong> alta prioridad <strong>de</strong>ntro <strong>de</strong>l bus CAN. La solución<br />

adoptada ha dado muy buenos resultados, ya que la <strong>de</strong>sviación que<br />

se produce entre los relojes internos <strong>de</strong> los módulos es <strong>de</strong>l or<strong>de</strong>n <strong>de</strong>l milisegundo<br />

lo cual da muy buenos resultados para el seguimiento <strong>de</strong> trayectorias<br />

y la coordinación <strong>de</strong> movimientos <strong>de</strong>ntro <strong>de</strong> una misma molécula. En<br />

la Fig. 7 se muestran los resultados <strong>de</strong> la sincronización <strong>de</strong> los relojes internos<br />

<strong>de</strong> los módulos.


RobMAT: Sistema Modular para Entornos Semi-estructurados 239<br />

Fig. 7. Señales para la sincronización <strong>de</strong> los relojes internos <strong>de</strong> los módulos. El<br />

pulso <strong>de</strong> sincronismo es generado por el módulo maestro y los <strong>de</strong>más ajustan<br />

sus contadores.<br />

4.6 Desplazamiento y manipulación <strong>de</strong>l RobMAT en<br />

exteriores.<br />

La combinación <strong>de</strong> acciones simples como las que se han <strong>de</strong>scrito anteriormente<br />

permiten la realización <strong>de</strong> tareas más complejas. A<strong>de</strong>más, la arquitectura<br />

implementada permite que varias moléculas puedan cooperar en<br />

la realización <strong>de</strong> tareas. El experimento que se presenta a continuación involucra<br />

tres moléculas base. Inicialmente (Fig. 8, 1), las tres forman parte<br />

<strong>de</strong> una misma molécula configurándose como un hexápodo (6 módulos).<br />

Bajo esta forma se <strong>de</strong>splazan para aproximarse al entorno <strong>de</strong> trabajo (Fig.<br />

8, 2). La molécula es guiada con la referencia <strong>de</strong> la imagen que envía las<br />

mini-cámaras que tiene la molécula base a la cabeza <strong>de</strong>l hexápodo. Una<br />

vez allí, esta molécula base se separa y el usuario la dirige hacía un lugar<br />

<strong>de</strong>s<strong>de</strong> don<strong>de</strong> pueda captar el entorno remoto convenientemente. La molécula<br />

restante queda pues configurada con cuatro módulos (Fig. 8, 3).<br />

Al igual que antes el usuario la dirige al lugar <strong>de</strong> trabajo don<strong>de</strong> se separa<br />

las dos moléculas base (Fig. 8, 4) y comienza el <strong>de</strong>sarrollo <strong>de</strong> la tarea <strong>de</strong><br />

manipulación (Fig. 8, 5). Ambas moléculas base se encuentran sobre una<br />

superficie metálica don<strong>de</strong> colaboran en una tarea sencilla basada en pasarse<br />

una chapa metálica (Fig. 8, 6). Hay que resaltar que la tarea esta teleoperada<br />

haciendo uso <strong>de</strong> la estación <strong>de</strong> control y el interfaz con el maestro<br />

para manejar la molécula. Para el <strong>de</strong>sarrollo es imprescindible que los co-


240 Robots <strong>de</strong> exteriores<br />

mandos <strong>de</strong> joystick se refieran al movimiento <strong>de</strong> la molécula, ya que en<br />

caso contrario se precisaría un joystick por módulo, lo cual complicaría la<br />

ejecución <strong>de</strong> las tareas y el puesto <strong>de</strong> control (Fig. 8, 7-8). Una vez que se<br />

concluye una etapa <strong>de</strong> la tarea y requiere <strong>de</strong>splazarse sobre otra superficie,<br />

el RobMAT se vuelve a unir para formar una molécula compleja y cambiar<br />

<strong>de</strong> lugar (Fig. 8, 9) y continuar con su tarea.<br />

1 2<br />

3<br />

4 5 6<br />

7 8 9<br />

Fig. 8. RobMAT ejecutando tareas individuales y colectivas en el exterior.<br />

Los resultados <strong>de</strong> los experimentos realizados ponen <strong>de</strong> manifiesto el interés<br />

que tiene que la actuación <strong>de</strong>l operador sea relativa a la molécula y<br />

no al módulo. A su vez, conviene <strong>de</strong>stacar que el control a nivel <strong>de</strong> molécula<br />

implica que exista una correcta coordinación entre los módulos. La<br />

sencilla tarea <strong>de</strong>muestra la capacidad <strong>de</strong> <strong>de</strong>sarrollar tareas individuales con<br />

buen rango <strong>de</strong> manipulación y al mismo tiempo la colaboración en equipo<br />

para lograr el objetivo. También <strong>de</strong>muestra la habilidad que tiene <strong>de</strong> <strong>de</strong>splazamiento<br />

al po<strong>de</strong>r unirse con otras moléculas base y moverse sobre diferentes<br />

superficies.<br />

4.7 RobMAT en diferentes entornos<br />

El RobMAT requiere <strong>de</strong> herramientas para elaboración <strong>de</strong> múltiples tareas<br />

y brindar versatilidad en los diferentes entornos semi-estructurados. Hay


RobMAT: Sistema Modular para Entornos Semi-estructurados 241<br />

que mencionar que para cada entorno <strong>de</strong> trabajo se han construidos diferentes<br />

robots especializados y <strong>de</strong> diferentes tamaños y es aquí don<strong>de</strong> un<br />

robot modular pue<strong>de</strong> brindar gran<strong>de</strong>s ventajas.<br />

El sistema RobMAT pue<strong>de</strong> aplicarse en la realización <strong>de</strong> tareas <strong>de</strong> diferentes<br />

entornos <strong>de</strong> trabajo, por ejemplo, en el sector <strong>de</strong> Inspección; La mayoría<br />

<strong>de</strong> robots que <strong>de</strong>sarrollan en este sector, requieren <strong>de</strong> un sistema <strong>de</strong><br />

visión como una cámara, otros tienen sensores <strong>de</strong> ultrasonido, etc. En la<br />

actualidad, una <strong>de</strong> las moléculas base cuenta con dos cámaras <strong>de</strong> vi<strong>de</strong>o, las<br />

cuales envían por medio <strong>de</strong> RF las imágenes y pue<strong>de</strong> clasificarse como robot<br />

<strong>de</strong> inspección al po<strong>de</strong>r <strong>de</strong>splazarse y mandar imágenes a un or<strong>de</strong>nador.<br />

En el sector <strong>de</strong> Construcción; Cada molécula base tiene la capacidad <strong>de</strong><br />

manipulación y colocación <strong>de</strong> paneles. Podrían <strong>de</strong>splazarse por medio <strong>de</strong><br />

las vigas para soldar e inclusive realizar inspecciones ultrasónicas. Los robots<br />

modulares están hechos para trabajar en equipo, por lo que es posible<br />

levantar objetos pesados al usar varios robots modulares, e individualmente<br />

pue<strong>de</strong>n estar realizando activida<strong>de</strong>s cuando no se requiere un conjunto<br />

<strong>de</strong> moléculas.<br />

La Agricultura es un sector en el cual el tamaño <strong>de</strong> un robot importa,<br />

por que se requiere que el equipo no dañe la materia prima, por lo que pequeños<br />

robots tienen gran oportunidad <strong>de</strong> <strong>de</strong>splazarse en lugares estrechos<br />

y al final unirse para formar una estructura capaz <strong>de</strong> colectar, mientras<br />

otros pue<strong>de</strong>n estar agregando fertilizante en ciertas zonas <strong>de</strong> algún cultivo,<br />

inspeccionando sistemas <strong>de</strong> riego, etc. El RobMAT tiene la capacidad <strong>de</strong><br />

po<strong>de</strong>r moverse entre estos lugares y con las apropiadas herramientas que<br />

lleva consigo po<strong>de</strong>r ejecutar su tarea.<br />

El RobMAT como opción para enviarlo al Espacio. El po<strong>de</strong>r mandar<br />

una colonia <strong>de</strong> robots modulares capaces <strong>de</strong> realizar diferentes tareas, tanto<br />

en el exterior <strong>de</strong> la nave espacial para dar mantenimiento, construir una estructura,<br />

etc., evita que se ponga en peligro al astronauta ya que pue<strong>de</strong>n ser<br />

teleoperador por la tripulación <strong>de</strong> la nave, así como en la exploración <strong>de</strong> un<br />

planeta don<strong>de</strong> el entorno es <strong>de</strong>sconocido. El factor Multitareas-peso es una<br />

característica que lo hace ser i<strong>de</strong>al para el espacio. En caso <strong>de</strong> falla <strong>de</strong> una<br />

molécula en una estructura, es fácil su reemplazo por el tamaño <strong>de</strong> la colonia.<br />

En el sector <strong>de</strong> Defensa, RobMAT pue<strong>de</strong> cambiar su sistema <strong>de</strong> locomoción<br />

<strong>de</strong> acuerdo a la complejidad <strong>de</strong> la molécula y po<strong>de</strong>r avanzar en terrenos<br />

no estructurados y la posible herramienta con ruedas incrementaría<br />

su velocidad para <strong>de</strong>tectar minas, bombas, y reconfigurarse para po<strong>de</strong>r<br />

<strong>de</strong>sactivar el dispositivo.<br />

Como último ejemplo tenemos el sector <strong>de</strong> Rescate, queda <strong>de</strong> más mencionar<br />

que la molécula compleja pue<strong>de</strong> estar equipada con cámaras, para la<br />

búsqueda <strong>de</strong> personas entre escombros y lugares muy estrechos. Se recon-


242 Robots <strong>de</strong> exteriores<br />

figura <strong>de</strong>pendiendo <strong>de</strong> la situación para que siga siempre a<strong>de</strong>lante. Dependiendo<br />

<strong>de</strong>l numero <strong>de</strong> módulos seria posible hasta <strong>de</strong> ayudar a una persona<br />

a levantar algún objeto que lo encuentra sujetando.<br />

5 Conclusiones<br />

Es posible usar el RobMAT para la ejecución <strong>de</strong> tareas con cierto nivel <strong>de</strong><br />

complejidad en diferentes entornos don<strong>de</strong> robots especializados no podrían<br />

operar. RobMAT ofrece capacidad <strong>de</strong> <strong>de</strong>splazamiento múltiple en entornos<br />

semi-estructurados al variar su estructura y con ello su locomoción. Capacidad<br />

<strong>de</strong> manipulación, al tener cada modulo tres grados <strong>de</strong> libertad y la<br />

posibilidad <strong>de</strong> incrementarlos al unirse con otro modulo. Posibilidad <strong>de</strong> ser<br />

teleoperado para <strong>de</strong>splazarse, así como también para manipular. El po<strong>de</strong>r<br />

realizar tareas sencillas en equipo con un conjunto <strong>de</strong> robots modulares y<br />

al ser requerido autoreconfigurarse para formar una estructura con mayores<br />

habilida<strong>de</strong>s para ejecutar una tarea más compleja, es una <strong>de</strong> las ventajas<br />

que brinda el RobMAT.<br />

Referencias<br />

Fukuda T., Nakagawa S., Kawauchi Y., y Buss M., 1998, “Self organizing<br />

robots based on cell structures-CEBOT,” in Proc. IEEE/RSJ Int. Conf. Intelligent<br />

Robots and Systems (IROS), pp. 145-150.<br />

Klavins E., Bur<strong>de</strong>n S. y Napp N., 2006, “Optimal rules for programmed<br />

stochastic self-assembly,” in Proc. Robotics: Science Systems´ 06.<br />

Murata S., Yoshida E., Kamimura A., Kurokawa H., Tomita K. y Kokaji<br />

S., 2002, “M-TRAN: Self-reconfigurable modular robotic system,”<br />

IEEE/ASME Trans. Mech., vol. 7, no. 4, pp.431-441.<br />

Sánchez-Urán M.A., Escalera J.A., Aracil R., Ferre M. y Saltarén R.J.,<br />

2007, Arquitectura <strong>de</strong> control para sistemas <strong>de</strong> robots modulares: sistema<br />

RobMAT, Workshop Arquitecturas <strong>de</strong> Control para Robots.


RobMAT: Sistema Modular para Entornos Semi-estructurados 243<br />

Salemi B., Moll M. y Shen W.M., 2006, “SUPERBOT: A <strong>de</strong>ployable,<br />

multi-functional, and modular self-reconfigurable robotic system,” in Proc.<br />

2006 IEEE/RSJ Int. Conf. Intelligent Robots Systems, pp. 3636-3641.<br />

Yim M., Shen W.M., Salemi B., Rus D., Moll M., Lipson H., Klavins E.<br />

y Chirikjian G.S., 2007, “Modular Self-Reconfigurable Robot Systems,”<br />

IEEE Robotics & Automation Magazine, pp.43-52.<br />

Yim M., Zhang Y., y Duff D.G., 2002, “Modular Robots,” IEEE Spectr.,<br />

vol. 39, no. 2, pp. 30-34.<br />

Zykov V., Mytilinaios E., Desnoyer M. y Lipson H., 2007, “Evolved and<br />

<strong>de</strong>signed modular robotics systems capable of self-reproduction,” IEEE<br />

Trans. Robotics, en prensa.


244 Robots <strong>de</strong> exteriores


Índice <strong>de</strong> Autores<br />

A<br />

Agüero, C 33-46<br />

Alonso, J. 23-32<br />

Álvarez, C. 205-226<br />

Aracil, R.<br />

103-120,<br />

205-226,<br />

229-244<br />

Armada, M.<br />

3-102,<br />

139-156,<br />

157-174<br />

B<br />

Baca, J. 229-244<br />

Banfield, I. 103-120<br />

Barea, R. 1-22<br />

Barrera, P. 33-46<br />

Barrientos, A. 121-138<br />

Bergasa, L. 1-22<br />

Blanco, D. 47-66<br />

Burgos-Artizzu, X. 175-186<br />

C<br />

Campos, A. 103-120<br />

Cañas, J. 33-46<br />

Castejón, C. 47-66<br />

D<br />

Del Cerro, J. 121-138<br />

De Pedro, T. 23-32<br />

E<br />

Ealo, J. 67-82<br />

Escalera, J.A. 229-244<br />

F<br />

Ferré, M. 103-120,<br />

229-244<br />

G<br />

García, E. 139-156<br />

García-Alegre, M. 175-186,<br />

187-206<br />

García-Pérez, L. 187-206<br />

García, R. 23-32<br />

González, C. 23-32<br />

González <strong>de</strong> Santos, P. 139-156,<br />

157-174<br />

Gómez, V. 33-46<br />

Guevara, J. 67-82<br />

Guinea, D. 187-206<br />

Gutiérrez, P. 121-138<br />

J<br />

Jiménez, A. 67-82<br />

K<br />

Koutsou, K. 67-82<br />

L<br />

López, E. 1-22<br />

M<br />

Martín, D. 187-206<br />

Martín, F. 33-46<br />

Martínez, A. 121-138<br />

Matellán, V. 33-46<br />

Moreno, L. 47-66


246 Robots <strong>de</strong> exteriores<br />

N<br />

Nabulsi, S. 83-102<br />

Naranjo, J. 23-32<br />

Nuevo, J. 1-22<br />

O<br />

Ocaña, M. 1-22<br />

P<br />

Pajares, G. 175-186<br />

Ponticelli, R. 83-102,<br />

139-156<br />

Prieto, C. 67-82<br />

Q<br />

Quintero, J. 103-120<br />

R<br />

Ramos, F 67-82<br />

Ribeiro, A. 175-186,<br />

187-206<br />

Roa, J. 67-82<br />

Rossi, C. 121-138<br />

S<br />

Salinas, C. 157-174<br />

Saltarén, R. 205-226<br />

Sancho, M. 205-226<br />

San Martín, R. 121-138<br />

Sarria, J. 83-102<br />

Schleicher, D. 1-22<br />

Seco, F. 67-82<br />

T<br />

Tellaeche, A. 175-186<br />

Y<br />

Yime, E. 205-226


Consejo Superior <strong>de</strong> Investigaciones Científicas<br />

Instituto<br />

<strong>de</strong><br />

<strong>Automática</strong> Industrial

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!