Sunteți pe pagina 1din 36

Universidad Tecnolgica Nacional

Facultad Regional Buenos Aires


SASE-2013

Implementacin FPGA para


Manipuladores robticos y
compiladores GNU de
programas.
Ing. Eduardo Damin Granzella
Ing. Christian R. Gutierrez.

Temario

Introduccin a la Cinemtica y Dinmica de los manipuladores


robticos.

Implementacin en FPGA del control del robot.

Introduccin y desarrollo de compiladores GNU para robots de N


grados de libertad configurables.

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

Ejemplos de robots Industriales

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

Robots Mviles

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

Estructura mecnica del manipulado


Mecnicamente, 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 constitucin fsica de la mayor parte de los robots industriales guarda
cierta similitud con la anatoma del brazo humano, por lo que en ocasiones, para hacer
referencia a los distintos elementos que componen el robot, se usan trminos como
cuerpo, brazo, codo y mueca.
El movimiento de cada articulacin puede ser de :
Desplazamiento
Giro
Combinacin de ambos.
De este modo son posibles los seis tipos diferentes de articulaciones .

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

Geometras de manipuladores robticos


Cuantos grados de movilidad tiene un
cuerpo rgido en el plano?
3 (x, y, )

Para lograr un posicionamiento en el


espacio es necesario poder
controlar 3 ejes de posicin y 3
ejes de rotacin
6 (x, y, z, , , )

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

Grados de Libertad

[26]

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

Esquema general de un robot

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

Arquitecturas de robots Industriales


Robots SCARA (Selective compliant assembly robot arm)) [IFR]
Robot que tiene dos articulaciones de rotacin para proporcionar una situacin de
conformidad en el plano.

Principio de Func.

H.Giannetta

Estructura Cinemtica

Espacio de trabajo

Foto

Implementacin FPGA y Compiladores en manipuladores Robticos

Arquitecturas de robots Industriales


Robots Articulados [IFR]
Robot cuyo brazo tiene al menos tres articulaciones de rotacin.

Principio de Func.

H.Giannetta

Estructura Cinemtica

Espacio de trabajo

Foto

Implementacin FPGA y Compiladores en manipuladores Robticos

10

Arquitecturas de robots Industriales


Robots Paralelo [IFR]
Cuyos brazos robot poseen concurrencia de articulaciones prismticas o rotativas .

Principio de Func.

H.Giannetta

Estructura Cinemtica

Espacio de trabajo

Foto

Implementacin FPGA y Compiladores en manipuladores Robticos

11

Actuadores Elctricos
Motor Brushless
Los motores DC brushless son otro tipo de servomotor en que la retroalimentacin es necesaria. Al contrario de los
motores DC , estos realizan la conmutacion de las bobinas electronicamente, de modo que la mecnica colector y
cepillos ya no son necesarios ..
Motores brushless DC se utilizan comnmente en aplicaciones de robtica 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 eliminacin de la mecnica colector. Son ms
eficientes porque el calor de los bobinados del estator puede ser disipado con mayor rapidez a travs del casco de
motor. Por ltimo, requieren menos mantenimiento porque no tienen cepillos que requieren reemplazo peridico. Sin
embargo, el coste total del sistema para motores brushless es superior a la de los motores DC cepillo debido a la
complejidad de conmutacin electrnica.

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

12

Actuadores Elctricos
Motor Paso a Paso
En los ltimos aos se han mejorado notablemente sus caractersticas tcnicas, especialmente en lo relativo a su control,
lo que ha permitido fabricar motores paso a paso capaces de desarrollar pares suficientes en pequeos pasos para
su uso como accionamientos industriales.
Existen tres tipos de motores paso a paso :
De imanes permanentes.
De reluctancia variable.
Hbridos.

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

13

Compiladores
DESARROLLO DEL LENGUAJE DE PROGRAMACIN,
COMPILADOR Y SIMULADOR ASOCIADO
PARA ROBOT TIPO SCARA

Robot tipo SCARA de 3 grados de libertad

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

14

Introduccin
:

Desarrollo de un compilador del Lenguaje


RT (Robot Tecnolgico)

Caractersticas del Lenguaje RT

Controlador embebido

Programador grfico o HMI (Interfaz


hombre-mquina)

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

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 cdigo abierto. Permite:
Agregar nuevas funciones.
Adaptarlo a cualquier otro manipulador.
Modificar el programa segn necesidades.
Adaptar o traducir las instrucciones.

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

16

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

q1
L1

H.Giannetta

q2
L2

Implementacin FPGA y Compiladores en manipuladores Robticos

q3

17

Espacio de trabajo
Configuracin brazo derecho

(x,y)
q2

L2
L1
q1
x

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

18

Espacio de trabajo
Configuracin brazo Izquierdo

q2
(x,y)

L2
L1
q1
x

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

19

Espacio de trabajo alcanzable


Usando ambas configuraciones
q2 < 0
(x,y)
q2 > 0

L2
L1
q1
x

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

20

Compilador
Traduce un programa escrito en un lenguaje determinado a
otro lenguaje, creando un programa equivalente que pueda
ser interpretado por la mquina.
Cdigo fuente

Compilador

Programa
ejecutable
(robcomp)

