Está en la página 1de 24

Un Nuevo Enfoque en las Arquitecturas Robticas

Jos Vicente Bern Martnez. Diego Marcos Jorquera y Francisco Maci Prez

En el desarrollo de grandes aplicaciones de gestin de red es necesario abordar una serie de problemticas relacionadas con las tecnologas fsicas que subyacen, la escalabilidad de los sistemas, la reusabilidad y el mediante un enfoque de servicios. Estos problemas son identificados tambin mantenimiento de stos. Estas cuestiones se abordan en la actualidad en otras reas y su similitud incita a trasladar las soluciones utilizadas. Robtica es una de esas reas en las que se determina que las soluciones utilizadas en redes, en este caso la arquitectura orientada a servicios, puede de abordar un proyecto robtico. ser vlida tambin para dar solucin a la problemtica que se plantea a la hora

1 Introduccin
La robtica es un campo en continuo desarrollo que se ve sujeto a grandes barreras que condicionan el crecimiento de esta rea de conocimiento. Cabe destacar varias de las caractersticas de esta componentes ms elementales; la complejidad en su

disciplina como son: la falta de unicidad y estndares, incluso en los desarrollo e implantacin debido a que es necesario desenvolverse en electrnica, fsica, etc.; y la gran dependencia con la tecnologa subyacente que hacen a cada proyecto subordinado de la capa fsica diseo,

una gran cantidad de conocimientos tales como informtica, mecnica,

que lo implementa y un trabajo nico y especfico del problema que se

est abordando y se trata de resolver. Todos stos y ms factores

hacen que un profesional en robtica necesite estar dotado de, conocimientos tcnico-electrnico-mecnico necesarios para

adems de las habilidades ingenieriles para el diseo, de los desarrollar un proyecto en los niveles fsicos de ste. Esta serie de habilidades extraordinarias para ser resuelto. distribuidas, Desde nuestra nos rea enfrentamos de conocimiento,

problemas hacen que al final un proyecto robtico necesite de unas redes y aplicaciones serie de

cotidianamente

una

problemas de caractersticas similares a los identificados en robtica.

Aunque poseemos experiencia en robtica, no nos consideramos expertos en esta rea, pero s poseemos una experiencia considerable en redes y aplicaciones de red y al identificar que la problemtica a la que se enfrenta la robtica es similar a la que se enfrentan las redes y aplicaciones aportadas en redes al mbito de la robtica. distribuidas, proponemos trasladar las soluciones

2 Robtica
La robtica comparte espacio con nosotros desde hace cientos de aos. El hombre desde tiempos inmemorables ha tratado de construir mquinas y artefactos que lograran, bien el entretenimiento de las

personas, bien potenciar alguna habilidad humana como la fuerza o la precisin. En la antigua Grecia ya se construan estatuas que se movan hidrulicamente, y en el Egipto de los Faraones se

construyeron armas mecanizadas que se acoplaron a las estatuas de sus dioses. En el siglo IV a.C, Archytas de Tarentum construy un vapor. Ejemplos como stos pueden encontrarse a lo largo de todos los tiempos y edades del hombre. modelo de paloma que era capaz de moverse mediante un chorro de

Desde la construccin de relojes articulados por cuerda o fuerzas producidas por el agua o viento, hasta los ingenios mecnicos actuales, la robtica y construccin de mecanismos robticos ha sufrido una gran transformacin. Pero es en los aos 70 donde la

robtica produce un fuerte impacto en la sociedad, al revelar una posibilidad de crear el trabajador perfecto, el esclavo ideal para la forma similar a las personas. La aparicin de la capacidad de cmputo sociedad, un humanoide capaz de desarrollar cualquier actividad de y la posterior aparicin de la Inteligencia Artificial hizo presuponer que muchas expectativas podran ser alcanzadas, lo cual impuls a la recursos. Pero sin embargo y pocos aos despus, la falta de robtica para convertirse de repente en una fuente de futuros cumplimiento de estas expectativas hizo caer la fe en la robtica y volvi escpticos a aquellos que en un principio ms haban credo en ella, ya que supona fuertes inversiones y los resultados obtenidos no se correspondan con los esperados.

En nuestros das, el panorama general en el que se encuentra la

robtica es mucho ms discreto del esperado. La utilizacin de adelanto, aunque ms bien impulsado por la necesidad del aumento

mecanismos robticos ha supuesto en algunas reas un autntico de la produccin y requerimientos de la industria [1]. La robtica se industriales, la medicina, servicios o energa nuclear por las

encuentra introducida en algunos sectores tales como los procesos caractersticas adicionales que suponen frente a un trabajador

humano: un robot puede trabajar 24 horas sin descender su nivel que realiza sus actos puede ser mayor que la de una persona o

productivo ni la calidad del proceso que ejecuta, la precisin con la simplemente porque puede soportar tareas en ambientes hostiles en

los cuales un humano no podra sobrevivir. Pero sin embargo la complejidad de los trabajos que son capaces de realizar tiene una cierta componente de repetitividad o baja dificultad. Los robots son mquinas compuestas por un conjunto de componentes electrnicos y

