Entorno de Validación y Control en Tiempo Real para Robots Paralelos "Desde el punto de vista del desarrollo de controladores para robots, el prototipado rápido es necesario para ahorrar costes y tiempo. El módulo de tiempo real de LabVIEW, ofrece todas las ventajas de interconexión con el hardware de NI que ofrece LabVIEW, permitiendo abstraerse del costoso desarrollo de drivers a bajo nivel. " - Asier Zubizarreta, Universidad del País Vasco El Reto: Lea el Caso Desarrollar un entorno flexible, modular y robusto que facilite la implementación y validación experimental y en tiempo real de nuevos controladores de Estudio avanzados para robots paralelos. Por lo tanto, el entorno no sólo ha de ser capaz de mover suavemente diferentes tipos de robot, sino de ofrecer Completo información de diagnóstico para evaluar el rendimiento del controlador implementado La Solución: La utilización de LabVIEW RT como entorno de desarrollo ha permitido implementar el lazo de control logrando no sólo asegurar movimientos suaves del robot, sino cuantificar de forma sencilla el coste computacional de los algoritmos de control a evaluar. Asimismo, la comunicación con los motores se ha resuelto de forma sencilla utilizando una tarjeta CAN NI PCI-8512 junto con las librerías CANOpen para LabVIEW. Autor(es): Asier Zubizarreta - Universidad del País Vasco Eva Portillo - Universidad del País Vasco Itziar Cabanes - Universidad del País Vasco Marga Marcos - Universidad del País Vasco Introducción En la última década ha crecido notablemente el interés por los robots paralelos debido al gran rendimiento que ofrecen en operaciones de alta velocidad y precisión. Estas aptitudes se derivan de su estructura, compuesta por múltiples brazos, por lo que no son pocos los fabricantes que los han denominado “Robots Araña”. Este tipo de estructuras han sido utilizadas recientemente para numerosas aplicaciones como microposicionamiento, simuladores, robots submarinos, tareas de Pick&Place a alta velocidad, posicionamiento de antenas, y más. Sin embargo, al disponer de una estructura compleja, el modelado y control de este tipo de robots no está exento de complejidad. Esto hace que, en la práctica, se utilicen controles muy simples para manejarlos, controles que no explotan todas las capacidades que pueden ofrecer estos robots en la realización de las anteriormente mencionadas tareas. Por ello, se hace indispensable el desarrollar nuevos algoritmos de control que puedan ser implementados en tiempo real y sean capaces de sacar el máximo provecho de estas estructuras. Con este fin, se ha desarrollado un Entorno de Validación y Control modular, flexible y abierto, que permite de una forma sencilla y a bajo coste el implementar y validar experimentalmente diferentes controladores sobre un determinado prototipo. De este modo, se puede evaluar su rendimiento, tanto de control como los posibles problemas de implementación, con el fin de determinar si el controlador propuesto es realmente aplicable en un robot industrial. Arquitectura Hardware del sistema El entorno se basa en una arquitectura host-target, compuesto por dos PCs comunicados mediante TCP/IP (Fig. 1) que se distribuyen las funcionalidades del entorno. Esta separación permite que el sistema operativo del target, Pharlap OS, únicamente se centre en la gestión del robot y la ejecución del lazo de control en tiempo real, mientras que el host, basado en Windows, se encarga de ofrecer el interfaz de usuario utilizando LabVIEW. De igual manera, el control del robot por parte del target se realiza utilizando un bus CAN, que simplifica notablemente la interconexión. Dado que el entorno está diseñado para soportar el estándar CANOpen, el control y la gestión de estos dispositivos se realiza de forma sencilla utilizando las librerías CANOpen de LabVIEW en combinación con la tarjeta NI PCI-8512. Máquina de estados El núcleo del entorno de validación y control es una máquina de estados (Fig. 2) que determina las funcionalidades de éste. De este modo, cada uno de los estados detallados en la máquina tiene asociado una determinada funcionalidad, de modo que cuando el sistema se encuentre en un estado concreto únicamente podrá realizar las acciones y tareas asociadas a éste. De acuerdo a las necesidades que debe cumplir el entorno de pruebas, se establecen seis estados diferentes que se describen a continuación: Estado Inicial (InitialState): Permite indicarle al entorno cuál es el robot que tiene que gestionar, indicando el número de motores, sensores, y más. Estado de espera (Stand-byState): Tras arrancar, el sistema espera a que le lleguen órdenes del usuario. Estado de configuración (ConfigState): Permite modificar los parámetros del sistema, como ganancias de los controladores, tiempos de ciclo, así como cargar trayectorias para ser ejecutadas. Estado de ejecución (Execute): Ejecuta el lazo de control en tiempo real y captura las variables de control para su posterior análisis. Estado de pausa (Pause State): Permite pausar la ejecución del lazo de control. Estado de falta (FaultState): Es el estado al que el sistema salta si se producen errores en la ejecución. Tareas del sistema La funcionalidad definida para cada estado del entorno está implementada mediante una única tarea en el host y su correspondiente tarea en el target, de forma que a la hora de cambiar de estado, se lanza su tarea asociada y se finalizan las correspondientes al estado anterior. Cada una de estas tareas ha sido implementada en un VI diferente, implementando un protocolo de arranque y parada controlada de las tareas basada en eventos. Las herramientas que ofrece LabVIEW permiten, de una forma sencilla, el implementar estos métodos para asegurar un determinismo a la hora de gestionar las tareas. La distribución de las tareas en los estados se resume en la Fig. 3. Nótese que cada estado únicamente tiene asociada una tarea, lo que simplifica la gestión de tareas por parte de los gestores tanto del host como del target. Además de las tareas asociadas a los estados, tanto el host como el target disponen de otras dos tareas de ejecución continua mientras el entorno está activo: 1) una tarea de gestión de la comunicación entre el host y el target, que se encarga de comunicar las tareas asociadas a un estado mediante colas FIFO, y 2) las tareas de gestión de estados, que son las encargadas de lanzar o parar las tareas asociadas a los estados. En el caso del target, esta tarea implementa la máquina de estados propiamente dicha. En el caso del host, esta tarea gestiona las diferentes funcionalidades del interfaz del usuario, dependiendo del estado en el que se encuentre el entorno. Como mención especial, cabe destacar la tarea asociada al estado de Ejecución (y Pausa), cuya implementación se ha realizado utilizando las 1/5 www.ni.com Como mención especial, cabe destacar la tarea asociada al estado de Ejecución (y Pausa), cuya implementación se ha realizado utilizando las herramientas proporcionadas por el módulo de Tiempo Real de LabVIEW. De este modo, el lazo de control ha sido implementado mediante un Timed-Loop que permite a) gestionar de forma sencilla el inicio y parada del robot, con el fin de que no se produzcan accidentes, y b) medir el coste temporal de la ejecución del lazo, con el fin de evaluar el coste computacional del controlador integrado en el lazo, y por tanto, también de su aplicabilidad. Caso de estudio: el robot 5R El entorno desarrollado ha sido utilizado en una primera fase para evaluar diferentes algoritmos de control avanzados en un prototipo de robot de 2 grados de libertad denominado 5RLa adaptación del entorno a este prototipo se ha realizado de forma sencilla, indicando al entorno únicamente el modelo del robot, así como las direcciones CANOpen de sus dispositivos ( 2 motores y 2 sensores). Utilizando el entorno se han podido comparar las aptitudes de diferentes tipos de controlador, entre los que destacan el PID simple y los controles avanzados basados en modelo. De este modo, y utilizando las herramientas que ofrece LabVIEW, se han podido cargar diferentes trayectorias, ejecutarlas y comparar tanto el error de seguimiento de cada controlador como su coste de ejecución, con el fin de evaluar la mejor aproximación. Conclusión Desde el punto de vista del desarrollo de controladores para robots, el prototipado rápido es necesario para ahorrar costes y tiempo. El módulo de tiempo real de LabVIEW, ofrece todas las ventajas de interconexión con el hardware de NI que ofrece LabVIEW, permitiendo abstraerse del costoso desarrollo de drivers a bajo nivel. De este modo, se ha podido diseñar un entorno de validación y control de una forma sencilla y rápida, que permite, mediante los protocolos y herramientas de LabVIEW, centrarse en el principal objetivo: la validación experimental de controladores, sin necesidad de desarrollar código adicional. Así, se ha conseguido un sistema de control y validación que permite de una forma sencilla evaluar diferentes algoritmos de control en diferentes prototipos de robots paralelos. Información del Autor: Asier Zubizarreta Universidad del País Vasco Arquitectura del Sistema 2/5 www.ni.com Máquina de Estados 3/5 www.ni.com Distribución de Tareas 4/5 www.ni.com Prototipo de Robot 5R y Entorno de Validación y Control Legal Este caso de estudio (este "caso de estudio") fue desarrollado por un cliente de National Instruments ("NI"). ESTE CASO DE ESTUDIO ES PROPORCIONADO "COMO ES" SIN GARANTÍA DE NINGUN TIPO Y SUJETO A CIERTAS RESTRICCIONES QUE SE EXPONEN EN LOS TÉRMINOS DE USO EN NI.COM. 5/5 www.ni.com