implementación fpga para manipuladores robóticos y compiladores gnu de programas
Post on 01-Jan-2016
37 Views
Preview:
DESCRIPTION
TRANSCRIPT
Implementación FPGA para Manipuladores robóticos y compiladores GNU de programas.
Ing. Eduardo Damián Granzella
Ing. Christian R. Gutierrez.
Universidad Tecnológica NacionalFacultad Regional Buenos Aires
SASE-2013
Implementación FPGA y Compiladores en manipuladores Robóticos 2H.Giannetta
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 3H.Giannetta
Ejemplos de robots Industriales
Implementación FPGA y Compiladores en manipuladores Robóticos 5H.Giannetta
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 6H.Giannetta
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 8H.Giannetta
Esquema general de un robot
Implementación FPGA y Compiladores en manipuladores Robóticos 9H.Giannetta
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.
Principio de Func. Estructura Cinemática Espacio de trabajo Foto
Implementación FPGA y Compiladores en manipuladores Robóticos 10H.Giannetta
Arquitecturas de robots Industriales
Robots Articulados [§IFR]
Robot cuyo brazo tiene al menos tres articulaciones de rotación.
Principio de Func. Estructura Cinemática Espacio de trabajo Foto
Implementación FPGA y Compiladores en manipuladores Robóticos 11H.Giannetta
Arquitecturas de robots Industriales
Robots Paralelo [§IFR]
Cuyos brazos robot poseen concurrencia de articulaciones prismáticas o rotativas .
Principio de Func. Estructura Cinemática Espacio de trabajo Foto
Implementación FPGA y Compiladores en manipuladores Robóticos 12H.Giannetta
Actuadores Eléctricos
Motor BrushlessLos 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 13H.Giannetta
Actuadores Eléctricos
Motor Paso a PasoEn 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 14H.Giannetta
Compiladores
DESARROLLO DEL LENGUAJE DE PROGRAMACIÓN, COMPILADOR Y SIMULADOR ASOCIADO
PARA ROBOT TIPO SCARA
Robot tipo SCARA de 3 grados de libertad
Implementación FPGA y Compiladores en manipuladores Robóticos 15H.Giannetta
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 16H.Giannetta
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 17H.Giannetta
Robot SCARA
Selective Compliant Assembly Robot Arm
Manipulador de 3 grados de libertad
2 articulaciones rotativas1 actuador lineal q2
q3
q1
L1 L2
Implementación FPGA y Compiladores en manipuladores Robóticos 18H.Giannetta
Espacio de trabajo
Configuración “brazo derecho”
x
y
q1
q2
(x,y)
L1
L2
Implementación FPGA y Compiladores en manipuladores Robóticos 19H.Giannetta
Espacio de trabajo
Configuración “brazo Izquierdo”
x
y L1
L2
q1
q2
(x,y)
Implementación FPGA y Compiladores en manipuladores Robóticos 20H.Giannetta
Espacio de trabajo alcanzable
Usando ambas configuraciones
x
y
q1
q2 > 0
(x,y)
L1
L2
q2 < 0
Implementación FPGA y Compiladores en manipuladores Robóticos 21H.Giannetta
CompiladorTraduce 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
robcompPrograma en Lenguaje RT dq123
Consignas de velocidad de cada articulación
Al controlador
Implementación FPGA y Compiladores en manipuladores Robóticos 22H.Giannetta
Funciones Generales
Firmware + VHDL
PC Linux o Windows
ProgramaRT
Compilador RT
xyz
q123
dq123
do
ProgramadorGráfico o
Editor de texto
OK?
Para visualización o simulación(Matlab, gnuplot,
Programador Gráfico)
Datos para PWM y salidas
dq123
NOSI
dq2
dq3
DO byte
dq1 M1Controlador PWM 1
M2Controlador PWM 2
M3Controlador PWM 3
DODriver Salidas
Config.
Sincronismocon
Clock
Implementación FPGA y Compiladores en manipuladores Robóticos 23H.Giannetta
Funciones del compilador
Generación de Trayectorias
Código fuente
CalculosCinematica Inversa
VerificaciónLimites Velocidad
Verificación Espacio Alcanzable
q123
xyz
dq123
d ϕdx
Implementación FPGA y Compiladores en manipuladores Robóticos 24H.Giannetta
Compilador - Diagrama en Bloques
Visualización y simulación
dq123
doq123xyz
Programa RT
Config Inicialización
Analizador léxico (Scanner)
Analizador sintáctico / semántico (Parser)
Generación de trayectorias
Cálculos cinemáticos
Cálculos dinámicos
Manejo de salidas digitales
Ejecución de las órdenes programadas
en lenguaje RT
Verificación de límitesGeneración de
archivos de salida
Implementación FPGA y Compiladores en manipuladores Robóticos 25H.Giannetta
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.omain.o
y.tab.o
Makefile
make
cineinv.cgentray.cmain.crobcomp.l robcomp.y
Implementación FPGA y Compiladores en manipuladores Robóticos 26H.Giannetta
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
23
4
0000
1
23
1
2
33
2
1
Implementación FPGA y Compiladores en manipuladores Robóticos 27H.Giannetta
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
Implementación FPGA y Compiladores en manipuladores Robóticos 28H.Giannetta
Lenguaje RT – Características2 tipos de perfiles de velocidad:
Perfil trapezoidal
Perfil cicloidal Perfil trapezoidal Perfil cicloidal
Pos
ició
nV
eloc
idad
Ace
lera
ción
[°/s]
[°/s2]
[°]
t [s]
t [s]
t [s]
Implementación FPGA y Compiladores en manipuladores Robóticos 29H.Giannetta
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
Implementación FPGA y Compiladores en manipuladores Robóticos 30H.Giannetta
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
Implementación FPGA y Compiladores en manipuladores Robóticos 31H.Giannetta
Controlador - Diagrama en Bloques
Clock Sinc
DO byte
dq3
dq2
dq1
dq123
Driver q1
Driver q2
Driver q3
Driver DO
M1
M2
M3
DO
Implementación FPGA y Compiladores en manipuladores Robóticos 32H.Giannetta
Driver en VHDL - Esquemático
Puente H
M
PWM1
Clock PWM
Divisor de clock
Secuenciador de Reset
tr1
tr2
tr3
tr4
tr5
tr6
PWM2
PWM3
PWM4
PWM5
PWM6
Rotor Sensor
Valor fijo: 255
Speed setpoint
Motor brushless
Implementación FPGA y Compiladores en manipuladores Robóticos 33H.Giannetta
mover 60 0 0mover 60 0 30linea 40 0 30 s100linea 40 20 30 s100linea 40 -20 30 s100linea 40 0 30 s100linea 20 0 30 s100linea 20 0 0 s100mover 20 20 0mover 20 20 30circ 40 0 30 60 20 30 s100mover 60 20 0 c0mover 60 -20 0mover 60 -20 30 circ 40 0 30 20 -20 30 s100Mover 20 -20 0fin
Implementación FPGA y Compiladores en manipuladores Robóticos 35H.Giannetta
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
top related