PDF de programación - Programación de robots móviles

Imágen de pdf Programación de robots móviles

Programación de robots móvilesgráfica de visualizaciones

Publicado el 12 de Septiembre del 2018
1.345 visualizaciones desde el 12 de Septiembre del 2018
2,4 MB
42 paginas
Creado hace 19a (02/08/2004)
Programación de robots móviles

José María Cañas Plaza

Universidad Rey Juan Carlos

2 de agosto de 2004

Resumen

El comportamiento de un robot autónomo viene determinado por el pro-
grama que gobierna sus actuaciones. La creación de programas para ro-
bots debe cumplir con ciertos requisitos específicos frente a la programación
en otros entornos más tradicionales, como el ordenador personal. En este
artículo planteamos que el software de los robots se estructura actualmente
en tres niveles: sistema operativo, plataforma de desarrollo y aplicaciones
concretas. En los últimos años, han surgido con fuerza plataformas de de-
sarrollo con la idea de facilitar la construcción incremental de estas aplica-
ciones robóticas. Más allá del acceso básico a los sensores y actuadores, las
plataformas suelen proporcionar un modelo para la organización del código
y bibliotecas con funcionalidades comunes. En este artículo se identifican
y analizan esos tres niveles, describiendo desde esta perspectiva los entor-
nos de desarrollo de los robots reales más extendidos, y las tendencias más
recientes.

Índice

1. Introducción

2

2. Software de robots

4
5
2.1. Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.2. Sistemas operativos, plataformas y aplicaciones
. . . . . . . . . . .
2.3. Herramientas
8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. Lenguajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3. Sistemas operativos

12
3.1. Sistemas operativos dedicados y generalistas . . . . . . . . . . . . . 12
3.2. Procesadores, sensores y actuadores . . . . . . . . . . . . . . . . . . 15

1

1 INTRODUCCI ÓN

2

4. Plataformas de desarrollo

17
4.1. Abstracción del hardware . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2. Arquitectura software . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3. Funcionalidades de uso común . . . . . . . . . . . . . . . . . . . . . 21
4.4. Arquitectura cognitiva . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5. Plataformas de software libre
. . . . . . . . . . . . . . . . . . . . . 25

5. Entornos de programación de robots

29
5.1. Aibo de Sony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2. RCX de LEGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3. Pioneer de ActivMedia . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.4. B21 de iRobot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6. Conclusiones y perspectivas

36

1.

Introducción

El principal objetivo de la robótica es la construcción de máquinas capaces
de realizar tareas con la flexibilidad, la robustez y la eficiencia que exhiben los
humanos. Los robots son potencialmente útiles en escenarios peligrosos para el ser
humano, aburridos, sucios o difíciles. En este sentido los brazos robóticos que se
emplean en las fábricas de coches para soldar y pintar, los robots móviles que se
envían a Marte, o los que se utilizan para limpiar centrales nucleares son varios
ejemplos de aplicaciones reales en las cuales se utilizan robots hoy día.

Hay muchos tipos de robots: con ruedas, con patas, brazos manipuladores, con
orugas, de forma humanoide, de forma cilíndrica, etc. Sin embargo, la morfología
no es una característica esencial, lo que identifica a cualquier robot es que combina
en la misma plataforma a sensores, actuadores y procesadores. Los sensores miden
alguna característica del entorno o propia (e.g. cámaras, sensores de obstáculos,
etc.). Los actuadores permiten al robot hacer algo, llevar a cabo alguna acción o
simplemente desplazarse (e.g. los motores). Los procesadores hacen los cómputos
necesarios y realizan el enlace lógico entre sensores y actuadores, materializando
el comportamiento del robot en el entorno en el cual se encuentra inmerso.

Generar comportamiento es programar

La existencia de robots que realicen autónomamente tareas de modo eficiente
depende fundamentalmente de su construcción mecánica y de su programación.
Una vez construido el cuerpo mecánico del robot, conseguir que realice una tarea
se convierte en la práctica en un problema de programación. La generación de com-
portamiento en un robot consiste entonces en escribir el programa que al ejecutarse

1 INTRODUCCI ÓN

3

en el robot causa ese comportamiento cuando éste se encuentra en cierto entorno.
La autonomía y la “inteligencia” residen en ese programa. Por ejemplo, en los ro-
bots móviles el comportamiento principal es su movimiento. Los programas que se
ejecutan en el robot determinan cómo se mueve éste por el entorno, reaccionando
ante obstáculos percibidos por los sensores, acercándose a algún destino, etc. y
para ello tienen que enviar continuamente las órdenes pertinentes a los motores.

El mercado de los robots y la autonomía

