Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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,
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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
Aplicaciones distribuidas Muy alto Muy alto Muy alto Alto Alto
Muy alto
Muy alto
Muy alto
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,
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
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 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.
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.
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.
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
ROBOT
Planificador + plugins + drivers
Middleware
b)
ROBOT Planificador
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
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
El sistema de control, que en ltima instancia, debe proporcionar la conocer que elementos componen el sistema y por tanto que tipo de
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
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.
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
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
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
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
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
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.
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
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.
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
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.
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.