Vega Castillo, Paola; Vílchez Monge, Marta; Villegas Lemus, Milton; Alvarado Moya, Pablo
Consideraciones de diseño para robots miniaturizados
Tecnología en Marcha, Vol. 23, N.° 5, Número Especial 2010, P. 60-68
Consideraciones de diseño
para robots miniaturizados
Paola Vega Castillo1
Marta Vílchez Monge2
Milton Villegas Lemus3
Pablo Alvarado Moya4
Fecha de recepción: 19/07/2010
Fecha de aceptación: 20/07/2010
Palabras clave
Key words
Arquitectura, robots miniaturizados,
sistemas microelectromecánicos.
Architecture, miniaturized robots,
microelectromechanical systems.
Resumen
Abstract
En este artículo se presenta un resumen
de las principales consideraciones para
el diseño de robots miniaturizados, desde
el punto de vista de su arquitectura.
La definición de la arquitectura de un
minirobot se discute desde los aspectos
funcional, físico y comportamental; este
último incluye la arquitectura de software.
Se discuten, también, aspectos claves
de la implementación de la arquitectura
funcional y física que pueden definir la
factibilidad de miniaturizar un robot,
entre estos: el consumo de potencia, el
sistema de comunicación y la fuente de
energía del robot. Se contemplan, también,
las consideraciones de diseño para los
actuadores microelectromecánicos.
This article presents an overview of the
main considerations for the design of
miniaturized robots, from the architectural
point of view. The definition of the
architecture of a miniaturized robot is
discussed considering its functional,
physical and behavioural domains. Key
considerations on the implementation of
the functional and physical architecture are
exposed, which may define the feasibility
of miniaturizing a robot, such as power
consumption, the communication system,
the robot’s energy source. Considerations
on the design of microelectromechanical
actuators are also discussed.
1.
2.
3.
4.
60
Escuela de Ingeniería Electrónica, Instituto Tecnológico de Costa Rica. Correos electrónicos: pvega@
itcr.ac.cr, /
[email protected]
Escuela de Física, Instituto Tecnológico de Costa Rica. Correo electrónico:
[email protected]
Escuela de Ingeniería en Computación, Instituto Tecnológico de Costa Rica. Correo electrónico:
[email protected]
Escuela de Ingeniería Electrónica, Instituto Tecnológico de Costa Rica. Correos electrónicos: palvarado@
itcr.ac.cr, y
[email protected]
Vol. 23, N.° 5 2010 Conocimiento para innovar
El concepto de arquitectura de
un robot
En general, el término arquitectura
se refiere a la identificación de los
componentes que conforman un sistema,
así como las interrelaciones existentes entre
estos componentes. Dentro de un proyecto
de robótica, los componentes pueden
identificarse desde diferentes dominios:
físico, funcional y comportamental, como
se ilustra en la figura 1.
Al determinar la
arquitectura del robot en
los dominios funcional,
físico y comportamental,
se obtiene una propuesta
de implementación
en términos de
bloques, identificando
sus funciones, la
especificación de
entradas y salidas,
tamaño, consumo de
potencia máximo y
organización espacial
en el robot.
Al determinar la arquitectura del robot
en los dominios funcional, físico y
comportamental, se obtiene una propuesta
de implementación en términos de
bloques, identificando sus funciones,
la especificación de entradas y salidas,
tamaño, consumo de potencia máximo
y organización espacial en el robot. Este
último aspecto es la base para la definición
de especificaciones para el diseño de los
actuadores del robot.
Arquitectura en el
dominio funcional
La arquitectura funcional consiste en la
definición de los bloques funcionales
necesarios para llevar a cabo las funciones
del robot, es decir, la identificación de los
elementos electrónicos y electromecánicos
necesarios para la implementación del
robot en términos de las tareas que dichos
elementos realizan.
Así, esta arquitectura identifica los
componentes funcionales del robot
y sus interrelaciones y desarrolla la
estructura de la funcionalidad asignada
a los componentes mecánicos, donde,
posiblemente, un componente mecánico
corresponda a varios modelos funcionales,
o una funcionalidad deba ser realizada
por medio de varios módulos físicos. La
figura 2 muestra el diagrama de bloques
básico para la arquitectura funcional de
un robot.
El grado de inteligencia y la cantidad
de dispositivos periféricos, así como la
complejidad de los cálculos u operaciones
por realizar, determinan la arquitectura
del sistema electrónico por utilizar. Para
aplicaciones del robot que deban incluir
comunicación y control simple, pero
también flexibilidad de programación y
memoria de datos y programa, la captura,
almacenamiento e interpretación de
Figura 1. Dominios arquitecturales de un robot
Número Especial 2010
61
Microcontrolador
Comunicación
Memoria de
datos
Acondicionamiento de
señal
Actuadores
Tratamiento
de señal
Sensores
Figura 2.
En general, para
reducir el consumo de
potencia de un sistema
electrónico debe
utilizarse la tensión
de alimentación más
baja posible, esta es
la variable de mayor
impacto en el consumo
de potencia dinámico,
pues este componente
es proporcional al
cuadrado de la tensión
de alimentación.
señales de sensores, un microcontrolador
es la alternativa más viable en términos de
costo, grado de sofisticación y flexibilidad.
El uso de un microcontrolador y su
memoria de programa otorgan flexibilidad
en la programación del robot; dicha
flexibilidad permite configurarlo para las
diferentes aplicaciones y da la posibilidad
de incluir, progresivamente, inteligencia
en el robot.
La elección del microcontrolador también
está condicionada a otras funciones, como
el ajuste de la frecuencia de operación,
la existencia de una unidad de manejo
de potencia (power management unit) y
cantidad de memoria RAM y EEPROM
requerida para la aplicación.
El ajuste de la frecuencia de operación
permite bajar el consumo de potencia
dinámica, ajustándolo a la situación
particular del robot. Para funciones
de alta velocidad puede aumentarse la
frecuencia, y para funciones más lentas
puede disminuirse. Esto reduce el
consumo de potencia en las funciones
lentas, el calentamiento, y aumenta el
tiempo en el cual puede utilizarse la
energía almacenada, o aminorando la
demanda de energía de un sistema de
alimentación permanente. Asimismo,
ajusta la frecuencia de operación a las
necesidades específicas de los actuadores
62
Vol. 23, N.° 5 2010 Conocimiento para innovar
requeridos para aplicaciones particulares
del robot.
Igualmente, una unidad de manejo de
potencia mantiene un bajo consumo de
potencia en el microcontrolador y pone
el microcontrolador en estado inactivo
cuando el robot no opera; por ejemplo, en
situaciones de espera. Esta característica
es de gran importancia ya que la energía
es un factor crítico para la miniaturización
de robots e, incluso, el volumen requerido
para el almacenamiento y la obtención de
energía puede convertirse en la limitante
que impida lograr las metas de tamaño de
un robot.
En general, para reducir el consumo de
potencia de un sistema electrónico debe
utilizarse la tensión de alimentación
más baja posible, esta es la variable de
mayor impacto en el consumo de potencia
dinámico, pues este componente es
proporcional al cuadrado de la tensión de
alimentación. Sin embargo, la escogencia
del valor de la tensión de alimentación está
limitada por dos factores:
•
La tensión mínima de operación requerida
por los actuadores y sensores.
•
El rango de tensiones necesario para la
operación de las etapas analógicas de
adquisición y amplificación de señal de
los sensores.
Aunque un microcontrolador puede operar
a tensiones tan bajas como 1,2 V, al igual
que en las etapas digitales de tratamiento
de señal. Sin embargo, las etapas
analógicas trabajan mejor a tensiones de
alimentación de 2 V y superiores. Para
circuitos personalizados, la tensión de
alimentación determina, también, el costo
de la fabricación, dado que las tecnologías
avanzadas operan con tensiones menores,
pero son mucho más costosas.
En el primer caso, se
incrementa el costo de
fabricación, dado que se
requiere una fabricación
personalizada del
circuito integrado.
Por otra parte, una tensión de alimentación
de 3 V está dentro del límite inferior
requerido para la mayoría de los actuadores.
Esto significa que al menos los puertos
de salida del microcontrolador deben
proveer una tensión de salida de 3 V.
De lo contrario, se requerirían circuitos
acondicionadores de señal adicionales,
los cuales deben fabricarse de forma
personalizada y, posteriormente, deben
ser conectados al microcontrolador,
integrándolos directamente en el mismo
dado de silicio, como un SoP (System on
Package) o con componentes discretos.
Otro factor importante por considerar en la
arquitectura funcional es la comunicación
del robot.
La autonomía del robot implica que la
comunicación debe ser inalámbrica; la
inducción magnética es el método más
común para la alimentación inalámbrica
de dispositivos electrónicos, generalmente,
por radiofrecuencia. No obstante, el
tamaño y consumo de potencia de los
sistemas de radiofrecuencia hacen difícil
su aplicación en minirobots. Además, en
aplicaciones biomédicas y de microcirugía
existen restricciones aún en la energía y
frecuencia de transmisión, donde se definen
magnitudes límites para campos eléctricos
y magnéticos catalogadas como seguras
para el ser humano, así como valores
de potencia y frecuencia de transmisión
que no interfieran con otros dispositivos
médicos en ambientes hospitalarios.
En el primer caso, se incrementa el costo
de fabricación, dado que se requiere una
fabricación personalizada del circuito
integrado. El segundo caso representa un
compromiso entre costo y volumen; mientras
que el uso de componentes discretos, aunque
es una opción a muy bajo costo, tiene como
consecuencia un aumento muy significativo
del tamaño del robot.
Para otros ambientes de operación, una
limitación adicional del uso de inducción
electromagnética y radiofrecuencia es el
tamaño de las antenas que deben integrarse
en el robot. Típicamente, las antenas
requeridas son del tamaño de centímetros
cuadrados. La reducción del tamaño de la
antena requiere un aumento en la frecuencia
de operación, por lo que la operación de
los circuitos de rectificación y tratamiento
de señal consumirían una gran cantidad de
energía. Además, el aumento en la frecuencia
empeoraría el efecto de las capacitancias
parásitas en las antenas integradas.
De esta forma, el límite superior de 3V
para la tensión de alimentación es la mejor
opción para lograr un compromiso entre
consumo de potencia y operabilidad de los
actuadores y las etapas analógicas del robot.
Aunque otras opciones de actuación, tales
como la térmica, requieren de muy bajas
tensiones de operación, su consumo de
potencia es mucho mayor; por lo tanto, esta
es una opción poco atractiva para lograr un
robot autónomo miniaturizado, al aumentar
el volumen de almacenamiento de energía y
el área para la captura de energía.
Otra opción para implementar la
comunicación inalámbrica en el robot es
utilizando medios ópticos. La comunicación
infrarroja evita la interferencia magnética;
también se puede implementar un sistema
de comunicación utilizando dispositivos
pequeños, de fácil ensamble, en el robot.
La distancia de transmisión del robot está
determinada por el consumo de potencia
necesario y el tiempo durante el cual
se requiere la transmisión, dado que
reduce el tiempo de carga de la batería.
Puesto que la recepción infrarroja utiliza
Número Especial 2010
63
menos energía que la transmisión, facilita
la implementación de la comunicación,
al menos unidireccional, para transmitir
comandos e información al robot.
Arquitectura en el
dominio físico
Para algunas
aplicaciones, la
energía solar podría
no estar disponible, y
la obtención de energía
fotovoltaica de una
fuente omnidireccional
no es posible en
las condiciones de
operación del robot,
pues la radiación
lumínica incidente
deslocalizada podría
alterar una muestra o
las mediciones.
La arquitectura física del sistema consiste
en las especificaciones de tamaño, la
organización de los bloques en el volumen
asignado, la elección de materiales, el
principio de funcionamiento y el diseño
de los componentes físicos, tomando en
cuenta los aspectos mecánicos del robot
y las interrelaciones mecánicas de esos
componentes. Para las especificaciones
de los bloques, deben tomarse en cuenta
las funciones, las señales de control, el
tamaño, el consumo de potencia máximo y
la organización espacial en el robot.
Para definir la arquitectura física de un
robot, debe tomarse en cuenta que el
ambiente de operación impuesto por la
aplicación del robot restringe o impide la
utilización de ciertos fenómenos físicos para
los mecanismos de actuación, así como la
captura y el almacenamiento de energía.
La arquitectura física del robot permite
identificar
los
sistemas
microelectromecánicos
necesarios
para
lograr las funciones deseadas. Entre los
parámetros típicos de diseño de sistemas
microelectromecánicos, se incluyen fuerzas,
desplazamientos, potencia, eficiencia,
linealidad y ancho de banda. También, es
de gran importancia considerar el costo
de fabricación de los microactuadores y la
viabilidad de su microfabricación con los
procesos disponibles.
Otro factor importante en la escogencia
de los mecanismos de actuación es que,
en la medida de lo posible, los actuadores
puedan ser manejados directamente por los
circuitos de salida del microcontrolador,
para disminuir el tamaño requerido por el
sistema microelectrónico del robot. Por
ejemplo, esto es posible en el caso de los
64
Vol. 23, N.° 5 2010 Conocimiento para innovar
actuadores piezoeléctricos, pero no en
el térmico, por lo cual se requiere de un
transistor bipolar conectado a la salida de
los pines del microcontrolador.
Otro aspecto de crítico para la arquitectura
física de un minirobot es la obtención
y el almacenamiento de energía. La
autonomía del robot implica que la energía
debería suplirse de forma inalámbrica.
Normalmente, la transmisión inalámbrica
de energía para dispositivos electrónicos se
lleva a cabo por inducción. Sin embargo,
el tamaño y consumo de potencia de los
sistemas de radiofrecuencia hacen difícil
la alimentación de un minirobot. Al igual
que en el caso de la comunicación por
inducción, deben contemplarse, además, las
magnitudes límites para campos eléctricos
y magnéticos definidas como seguras para
el ser humano y que permitirán operar sin
interferir con otros dispositivos médicos
personales u hospitalarios.
Para algunas aplicaciones, la energía
solar podría no estar disponible, y la
obtención de energía fotovoltaica de una
fuente omnidireccional no es posible en
las condiciones de operación del robot,
pues la radiación lumínica incidente
deslocalizada podría alterar una muestra o
las mediciones. Por otra parte, actualmente,
las celdas fotovoltaicas tienen una muy
baja eficiencia, ronda típicamente el 12%.
Existen otros conceptos de celdas
en desarrollo que permitirían llegar
al 30 o 40%, tales como las celdas
multiespectrales; sin embargo, aún no se
encuentran disponibles en el comercio.
Así, la potencia entregada por las celdas
fotovoltaicas expuestas a luz ambiental
intensa es del rango de los cientos de
µW, con aproximadamente 1mW como
frontera superior. Sin embargo, el área
requerida por las fotoceldas podría ser la
limitante para la miniaturización de robot,
además de agregar un peso significativo
al sistema de locomoción, aumentando su
consumo de energía.
La obtención de energía puede
complementarse con su almacenamiento.
La limitación de las baterías de capas
delgadas estriba en su restringida
capacidad de almacenamiento de energía,
debido al poco volumen que es posible
ocupar en el robot, así como el peso que
agregan. La carga de baterías comerciales
de capas delgadas ronda los uAh, y su
potencia máxima está en el rango de los
µW. De esta forma, debe considerarse la
tensión de salida disponible en la batería
para condiciones de consumo máximo, la
corriente máxima requerida por el robot y
el tiempo durante el cual puede suplirse
esta energía.
El diseño de
microactuadores
requiere de un estudio
multifísico que abarque
los aspectos eléctricos,
térmicos y estructurales
del microactuador,
incluyendo estudios
de fatiga, eficiencia
energética del actuador,
consumo de energía y
relación entre energía
mecánica del actuador
y energía eléctrica
aplicada.
En caso de que una aplicación permita la
transmisión de energía utilizando cables, las
tensiones de actuación pueden aumentarse
y ajustarse a cada actuador individual, y las
tensiones de alimentación de los bloques
electrónicos podrían variarse según la
función del bloque. Contar con una fuente
constante de energía, permitiría cumplir
con la demanda energética del robot, aun
sin optimizar el consumo de energía. La
limitante en este caso sería el calor generado
por la potencia total disipada por el robot,
donde es importante eliminar puntos de
temperatura extrema (hot spots).
Desde el punto de vista mecánico, el
diseño de robots miniaturizados enfrenta
un compromiso entre movilidad y tamaño.
La incorporación de un mayor número
de grados de libertad trae un aumento de
volumen, consumo de potencia, tensión
y corriente de actuación, velocidad de
respuesta, frecuencia de operación y
complejidad. Para cada aplicación debe
determinarse el grado de movimiento que
estrictamente deben tener los actuadores,
así como la precisión requerida, pues hay
un compromiso entre rango de acción
y precisión. También deben tomarse en
cuenta los efectos de escala y el efecto
de las fuerzas gravitacionales de van der
Waals y de adhesión, esta última empieza
a predominar sobre la fuerza gravitacional
para objetos con dimensiones menores que
los 50 µm.
El diseño de microactuadores requiere
de un estudio multifísico que abarque los
aspectos eléctricos, térmicos y estructurales
del microactuador, incluyendo estudios de
fatiga, eficiencia energética del actuador,
consumo de energía y relación entre
energía mecánica del actuador y energía
eléctrica aplicada. Desde el punto de vista
de su funcionalidad, el estudio permite
obtener un balance entre precisión y
rangos de operación.
Dependiendo de la aplicación, puede
ampliarse el rango y disminuir la precisión,
o disminuir el rango y aumentar la precisión.
Deben considerarse, además, desde el
punto de vista de la microfabricación,
el costo y el equipo disponible para
litografía, deposición y decapado, el
acceso a tecnologías de fabricación de
circuitos integrados, un cuarto limpio,
equipo de litografía micrométrica, equipo
de deposición química gaseosa y decapado
reactivo por plasma, o bien las tecnologías
de fabricación disponibles comercialmente
por medio de afiliación a consorcios de
fabricación. En este caso, debe adaptarse
el diseño del robot a las características de
los procesos y materiales disponibles.
Los actuadores piezoeléctricos y los
polímeros electroactivos funcionales
en ambientes secos son la alternativa
más viable para la implementación de
microactuadores para minirobots, dado su
bajo voltaje de actuación, bajo consumo de
potencia, simplicidad de control, tiempo
de respuesta y la posibilidad de aumentar
la cantidad de capas electroactivas
del microactuador para aumentar la
deformación de este.
Por otra parte, el diseño de mecanismos
de sujeción implica un entendimiento del
escalamiento de fuerzas, debido a que las
fuerzas de adhesión escalan a menor ritmo
que las fuerzas inerciales. Esto tiene como
consecuencia que conforme se reduce el
Número Especial 2010
65
tamaño de una pinza, es más sencillo
sujetar un objeto que soltarlo. La razón es
que al disminuir el tamaño de los objetos
y su volumen, la fuerza gravitacional
ejercida sobre este es menor. Sin embargo,
las fuerzas de adhesión dependen del área
superficial del objeto. El escalamiento
implica tener un área superficial
relativamente grande en comparación con
el volumen del objeto.
Conceptos de
locomoción basados
en la inercia del
robot podrían no ser
aplicables, al disminuir
las dimensiones y el
peso del robot, o al
menos no podrían
continuar aplicándose
indefinidamente
conforme continúe
el escalamiento de
un robot.
Un aspecto vital para el diseño de un
robot miniaturizado es la locomoción.
Conceptos de locomoción basados
en la inercia del robot podrían no ser
aplicables, al disminuir las dimensiones y
el peso del robot, o al menos no podrían
continuar aplicándose indefinidamente
conforme continúe el escalamiento de
un robot. Por otra parte, la escogencia
de materiales es clave, desde el punto de
vista de sus propiedades, como del costo
de la implementación. Por ejemplo, la
independencia de la tecnología de silicio
puede disminuir los costos de fabricación,
tanto por el costo de los materiales, como
por el ahorro de la producción de máscaras
personalizadas y la fabricación o su
subcontratación.
El movimiento autónomo del robot en
largas distancias, es decir, varios órdenes
de magnitud mayores que la longitud del
robot, significa un alto consumo de potencia
y serias limitaciones en el desplazamiento.
Si se considera el uso de un sistema de
almacenamiento de energía, aumentando
el volumen de almacenamiento, el robot
podría requerir más de una carga de
energía para desplazarse, dependiendo
de la trayectoria que deba seguir para
posicionarse en los puntos de interés.
El movimiento del robot involucra la
distancia por recorrer y la precisión de
posicionamiento en la región a caracterizar.
Esto se logra con pequeños tamaños de
paso. Sin embargo, para distancias largas,
el robot requeriría, entonces, una gran
cantidad de pasos para llegar al punto de
interés; en consecuencia, su desplazamiento
66
Vol. 23, N.° 5 2010 Conocimiento para innovar
sería lento y consumiría gran cantidad de
energía. Por otra parte, implementar pasos
más grandes disminuiría su precisión.
Una posibilidad para mitigar este problema
es la implementación de modos de
locomoción de paso pequeño y paso grande,
si los actuadores lo permiten. De otra
forma, podría ponerse en marcha un sistema
de posicionamiento grueso independiente y
complementario al robot, de forma que lo
desplace rápidamente, con pasos grandes, sin
que este utilice su propia locomoción, con lo
que se reduce el tiempo de desplazamiento
y no se utiliza la energía propia del robot.
Al acercarlo al área aproximada de prueba,
utilizando un sistema de posicionamiento,
la energía del robot puede usarse para otras
funciones. Posteriormente, su locomoción
autónoma se utilizaría para ubicar con
precisión el punto de interés, utilizando
pasos más pequeños.
Arquitectura en el dominio
comportamental
La arquitectura de comportamiento
estructural describe las respuestas
y reacciones del robot en su entorno.
En esta arquitectura se especifican los
niveles de procesamiento de tareas para
lograr comportamientos específicos.
Para la elección de una arquitectura
comportamental, deben considerarse los
siguientes elementos [1,2]:
•
La complejidad de las tareas a realizar
por el robot.
•
El grado de interacción con el ambiente
requerido por el robot.
•
El grado de dinamismo del ambiente
de operación del robot.
•
La robustez ante el ruido y la
incertidumbre.
•
La reactividad ante cambios.
•
El planeamiento como mecanismo de
toma de decisiones.
•
El manejo de objetivos incompatibles.
•
La adaptabilidad a eventos inesperados
e impredecibles.
La arquitectura comportamental define,
tomando en cuenta los elementos
mencionados, cómo se diseña y cómo opera el
robot. Tanto el ambiente de aplicación como
la aplicación juegan un papel predominante
en la elección de la arquitectura.
Esta arquitectura consiste en la estrategia
de toma de decisiones incluye la interfaz
con el usuario y la forma de reaccionar
del robot ante determinados eventos.
Asimismo, determina la interfaz entre
hardware y software, definiendo así
aspectos tales como el sistema operativo
que utilizará el robot.
En la concepción de la arquitectura
comportamental debe considerarse la
posibilidad de implementar en el robot
mecanismos de defensa rápidos, para
impedir comportamientos auto destructivos
o destructivos. Esta arquitectura debe
considerar la concepción de un robot
reactivo e inteligente y permitir, fácilmente,
añadirle tareas de mayor complejidad. Aun
cuando el robot inicialmente no requiera
ejecutar tareas de manera recurrente, la
escogencia de la arquitectura debe preveer
un futuro aumento en el número de
tareas, su complejidad y, eventualmente,
Figura 3. Sistema multiplataforma y multisistema, utilizando XML.
la necesidad de procesamiento concurrente en etapas más avanzadas de
implementación. La arquitectura elegida
debería permitir la creación fácil de robots
con comportamientos complejos, sobre
la base de un robot de comportamiento
básico, con lo que este podría convertirse
en un diseño base para producir robots
para otras aplicaciones.
Puesto que los comportamientos del
robot se realizan principalmente a través
de procesos de software, la arquitectura
comportamental tiene una relación
estrecha con la arquitectura del software;
esta se define como la estructura dada a los
módulos de software y sus interrelaciones,
que especifica funciones y comportamientos
ofrecidos por los módulos, así como las
interfaces d e uso de módulos internos al
robot y de interacción con estos.
La arquitectura del software en el
computador para el manejo del robot
requiere, por su naturaleza, de módulos
desarrollados para diferentes plataformas,
en diferentes lenguajes. De modo que
es necesaria una estrategia que permita
integrar dichos módulos en la medida en
que se concluye su programación.
La arquitectura del software se estructura
en capas. La capa inferior es un módulo que
soporta una gramática especificada para el
lenguaje particular a nivel de máquina, y
se diseña considerando los tipos de datos
necesarios para describir al hardware y su
abstracción para las capas superiores. Para
compartir información entre los sistemas
o módulos heterogéneos que componen la
arquitectura, se propone utilizar XML [3].
Un esquema de esta primera definición
puede apreciarse en figura 3.
Otro aspecto que termina de definir la
arquitectura global es la especificación de la
Interfaz de Programación de Aplicaciones
(API, Application Programming Interface).
Esto posibilita a los niveles inferiores
ofrecer servicios para la recepción de
parámetros a las capas superiores que
Número Especial 2010
67
interactúan con el usuario. Uno de los
servicios que se considera útil para
este nivel es el REST [4], pues permite
especificar el formato de devolución de
los parámetros, ya sea texto plano, RTF
o XML.
La especificación de una API proporciona
la flexibilidad para ejecutar módulos
en diferentes plataformas o sistemas
operativos; esto permite la integración
de módulos que, por disponibilidad
de bibliotecas, se desarrollen en una
plataforma específica diferente a la de los
módulos ya existentes, como lo muestra
la figura 4.
Esta interfaz da independencia al lenguaje
de programación y al sistema operativo
sobre el cual fue creado cada módulo
individualmente. Por ejemplo, se puede
establecer una comunicación entre módulos
desarrollados en distintas distribuciones de
GNU/Linux, incluso con diferentes kernels
y versiones de los programas utilizados.
También es posible la comunicación
entre módulos desarrollados en lenguajes
diferentes como C, Java o ensamblador. La
salida de cada módulo es generada como
un archivo XML estándar. El API interpreta
las salidas, y con base en estas, genera un
nuevo archivo XML, por medio de un
servicio REST, para ser utilizado como
entrada en los módulos que requieran los
datos. La especificación de funciones y el
esquema de comunicación entre módulos,
observando un lenguaje de comunicación
estándar entre ellos es parte del diseño y
especificación del software.
Conclusión
En este artículo se describieron las
consideraciones de diseño para un robot
miniaturizado, considerando los tres
dominios arquitecturales: físico, funcional
y comportamental. Se expusieron
consideraciones de hardware, software,
energía, comunicación y efectos de escala
en sistemas microelectromecánicos que
deben tomarse en cuenta para posibilitar
la miniaturización de robots.
Bibliografía
[1] Coste-Maniere, E. y Simmons, R.
“Architecture, the backbone of robotic
systems”. Proceedings of the 2000 IEEE
International Conference on Robotics and
Automation. California, Abril 2000.
[2] Decugis, V., Ferber J. “Action Selection in
an Autonomous Agent with a Hierarchical
Distributed Reactive Planning Architecture”
Proceedings of the Second International
Conference on Autonomous Agents, pp. 354
– 361. May 1998.
[3] http://www.w3.org/XML/
[4] http://code.google.com/apis/ajaxsearch/
documentation/
Figura 4. Comunicación de módulos desarrollados en diferentes sistemas
operativos por medio de API.
68
Vol. 23, N.° 5 2010 Conocimientos para innovar