Universidad de Salamanca |
P-NAV: Sistema de navegación para un robot móvil |
Departamento de Informática y Automática |
P-NAV es un sistema de navegación para robots móviles basado en el uso de campos potenciales. Está construido sobre la base del sistema Saphira de Kurt Konolige en su versión 6.2. Además contiene aplicaciones de apoyo para traducir mapas en formato de Saphira en matrices de obstáculos y distancias necesarias para el cálculo de potenciales, así como de una herramienta generadora de la carta de navegación.
La idea tomada para la realización de este sistema de navegación es tratar a los obstáculos y al robot como cargas del mismo signo y al punto de destino como una carga de signo contrario. El funcionamiento se basa en la aplicación de las máscaras de Sobel sobre las matrices obtenidas a partir de la traducción de los mapas de Saphira obteniendo así unos valores de gradientes de potencial en los ejes x e y. De esta forma se obtiene el vector Fuerza que actuará sobre el robot y lo dirigirá en tiempo real hacia su punto de destino evitando colisionar con los obstáculos.
Además el sistema cuenta con un comportamiento predefinido que toma datos de los sonares del robot para evitar obstáculos que puedan surgir "sobre la marcha" y poder salir del paso.
El sistema de navegación desarrollado está dividido en tres herramientas: una que se encarga de traducir los mapas con formato de Saphira en una matriz binaria de obstáculos y de calcular las distancias de cada punto al obstáculo más cercano, una segunda cuya misión es generar una carta de navegación que será utilizada para definir una zona de navegación y una tercera, y la más importante, encargada de dotar del comportamiento propuesto al robot y del manejo de cartas de navegación diseñadas para este proyecto. En la figura se puede observar cómo interactúa el sistema software de navegación con el robot.
Figura 1: Estructura del sistema hardware/software
Éste es el aspecto que el usuario encontrará para cada aplicación:
Herramienta de generación de mapas de obstáculos y
de distancias:
Figura 2
Esta herramienta tiene como misión leer los archivos “.MAP” de Saphira y generar a partir de ellos mapas diseñados para el uso del sistema de navegación que indican dónde existen obstáculos y la distancia (o potencial repulsivo si tenemos en cuenta que los obstáculos se toman como cargas del mismo signo que la que posee el robot) que hay hasta ellos.
Herramienta generadora de la carta de navegación:
Figura 3
En este sistema de navegación se utiliza una carta de navegación cuyo formato consiste en una lista de puertas y otra de habitaciones y cómo se conectan entre ellas. Consiste en un archivo de texto que puede editarse a mano o bien se puede utilizar esta aplicación de fácil manejo para realizar esta tarea.
Sistema de navegación integrado en el sistema Saphira:
Figura 4
El sistema de navegación está
integrado en el sistema Saphira v6.2. Se trata del núcleo del desarrollo
de este proyecto. Mediante esta aplicación se controla la navegación
automática del robot utilizando los gradientes de potencial como
base para evitar obstáculos y dirigirse a un punto, además
de tener en cuenta los valores recibidos por los sonares que lleva incluido
el robot.