Descargar

Implementación FPGA para manipuladores robóticos y compiladores GNU de programas

Enviado por Pablo Turmero


    edu.red 1 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.

    edu.red 2 Ejemplos de robots Industriales

    edu.red 3 Robots Móviles

    edu.red 4 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 .

    edu.red 5 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, ?, ?, f) Cuantos grados de movilidad tiene un cuerpo rígido en el plano? 3 (x, y, ?)

    edu.red 6 Grados de Libertad [§26]

    edu.red 7 Esquema general de un robot

    edu.red 8 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.

    edu.red 9 Arquitecturas de robots Industriales Robots Articulados [§IFR] Robot cuyo brazo tiene al menos tres articulaciones de rotación.

    edu.red 10 Arquitecturas de robots Industriales Robots Paralelo [§IFR] Cuyos brazos robot poseen concurrencia de articulaciones prismáticas o rotativas .

    edu.red 11 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.

    edu.red 12 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.

    edu.red 13 Compiladores DESARROLLO DEL LENGUAJE DE PROGRAMACIÓN, COMPILADOR Y SIMULADOR ASOCIADO PARA ROBOT TIPO SCARA Robot tipo SCARA de 3 grados de libertad

    edu.red 14 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)

    edu.red 15 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.

    edu.red 16 Robot SCARA Selective Compliant Assembly Robot Arm Manipulador de 3 grados de libertad 2 articulaciones rotativas 1 actuador lineal

    edu.red 17 Espacio de trabajo Configuración “brazo derecho”

    edu.red 18 Espacio de trabajo Configuración “brazo Izquierdo”

    edu.red 19 Espacio de trabajo alcanzable Usando ambas configuraciones

    edu.red 20 Compilador Traduce un programa escrito en un lenguaje determinado a otro lenguaje, creando un programa equivalente que pueda ser interpretado por la máquina. Compilador Programa ejecutable (robcomp) Código fuente robcomp Programa en Lenguaje RT dq123 Consignas de velocidad de cada articulación ? Al controlador

    edu.red 21 Funciones Generales Firmware + VHDL PC Linux o Windows Programa RT Compilador RT xyz q123 dq123 do Programador Gráfico o Editor de texto OK? Para visualización o simulación (Matlab, gnuplot, Programador Gráfico) Datos para PWM y salidas dq123 NO SI dq2 dq3 DO byte dq1 M1 Controlador PWM 1 M2 Controlador PWM 2 M3 Controlador PWM 3 DO Driver Salidas Config. Sincronismo con Clock

    edu.red 22 Funciones del compilador Generación de Trayectorias Código fuente Calculos Cinematica Inversa Verificación Limites Velocidad Verificación Espacio Alcanzable q123 xyz dq123

    edu.red 23 Compilador – Diagrama en Bloques Visualización y simulación

    edu.red 24 Proceso de build del compilador flex gcc -o bison robcomp.h lex.yy.c y.tab.h y.tab.c lex.yy.o cineinv.o gcc -o gcc -o gcc -o gcc robcomp gcc -o gentray.o main.o y.tab.o Makefile make cineinv.c gentray.c main.c robcomp.l robcomp.y

    edu.red 25 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 2 3 4 0 0 0 0 1 2 3 1 2 3 3 2 1

    edu.red 26 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

    edu.red 27 Lenguaje RT – Características 2 tipos de perfiles de velocidad: Perfil trapezoidal Perfil cicloidal Perfil trapezoidal Perfil cicloidal (Gp:) Posición (Gp:) Velocidad (Gp:) Aceleración (Gp:) [°/s] (Gp:) [°/s2] (Gp:) [°] (Gp:) t [s] (Gp:) t [s] (Gp:) t [s]

    edu.red 28 Lenguaje RT – Características Sistemas de coordenadas Offset general (xOffset yOffset zOffset) Coordenadas: Absolutas (x y z) Relativas (xr yr zr) y x x0 y0 xr yr xactual yactual yOffset xOffset

    edu.red 29 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

    edu.red 30 Controlador – Diagrama en Bloques

    edu.red 31 Driver en VHDL – Esquemático Motor brushless

    edu.red 32 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

    edu.red 33 Compilador Grafico

    edu.red 34 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