Castellano     English    

Módulos IPC

Las comunicaciones entre los distintos programas que forman RIDE se manejan con un paquete independiente llamado IPC, Copyright 1991 Christopher Fedor y Reid Simmons.

La plataforma de navegación está basada en CARMEN, y algunos módulos, como el de localización, navegación y algunos servidores hardware son básicamente los mismos. A diferencia de CARMEN, el control de movimiento está dividido en dos niveles, el primero de ellos el de mayor nivel (estratégico) la planificación y el de menor nivel (táctico) evitación de obstáculos utilizando el método BEAN. CARMEN integra los obstáculos en el mapa y planifica una nueva trayectoria con la finalidad de evitar dichos obstáculos. Con la integración en un único módulo, excepto el control de más bajo nivel de los motores, permite una planificación optima, no obstante, debido a la falta de precisión del sistema de localización, el obstáculo integrado puede estrechar sitios amplios en el map. Cuando la ruta libre es solo un poco mayor que el diámetro del robot, el sistema de planificación puede descartar un camino a través de este espacio libre. Durante la evolución de nuestro sistema, hemos observado este comportamiento en varios puntos de nuestras oficinas utilizando CARMEN, debido a que el robot debe pasar por puertas muy estrechas.

Módulos IPC

Los módulos de la capa de servidores se encargan de la interacción con el hardware, proveyendo de una interfaz abstracta de sensores y actuadores que permiten aislar el control del hardware. La mayoría de los dispositivos hardware están conectados a un bus de campo CAN mediante RoboCAN. Algunos de estos dispositivos se utilizan en la navegación, como el laser y el sonar, mientras otros son específicos de cada aplicación, como puede ser la cabeza robotizada, el sonido y el sintetizador de voz, etc. Los servidores hardware también implementan controladores de bajo nivel sobre las velocidades de rotación y traslación. Gracias a esta capa, los cambios en componentes específicos pueden realizarse sin modificar las capas superiores si se mantiene la misma interfaz.

Los módulos de control integran información de distintos sensores y controladores de movimiento para mejorar la odometría, ofreciendo capacidades básicas de navegación (localización, planificación de trayectorias, seguimiento de trayectorias, etc) y funciones básicas específicas de cada aplicación (sintetizar un texto, realizar expresiones, etc).

El módulo RoboGraph Dispatch coordina la ejecución de los módulos de control y secuencia sus funciones de acuerdo a un plan previamente definido como una red de Petri. Este módulo se describe detalladamente en las siguientes secciones.

Existen varios interfaces gráficos que permiten al usuario interactuar con la aplicación, depurar módulos de control e intercambiar información con un servidor web. Los usuarios también se pueden conectar por medio de la web, monitorizar e interactuar con los robots.