mecnicos, que mediante un programador, son capaces de ejecutar una o varias tareas prefijadas de alguna forma. En los mecanismos ms entendiendo sta como una serie de reglas que pueden ser seleccin de la conducta ms apropiada segn el estado global avanzados, se aade una componente de inteligencia,

interpretadas mediante la captacin del estado del medio y una extrado. Se logra por tanto que la robtica intervenga en mltiples

tareas que realizan o deberan realizar los seres humanos pero no se consigue que esta participacin pueda ser generalizada a cualquier tarea. En la actualidad, la robtica se encuentra muy por debajo de las industriales sobre todo, donde es motivo de los mayores avances, de tal y como muestran los datos de la Federacin Internacional de Robtica [2].

expectativas iniciales, pero, sin embargo, es en los entornos recientes investigaciones y donde presenta un crecimiento continuado

Evolucin del parque robtico mundial (fuente IFR) 900000 800000 700000 600000 Robots 500000 400000 300000 200000 100000 0 1982 1986 1990 1994 1998 2002

Fig. 1. Evolucin del parquet robtico mundial segn la Federacin Internacional de Robtica.

2.1 El trmino Robot y su significado


La palabra robot ha tenido un origen distinto al dispositivo electromecnico. La primera constancia que se tiene de ella, con la implicacin actual que conlleva, data de principios del siglo XX [3]. Es el dramaturgo Karen Capek quien empieza a utilizar la palabra robota (robot en espaol) que en eslovaco significa labor o trabajo.

En 1920, Capek la utiliz cuando escribi la obra llama R.U.R (Rosums Universal Robots), estrenada en Praga en 1921 y publicada para suplir a los seres humanos, de modo que aquellos trabajaran sin en Inglaterra en 1922, en la que imagin sustitutos automatizados descanso [3]. Este nacimiento indica, pues, que sus orgenes tienen

una cierta componente de ciencia ficcin, al igual que las perspectivas iniciales en el mundo real. Si en sus orgenes robot naci fruto de la fantasa, su significado depende del tejido social en el que se encuentre integrado. Dependiendo de la fuente a la que se acuda tiene un significado u

otro. Segn la Enciclopedia Britnica [4] Un dispositivo robot es un

en la Real Academia de la Lengua Espaola [5] robot se define como

mecanismo instrumentado que se usa en la ciencia e industria para sustituir al ser humano. No tiene por qu asemejarse fsicamente a un ser humano ni tiene por qu realizar sus tareas de un modo humano,

Mquina o ingenio electrnico programable, capaz de manipular La lnea que separa un dispositivo robot de una simple maquinaria definiciones, maquinarias domsticas como lavadoras, lavavajillas o humanos. Una definicin ms amplia y que limita la diferencia entre Un

objetos y realizar operaciones antes reservadas slo a las personas.

automatizada no es siempre fcil de discernir [3]. Segn estas licuadoras podran entenderse como robots ya que realizan tareas de robot y maquinaria es la proporcionada por la ISO 8373 [6] en la que

misma forma que elimina ambigedades, tambin deja fuera del

robot es un manipulador reprogramable, multifuncional, controlado automticamente, que puede estar fijo en un sitio o moverse, y que est diseado para mover materiales, piezas, herramientas o dispositivos especiales, por medio de movimientos variables programados para la realizacin de diversas tareas o trabajos. Aunque esta ltima definicin parece ms idnea, de la

termino robot a otros elementos que hoy en da son considerados como tal, por ejemplo los robots mviles que siguen una lnea utilizando sus sensores para captarla e identificar la trayectoria a seguir, ya que stos en ningn momento realizan la tarea de mover

materiales, piezas, herramientas o dispositivos, pero sin embargo s son considerados robots. Tal vez, la definicin ms acertada y que deja patente la dificultad de definir qu es un robot la proporciona Joseph Engelberg, padre de la robtica industrial: Puede que no sea

capaz de definirlo, pero s cuando veo uno.

3 La problemtica de la Robtica vs. Aplicaciones Distribuidas


A continuacin vamos a realizar un estudio ms pormenorizado de algunos de los problemas a los que actualmente se enfrenta la el desarrollo de grandes aplicaciones distribuidas.

robtica y la similitud que guardan stos con los que se presentan en El primero de los factores que influye a la hora de abordar un proyecto para el desarrollo de cualquier construccin [7]. Un robot est

robtico es sin duda la interdisciplinaridad de las materias necesarias compuesto por una multitud de componentes puramente mecnicos como son las articulaciones, ruedas, soportes, engranajes, etc., actividad que deba realizar el robot. Sobre ste se montan una serie de formando un esqueleto que tendr la morfologa necesaria segn la componentes electrnicos como motores, sensores, buses de datos, vez, todo este conjunto debe ser manejado por un cerebro central o programador, el cual ha de conocer cada una de las partes y elementos que componen el robot para poder hacer un correcto uso de stos. A este cerebro hay que aportarle el programa o pautas de trabajo para que al final se logre el objetivo principal del robot. En resumen, se necesita de conocimientos de mecnica, electrnica, informtica, automtica, fsica, matemticas, etc. para lograr el diseo, desarrollo e implementacin de un robot y estos conocimientos a su