Programa en
Lenguaje RT

robcomp

dq123
Consignas de velocidad de
cada articulacin
Al controlador

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

21

Funciones Generales
PC Linux o Windows
xyz
Programador
Grfico o
Editor de texto

Programa
RT

q123
do

Config.

Para
visualizacin
o simulacin
(Matlab, gnuplot,
Programador
Grfico)

NO
Compilador
RT

OK?

SI

dq123

Datos para PWM y salidas

Firmware + VHDL
dq1
dq123

dq2

dq3
DO byte

H.Giannetta

Sincronismo
con
Clock

Controlador PWM 1

M1

Controlador PWM 2

M2

Controlador PWM 3

M3

Driver Salidas

Implementacin FPGA y Compiladores en manipuladores Robticos

DO

22

Funciones del compilador


Cdigo fuente

Generacin
de Trayectorias

xyz

Verificacin
Espacio Alcanzable

Calculos
Cinematica Inversa

q123

d
dx

Verificacin
Limites Velocidad

H.Giannetta

dq123

Implementacin FPGA y Compiladores en manipuladores Robticos

23

Compilador - Diagrama en Bloques


Config

Inicializacin

Analizador lxico
(Scanner)

Clculos
cinemticos
Clculos
dinmicos

Analizador sintctico /
semntico (Parser)

Programa
RT

Generacin de
trayectorias

Ejecucin de las
rdenes programadas
en lenguaje RT

Manejo de
salidas digitales
Generacin de
archivos de salida

Verificacin de lmites

xyz

q123

dq123

do

Visualizacin y simulacin

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

24

Proceso de build del compilador


robcomp.l

robcomp.y
bison

y.tab.h

main.c

gentray.c

cineinv.c

gcc -o

gcc -o

gcc -o

y.tab.c

Makefile

main.o
flex

gcc -o

lex.yy.c

y.tab.o

gcc -o

lex.yy.o

H.Giannetta

robcomp.h

gentray.o

cineinv.o
make

gcc

robcomp

Implementacin FPGA y Compiladores en manipuladores Robticos

25

Lenguaje RT Caractersticas
4 tipos de movimientos:

Movimiento articular (q1 q2 q3)


Movimiento rpido sin trayectoria definida
En lnea recta
En trayectoria circular

1
3
H.Giannetta

2
2

Implementacin FPGA y Compiladores en manipuladores Robticos

1
0

26

Lenguaje RT Caractersticas
Trabajo con puntos predefinidos:
Posicin cartesiana (x y z)
Posicin articular (q1 q2 q3)
Visualizacin y modificacin de variables
Salidas digitales
Manejo de esperas
Soporte para comentarios

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

27

Lenguaje RT Caractersticas
2 tipos de perfiles de velocidad:
Perfil trapezoidal

Perfil cicloidal

Posicin

Perfil trapezoidal

Perfil cicloidal

[]

Velocidad

t [s]

[/s]

Aceleracin

t [s]

H.Giannetta

[/s2]

t [s]
Implementacin FPGA y Compiladores en manipuladores Robticos

28

Lenguaje RT Caractersticas
Sistemas de coordenadas

Offset general (xOffset yOffset zOffset) y

actual

Coordenadas:

Absolutas (x y z)

Relativas (xr yr zr)

xr

y0
yOffset

xactual x
xOffset

H.Giannetta

yr

Implementacin FPGA y Compiladores en manipuladores Robticos

x0
29

Lenguaje RT Caractersticas
Trabajo con puntos predefinidos:

Posicin cartesiana (x y z)

Posicin articular (q1 q2 q3)

Visualizacin y modificacin de variables


Salidas digitales
Manejo de esperas
Soporte para comentarios
H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

30

Controlador - Diagrama en Bloques


dq1
dq2
dq123

dq3
DO byte

H.Giannetta

Clock
Sinc

Driver q1

M1

Driver q2

M2

Driver q3

M3

Driver DO

DO

Implementacin FPGA y Compiladores en manipuladores Robticos

31

Driver en VHDL - Esquemtico


Divisor
de clock
Secuenciador
de Reset
Valor fijo: 255

Rotor Sensor

Clock
PWM
PWM1
PWM2

PWM3
PWM4
Speed
setpoint
PWM5
PWM6

H.Giannetta

Motor
brushless

tr1
tr2

tr3
tr4

Puente
H

tr5
tr6

Implementacin FPGA y Compiladores en manipuladores Robticos

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

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

33

Caractesticas del compilador

4 tipos de movimientos:
Movimiento rpido sin
trayectoria definida
Movimiento articular
En lnea recta
En trayectoria circular
3 tipos de perfiles de
velocidad:
MRU (solo para simulacin)
Perfil trapezoidal
Perfil sigmoidal

H.Giannetta

Visualizacin y modificacin de
variables
Soporta comentarios
3 posicionamientos posibles:
Absoluto
Relativo
Con offset arbitrario
Puntos predefinidos:
Punto cartesiano
Posicin articular

Implementacin FPGA y Compiladores en manipuladores Robticos

35

Preguntas?

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

36

GRACIAS !

H.Giannetta

Implementacin FPGA y Compiladores en manipuladores Robticos

37

S-ar putea să vă placă și