Implementación FPGA para manipuladores robóticos y compiladores GNU de programas
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.
2 Ejemplos de robots Industriales
3 Robots Móviles
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 .
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, ?)
6 Grados de Libertad [§26]
7 Esquema general de un robot
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.
9 Arquitecturas de robots Industriales Robots Articulados
[§IFR] Robot cuyo brazo tiene al menos tres articulaciones
de rotación.
10 Arquitecturas de robots Industriales Robots Paralelo
[§IFR] Cuyos brazos robot poseen concurrencia de
articulaciones prismáticas o rotativas .
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.
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.
13 Compiladores DESARROLLO DEL LENGUAJE DE PROGRAMACIÓN,
COMPILADOR Y SIMULADOR ASOCIADO PARA ROBOT TIPO SCARA Robot tipo
SCARA de 3 grados de libertad
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)
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.
16 Robot SCARA Selective Compliant Assembly Robot Arm Manipulador
de 3 grados de libertad 2 articulaciones rotativas 1 actuador
lineal
17 Espacio de trabajo Configuración “brazo
derecho”
18 Espacio de trabajo Configuración “brazo
Izquierdo”
19 Espacio de trabajo alcanzable Usando ambas
configuraciones
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
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
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
23 Compilador – Diagrama en Bloques Visualización y
simulación
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
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
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
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]
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
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
30 Controlador – Diagrama en Bloques
31 Driver en VHDL – Esquemático Motor brushless
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
33 Compilador Grafico
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