controladoras, sistemas de energa, almacenamiento y memorias. A su

vez se emplean en todas las fases del proyecto a desarrollar. En el factor. Cuando se aborda un proyecto de red se deben conocer las dependiendo de stas, las estrategias de comunicacin

desarrollo de aplicaciones distribuidas tambin encontramos este tecnologas sobre las que se har uso de la aplicacin, ya que

diferentes. Adems tambin es necesario saber de qu tipo de equipamiento se dispondr, tales como servidores, switchs, routers, etc, ya que las capacidades de stos permitirn un tipo de aplicacin u

sern

otro. Tambin ser necesario conocer la materia sobre la que versa la

aplicacin para programar los algoritmos y tcnicas de resolucin apropiadas. Tambin, y dentro de los niveles fsicos, encontramos que no existe unicidad ni estndares respecto a los componentes robticos. Existe un gran nmero de fabricantes que aportan al mercado dispositivos de caractersticas distintas, con especificaciones propias de cada casa y gestin de las redes tambin encontramos este problema, el abanico final es necesario realizar una gestin de todos que incluso aportan los resultados en formatos diferentes. En la de dispositivos de red que podemos encontrarnos es inmenso y al independientemente de cual sea el fabricante, interfaz que se nos ellos

ofrezca o caractersticas particulares, para lograr el fin de la particularidades fsicas de estos dispositivos para considerar slo los niveles lgicos que nos proveern de las funcionalidades necesarias [1]. Complejidad en el diseo, desarrollo e implantacin. Tanto en robots

comunicacin y aplicacin apropiada. Es necesario abstraerse de las

como en aplicaciones distribuidas, encontramos que se han de tener en cuenta una gran cantidad de factores a la hora de idear el esquema general del proyecto [3]. Al final, este esquema se convierte en un sumidero de particularidades que hace difcil su organizacin y

estructuracin. Durante el desarrollo es fcil encontrar que ciertas

caractersticas han cambiado, en robtica es habitual encontrar que un motor, por ejemplo, ha sido descatalogado y en su lugar se hace necesario especificacin del original, lo cual hace imprescindible retomar el utilizar otro que no se ajusta exactamente a la

interfaz de comunicacin con el resto del sistema. Igualmente en las aplicaciones distribuidas no es raro encontrarse que un componente software necesita de un nuevo parmetro, lo cual cambia el interfaz de necesario hacer reajustes en la aplicacin. Esto hace que se trate de desacoplar independientes los entre distintos ellos componentes y liberando software, al sistema de las

comunicacin de otros que hacen uso de este componente y es hacindolos

interdependencias que complican o imposibilitan las modificaciones, actualizaciones o mejoras. Tambin son importantes las tareas que se han de realizar una vez el sistema ha sido implantado. El mantenimiento, actualizacin y reparacin, muchas veces suponen un tiempo superior al que se puede soportar por las personas encargadas de ello o por la empresa propietaria del sistema. Un robot requiere un continuo control que desviaciones, por ejemplo, entre las trayectorias calculadas y las

determine su estado ptimo de funcionamiento, ya que pequeas ejecutadas por culpa del desajuste en un engranaje, pueden suponer que el producto que se est fabricando no alcance los requerimientos establecidos o que ni siquiera cumpla las mnimas especificaciones. Igualmente, un robot suele ser construido para perdurar en el tiempo,

es decir, no se concibe para ser actualizado aadindole ms efectores finales o nuevas funcionalidades, por lo cual, cuando es necesario hacerlo, normalmente y dependiendo de la complejidad, se sustituye al robot por uno nuevo, lo cual a su vez, dentro del sistema robtico del que forma parte puede suponer ms cambios, o si esta situacin del sistema es imposible, entonces se aborda la tarea de modificar y reprogramar el sistema, siempre que sea posible. Igualmente, en la construccin de cualquier software, se suele encontrar es demasiado compleja, o la integracin del nuevo robot en el resto

problemas en su mantenibilidad, ya que cuando posteriormente es necesario realizar una actualizacin o solucionar un problema dado, esto puede suponer la reprogramacin de parte del sistema o que se apoyaba el software original.

estos

simplemente el desarrollo de uno nuevo al cambiar la base sobre la Otra problemtica destacable que es necesaria recalcar, es la dependencia con las tecnologas que subyacen. Esta dependencia condiciona totalmente cualquier proyecto robtico, ya que cuando se aborda el diseo de un sistema, ya se tienen en cuenta qu tipo de

captadores y actuadores lo van a formar y por lo tanto qu interfaces manejarn en el sistema, etc. Esta dependencia y por tanto se van a utilizar y programar, qu tiempos de accin y reaccin se

condicionamiento

prcticamente cerrado y que aadir caractersticas de escalabilidad y

hacen

que

cualquier

robot

sea

un

sistema

flexibilidad estn estrechamente relacionadas con los dispositivos de los que se hace uso. Esto mismo se aborda en el desarrollo de software distribuido, en el que es necesario prever que el sistema es con ste.

cambiante junto con las necesidades del negocio y debe poder crecer En un nivel superior, tambin encontramos la dificultad de la

integracin de sistemas robticos. Normalmente y, sobre todo, en los ambientes industriales, un robot no es un elemento aislado sino qu ms, con una tarea asignada y de la que depende el resto de la forma parte de una comunidad en la que se convierte en un eslabn cadena. Integrar un nuevo elemento o sustituir uno por otro que no tenga idnticas caractersticas supone un problema aadido sobre el diseo global del conjunto. Igualmente sucede en las aplicaciones distribuidas, ya que los nuevos contextos electrnicos favorecen la herramientas software. Esto supone que se debe proveer a los principio totalmente diferentes en su naturaleza. unin de negocios que implican a su vez la integracin de sus sistemas de la capacidad de integracin con otros sistemas en

Tabla 1. Resumen de los problemas y grado en el que afecta a robots y aplicaciones distribuidas.

Problema Interdisciplinar

Robots Muy alto

Aplicaciones distribuidas Muy alto Muy alto Muy alto Alto Alto

Falta de unicidad y estndares complejos

Diseo, realizacin e implantacin Mantenimiento, reparacin actualizacin y

Muy alto

Muy alto Muy alto Muy alto

Dependencia con la tecnologa

Integracin con otros sistemas

Muy alto

Muy alto

4 Arquitecturas software Orientadas a Servicios


En las ltimas dcadas se ha experimentado un gran crecimiento de conceptual y dificultad tecnolgica. Las aplicaciones que deben dar los sistemas empresariales en trminos de tamao, complejidad soporte a cualquier tipo de entidad deben superar as mismo estos dependientes de sus sistemas informticos y por lo tanto el impacto que stos causan sobre la operatividad del negocio es muy alto. Cualquier empresa, no slo depende funcionalmente de sus sistemas, arquitecturas que se han de manejar son cada vez ms complejas y las

acontecimientos. Las organizaciones a su vez, son mucho ms

sino que ve comprometido su xito a la operatividad de stos. Las tradicionales han sido llevadas al lmite de sus capacidades muchas

veces incrementando la tecnologa que les da soporte (aadir PCs, sustituir grandes computadores y servidores por otros ms potentes, poder soportar la carga de trabajo y requerimientos especficos de la organizacin. aumentar el ancho de banda, incrementar el factor humano, etc.) para

Sin embargo, las necesidades organizacionales persisten en el tiempo, aunque ven aumentada su problemtica de forma exponencialmente. costes de desarrollo, integracin de nuevos socios de negocio y enfrenta el desarrollo software. La rpida respuesta frente a nuevos requerimientos, reduccin de clientes, son slo algunos de estos factores tradicionales a los que se Se ha tratado de abordar estos problemas a travs de diferentes alternativas tales como arquitecturas de procesamiento distribuido, lenguajes independientes de la plataforma o productos de

conectividad que facilitan la integracin de aplicaciones. Pero estos aplicaciones distribuidas. Esto se debe bsicamente a la falta de un framework arquitectnico que permita el desarrollo rpido, la integracin Arquitecturas Orientadas a Servicios (SOA) aparecen como el prximo y el reuso de aplicaciones. En este sentido,

esfuerzos han sido infructuosos en el desarrollo de grandes

las

paso en la evolucin, buscando cerrar la brecha entre el negocio y las

aplicaciones que lo soportan y proveer un modelo de desarrollo basado en un marco conceptual bien definido e independiente de las tecnologas [8]. framework

La evolucin lgica del software y que motiva la bsqueda de un mejor fundamentales de la complejidad de las aplicaciones, tratar el cdigo arquitectnico se produce al tratar los problemas

redundante y no reusable y las interfaces mltiples. Estos problemas determinan los aspectos concretos que resultan en desafos para las organizaciones y la forma de atacarlos determina el grado de xito en la bsqueda de una solucin. Obj. Distribuidos Cliente/Servidor Componentes Estructurado

Fig. 2. Evolucin de las arquitecturas software.

A la par, junto con los problemas tradicionales de mejor utilizacin de sistemas independientes e implementacin ms veloz de nuevos negocios se aaden una serie de nuevas dificultades. sistemas heredados

los recursos, mayor retorno de las inversiones (ROI), integracin de

Los ambientes se tornan ms complejos, se requiere reuso de los Posibilidades de nuevos negocios al tener un acceso generalizado y de bajo coste a Internet. de sistemas Alianzas con nuevos socios, lo que imponen la unin e integracin Una mayor y generalizada heterogeneidad del software, hardware y plataformas de desarrollo y comunicacin.

horizontalidad de los sistemas, sino que ahora stos forman

Por tanto la complejidad ya no slo aparece en la verticalidad u

Monoltico

N-Capas

Servicios

3-Capas

ecosistemas diversos en los que la utilizacin de los recursos y mdulos se da en todos los sentidos y a todos los niveles. Para abordar estas problemticas es necesario que cada componente software sea autocontenido, que el desarrollo est basado en estndares que permitan la integracin de aplicaciones de diferentes proporciona todas estas caractersticas y algunas ms.

negocios y que permita realizar un desarrollo ms veloz. SOA

Fig. 3. Arquitectura de los sistemas de informacin. Antes de 1980 integracin vertical. Entre 1980 y 1990 integracin horizontal. Actualidad, integracin en todos los niveles.

5 Trasladar servicios a otros mbitos


Resulta imprescindible llegados a este punto plantearnos por qu, si en software es tan evidente la evolucin de las arquitecturas, esto mismo no se ha trasladado a otros mbitos, o por qu estos enfoques hasta ahora, en nuestro caso, a la robtica. que solventan algunas problemticas de alto nivel no se han aplicado Robtica e informtica guardan una estrecha relacin en este contexto ya que actualmente muchos proyectos robticos integran en su convencional se tratara, donde las entradas/salidas de ste se corazn un computador y el conjunto es tratado como si de un PC sustituyen por sensores o captadores y actuadores y un nuevo

software se encarga de administrar y actuar sobre los sistemas. Pero asemeja mucho ms a la informtica de hace unas dcadas donde las soluciones de cada empresa eran particulares, sin una bsqueda de

sin embargo el marco arquitectnico de la robtica que se maneja se

estndares, arquitecturas flexibles y escalables y sin la construccin

de un framework comn que permite la evolucin y rpido desarrollo de los componentes. a)

ROBOT
Planificador + plugins + drivers

Middleware

Componentes de bajo nivel

b)

ROBOT Planificador

Componentes de bajo nivel + hardware manejador

Middleware

Fig. 4. a) Esquema tradicional de la arquitectura de un robot. b) Nuevo componentes est en los niveles inferiores, el middleware se hace distribuido.

esquema del robot donde el hardware encargado del manejo y control de los

El estado actual de la tecnologa permite construir circuitos integrados en cuyos chips se implementan computadores completos de grandes prestaciones [9]. La capacidad de miniaturizacin actual de los componentes electrnicos se lleva casi a sus lmites fsicos y esto

permite incorporar capacidad de computacin en prcticamente cualquier componente fsico que imaginemos. Hasta ahora los distintos elementos, que en nuestro caso, componan un robot, eran proporcionaba el fabricante y con la especificacin discreta que ste nos ofreca. Ayudados de esta nueva capacidad de incorporar

considerados como aislados, con una funcionalidad cerrada que nos

computabilidad capaz de manejar los niveles fsicos ms bajos de las

partes robticas y que a su vez stas se ofrezcan mediante interfaces programables a los niveles superiores, podemos abstraer las tareas de diseo de los niveles bsicos y, por tanto, abordar nuevos enfoques en

las arquitecturas, descargando as en este nivel inferior el hardware superiores de forma sencilla y transparente.

necesario tal que ofrezca los componentes bsicos a los niveles Adems, esta nueva capacidad nos va a permitir descender el

middleware a los niveles inferiores. En los esquemas tradicionales, tal alberga en los niveles altos, donde reside el planificador o nivel de

y como hemos dicho, encontramos que la capacidad de cmputo se aplicacin [10][11], y es ah donde se ubican todas las aplicaciones

relacionadas con la gestin de los dispositivos. Al poder introducir hardware ahora en las partes ms elementales del robot, podemos dejar a ste las funciones de gestin y control, y por tanto distribuir el middleware sobre cada uno de los componentes. De esta forma logramos dos objetivos claros: Distribuir la capacidad de cmputo entre todos los elementos que componen el robot, con lo cual, no se necesita que todo el trabajo de caractersticas de mayores prestaciones, si-no que la actividad hardware de los niveles inferiores. lo realice el planificador y por tanto que ste deba poseer una serie puramente relacionada con cada componente se descarga sobre el Distribuir y descender el middleware del sistema. Ahora la capa que

nos abstrae de los niveles fsicos est lo ms baja posible, los componentes que se encuentran en las capas fsicas y por tanto pueden (planificacin, control y desarrollo de las acciones del robot). centrar su actividad en las tareas de

niveles superiores se ven liberados de conocer con grano fino los aplicacin

Este incremento en la capacidad de computacin distribuida y que sta sea en los niveles ms bajos es precisamente lo que nos va a permitir incorporar nuevas funcionalidades a los elementos ms bsicos del

robot y por tanto utilizar un nuevo enfoque en su diseo y arquitectura.

6 Arquitecturas robticas actuales


Las arquitecturas robticas actuales estn basadas en modelos cliente/servidor, 3 capas o n-capas en la mayora de los casos. Estos utiliza para implementar los robots y, por tanto, estn condicionando sistema mecnico, actuadores, sensores y el sistema de control como actuacin [12]. Actuadores Sistema de control ROBOT Sensores internos Visin Tacto Audicin Proximidad Otros modelos adems son dependientes de la tecnologa fsica que se el diseo de stos. El esquema bsico de cualquier robot identifica un elemento bsico necesario para cerrar la cadena actuacin-medidas-

Percepcin del entorno

Fig. 5. Esquema de un robot y su interaccin con el entorno.

El sistema de control, que en ltima instancia, debe proporcionar la conocer que elementos componen el sistema y por tanto que tipo de

inteligencia al conjunto robtico, desde su etapa de diseo debe

acciones podr utilizar. En la actualidad y gracias a la capacidad de computacin, el sistema de control suele estar implementado mediante un PC o mini-computador en el cual se instalan los

manejadores o plugins necesarios para que el planificador pueda

