Professional Documents
Culture Documents
∗
Universidad Rey Juan Carlos, Móstoles, España
∗∗
Inst. Nal. de Astrofı́sica, Óptica y Electrónica, Tonanzintla, México
APERTOS
Miro Miro 9 (Utz et al., 2002) es una plataforma
basada en objetos distribuidos para la creación de apli-
caciones para robots, desarrollada en la Universidad
de Ulm y publicada bajo licencia GPL. En cuanto a la
distribución de objetos, Miro sigue el estándard COR-
BA, empleando la implementación TAO de CORBA,
ası́ como la librerı́a ACE.
Miro consta de tres niveles: una capa de dispositivos,
una capa de servicios y el entorno de clases. La ca-
pa de dispositivos (Miro Device Layer) proporciona
interfaces en forma de objetos para todos los dispo- Figura 6. Arquitectura de software para el Aibo
sitivos del robot. Es decir, sus sensores y actuadores
se acceden a través de los métodos de ciertos objetos,
que dependen de la plataforma fı́sica. Por ejemplo, la 5. ENTORNOS DE PROGRAMACIÓN
clase RangeSensor define una interfaz para sen-
sores como los sónares, infrarrojos o láser. La cla- Dentro del mercado de robots móviles hay varios
se DifferentialMotion contiene métodos para proveedores mayoritarios a nivel mundial: ActivMe-
desplazar un robot con tracción diferencial. La capa dia 10 , iRobot, Robosoft 11 , K-Team 12 , Sony, LEGO,
de servicios (Miro Services Layer) proporciona des- etc. Cada uno de estos fabricantes incluye un entorno
cripciones de los sensores y actuadores como servicios de programación para sus robots, y lo actualizan a
especificados en forma de CORBA IDL (Interface medida que surgen nuevos diseños o dispositivos. Por
Definition Language). De esta manera su funcionali- ejemplo, ActivMedia comercializa los robots Pioneer,
dad se hace accesible remotamente desde objetos que AmigoBot, etc.; para los cuales están los entornos
residen en otras máquinas interconectadas a la red, in- Saphira y ARIA. iRobot comercializaba los robots
dependientemente de su sistema operativo subyacente. B21, Magellan, etc.; que utilizaban los entornos RAI,
El entorno de clases (Miro Class Framework) contiene Beesoft, y recientemente Mobility. K-Team comercia-
herramientas para la visualización y la generación de liza los robots Khepera y Koala, ası́ como sus platafor-
históricos, ası́ como módulos con funcionalidad de mas de programación y simulación. En esta sección
uso común en aplicaciones robóticas, como la cons- vamos a analizar aquellos en los que tenemos expe-
trucción de mapas, la planificación de caminos o la riencia más directa. Todos ellos confirman la organi-
generación de comportamientos. zación del software de robots en tres niveles diferen-
Dentro de Miro la aplicación robótica tiene la forma ciados: sistema operativo, plataforma y aplicaciones.
de una colección de objetos, remotos o locales. Ca-
da uno ejecuta en su máquina y se comunican entre
sı́ a través de la infraestructura de la plataforma. Los 5.1 Aibo de Sony
objetos se pueden escribir en cualquier lenguaje que
soporte el estándar CORBA, ya que Miro no impone El robot Aibo (figura 6) se vende como mascota, con
ninguno en concreto, aunque ha sido enteramente es- un programa que gobierna su comportamiento para
crita en C++.
10 http://www.activmedia.com
11 http://www.robosoft.fr/
9 http://smart.informatk.uni-ulm.de/MIRO 12 http://www.k-team.com/
Robot Procesador Sistema Operativo Plataforma Simulador
LEGO RCX micro Hitachi BrickOS no legosim webots
Sony Aibo RISC Aperios Open-R webots
ActivMedia Pioneer micro + laptop Linux/MS-Windows ARIA Saphira JDE PSG PSG SRIsim JMR
iRobot (aka RWI) B21 PCs Linux Mobility CARMEN Miro PSG
EyeBot micro Motorola ROBIOS librerı́as EyeSim
K-Team Kephera y Koala micro Motorola KT BIOS SysQuake Korebot webots
Robuter micro Linux/MS-Windows librerı́as no
Nomad PC Linux librerı́as no
ER1 PC Linux/MS-Windows ERSP -
Cuadro 1. Tabla resumen de robots y sus entornos de programación
exhibir conductas de perro (seguir pelota, buscar hue- con 32 KB de memoria RAM, sobre el que se ejecu-
so, bailar, etc.) y le permite incluso aprender con el ta un sistema operativo propio de LEGO (Ferrari et
tiempo. Desde el verano del año 2002 se abrió la al., 2001).
posibilidad de programarlo, disparándose su uso co-
mo plataforma de investigación. El robot tiene como Aplicación C
sensores principales una cámara situada en la cabeza, BrickOS
distintos sensores de contacto (apoyo en las patas, en drivers
El robot Pioneer es un robot de tamaño mediano, El mercado de los robots móviles tiene actualmente
según se aprecia en la figura 8, con 26 cm de radio una pujanza creciente, cada vez hay más movimientos
y 22 cm de alto. Consta de una base móvil con un empresariales alrededor de la robótica. Los robots
par de motores, sensores de ultrasonido, odómetros Aibo y LEGO son sólo dos ejemplos de éxitos de
y opcionalmente, sensores de contacto y sensor láser ventas, superando cada uno las cien mil unidades
de proximidad. Tiene un microcontrolador que se en- vendidas.
carga de recoger las medidas sensoriales y enviar las
órdenes de movimiento a los motores, además de es- Además, los prototipos de investigación cada vez tie-
tar gobernado por un sistema operativo de bajo nivel nen mayor funcionalidad, dejando de utilizarse exclu-
(P2OS o AROS, según modelos). En cuanto a la arqui- sivamente en fábricas y aproximando su uso al hogar
tectura de procesadores, el montaje más frecuente del como robots de entretenimiento o de servicio.
Pioneer incorpora un ordenador portátil a bordo, en el Con el paso de los años, el modo de programar los
que se ejecutan las aplicaciones, y en él un sistema robots ha ido evolucionando y se ha ido articulando
operativo generalista como Linux. Las aplicaciones en tres niveles diferenciados: sistemas operativos, pla-
dialogan con el microcontrolador a través del puerto taformas de desarrollo y aplicaciones concretas. En la
serie utilizando un protocolo propio llamado SIP. sección 5 hemos descrito el entorno de programación
de tres robots reales muy difundidos: Aibo, RCX y
Aplicación C++ Pioneer. En todos ellos hemos encontrado esos tres
ARIA niveles de software.
Linux / MS−Windows Otra tendencia confirmada es la extensión del ordena-
P2OS / AROS dor personal (bien PC de sobremesa, bien PC portátil)
como procesador principal de los robots. Más allá de
los sistemas operativos dedicados, esta incorporación
ha traı́do la irrupción en los robots de sistemas ope-
rativos generalistas, como Linux o MS-Windows, y
el uso creciente de lenguajes de alto nivel con sus
herramientas asociadas.
También hemos identificado varias lı́neas comunes en-
tre plataformas: uniforman y simplifican el acceso al
hardware, ofrecen una arquitectura software determi-
nada e incorporan funcionalidad robótica común como
la navegación, la construcción de mapas o la localiza-
ción. A grandes rasgos, las plataformas tratan de fijar
Figura 8. Arquitectura de software para el Pioneer una base estable sobre la cual desarrollar aplicaciones
robóticas, y eso supone un paso hacia la madurez
Para crear aplicaciones se dispone de la plataforma de la programación de robots. Primero, favorecen la
ARIA, publicada con licencia GPL. Como hemos des- portabilidad de aplicaciones entre robots diferentes.
crito profusamente en la sección 4.5, esta plataforma Segundo, fomentan la reutilización de código, con
establece una interfaz abstracta de acceso al hardware lo cual disminuyen los tiempos de desarrollo de las
y una arquitectura software orientada a objetos para nuevas aplicaciones. Y tercero, con su arquitectura
las aplicaciones (forzosamente escritas en C++). software ofrecen una manera de organizar el código,
lo cual permite afrontar la complejidad creciente de
17 http://lejos.sourceforge.net/ las aplicaciones de robots.
Hemos presentado una muestra representativa tanto de Hattig, Myron, Ian Horswill and Jim Butler (2003).
las de software libre (ARIA, PSG, Miro) como de las Roadmap for mobile robot specifications. In:
propietarias (ERSP, OPEN-R). Habrá que ver cuáles Proceedings of the 2003 IEEE/RSJ Internatio-
sobreviven de aquı́ a unos años, y eso dependerá enor- nal Conference on Intelligent Robots and Systems
memente de cuantos usuarios y desarrolladores sean (IROS-03). Vol. 3. Las Vegas (USA). pp. 2410–
capaces de atraer cada una de ellas. 2414.
Lozano Ortega, Miguel Ángel, Ignacio Iborra Baeza
La aparición de las plataformas de desarrollo supone
and Domingo Gallardo López (2001). Entorno
un relevante paso hacia adelante en el largo camino de
Java para simulación y control de robots móviles.
la programación de robots. Sin embargo, aunque la ne-
In: Actas de la IX Conferencia de la Asociación
cesidad de estándares en robótica ha sido identificada
Española Para la Inteligencia Artificial, CAEPIA
por muchos autores, en la actualidad existen muchas
2001. Gijón. pp. 1249–1258.
plataformas diferentes, tal vez demasiadas, reflejo de
Martı́n, Francisco, Rafaela González-Careaga,
que no hay aún un estándar universalmente admitido.
José M. Cañas and Vicente Matellán (2004). Pro-
gramming model based on concurrent objects for
7. REFERENCES the AIBO robot. In: Proceedings of the XII Jor-
nadas de Concurrencia y Sistemas Distribuidos.
ActivMedia (2002). ARIA reference manual. Techni-
pp. 367–379.
cal Report version 1.1.10. ActivMedia Robotics.
Montemerlo, Michael, Nicholas Roy and Sebastian
Baum, Dave (2000). Dave Baum’s definitive guide to
Thrun (2003). Perspectives on standardization in
LEGO MINDSTORMS. APress.
mobile robot programming: the carnegie mellon
Biggs, Geoffrey and Bruce MacDonald (2003). A sur-
navigation (CARMEN) toolkit. In: Proceedings
vey of robot programming systems. In: Procee-
of the 2003 IEEE/RSJ International Conference
dings of the 2003 Australasian Conference on
on Intelligent Robots and Systems (IROS-03).
Robotics and Automation (Jonathan Roberts and
Vol. 3. Las Vegas (USA). pp. 2436–2441.
Gordon Wyeth, Eds.).
Bruyninckx, Herman (2001). Open robot control soft- Nielsson, Stig (2000). Introduction to the LegOS ker-
ware: the OROCOS project. In: Proceedings of nel. Technical report.
the 2001 IEEE/RSJ International Conference on RWI, Real World Interface (1999). Mobility Robot In-
Intelligent Robots and Systems (IROS-01). Vol. 3. tegration software, User’s guide. Technical Re-
Seoul (Korea). pp. 2523–2528. port version 1.1. IS Robotics, Inc.
Bräunl, Thomas (2003). Embedded robotics. Springer Serra, Francois and Jean-Christophe Baillie (2003).
Verlag. Aibo programming using OPEN-R SDK. tutorial.
Cañas, José M. and Vicente Matellán (2002). Dynamic Technical report. ENSTA (Francia).
schema hierarchies for an autonomous robot. In: Simmons, Reid and David Apfelbaum (1998). A Task
Advances in Artificial Intelligence - IBERAMIA Description Language for robot control. In: Pro-
2002 (José C. Riquelme y Miguel Toro Francisco ceedings of the 1998 IEEE/RSJ International
J. Garijo, Ed.). Vol. 2527 of Lecture notes in Conference on Intelligent Robots and Systems
artificial intelligence. pp. 903–912. Springer. (IROS-98). Vol. 3. Victoria (Canada). pp. 1931–
Côté, Carle, Dominic Létourneau, François Michaud, 1937.
Jean-Marc Valin, Yannick Brosseau, Clément Sony (2003). OPEN-R SDK, Programmer’s guide.
Raı̈evsky, Mathieu Lemay and Victor Tran Technical Report 20030201-E-003. Sony Corpo-
(2004). Code reusability tools for programming ration.
mobile robots. In: Proceedings of the 2004 Utz, Hans, Stefan Sablatnög, Stefan Enderle and Ger-
IEEE/RSJ International Conference on Intelli- hard Kraetzschmar (2002). Miro – middleware
gent Robots and Systems (IROS-04). Sendai (Ja- for mobile robot applications. IEEE Transactions
pan). on Robotics and Automation, Special Issue on
Ferrari, Mario, Giulio Ferrari and Ralph Hempel Object-Oriented Distributed Control Architectu-
(2001). Building robots with LEGO MINDS- res 18(4), 493–497.
TORMS: The Ultimate Tool for Mindstorms Ma- Vaughan, Richard T., Brian P. Gerkey and Andrew Ho-
niacs. Syngress. ward (2003). On device abstractions for porta-
Firby, R. James (1994). Task networks for controlling ble, reusable robot code. In: Proceedings of the
continuous processes. In: Proceedings of the 2nd 2003 IEEE/RSJ International Conference on In-
International Conference on AI Planning Sys- telligent Robots and Systems (IROS-03). Vol. 3.
tems AIPS’94. Chicago, IL (USA). pp. 49–54. Las Vegas (USA). pp. 2121–2127.
Gerkey, Brian P., Richard T. Vaughan and Andrew Ho- Woo, Evan, Bruce A. MacDonald and Félix Trépa-
ward (2003). The Player/Stage project: tools for nier (2003). Distributed mobile robot applica-
multi-robot and distributed sensor systems. In: tion infraestructure. In: Proceedings of the 2003
Proceedings of the 11th International Conferen- IEEE/RSJ International Conference on Intelli-
ce on Advanced Robotics ICAR’2003. Coimbra gent Robots and Systems (IROS-03). Vol. 2. Las
(Portugal). pp. 317–323. Vegas (USA). pp. 1475–1480.