360 likes | 733 Views
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. Temario.
E N D
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.
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.
Implementación FPGA y Compiladores en manipuladores Robóticos Ejemplos de robots Industriales
Implementación FPGA y Compiladores en manipuladores Robóticos Robots Móviles
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 .
Implementación FPGA y Compiladores en manipuladores Robóticos Geometrías de manipuladores robóticos 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, ρ, θ, φ) Cuantos grados de movilidad tiene un cuerpo rígido en el plano? 3 (x, y, θ)
Implementación FPGA y Compiladores en manipuladores Robóticos Grados de Libertad [§26]
Implementación FPGA y Compiladores en manipuladores Robóticos Esquema general de un robot
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.
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.
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 .
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.
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.
Implementación FPGA y Compiladores en manipuladores Robóticos DESARROLLO DEL LENGUAJE DE PROGRAMACIÓN, COMPILADOR Y SIMULADOR ASOCIADO PARA ROBOT TIPO SCARA Compiladores Robot tipo SCARA de 3 grados de libertad
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) :
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.
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
Implementación FPGA y Compiladores en manipuladores Robóticos Espacio de trabajo Configuración “brazo derecho”
Implementación FPGA y Compiladores en manipuladores Robóticos Espacio de trabajo Configuración “brazo Izquierdo”
Implementación FPGA y Compiladores en manipuladores Robóticos Espacio de trabajo alcanzable Usando ambas configuraciones
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 dq123 robcomp Consignas de velocidad de cada articulación Al controlador
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 Driver Salidas DO
Implementación FPGA y Compiladores en manipuladores Robóticos Funciones del compilador Código fuente Generación de Trayectorias xyz Verificación Espacio Alcanzable Calculos Cinematica Inversa q123 Verificación Limites Velocidad dq123
Implementación FPGA y Compiladores en manipuladores Robóticos Compilador - Diagrama en Bloques Visualización y simulación
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 gcc -o flex lex.yy.c y.tab.o gcc robcomp gcc -o lex.yy.o
Implementación FPGA y Compiladores en manipuladores Robóticos Lenguaje RT – Características 4 tipos de movimientos: Movimiento articular (q1q2q3) 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 0 0 0 0 2
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 (q1q2q3) Visualización y modificación de variables Salidas digitales Manejo de esperas Soporte para comentarios
Implementación FPGA y Compiladores en manipuladores Robóticos Lenguaje RT – Características 2 tipos de perfiles de velocidad: Perfil trapezoidal Perfil cicloidal Posición [°] t [s] Velocidad [°/s] t [s] Aceleración [°/s2] t [s] Perfil cicloidal Perfil trapezoidal
Implementación FPGA y Compiladores en manipuladores Robóticos Lenguaje RT – Características Sistemas de coordenadas Offset general (xOffsetyOffsetzOffset) Coordenadas: Absolutas (x y z) Relativas (xryrzr) y yr yactual xr y0 yOffset xactual x xOffset x0
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(q1q2q3) Visualización y modificación de variables Salidas digitales Manejo de esperas Soporte para comentarios
Implementación FPGA y Compiladores en manipuladores Robóticos Controlador - Diagrama en Bloques
Implementación FPGA y Compiladores en manipuladores Robóticos Driver en VHDL - Esquemático Motor brushless
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 40 0 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
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
Implementación FPGA y Compiladores en manipuladores Robóticos Preguntas?
Implementación FPGA y Compiladores en manipuladores Robóticos GRACIAS !