hacer uso de los diversos dispositivos que se encuentran instalados en

el robot. De esta forma se abstrae del detalle fino que se encuentra en

los niveles ms bajos de la implementacin. Esto constituye el middleware del sistema, pero lo hace en un nivel superior, casi a nivel de aplicacin, lo cual presta poca independencia a la mayora de los hace caso omiso de este middleware y se accede directamente a los recursos de bajo nivel en busca de una mayor rapidez de actuacin.

componentes software de la capa fsica, incluso en muchos casos, se

7 Nuevas arquitecturas robticas basadas en servicios


Hasta aqu hemos planteado como el mbito de la robtica plantea una serie de problemticas, las cuales quedan identificadas en similitud a las que el desarrollo de software se ha enfrentado. Planteamos cmo las nuevas arquitecturas orientadas a servicios resuelven el actual panorama y los retos software, que estas arquitecturas se desarrollan gracias a que existe capacidad de

cmputo distribuido y por eso se puede utilizar el enfoque de servicio

en cada componente software. Tambin hemos planteado que gracias al estado actual de la tecnologa es posible tambin aadir capacidad de cmputo a los elementos bsicos de un robot. Por lo que, como

ltimo paso, debemos trasladar el enfoque de servicios a la arquitectura robtica para as abordar la problemtica que se nos plantea utilizando las ventajas que este enfoque nos ofrece. Una vez que cada componente tiene capacidad de cmputo, nada

impide que en ellos se aloje el software necesario que los convierta en servicios siguiendo el mismo enfoque del software de redes. A nivel de fsicos sobre las capas fsicas, lo cual nos libera una capacidad de aplicacin hemos descargado el control y gestin de los componentes cmputo antes desaprovechada. Esta capacidad ser utilizada para servicios los cuales estn compuestos por los elementos y

albergar un nuevo elemento, el registro de servicios, los propios componentes que forman el robot. De esta forma el planificador slo

tendr que buscar y utilizar los servicios que estn publicados en el

registro de servicios pasando a convertirse en un orquestador de quedara de la forma que muestra la Fig. 6, donde incluso el

servicios. La nueva arquitectura del robot, mediante este enfoque, orquestador es otro elemento ms del sistema, al mismo nivel que el resto de servicios, pero que en su caso acta como consumidor de stos. En este nuevo enfoque el sistema contempla slo tres tipos de actores: Proveedores de servicios, responsables de publicar y publicitar sus servicios y recibir mensajes de invocacin. En la arquitectura del robot stos son cada uno de los componentes y elementos bsicos. Consumidores de servicios, cuya tarea es encontrar servicios ser el orquestador o programador que los reclamar para llevar a cabo el objetivo principal del robot. publicados en el registro y utilizarlos segn su descripcin. ste

Registro de servicios, anuncia descripciones de servicios publicados servicios. Nuevo elemento que se agrega al sistema. ROBOT Registro Orquestador Componentes de bajo nivel + hardware manejador + Middleware

y permite a los solicitantes buscar servicios en el catlogo de

Fig. 6. En el nuevo esquema, el propio planificador se convierte en un elemento ms del sistema que acude al registro, donde estn publicados los servicios, componentes, para orquestarlos y as cumplir con el objetivo del robot.

Con esta nueva arquitectura obtenemos una conversin de los elementos que componen el robot en servicios, los cuales se publican, publicitan y quedan a la espera de ser invocados y un desacople real

de estos elementos, ya que su integracin no depende de las servicio. Adems, el planificador se convierte en un elemento ms del

caractersticas fsicas sino de la forma o descripcin al ofertarse como conjunto, en este caso un consumidor de servicios. Tan slo hay que proveer al sistema de la lgica de negocio que implementa los servicios.

En aplicaciones software distribuidas ya existen implementaciones reales, extensamente utilizadas en aplicaciones que tienen una gran necesidad de integracin y desacople de sus elementos para su posterior mantenimiento o modificacin que proporcionan estndares tambin con poco esfuerzo en esta nueva arquitectura del robot, ya para implementar los protocolos y software de comunicacin y aplicacin utilizados [13]. y soluciones globales, los Web Services, que pueden ser adaptados

que se le ha provisto tambin de la capacidad de computo necesaria

7.1 Problemas clsicos en la nueva arquitectura de servicios en robots


Ahora, con este nuevo enfoque de la arquitectura podemos encontrar solucin a los problemas que planteamos en el inicio de este trabajo. La independencia sobre los niveles fsicos queda asegurada, ya que cada componente trata en los niveles bsicos el ofrecerse segn los interfaz de uso. El resto de componentes slo deber requerir su utilizacin siguiendo la descripcin que ste ha proporcionado. estndares como un servicio ms, publicando su disponibilidad e

La falta de unicidad y estndares tambin queda resuelta, ya que con

este nuevo enfoque, todos los elementos, sean de la complejidad que sean, se encuentran al mismo nivel, se produce un aplanamiento y unificacin de las tecnologas, todo son servicios que se publican en un registro y son consumidos por algn otro elemento. independientes, nos proporciona un mejor

El desacoplamiento de los componentes, al ofrecerse como servicios mantenimiento

