Ing. Eduardo Damián Granzella Ing. Christian R. Gutierrez. Universidad Tecnológica Nacional Facultad Regional Buenos Aires SASE-2013 Implementación FPGA para Manipuladores robóticos y compiladores GNU de programas. Ing. Eduardo Damián Granzella Ing. Christian R. Gutierrez.
Implementación FPGA y Compiladores en manipuladores Robóticos Temario Introducción a la Cinemática y Dinámica de los manipuladores robóticos. Implementación en FPGA del control del robot. Introducción y desarrollo de compiladores GNU para robots de N grados de libertad configurables. H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Ejemplos de robots Industriales H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos Robots Móviles H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Estructura mecánica del manipulado Mecánicamente, un robot está formado por una serie de elementos o eslabones unidos mediante articulaciones que permiten un movimiento relativo entre cada dos eslabones consecutivos. La constitución física de la mayor parte de los robots industriales guarda cierta similitud con la anatomía del brazo humano, por lo que en ocasiones, para hacer referencia a los distintos elementos que componen el robot, se usan términos como cuerpo, brazo, codo y muñeca. El movimiento de cada articulación puede ser de : Desplazamiento Giro Combinación de ambos. De este modo son posibles los seis tipos diferentes de articulaciones . H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Geometrías de manipuladores robóticos Cuantos grados de movilidad tiene un cuerpo rígido en el plano? 3 (x, y, θ) Para lograr un posicionamiento en el espacio es necesario poder controlar 3 ejes de posición y 3 ejes de rotación 6 (x, y, z, ρ, θ, φ) H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos Grados de Libertad [§26] H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Esquema general de un robot H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Arquitecturas de robots Industriales Robots SCARA (Selective compliant assembly robot arm)) [§IFR] Robot que tiene dos articulaciones de rotación para proporcionar una situación de conformidad en el plano. H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Arquitecturas de robots Industriales Robots Articulados [§IFR] Robot cuyo brazo tiene al menos tres articulaciones de rotación. H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Arquitecturas de robots Industriales Robots Paralelo [§IFR] Cuyos brazos robot poseen concurrencia de articulaciones prismáticas o rotativas . H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Actuadores Eléctricos Motor Brushless Los motores DC brushless son otro tipo de servomotor en que la retroalimentación es necesaria. Al contrario de los motores DC , estos realizan la conmutacion de las bobinas electronicamente, de modo que la mecánica colector y cepillos ya no son necesarios .. Motores brushless DC se utilizan comúnmente en aplicaciones de robótica a causa de su alta capacidad de velocidad, alta eficiencia y bajo mantenimiento A su vez son capaces de obtener una mayor velocidades, debido a la eliminación de la mecánica colector. Son más eficientes porque el calor de los bobinados del estator puede ser disipado con mayor rapidez a través del casco de motor. Por último, requieren menos mantenimiento porque no tienen cepillos que requieren reemplazo periódico. Sin embargo, el coste total del sistema para motores brushless es superior a la de los motores DC cepillo debido a la complejidad de conmutación electrónica. H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Actuadores Eléctricos Motor Paso a Paso En los últimos años se han mejorado notablemente sus características técnicas, especialmente en lo relativo a su control, lo que ha permitido fabricar motores paso a paso capaces de desarrollar pares suficientes en pequeños pasos para su uso como accionamientos industriales. Existen tres tipos de motores paso a paso : De imanes permanentes. De reluctancia variable. Híbridos. H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Compiladores DESARROLLO DEL LENGUAJE DE PROGRAMACIÓN, COMPILADOR Y SIMULADOR ASOCIADO PARA ROBOT TIPO SCARA Robot tipo SCARA de 3 grados de libertad H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos Introducción : Desarrollo de un compilador del Lenguaje RT (Robot Tecnológico) Características del Lenguaje RT Controlador embebido Programador gráfico o HMI (Interfaz hombre-máquina) H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Ventajas Comparativas Programado en software libre puede ser ejecutado tanto en Linux como en Microsoft Windows. No requiere el pago de licencias de uso por estar programado bajo licencia GPL (GNU General Public Licence). El compilador es escalable y de código abierto. Permite: Agregar nuevas funciones. Adaptarlo a cualquier otro manipulador. Modificar el programa según necesidades. Adaptar o traducir las instrucciones. H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos Robot SCARA Selective Compliant Assembly Robot Arm Manipulador de 3 grados de libertad 2 articulaciones rotativas 1 actuador lineal H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos Espacio de trabajo Configuración “brazo derecho” H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos Espacio de trabajo Configuración “brazo Izquierdo” H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Espacio de trabajo alcanzable Usando ambas configuraciones H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Compilador Traduce un programa escrito en un lenguaje determinado a otro lenguaje, creando un programa equivalente que pueda ser interpretado por la máquina. Código fuente Programa ejecutable (robcomp) Compilador Programa en Lenguaje RT robcomp dq123 Consignas de velocidad de cada articulación Al controlador H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Funciones Generales PC Linux o Windows xyz Para visualización o simulación (Matlab, gnuplot, Programador Gráfico) Programador Gráfico o Editor de texto q123 Config. do NO Programa RT Compilador RT OK? SI dq123 Datos para PWM y salidas Firmware + VHDL dq123 dq1 Sincronismo con Clock Controlador PWM 1 M1 dq2 Controlador PWM 2 M2 dq3 DO byte Controlador PWM 3 M3 H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos Driver Salidas DO
Funciones del compilador Código fuente Generación de Trayectorias xyz Verificación Espacio Alcanzable Calculos Cinematica Inversa q123 Verificación Limites Velocidad dq123 H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Compilador - Diagrama en Bloques Visualización y simulación H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Proceso de build del compilador robcomp.l robcomp.y main.c gentray.c cineinv.c robcomp.h bison gcc -o gcc -o gcc -o y.tab.h y.tab.c Makefile main.o gentray.o cineinv.o make flex gcc -o lex.yy.c y.tab.o gcc robcomp gcc -o lex.yy.o H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Lenguaje RT – Características 4 tipos de movimientos: Movimiento articular (q1 q2 q3) Movimiento rápido sin trayectoria definida En línea recta En trayectoria circular 1 1 2 1 3 3 3 2 4 1 3 2 H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos 2
Lenguaje RT – Características Trabajo con puntos predefinidos: Posición cartesiana (x y z) Posición articular (q1 q2 q3) Visualización y modificación de variables Salidas digitales Manejo de esperas Soporte para comentarios H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Lenguaje RT – Características 2 tipos de perfiles de velocidad: Perfil trapezoidal Perfil cicloidal Perfil trapezoidal Perfil cicloidal Posición Velocidad Aceleración [°/s] [°/s2] [°] t [s] H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Lenguaje RT – Características Sistemas de coordenadas Offset general (xOffset yOffset zOffset) Coordenadas: Absolutas (x y z) Relativas (xr yr zr) y yr yactual xr y0 yOffset xactual x xOffset x0 H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Lenguaje RT – Características Trabajo con puntos predefinidos: Posición cartesiana (x y z) Posición articular (q1 q2 q3) Visualización y modificación de variables Salidas digitales Manejo de esperas Soporte para comentarios H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Controlador - Diagrama en Bloques H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Driver en VHDL - Esquemático Motor brushless H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos mover 60 0 0 mover 60 0 30 linea 40 0 30 s100 linea 40 20 30 s100 linea 40 -20 30 s100 linea 20 0 30 s100 linea 20 0 0 s100 mover 20 20 0 mover 20 20 30 circ 40 0 30 60 20 30 s100 mover 60 20 0 c0 mover 60 -20 0 mover 60 -20 30 circ 40 0 30 20 -20 30 s100 Mover 20 -20 0 fin H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos Compilador Grafico H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Caractesticas del compilador 4 tipos de movimientos: Movimiento rápido sin trayectoria definida Movimiento articular En línea recta En trayectoria circular 3 tipos de perfiles de velocidad: MRU (solo para simulación) Perfil trapezoidal Perfil sigmoidal Visualización y modificación de variables Soporta comentarios 3 posicionamientos posibles: Absoluto Relativo Con offset arbitrario Puntos predefinidos: Punto cartesiano Posición articular H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos Preguntas? H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos
Implementación FPGA y Compiladores en manipuladores Robóticos GRACIAS ! H.Giannetta Implementación FPGA y Compiladores en manipuladores Robóticos