Info

Caso real en Airbus

Aplicaciones de robótica bi-brazo en automatizacion aeronáutica

Héctor Herrero, Fernando García, Urko Esnaola y Damien Sallé, de Tecnalia Research and Innovation, División de Industria y Transporte (fhector.herrero; fernando.garcia; urko.esnaola; damien.salleg@tecnalia.com); y Karmele López de Ipiña, del departamento de Ingeniería de Sistemas y Automática, UPV/EHU (karmele.ipina@ehu.es)18/01/2016
Este artículo presenta las aplicaciones de la robótica bi-brazo para automatización aeronáutica. Se introduce una arquitectura basada en máquinas de estado con el objetivo de incrementar la flexibilidad de la programación de robots bi-brazo. La arquitectura propuesta permite un control absoluto de la ejecución, facilitando la coordinación de los brazos cuando es necesario. Este trabajo pretende afrontar los retos de la programación de robots bi-brazo, proporcionando un núcleo robusto y fiable que es capaz de interconectar diferentes módulos software donde cada uno permite diferentes capacidades. Se exponen una serie de demostradores con diferentes aplicaciones que se han probado en las instalaciones de Airbus Operations en Puerto Real, España.

El compromiso de la planta de Airbus Puerto Real con la innovación continua, le ha convertido en un referente en procesos y sistemas productivos de montaje aeronáutico, que ha incrementado y mantenido su competitividad dentro de todo el grupo. Un factor clave para cumplir este objetivo es el uso de la robótica, que permite aumentar la competitividad permitiendo el aumento de la productividad, la flexibilidad y la calidad. Robótica y automatización se han utilizado en plantas productivas desde los años 80, pero la producción con operaciones manuales sigue siendo una realidad en muchas industrias, especialmente en la producción aeronáutica, para procesos de ensamblaje en particular. Tecnalia ha identificado 3 razones principales para explicarlo:

  • Las operaciones de ensamblaje preciso o complejo no se pueden automatizar a coste razonable con las tecnologías actuales de robótica y automatización.
  • Estas tareas de ensamblaje o de producción necesitan dos manos para ejecutarse o tienen muy mala accesibilidad y las soluciones utilizando dos robots no caben dentro de los puestos de trabajo o las estaciones de producción.
  • Parte de las operaciones de producción necesitan que una persona trabaje al lado del robot, con condiciones de seguridad (aislamiento total entre robot y persona) que hoy en día son incompatibles con las operaciones y los diseños de las estaciones (separación física, rejas, barreras fotoeléctricas).

La estrategia propuesta por Tecnalia es utilizar la última generación de robots bi-brazo para automatizar tareas de ensamblaje aeronáutico. La automatización de operaciones de montaje mediante robots bi-brazos persiguiendo una automatización de muchas operaciones que aun hoy no es posible realizar sin una participación humana elevada. La robótica colaborativa y de bajo coste operacional es un hot -topic de investigación en Europa y en el mundo, entendido que la robótica es una de las líneas tecnológicas que más vas a contribuir a la transformación de la fabricación (McKinsey Global Institute). El desarrollo e integración de tal tecnología a robótica necesita un cambio de paradigma con respecto a la robótica tradicional, ya que necesitan capacidades nuevas que se desarrollan con programación no-convencional y muy avanzada. La gran diferencia entre una persona y un robot tradicional es que la persona percibe su entorno, evalúa la viabilidad de su plan, lo adapta al caso particular y ejecuta la operación, mientras que un robot tradicional solo es capaz de ejecutar un plan predefinido. Esta capacidad de adaptación es lo que hace falta para una automatización más amplia de las tareas manuales en plantas productivas y constituye el núcleo de los desarrollos llevados a cabo entre Tecnalia y Airbus. Este planteamiento se traduce en puntos críticos de desarrollo de robótica, visión y arquitecturas de software, que se describen en la Figura 1.

Figura 1: Arquitectura conceptual necesaria para robots bi-brazos
Figura 1: Arquitectura conceptual necesaria para robots bi-brazos.

Este artículo presenta en más detalle una propuesta innovadora para el control de robots bi-brazos que pretende permitir la programación fácil, rápida y robusta de aplicaciones robóticas en el sector del ensamblaje aeronáutico: una nueva arquitectura de control basada en máquinas de estados y habilidades del robot. También presenta casos concretos de su aplicación en operaciones de preparación y ensamblaje de componentes aeronáuticos.

La investigación realizada en este artículo se centra en la necesidad de sistemas robóticos más flexibles. Esta investigación está orientada a desarrollar y proporcionar un ecosistema software que permita una programación rápida y eficiente de procesos de producción. Aunque este enfoque es genérico y aplicable a robots industriales tradicionales, este artículo se centra en operaciones con un robot bi-brazo.

Los robots bi-brazos permiten más destreza, además de la ventaja de que pueden ser utilizados en las estaciones de trabajo existentes. Debido a esto, la implantación de robots bi-brazo está creciendo año tras año, no solo en grandes multinacionales, sino también en las pequeñas y medianas empresas. Teóricamente, los expertos del sector dicen que las inversiones para la implantación de robots se amortizan en 1-2 años, pero esta afirmación no es extrapolable a aplicaciones con robots bi-brazo y especialmente a series cortas de producción o entornos propensos a muchos cambios, ni tampoco a procesos industriales que necesitan colaboración humano-robot o una supervisión especial del entorno, así como tampoco a otros casos que necesitan soluciones específicas.

El crecimiento de los sistemas bi-brazo [1] resulta en muchos esfuerzos por parte de la comunidad robótica para su control. La programación, coordinación y supervisión de robots bi-brazo es una necesidad que se está demandando por la comunidad.

En este artículo se ha realizado una revisión de las arquitecturas software utilizadas en el mundo de la robótica (Sección 2). A continuación se presentan los retos que se pueden identificar para la programación de robots bi-brazo (Sección 3). Para facilitar el despliegue de estas aplicaciones se propone una arquitectura que permite controlar la ejecución de una forma simple y que facilita considerablemente la programación mediante una organización basada en habilidades de las operaciones básicas del robot (Sección 4). Para entender las ventajas de la arquitectura propuesta, se presenta un caso de remachado (Sección 5). Además del caso de uso descrito, se presentan otros demostradores que se han realizado utilizando el mismo sistema robótico y arquitectura (Sección 6). Finalmente, se presentan las conclusiones y el trabajo futuro (Sección 7).

Arquitecturas software para robótica

En los últimos años muchos autores han investigado diferentes paradigmas de arquitecturas para el campo de la robótica. Amoretti, M. y Reggiani, M. [2] presentan un claro análisis de las arquitecturas distribuidas más usadas: distributed object architecture (DOA), component-based architecture (CBA), y service-oriented architectures (SOA). DOA combina técnicas de orientación a objetos con sistemas de computación distribuida; a menudo se utiliza para establecer interfaces de grano no que necesitan un estricto nivel de control de concurrencia en la interacción con múltiples objetos. CBA, por otra parte, está más orientado al diseño de componentes que cuyas interfaces son de más grano grueso que los objetos que despliegan unidades autónomas con propósitos bien de nidos. Finalmente, SOA se suele usar generalmente para relajar el acoplamiento de las entidades software que están auto-contenidas; servicios que pueden usarse sin tener que saber la implementación que está en capas inferiores. Como puede verse estos paradigmas tienen diferentes niveles de abstracción, por lo que se usan en función de los requerimientos de la aplicación.

Cuando se discute sobre arquitecturas robóticas, además de la estructura interna del código, no se debe olvidar la arquitectura del nivel de aplicación, es decir, como se deber a gestionar la ejecución de diferentes componentes o módulos que interactúan entre ellos. En este campo se han propuesto diferentes paradigmas; los más relevantes se listan a continuación [3].

  • Las arquitecturas basadas en funciones fueron los primeros enfoques que se siguieron, también conocidas como arquitecturas de control jerárquico, siguiendo la estrategia sense-plan-act (SPA) o percepción-planificación-acción.
  • En las arquitecturas de control basadas en comportamientos o arquitecturas reactivas de control, sin embargo, no hay etapa de planificación. Las entradas a los actuadores son salidas directas de los sensores. En este punto cabe mencionar la Subsumption Architecture propuesta por Brooks [4], quien es el precursor de las arquitecturas basadas en comportamientos.
  • Combinando las alternativas anteriores, se desarrollaron las arquitecturas híbridas con la intención de hacer frente a los problemas de las arquitecturas anteriores y combinar sus cualidades.

En un nivel más alto de abstracción, podemos encontrar los paradigmas basados en agentes. Jennings and Wooldridge [5] lo describen de la siguiente manera: "Un agente es un sistema informático situado en un entorno, siendo capaz de actuar autónomamente en ese entorno para satisfacer sus objetivos". Innocenti [6] expone un análisis exhaustivo de las arquitecturas de control de robots existentes y también presenta una arquitectura multi-agente para robots autónomos.

Las máquinas de estados para el control de la ejecución son otro punto de vista. Estas herramientas se suelen usar en procesos de propósito general y, en particular, se usan intensivamente en el sector de la robótica. Mediante las máquinas de estado se pueden describir comportamientos y modelar como los componentes reaccionan a estímulos externos e internos [7]. En este área hay implementaciones diferentes, por ejemplo, hay muchos proyectos usando Orocos rFSM. rFSM es una simple y potente implementación de máquinas de estado diseñada para coordinar sistemas complejos como los robots [8]. Smach [9] es otra implementación de esta filosofía. Puede definirse como una arquitectura del nivel de tarea para la rápida creación de comportamientos complejos de robots.

Retos de la programación de robots bi-brazo

Uno de los aspectos que diferencia la programación de robots bi-brazo de la tradicional es que pueden presentarse dos escenarios diferentes [1]:

  1. Trabajos no coordinados.
  2. Trabajos coordinados.

En el caso de los trabajos no coordinados, cada brazo trabaja en un proceso diferente, es decir, un brazo no tiene que preocuparse de los movimientos que realice el otro. Un ejemplo de este escenario puede ser que con un brazo se realice paletizado de una referencia y con el otro se realice un paletizado de otra referencia al mismo tiempo. En este caso no se deben realizar paradas ni sincronizaciones.

En el segundo escenario, ambos brazos realizan diferentes tareas del mismo proceso. Esta configuración se puede dividir en: coordinados por objetivo y coordinación bi-brazo. En el caso de que estén coordinados por objetivo los brazos no interactúan entre ellos, pero tienen ciertos elementos en común, por ejemplo que estén paletizando en la misma caja. Para la coordinación bi-brazo, es necesario controlar y coordinar síncronamente el robot completo, por ejemplo, mover elementos manipulándolos con los dos brazos, o procesos en los que un brazo sujeta un elemento y el otro realiza una operación de ensamblaje. Para estas configuraciones es necesario la comunicación o la coordinación entre los brazos para poder asegurar el correcto comportamiento de todo el sistema.

La programación tradicional de robots todavía no es muy flexible, por lo tanto se puede intuir que la programación de robots bi-brazo lo es incluso menos. En la industria cada vez se piden series más y más pequeñas, y como consecuencia los costes de reprogramación de los robots son altos. Incluso si las piezas que se piden son diferentes, los procesos a realizar son muy similares, por ejemplo, el ensamblaje de piezas similares con tornillos situados en diferentes sitios. En este caso la operación de ensamblaje es la misma, solo cambiar el tipo, tamaño o posición de los tornillos. Muchos autores [10][11][12] han seguido esta tendencia que consiste en agrupar los movimientos básicos del robot (primitivas) en habilidades y tareas.

Uno de los problemas más relevantes en la programación de robots bi-brazo, concretamente para aplicaciones industriales, es la falta de herramientas gráficas que sean fáciles a la vez que potentes [13]. Una interfaz fácil usar que permita la anteriormente comentada programación basada en habilidades, permitirá a los operarios programar y mantener procesos industriales. Esto, además de hacer sentir a los operarios que forman parte del proceso de automatización, también contribuirá a reducir costes de implantación.

Otro aspecto importante concerniente a los robots bi-brazo que no va a ser tratado aquí está relacionado con uno de los escenarios mencionados anteriormente. En el caso de procesos con tareas independientes para cada brazo, el efecto de la inercia generada por el otro brazo debe ser considerado. Este es un problema común en robots bi-brazo en los que los brazos están conectados a un torso central, tal y como se puede ver en la figura 2. Este fenómeno puede producir pérdida de precisión en algunos instantes.

Figura 2: Robot Kawada Nextage Open de Tecnalia
Figura 2: Robot Kawada Nextage Open de Tecnalia.

Coordinación basada en máquinas de estado

El uso de máquinas de estado para el control de ejecución puede afrontar los retos de la robótica bi-brazo. La arquitectura propuesta en este artículo se ha centrado en resolver tanto los problemas relacionadas con trabajos coordinados y no coordinados, además de preparar el camino para los futuros desarrollos de programación basada en habilidades para facilitar el uso de robots bi-brazo.

Se ha escogido ROS para actuar como middleware considerando la amplia y activa comunidad de desarrolladores que está detrás. ROS proporciona el ecosistema necesario para gestionar aplicaciones complejas que contengan planificación de trayectorias con detección de colisiones, pick and place, percepción, simulación y mucho más. En este artículo se utiliza Smach para implementar la máquina de estados. Smach no sólo permite controlar la ejecución, también permite diseñar máquinas de estado jerárquicas complejas; esta característica es especialmente útil para el desarrollo de futuras fases de este proyecto.

En cuanto al hardware, Tecnalia posee un robot Kawada Nextage Open [14] como el que puede verse en la figura 2. Dispone de dos brazos unidos a un torso giratorio con 6 grados de libertad por brazo y una cabeza con dos grados de libertad equipada con sistema de visión estéreo, en conjunto 15 grados de libertad gestionados por un solo controlador. Este robot está conectado a ROS mediante un puente desarrollado mediante la colaboración entre el Laboratorio JSK de la Universidad de Tokio [15], Tork [16] y Tecnalia. El middleware OpenRTM desarrollado por AIST [17] también se encarga de interconectar el robot con ROS. Esta combinación de componentes software permite utilizar todas las capacidades de ROS. En este punto cabe enfatizar que gracias al uso de ROS la presente arquitectura es independiente del sistema robótico: se pueden usar robots diferentes tan solo utilizando el interface apropiado entre ROS y el controlador del robot.

Uno de los primeros requerimientos que fueron identificados era la introspección, una funcionalidad que permite ver en todo momento el estado actual del programa, permitiendo gestionar los posibles errores y mejorar la recuperación de los mismos. En la figura 3 se puede ver esquematizada la arquitectura propuesta. Consiste en dos máquinas de estado, una por brazo, con ciertos estados en común. Estos estados comunes se usan para los trabajos coordinados. El sistema comienza desde el estado Ready y va cambiando a diferentes estados que pueden verse como las capacidades disponibles del robot. Nótese que algunos estados no están incluidos con tal de simplificar el diagrama. Estos estados son Pause/Stop, Error handling y Finish entre otros.

Figura 3: Arquitectura basada en máquinas de estados para controlar robots bi-brazo
Figura 3: Arquitectura basada en máquinas de estados para controlar robots bi-brazo.

El sistema propuesto en este artículo permite supervisar el entorno y cancelar o adaptar planificaciones de acuerdo con los valores recibidos de los sensores y del sistema de percepción.

Validación en un caso de uso de remachado

Este desarrollo se ha realizado en colaboración con Airbus Operations (planta de Puerto Real en España). Una de las tareas más relevantes en ensamblaje de aeroestructuras es la instalación de remaches. Por lo que se ha escogido la operación de coger e introducir un remache como ejemplo de habilidad de manipulación. Esta habilidad está compuesta por los siguientes pasos (figura 4):

  1. Coger y extraer el remache de una bandeja
  2. Mover el brazo hasta una posición de aproximación
  3. Introducir correctamente el remache en un taladrado
Figura 4: Operación de insertado de remache en un taladrado
Figura 4: Operación de insertado de remache en un taladrado.

Se pueden descomponer estas habilidades en primitivas (movimientos básicos) del robot tal y como puede verse en la figura 5. En este caso, las primitivas necesarias son move, close y open. El significado de estas primitivas puede intuirse fácilmente: mover el robot a la posición proporcionada, y abrir y cerrar la garra respectivamente. La figura 5 muestra los parámetros necesarios para esta tarea. Si analizamos los parámetros en detalle, se puede deducir que esta tarea puede realizarse con solamente cuatro parámetros: arm, rivetPosition, rivetModel y holePosition. El valor de los otros parámetros pueden inferirse o usarse con valores por defecto: aproximateDistance podrá ser un valor fijo ya que siempre se va a aproximar a la misma distancia; targetPosition de la habilidad ‘pick rivet’ debe tener el mismo valor que la posición de aproximación de la siguiente habilidad, ‘insert rivet into a drilling’; targetPosition de la segunda habilidad debe ser la posición de comienzo; y finalmente speed puede ser establecido con un valor por defecto.

Una vez que las habilidades están descompuestas, las primitivas resultantes son las que se ejecutan por la arquitectura propuesta. Cada estado procesa la petición, y gestiona los posibles errores que puedan ocurrir. Así, la gestión de errores es más simple y supervisada específicamente en cada estado o modulo. En el ejemplo que está siendo analizado, la secuencia que sigue la máquina de estados es la que se muestra en la figura 6.

Demostraciones en varias aplicaciones

Este desarrollo se ha realizado en colaboración con Airbus Operations (planta de Puerto Real en España). Airbus y Tecnalia están convencidos que esta nueva generación de robots es una Tecnología Clave para la automatización de procesos manuales, porque la mejora de la competitividad mantendría las plantas productivas y el empleo en Europa y España.

Figura 5: Descomposición de las habilidades de coger un remache e insertarlo en un taladrado
Figura 5: Descomposición de las habilidades de coger un remache e insertarlo en un taladrado.
Figura 6: Secuencia seguida por la máquina de estados para la habilidad de coger un remache
Figura 6: Secuencia seguida por la máquina de estados para la habilidad de coger un remache.

Se están desarrollando varios demostradores de aplicación que se integran en una estación piloto, permitiendo la evaluación de un robot bi-brazo en un ambiente real de producción. La operación de rebarbado e instalación de remaches se ejecuta en la estación de taladrado/remachado de largueros de elevators y rudders del super-jumbo A380. Concretamente debe instalar remaches en agujeros taladrados realizados previamente. Este es un gran reto tecnológico ya que el robot será desplazado por la instalación, de una grada a otra, localizando cada agujero taladrado mientras evita colisiones con las piezas, insertando el remache (de distintos tipos y diámetros) e instalándolos usando el mismo tipo de herramientas que las empleadas por el operario montador.

No existe ningún caso parecido en ninguna de las factorías de montaje aeronáutico de Airbus ni en ningún otro sector productivo en toda Europa. Y en Japón sólo se utiliza para el ensamblaje de componentes que no necesitan precisión y que se ejecuta dentro de un puesto de trabajo fijo sin necesidad de movilidad. Las aplicaciones descritas en este art culo representan un salto tecnológico y representan un reto futurista para la industria. No se trata de una simple integración de un robot o de tecnologías existentes, pues previo a este hito se requiere el desarrollo de varias tecnologías de robótica y visión para la correcta percepción del entorno por el robot (gradas, obstáculos, piezas y herramientas), la manipulación de distintas y diferentes piezas, herramientas, útiles, elementos de fijación, dotar al robot de flexibilidad y de capacidad de ajuste en tiempo real de su plan de trabajo etc.

El primer demostrador de viabilidad del concepto se ha desarrollado para la inserción de remaches en costillas de borde salida. Tal y como se puede ver en la figura 7 el robot se encargaba de introducir remaches del tipo Hi-Lite con un brazo y la tuerca correspondiente con el otro. Esta operación era una demostración de habilidades o posibilidades del robot que ha dado pie a desarrollos para el entorno de producción.

Figura 7: Demostrador de inserción de remaches en costillas de borde de salida
Figura 7: Demostrador de inserción de remaches en costillas de borde de salida.

Tras el interés suscitado por el primer demostrador se pasó a implementar una operación que se realiza por los operarios en la estación de taladrado de los largueros. Este segundo demostrador de viabilidad se ha desarrollado para el rebarbado del exterior de los largueros que pueden verse en la figura 8. En esta operación los operarios eliminan la rebaba producida por la máquina de taladrado. En la imagen puede verse como el robot y el operario realizan el proceso de rebarbado una vez que se han realizado los taladros.

Figura 8: Célula piloto en las instalaciones de Airbus haciendo rebarbado del exterior del larguero
Figura 8: Célula piloto en las instalaciones de Airbus haciendo rebarbado del exterior del larguero.

Continuando con el flujo del proceso se implementó un tercer demostrador de viabilidad. En este caso para el rebarbado del interior del larguero y la instalación de remaches ciegos. En la figura 9 puede verse una sección del larguero que se utilizaba para el demostrador anterior. Con esta aplicación se demostraba además de la precisión del robot la gran flexibilidad del sistema, pudiéndose adaptar a diferentes entornos.

Figura 9: Demostrador para el rebarbado del interior del larguero e inserción de remaches ciegos
Figura 9: Demostrador para el rebarbado del interior del larguero e inserción de remaches ciegos.

En el último demostrador desarrollado se combinan operaciones de manipulación con operaciones de rebarbado de las 44 costillas de borde de ataque. Al igual que los demostradores anteriores, se está trabajando en la misma célula. En el proceso de taladrado además de producir rebabas en el larguero también se producen en las costillas que tienen que ser taladradas, por lo que se deben eliminar estos residuos. El robot comienza cogiendo las costillas de un almacén tal y como se puede ver en la figura 10. A continuación realiza el rebarbado de las costillas utilizando el sistema de visión estéreo para detectar los agujeros de las mismas (figura 11).

Figura 10: Demostrador de manipulación y rebarbado de las costillas de borde de ataque, tarea de manipulación
Figura 10: Demostrador de manipulación y rebarbado de las costillas de borde de ataque, tarea de manipulación.
Figura 11: Demostrador de manipulación y rebarbado de las costillas de borde de ataque, tarea de rebarbado
Figura 11: Demostrador de manipulación y rebarbado de las costillas de borde de ataque, tarea de rebarbado.

Conclusiones y trabajo futuro

En este artículo se ha realizado una revisión de las arquitecturas software para robots más comunes. Se ha remarcado que la tendencia es usar sistemas distribuidos en vez de monolíticos. En el nivel de aplicación, se han mencionado las arquitecturas deliberativas y reactivas. En un nivel de abstracción más alto, se ha hecho una revisión de las arquitecturas basadas en agentes y de las arquitecturas basadas en máquinas de estados.

Considerando las arquitecturas encontradas en la bibliografía y los retos emergentes de la programación de robots bi-brazo, la necesidad de una nueva arquitectura se ha vuelto evidente para poder incrementar la flexibilidad de los robots bi-brazo. As la arquitectura propuesta permitir a facilitar y acelerar el despliegue de células automatizadas con robots bi-brazo.

Para mejorar el control y la coordinación de los robots antropomórficos, se ha presentado una arquitectura basada en máquinas de estado. Este enfoque permite incrementar la robustez y fiabilidad del sistema completo. La arquitectura propuesta está diseñada para actuar como base para metodologías de programación más fácil. Se ha detallado un caso de uso real (inserción de remaches) haciendo uso de esta arquitectura. Además se han presentado diferentes demostradores que se han realizado en colaboración con Airbus Operations.

En trabajos futuros, siguiendo los esfuerzos realizados por otros autores [18][19], se investigará cómo definir e implementar habilidades fácil y rápidamente, y especialmente su integración en una interfaz gráfica intuitiva.

Respecto a la arquitectura basada en máquinas de estado, si se utiliza el enfoque propuesto, en escenarios que requieren trabajos no coordinados se incrementa la facilidad y la rapidez de implantación de nuevas aplicaciones. En el futuro, se focalizar la investigación en los trabajos que requieren coordinación de los brazos con la intención de facilitar este tipo de tareas.

Agradecimientos

A los autores les gustaría agradecer a Juan Francisco García Amado la gestión de la célula piloto ubicada en las instalaciones de Airbus. También les gustaría mostrar su agradecimiento a Kei Okada e Isaac Saito, del Laboratorio JSK y TORK respectivamente, por el soporte con el robot Nextage.

Referencias

[1] C. Smith, Y. Karayiannidis, L. Nalpantidis, X. Gratal, P. Qi, D. V. Dimarogonas, and D. Kragic, ‘Dual arm manipulationa survey’, Robotics and Autonomous systems, vol. 60, no. 10, pp. 1340-1353, 2012.

[2] M. Amoretti and M. Reggiani, ‘Architectural paradigms for robotics applications’, Advanced Engineering Informatics, vol. 24, pp. 4-13, 1 2010.

[3] M. Mtshali and A. Engelbrecht, ‘Robotic architectures”, Defence Science Journal, vol. 60, pp. 15-22, JAN 2010.

[4] R. Brooks, ‘A robust layered control-system for a mobile robot’, Ieee Journal of Robotics and Automation, vol. 2, pp. 14-23, MAR 1986.

[5] N. R. Jennings and M. Wooldridge, Applications of intelligent agents, pp. 3-28. Agent technology, Springer, 1998.

[6] B. I. Badano, ‘A multi-agent architecture with distributed coordination for an autonomous robot’, University of Girona, PhD theses, Oct, 2008.

[7] D. Alonso, C. Vicente-Chicote, J. A. Pastor, and B. Alvarez, Stateml: From graphical state machine models to thread-safe ada code, pp. 158-170. Reliable Software Technologies - Ada-Europe 2008, Springer, 2008.

[8] Orocos rfsm, http://people.mech.kuleuven.be/ mklotzbucher/rfsm/readme.html

[9] Smach, http://wiki.ros.org/smach

[10] U. Thomas, G. Hirzinger, B. Rumpe, C. Schulze, and A. Wortmann, ‘A new skill based robot programming language using uml/p statecharts”, in Robotics and Automation (ICRA), 2013 IEEE International Conference on, pp. 461-466, IEEE, 2013.

[11] S. Sen, G. Sherrick, D. Ruiken, and R. A. Grupen, ‘Hierarchical skills and skill-based representation’, in Lifelong learning, 2011.

[12] J. Zhou, X. Ding, and Y. Y. Qing, ‘Automatic planning and coordinated control for redundant dual-arm space robot system’, Industrial Robot: An International Journal, vol. 38, no. 1, pp. 27-37, 2011.

[13] F. Poppa and U. Zimmer, ‘Robotui-a software architecture for modular robotics user interface frameworks’, in Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Conference on, pp. 2571-2576, IEEE, 2012.

[14] Kawada nextage, http://nextage.kawada.jp/en/

[15] Jouhou system kougaku laboratory, tokyo university, http://www.jsk.t.u-tokyo.ac.jp/

[16] Tokyo opensource robotics kyokai association, http://opensource-robotics.tokyo.jp/?lang=en

[17] Openrtm-aist middleware, http://openrtm.org/

[18] R. H. Andersen, T. Solund, and J. Hallam, ‘De nition and initial case-based evaluation of hardware-independent robot skills for industrial robotic co-workers’, in ISR/Robotik 2014; 41st International Symposium on Robotics; Proceedings of, pp. 1-7, 2014.

[19] D. Vanthienen, T. De Laet, W. Decre, R. Smits, M. Klotzb•ucher, K. Buys, S. Bellens, L. Gherardi, H. Bruyn-inckx, and J. De Schutter, ‘itasc as a uni ed framework for task speci cation, control, and coordination, demonstrated on the pr2’, in IEEE International Conference on Mechatronics and Robotics, 2011.

Comentarios al artículo/noticia

Deja un comentario

Para poder hacer comentarios y participar en el debate debes identificarte o registrarte en nuestra web.