adaptacin, lo que se traduce a nivel arquitectnico en flexibilidad frente al cambio y capacidad de escalabilidad del sistema. No se mecnicos para el ensamblado, para aadir un nuevo elemento o publicarse y quedar a la espera de ser invocado por algn consumidor. necesita ningn extra en el sistema, aparte de los puramente sustituir uno ya existente ya que el nuevo servicio slo deber El diseo, desarrollo e implantacin tambin se ven simplificados. Durante las primeras fases del proyecto, en las cuales se concibe el sistema robtico, no ser necesario tener en cuenta aspectos fsicos ni requeridos y disear el orquestador encargado de convertir un para el cual est destinado el sistema.

mecnicos, tan slo especificar qu tipos de servicios van a ser catlogo de servicios en la funcionalidad capaz de logar el objetivo Otra de las cuestiones que se comentaban era la necesidad por parte

de las personas implicadas en el proyecto de tener las facultades

interdisciplinares suficientes para abordar casi la totalidad de las clara reparcelacin y perfecta distincin entre las materias ya que:

tareas que entraa la construccin de un robot. Ahora se produce una Las partes mecnicas sern desarrolladas por los expertos en esta

materia, slo debern asegurarse de poder sostener los elementos sistema y que han sido especificados durante el diseo.

necesarios para proporcionar los servicios de los que se compone el La electrnica necesaria para proveer a los componentes fsicos de

la capacidad de cmputo y as poder albergar en ellos los manejadores y software necesario para convertirlos en un servicio realizacin de circuitos. ser desarrollada por otro personal experto en el diseo y

De la parte de diseo del sistema lgico, el que incluye el software para proveer y construir los servicios del sistema, la concepcin del orquestador, el registro y los canales de comunicacin sern realizados por los ingenieros del software, los cuales al final estarn construyendo un software distribuido basado en servicios.

Y una de las ltimas fronteras que comentbamos se situaba en los niveles superiores, la integracin de un robot dentro de un sistema de robots. En este momento, y con la nueva arquitectura de servicios, nada impide que un robot se ofrezca como un servicio ms, es decir, que todo el conjunto de elementos (componentes, registro y otro registro de servicios del sistema de robots. Esto ofrece un nuevo mecanismo mediante el cual se puede asegurar que, al menos cadena de robots.

orquestador) componga a su vez un servicio global que se oferte sobre

lgicamente, un robot podr ser integrado, por ejemplo, en una

7.2 Nuevas caractersticas de la arquitectura orientada a servicios


En este momento, con la nueva arquitectura de servicios, nos clsicas, sino que tambin nos traslada caractersticas propias del paradigma de los servicios. encontramos que no slo aporta solucin sobre problemticas

Una de estas caractersticas que resulta ms til es precisamente que descargan de tener que elaborar el funcionamiento del sistema.

en la actualidad existen implementaciones concretas las cuales nos Adems, actualmente ya existen desarrollados los protocolos de estas tareas las encontramos resueltas [8][13].

comunicacin, publicacin, bsqueda y uso de servicios, con lo que Y otra nueva caracterstica que antes era prcticamente impensable es que la flexibilidad de la arquitectura llega hasta tales extremos que no existe una jerarqua entre los distintos componentes o elementos del sistema. Todos y cada uno de ellos son servicios que se publican en un registro y a su vez pueden consumir otros servicios. Ser tarea,

ahora s, del ingeniero que lo disea, el proporcionar los mecanismos que aseguren el buen uso y estabilidad del sistema. Supongamos que mvil para lograr una mejor captacin de la seal, esto podra ser un sensor de proximidad requiere del desplazamiento de la plataforma catastrfico. Pero en principio contamos con esta libertad que nos

permite organizar el sistema de la forma que el diseador considere ms til.

7.3 Otras problemticas


En este trabajo tratamos nicamente las cuestiones que surgen a nivel arquitectnico, aportando un nuevo enfoque sobre las arquitecturas tradicionales de los robots y que proporciona sustanciales ventajas sobre los esquemas actualmente utilizados. Este aporte se basa en

soluciones adoptadas en muchos sistemas de software distribuido y que estn logrando resolver con xito cuestiones de similares caractersticas. Pero no cabe duda que ahora surgir una nueva

batera, cuanto menos, de dudas sobre esta nueva arquitectura. Este nuevo enfoque no resuelve por ejemplo, uno de los principales retos de la robtica, que es el de aportar la inteligencia suficiente al sistema forma contundente separar la parte ms puramente fsica de la lgica, dejando como principal tarea el de construir el cerebro orquestador que resuelva la situacin a la que se deba incorporar el robot.

para resolver las tareas que sea necesario [14]. Pero s logra de una

Este nuevo enfoque construye por tanto el framework arquitectnico necesario para que la robtica pueda adquirir ciertas caractersticas de las que hasta ahora se ve desprovisto como son: la capacidad natural de integracin de componentes, slo hace falta aadirlos y stos automticamente se publican en el registro de servicios; flexibilidad de la arquitectura y escalabilidad del sistema, se pueden aadir

