Entorno de Validación y Control en Tiempo Real para Robots

Anuncio
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
Descargar