• No se han encontrado resultados

La arquitectura Saphira est´a dise˜nada para operar como un robot servidor, esto es, una plataforma m´ovil que provee un conjunto de servicios rob´oticos en un formato estandar. Este paradigma cliente/servidor se sintetiza en Saphira el cual posee las particularidades de cualquier robot, lo cual nos permite portarlo f´acilmente a diferentes robots que se adieran al protocolo cliente/servidor.

El robot servidor es responsable de controlar la operaci´on de bajo nivel de los motores basados en mandos desde un cliente, y de operar los sensores y empacar los resultados para enviarlos de regreso al cliente. La Figura 24 muestra un sistema operativo servidor t´ıpico. En un r´apido ciclo de interrupci´on, el servidor controla la energ´ıa de los motores y reviza las lecturas de los codificadores. En un ciclo m´as lento, maneja los sonares y cualquier otro dispositivo sensor o de comunicaci´on. En lo alto de los controles de bajo nivel, el servidor implementa un conjunto de servicios b´asicos. Control de movimiento: Velocidad hacia delante-reversa, direcci´on ´angular. El servidor tiene valores de control para velocidad y derecci´on, y controla los motores en un rapido ciclo (10-50 ms) de tal manera que el robot mantiene los valores de control. El cliente env´ıa, mandos para cambiar los valores de control, as´ı controla el movimiento del robot en un ciclo m´as lento (100 ms).

Integraci´on de la posici´on. El servidor actualiza el c´alculo muerto, interno de la posici´on del robot utilizando informaci´on de los codificadores.

Sonar y otros sensores. El servidor maneja los sensores, controlando el rango de tiempo de los sonares, y cualquier otro dispositivo tal como una c´amara pan/tilt. El cliente puede enviar mandos para cambiar el itinerario de los sensores.

Paquete de comunicaciones calendarios E/S Sonar y Control de motor PWM Contador Codificador Rango de sonar Control E/S 10 KHz int 1 KHz int Interface del robot servidor Canal de Ancho de banda bajo (9600 baud) Funciones de control de bajo nivel Velocidad y control de ángulo Integración de posición

Figura 24: Sistema operativo servidor. Los servicios b´asicos incluyen control de motor, integraci´on de posici´on, y control de sensor. Estos servicios son derivados de actuadores de motor y sensores en el robot.

conteniendo informaci´on de la posici´on, velocidad, y lecturas de los sensores. Recibe mandos del cliente para actualizar sus valores de control e itinerarios de los sensores.

Mediante el uso de valores de control, el servidor puede comunicarse con un cliente sobre un canal con ancho de banda bajo y poca latencia, ya que el servo control de alta velocidad de motores y sensores se ejecuta localmente. Por ejemplo, se ha logrado controlar exitosamente un robot ejecutando Saphira en una m´aquina huesped remota con una conexi´on telef´onica al lugar del robot servidor.

Con sensores de visi´on, la cantidad de informaci´on procesada requerida implica que, o todo el procesamiento debe ser hecho a bordo, o que el ancho de banda debe ser incrementado. En este trabajo se pretende utilizar el primer m´etodo, produciendo informaci´on para la evaluaci´on de obst´aculos.

La mayor´ıa de las plataformas de robots m´oviles pueden soportar el tipo de opera- ciones de servidor especificadas en el protocolo. Hasta ahora, Saphira ha controlado cuatro diferentes plataformas de robot.

Flakey (SRI Internacional). Este es una plataforma com´un de robot m´ovil con- stru´ıda en 1984. Su forma es un cil´ındro octagonal, con aproximadamente 0.5 metros de di´ametro y un metro de alto. Dos ruedas de propulsi´on de 7” de di´ametro est´an localizadas en los lados. Adem´as, tiene ruedas peque˜nas que son para lograr un balance enfrente y atr´as. Los sensores de Flakey incluyen un anillo de 12 sonares en la base, y un par de c´amaras est´ereo montadas en una cabeza pan/tilt. Flakey tambi´en tiene un sistema de reconocimiento de voz cont´ınuo con altavoz independiente llamado CORONA, desarrollado en SRI, y un programa texto-discurso estandar para hablar. La interface de voz est´a integrada como parte del cliente saphira, m´as que del robot servidor.

Erratic y Pioneer (SRI International and Real World Interface, Inc.). Erratic es una versi´on m´as peque˜na de Flakey con el mismo diferencial y sonares, pero sin las capacidades de visi´on. Pioneer es una versi´on comercial del Erratic hecha por Real World Interface, Inc.

Khepera (Swiss Federal Institute of Technology). El Khepera en un peque˜no robot con s´olo 2 pulgadas de ancho, con ruedas diferenciales y sensores infra-rojos (IR) de proximidad. Tambi´en tiene modulos adheribles para visi´on y agarre. B14/B21 (Real World Interface, Inc.) Esta investigaci´on es de proposito comer-

cial enfocada a, robots m´oviles con un amplio rango de capacidades sensoriales, incluyendo sonares, IR de pr´oximidad, y sistemas de visi´on. En lugar del manejo diferencial, tiene un sistema de micro-manejo en el cual tres ruedas de manejo voltean al un´ısono.

El cliente Saphira, que controla la operaci´on de alto nivel del robot, puede existir incluso en el robot mismo, o en una computadora huesped que no est´e a bordo del robot. Los robots m´as peque˜nos tienen t´ıpicamente espacio s´olo para el servidor, y el cliente Saphira corre sobre otra computadora huesped que no se encuentra a bordo. El pioneer es un caso intermedio interesante: Saphira se puede ejecutar sobre una laptop encima del robot, o en una computadora huesped que no est´e a bordo, conectada por medio de un radio modem.

En el Flakey y el B14/B21, todos los sistemas corren a bordo. Flakey tiene 2 proce- sadores con configuraci´on Sparc-station, con un procesador dedicado al servidor, y al sistema de visi´on el otro procesador se encarga de Saphira y el sistema de entendimiento de frases habladas.