cuantos servicios se requieran (al menos lgicamente); integracin a niveles ms altos con otros sistemas robticos ya que el propio robot la capa fsica en el diseo del robot, para esta fase slo se requieren es un servicio de cara al entorno donde se integra; independencia de los servicios lgicos necesarios sin plantear cuestiones de bajo nivel;

separacin de las reas de conocimiento, ya que ahora el ingeniero del componentes que formarn parte del sistema.

sistema no requiere de los aspectos fsicos o mecnicos de los

8 Conclusiones
En arquitectura tradicionalmente software puede ser trasladada a un nuevo mbito, la robtica, donde se producen cuestiones que guardan de software distribuido. cierta similitud con las que en la actualidad se enfrenta el desarrollo Esta solucin requiere de la modificacin de la capa middleware actual este trabajo hemos descrito cmo conceptualmente una

que se sita en los niveles ms altos de aplicacin del robot para trasladarla y distribuirla sobre los componentes bsicos del sistema. Esto supone una distribucin de la capacidad de cmputo desde el procesador capacidad distribucin es posible dado el actual estado de la tecnologa y la de miniaturizacin de los circuitos y electrnicos. Esta nueva forma de concebir la arquitectura nos proporciona, no slo la capacidad de enfrentarnos a los retos tradicionales que se plantean principal hacia los componentes elementales.

Tal

componentes

en cualquier proyecto robtico, sino que nos permite construir un

framework arquitectnico que facilite tanto las labores de diseo, desarrollo e implementacin como las de posterior mantenimiento, actualizacin y reparacin. robot supone un Tambin nos aporta nuevas caractersticas para las cuales preparar un mayor esfuerzo utilizando las

tradicionales, tales como son la posibilidad de interaccin a todos los niveles y la capacidad de integracin de un robot en sistemas complejos, ya que un servicio puede estar compuesto a su vez por nuevo servicio. Web y en

arquitecturas

otros servicios, es decir, el propio robot puede ofertarse como un Adems, nos apoyamos en la experiencia existente sobre los servicios planteamiento de este nuevo enfoque de cara a la arquitectura robtica, y dado que este planteamiento ha demostrado su robustez y la facilidad con la que se pueden construir aplicaciones software, el desarrollo de aplicaciones distribuidas para el

induce a concluir que tambin es vlido en un mbito donde se disponga (middleware en las capas inferiores). de los requerimientos necesarios para albergarla

Este enfoque no slo recorre el panorama actual sino que abre una brecha hacia futuras consideraciones. Existen en la actualidad en la ingeniera bioinspirada, que tal vez pueda aportar las caractersticas necesarias a los robots para que stos den el salto generacional suficiente y sean capaces de abordar las tareas requeridas en cualquier materia. La arquitectura orientada a servicios tiene cuanto menos un cierto tinte similar a los organismos biolgicos, ya que stos se organizan mediante centros neuronales que hacen uso de elementos que existen en el sistema (captadores o actuadores) para corrientes conceptuales que apoyan el desarrollo de sistemas basados

lograr un fin. A su vez estos sistemas neuronales se engloban en otros de un nivel ms alto (son consumidos o utilizados por otros superiores). Queda pues, tras este aporte arquitectnico, todas las tareas de los requerimientos del problema que se quiera resolver.

diseo y modelado de los robots utilizando los patrones adecuados a

9 Referencias
1. 2. 3. 4. 5. 6. 7. Rentara, A., Rivas, M.: Robtica Industrial, fundamentos y aplicaciones. Mc Graw Hill. 2000. International Federation of Robotics, www.ifr.org. Torres, F., Pomares, J., Gil, P., Puente, S. T., Aracil, R.: Robots y Sistemas Sensoriales. Prentice Hall. 2002. Enciclopedia Britnica. www.britannica.com. Real Academia de la Lengua Espaola. www.rae.es. ISO Organizacin Internacional para la Estandarizacin, www.iso.org. Groover, M. P., Weiss, M., Nagel, R. N., Odrey, N. G.: Robtica Industrial. Tecnologa, programacin y aplicaciones. 1989.

8. 9.

Foggon, D.: Programming Microsoft .NET XML Web services. Microsoft Press. 2004. Angulo, J. M., Romero, S., Angulo, I.: Microbtica. Paraninfo. 2001. para robots autnomos mviles. 7 Congreso Espaol sobre Tecnologas y Lgica Fuzzy, Pamplona, 1.998

10. Gmez, A., Martnez, H., Garca, P.: Una arquitectura de agentes difusos

11. Tllez, R. A., Angulo C.: Generando un agente robtico autnomo a partir de la evolucin de subagentes simples cooperativos. V Workshop en Agentes Fsicos Girona, libro de actas, p. 113-118. Girona Edicions.

2004.

12. Ollero, A.: Robtica. Manipuladores y robots mviles. Marcombo Boixareu Editores. 2001. 13. Monson-Haefel, R.: J2EE Web services. Addison-Wesley. 2004. 14. Murphy, R. R.: Introduction to AI Robotics. Massachusetts Instituye of Technology. Library of Congress Cataloging-in-Publication Data. 2002. 15. Groover, M. P., Weiss, M., Nagel, R. N., Odrey, N. G.: Robtica Industrial. Tecnologa, programacin y aplicaciones.

También podría gustarte