Coordinación de manipuladores en entornos dinámicosmodelo de programación para laboratorios virtuales y remotos
- Ruiz Saez, Almudena
- Humberto Martínez Barberá Director/a
- Francisco Esquembre Director/a
Universidad de defensa: Universidad de Murcia
Fecha de defensa: 14 de julio de 2017
- Vicente Matellán Olivera Presidente/a
- David Herrero Pérez Secretario
- Carlos A. Jara Bravo Vocal
Tipo: Tesis
Resumen
RESUMEN La Robótica se ha convertido en una herramienta indispensable en diferentes áreas como son la industria, la ingeniería, la educación o la investigación. Dentro de cada una de estas áreas, la coordinación de diferentes robots tanto en entornos estáticos como dinámicos es una de las principales cuestiones que se debe analizar. La coordinación de robots consiste en mucho más que evitar las posibles colisiones que puedan existir entre ellos. Los usuarios desean una sincronización más precisa para que los robots puedan trabajar en equipo y completar tareas que un solo robot no podría llevar a cabo. Evidentemente, la utilización de múltiples robots que comparten un mismo espacio de trabajo puede aumentar la productividad e incrementar la versatilidad de las aplicaciones a tareas mucho más complejas. Como contrapartida, cuando más de un robot se mueve en un espacio de trabajo común cada uno de ellos se transforma en un obstáculo móvil para los demás. Una forma idónea de entender y estudiar el comportamiento complejo de estos robots es mediante la creación de laboratorios virtuales y remotos. Uno de los principales problemas que el usuario se encuentra a la hora de diseñar estos laboratorios es que cada robot usa un lenguaje propio de programación. Este hecho, junto a las peculiaridades propias de cada robot, complica la implementación de operaciones comunes y reducen la posibilidad de reutilizar código. En esta tesis se ha modelado, conceptualizado y diseñado una nueva librería Java, para la coordinación de robots manipuladores tanto en entornos estáticos como dinámicos. Esta librería establece un HAL (hardware abstraction layer) y facilita una API (application programming interface) que incluye todas las operaciones básicas que se requieren a la hora de trabajar con robots manipuladores: posicionamiento, planificación de trayectorias, definición de restricciones, detección de colisiones, visualización 3D, y comunicación con el robot real. Además, ofrece una súper clase RoboticsLab que permite coordinar fácilmente los movimientos de todos los elementos de un laboratorio robótico evitando las colisiones que pudiesen existir entre ellos. Esta API ha sido implementada para dos robots manipuladores particulares: el robot TX60L de Stäubli y el robot Scara de Omron, y ha integrado otros elementos que pueden ser básicos a la hora de configurar un laboratorio robótico, como, por ejemplo, una cinta transportadora. Esta lista de elementos puede ser fácilmente extendida a otros robots o elementos robóticos ya que estas implementaciones se han llevado a cabo de una manera transparente al usuario y fácilmente reutilizable. Es una librería fácil de usar, de código abierto y compatible en la mayor parte de los sistemas (todos aquellos que soporten Java). Todo este conjunto de características hacen que los programadores de Java sean capaces de crear laboratorios virtuales y remotos de alto nivel de una forma cómoda, sencilla y reutilizable. Por otro lado, esta librería ha sido embebida en el software Easy Java Simulations (EJS). Esta implementación se ha llevado a cabo mediante la definición de nuevos elementos del modelo de EJS que incorporan todas las operaciones y propiedades de la nueva API. La ventaja fundamental de esta implementación es permitir tanto a los programadores como no programadores de Java la posibilidad de crear laboratorios robóticos virtuales y remotos sin necesidad de tener altos conocimientos ni de Java ni de Robótica. En conclusión, esta nueva librería presentada en esta tesis es una herramienta muy útil en diversos ámbitos: en educación, ya que permite aprender los conceptos robóticos de una manera sencilla, en investigación, porque permite a los investigadores representar situaciones robóticas complejas para su estudio, y en ingeniería, como base para la creación de prototipos de plantas industriales que estén compuestas por robots manipuladores.