Muchos de los robots que se venden en la actualidad se compran como produc-
tos cerrados, programados por el fabricante e inalterables, por ejemplo la aspira-
dora robótica Roomba de iRobot1 o el perrito Aibo2 de Sony en sus inicios3. En
contraste, otra parte relevante del mercado son los robots programables. Los prin-
cipales clientes de estos robots son los centros de investigación, que normalmente
están interesados en programarlos ellos mismos. En estos casos, el fabricante vende
los robots con un software que permite su programación por el usuario.

La tendencia actual del mercado de robots es de crecimiento real: cada vez
son más los productos robóticos que se venden y más frecuentes los movimientos
empresariales alrededor de la tecnología robótica. Por ejemplo, recientemente Sony
compró la licencia del software de visión a la pequeña empresa Evolution Robotics4,
para usarla en sus robots. Los robots de LEGO como juguetes imaginativos y
los perritos Aibo vendidos como mascotas son éxitos de ventas significativos, con
centenares de miles de unidades cada uno.

Aunque está en vías de consolidación, en términos generales el mercado de los
robots móviles está inmaduro y todavía no se ha abierto al gran público. Esto
se debe en parte a la fragilidad de los resultados (sobre todo comparados con las
expectativas) y las limitaciones en autonomía que tienen los robots conseguidos
hasta la fecha. De hecho, el grado de autonomía y de fiabilidad que seamos capaces
de conseguir en los robots será una cuestión determinante en la evolución futura
de ese mercado. El crecimiento en autonomía abre la puerta a nuevas aplicaciones
comerciales robóticas, como los robots de servicio y los de entretenimiento. Avances
recientes en esta línea son los ya mencionados de la aspiradora robótica Roomba
y la mascota Aibo.

Sin embargo la autonomía es difícil, y salvo casos contados, el desarrollo de
aplicaciones con robots sigue siendo materia de investigación. Al día de hoy, los
proveedores de robots hacen negocio vendiendo los componentes hardware (pla-

1http://www.irobot.com
2http://www.aibo-europe.com
3En el verano de 2002 Sony hizo pública la interfaz de programación de sus perritos, Open-R,

en parte forzados por un hacker que había conseguido desvelar algunas de sus interfaces

4http://www.evolution.com/

2 SOFTWARE DE ROBOTS

4

taformas físicas, motores, sensores, etc.) y con algunas soluciones a medida para
clientes específicos. También venden el software de desarrollo, más o menos com-
pleto, e incluso algunas aplicaciones de ejemplo sencillas y/o más maduras, como
la construcción de mapas o el seguimiento de personas.

Este artículo está organizado en seis partes contando con esta introducción.
En la segunda sección se reseñan las peculiaridades que tiene la programación de
robots y se presentan los tres niveles identificados en ese software, la evolución
histórica que ha desembocado en ellos y las tendencias actuales. En la tercera
sección se describe el nivel más bajo: el hardware que conforma típicamente un
robot y los sistemas operativos que permiten acceder a él, repasando dos ejemplos
concretos (ROBIOS y Linux). En el cuarto apartado se detallan las características
principales de las plataformas de desarrollo que han aparecido en los últimos años
y se analizan varios ejemplos particulares. A modo de ilustración, en la quinta
sección se describen con cierto detalle los entornos de programación de cuatro
robots comerciales muy difundidos (LEGO, Aibo, Pioneer y B21) enmarcándolos
en los tres niveles mencionados. Finalizamos con las conclusiones principales de
este trabajo.

2. Software de robots

En el manejo de robots conviene diferenciar entre el usuario final y el progra-
mador, pues el robot ofrece interfaces muy distintas a uno y a otro. El usuario es
quien aprovecha las aplicaciones que ha desarrollado el programador. Para él la in-
terfaz de uso suele ser extremadamente sencilla, máxime si el usuario es el público
en general. Por ejemplo, la interfaz de uso de la aspiradora Roomba es un simple
botón. Por el contrario, la interfaz de programación requiere de ciertos conocimien-
tos por parte del desarrollador, y su objetivo es permitir la creación de programas
para el robot. A lo largo de este artículo se analizan las diferentes posibilidades de
programación de los robots móviles que se venden en la actualidad.

En los últimos años los avances en aplicaciones de robots móviles autónomos
han sido significativos. Hoy en día, hay resultados fiables en aplicaciones como
la construcción de mapas, la navegación automática, la localización, la detección
de caras o el procesamiento de visión estéreo. Por ejemplo, en algunas fábricas
hay robots que se mueven solos de un punto a otro remoto sin chocar con ningún
obstáculo, transportando piezas pesadas. La funcionalidad de los prototipos de in-
vestigación construidos es cada vez mayor: guías de museos, cuidadores de ancia-
nos, etc. No hay magia: detrás de esas aplicaciones hay programas que determinan
el
  • Links de descarga
http://lwp-l.com/pdf13464

Comentarios de: Programación de robots móviles (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad