Académique Documents
Professionnel Documents
Culture Documents
TESIS
presenta
Roberto Loaeza Valerio
Agosto 2009
ii
A mi esposa,
padres,
hermanos
y a todas las personas que han credo en mi...
iv
Agradecimientos
A mi esposa, padres y hermanos, por su constante e innito cario.
A mis maestros, por transmitirme su conocimiento.
A mi asesor Leonardo Romero, por su valiosa asesora y direccin acadmica.
A la Universidad Michoacana de San Nicols de Hidalgo y al Consejo Nacional de Ciencia
y Tecnologa, por el apoyo otorgado para realizar estos estudios.
vi
Resumen
Desarrollo de software para modelado y fabricacin de objetos de madera usando un robot
SCARA
Se describe la interfaz grca de usuario, una de las partes mas importantes de toda aplicacin, tomando en cuenta ciertos criterios de diseo bien establecidos. Se describe tambin
la forma de conexin con el robot mediante el uso de bibliotecas externas bien denidas.
Se presentan los resultados de varias pruebas realizadas, las cuales van desde diseos simples
hasta diseos complejos. Y nalmente se listan las conclusiones.
viii
Resumen
Abstract
Build of software for modeling and manufacturing of objets of wood for implementation on
a Robot SCARA.
This thesis presents the phases needed for make an application for modeling and manufcaturing of designs in wood using one SACARA robot, this robot was builded on Division de
Estudios de Posgrado de la Facultad de Ingeniera Elctrica at Universidad Michoacana
de San Nicols de Hidalgo. The main objet of this thesis it's nish the last step for creation
of one low-cost robot using only Mexican kwnoledgement.
In the rts part describe the graphication algorithms as well their implementation for send
the positions relative to robot SCARA.
In the midle part describe the Graphical User Interface, maybe one of the most important
appart of one welldone applications. This part use some criterias of design for it.
In the last part are shown the test builded and the conclutions.
Resumen
ndice general
Dedicatoria
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Agradecimientos
iii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
ndice general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xi
ndice de guras
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xv
1. Introduccin
21
1.1.
Motivacin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
1.2.
Antecedentes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
1.3.
Objetivos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
1.4.
Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
1.5.
Metodologa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
1.6.
Contribuciones
25
1.7.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
xi
25
NDICE GENERAL
xii
Robot
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
27
2.1.1.
. . . . . . . . . . . . . . . .
29
2.1.2.
31
2.1.3.
Programacin de tareas
. . . . . . . . . . . . . . . . . . . . . . . . .
32
34
2.2.1.
Programacin de tareas
. . . . . . . . . . . . . . . . . . . . . . . . .
34
2.2.2.
2.2.
Desarrollo tecnolgico
. . . . . . . . . . . . . . . . . . . . . . . . . .
36
3. Modelado de objetos
39
3.1.
Sistemas de coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.2.
Primitivas de gracacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
3.2.1.
Punto
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
3.2.2.
Lnea
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
3.2.3.
Crculo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
3.2.4.
Elipse
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
3.2.5.
Curva de Bezier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
3.2.6.
Elementos compuestos . . . . . . . . . . . . . . . . . . . . . . . . . .
45
Transformaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.3.1.
Escalado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
3.3.2.
Traslacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
3.3.3.
Rotacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
3.3.4.
Proyeccin isomtrica
. . . . . . . . . . . . . . . . . . . . . . . . . .
50
Almacenamiento y recuperacin . . . . . . . . . . . . . . . . . . . . . . . . .
51
3.3.
3.4.
NDICE GENERAL
xiii
3.4.1.
3.4.2.
. . . . . . . . . . . . . . . . . . .
51
. . . . . . . . . . . . . . . . . . . . .
52
53
3.5.1.
3.5.
54
. . . . . . . . . . . . . . . . . . . . . . .
4. Interfaz de software
4.1.
57
58
Lenguaje de programacin . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
4.2.1.
Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
Software desarrollado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
4.3.1.
Iniciando el software . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
4.3.2.
4.3.
57
4.1.1.
4.2.
Versiones realizadas
69
. . . . . . . . . . . . . . . . . . . . . . . . . . .
Robot SCARA
71
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
5.1.2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
Arquitectura
5.1.3.
Limitantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
74
5.2.1.
Cinemtica inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
5.2.2.
. . . . . . . . . . . . . . .
78
5.3.
78
5.4.
Conectividad PC-Robot
79
5.2.
Caractersticas
71
5.4.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Versiones realizadas
. . . . . . . . . . . . . . . . . . . . . . . . . . .
81
NDICE GENERAL
xiv
6. Pruebas
83
6.1.
Introduccin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.
. . . . . . . . . . . . . . . .
85
6.3.
86
6.4.
Pruebas en campo
86
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
89
7.1.
Conclusiones
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.
89
. . . . . . . . . . . . . . . . . . . . . . .
90
7.2.1.
Aplicacin desarrollada
. . . . . . . . . . . . . . . . . . . . . . . . .
90
7.2.2.
91
Glosario
94
ndice de guras
1.1.
23
2.1.
Tipos de articulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.2.
2.3.
33
3.1.
. . . . . . . . . . . . . . . . . . .
40
3.2.
Lnea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
3.3.
Crculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
3.4.
Elipse
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
3.5.
Curva de Bezier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
3.6.
Elemento compuesto
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.7.
Escalamiento
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
3.8.
Traslacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
3.9.
Rotacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
55
4.1.
63
Pantalla principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xv
NDICE DE FIGURAS
xvi
4.2.
rea de mens
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.
4.4.
Barra de herramientas
65
. . . . . . . . . . . . . . . . . . . .
66
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
4.5.
Vistas disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
4.6.
rea de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
5.1.
Robot SCARA
72
5.2.
. . .
73
5.3.
75
5.4.
. . . . . . . . . . . . . . . . .
76
5.5.
. . . . . . . . . . . . . . . . . .
77
5.6.
. . . . . . . . . . . . . . . . . . . . .
78
5.7.
. . . . . . . . . . . . . . . . . . . . . .
79
5.8.
79
6.1.
85
6.2.
Ejemplo de 9 primitivas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
6.3.
Ejemplo PGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
6.4.
88
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
, 1 , 2 y 3
L1 y L2
, y 1
ndice de tablas
2.1.
. . . . . . . . . . . . . . . . . . . . .
4.1.
. . . . . . . . . . . . . .
61
5.1.
80
6.1.
. . . . . . . . . . . . . . . . . . . . . . . . .
84
6.2.
86
6.3.
86
6.4.
Pruebas y tiempos
87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xvii
36
xviii
NDICE DE TABLAS
ndice de cdigos
3.1.
Punto (primitivas.Punto.java) . . . . . . . . . . . . . . . . . . . . . . . . . .
41
3.2.
Lnea (primitivas.Linea.java) . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
3.3.
Crculo (primitivas.Circulo.java) . . . . . . . . . . . . . . . . . . . . . . . . .
43
3.4.
Elipse (primitivas.Elipse.java) . . . . . . . . . . . . . . . . . . . . . . . . . .
44
3.5.
. . . . . . . . . . . . . . . . . . . .
46
3.6.
Estructura de almacenamiento
. . . . . . . . . . . . . . . . . . . . . . . . .
52
3.7.
Cdigo PGM
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.1.
80
5.2.
81
xix
. . . . . . . . .
xx
NDICE DE CDIGOS
Captulo 1
Introduccin
En la actualidad las pequeas y medianas empresas de la regin maderera del estado de
Michoacn requieren tener sus procesos automatizados para poder competir en el mercado
tan saturado actualmente. Desafortunadamente la mayora de estas empresas no cuentan
con todos los procesos automatizados.
Los procesos que pueden automatizarse los dividiremos en dos categoras para nes de su
estudio:
Procesos administrativos
Procesos industriales
Por otra parte, los procesos industriales normalmente manipulan una materia prima y la
transforman en un producto nal, mediante el uso de maquinaria industrial. Precisamente
en estos procesos se centra el trabajo de la presente tesis.
21
22
CAPTULO 1. INTRODUCCIN
Teniendo las empresas la necesidad de contar con maquinaria industrial de precisin se ven
en la necesidad de adquirir esta maquinaria en el extrajero, debido a que en el pas no
existen empresas que ofrezcan estas maquinarias.
1.1. Motivacin
Las razones principales que motivaron la elaboracin de la presente tesis son las siguientes:
Por otra parte, existen personas que tienen diseos muy innovadores de productos;
pero por falta de recursos econmicos para adquirir un robot que lo realize, as como
un programa de cmputo para su realizacin se han quedado slo en ideas que no
llegan a materializarse.
1.2. ANTECEDENTES
23
1.2. Antecedentes
El antecedente ms cercano que se tiene, es el trabajo realizado en la Divisin de Estudios
de Posgrado de la Facultad de Ingeniera Elctrica, de la Universidad Michoacana de San
Nicols de Hidalgo, que es la construccin de un robot manipulador tipo SCARA, de cuatro
grados de libertad de plataforma abierta [Rodriguez08], para el cual se desarrollar la
aplicacin de la presente tesis.
1.3. Objetivos
El objetivo general es realizar investigacin en los aspectos computacionales relacionados
con el modelado 3D de objetos fsicos y su conversin en instrucciones que el robot SCARA
pueda seguir para construir fsicamente los modelos en madera, de forma que se desarrolle
tecnologa propia que promueva una industria robtica y se generen diversas aplicaciones
que tengan un importante impacto social y econmico.
Figura 1.1: Diagrama representativo del sistema de software desarrollado en esta tesis
24
CAPTULO 1. INTRODUCCIN
tiene como entrada el diseo por parte de una persona el cual es interpretado para su futura
produccin en un robot SCARA.
Objetivos especcos
Desarrollar una aplicacin de software para modelado de objetos 3D.
1.4. Alcances
Los alcances previstos son:
Puntos
Lneas
Crculos
Elipses
Curvas de Bezier
1.5. Metodologa
Para cumplir los objetivos mencionados anteriormente, se propone desarrollar una aplicacin multiplataforma para el modelado de objetos de madera en el lenguaje de programacin Java.
1.6. CONTRIBUCIONES
25
1.6. Contribuciones
A continuacin se describen brevemente las contribuciones de este trabajo:
al Public License v2
GNU Gener-
http://modelando-madera.googlecode.com para su mejoramiento y/o ser tomado como base para futuros proyectos.
El captulo 3 aborda las partes del software 3D, tanto los algoritmos de gracacin como
la forma de interaccin con el usuario nal.
26
CAPTULO 1. INTRODUCCIN
El captulo 5 trata las caractersticas del robot SCARA, la forma de conversin del modelo
a acciones que el robot entienda. Tambin se describir la interfaz entre el software de
modelado y el robot.
En el captulo 7 se aportarn las conclusiones generales, resultado de la investigacin abordada e ideas para trabajo de investigacin posterior a realizar en el mismo campo del
conocimiento.
Captulo 2
2.1. Robot
El inicio de la robtica actual puede jarse en la industria textil del siglo XVIII, cuando
Joseph Jacquard inventa en 1801 una mquina textil programable mediante tarjetas perforadas. La revolucin industrial impuls el desarrollo de estos agentes mecnicos, entre los
cuales se destacaron el torno mecnico motorizado de Babbitt (1892) y el mecanismo programable para pintar con spray de Pollard y Roselund (1939). Adems de esto durante los
siglos XVII y XVIII en Europa fueron construidos muecos mecnicos muy ingeniosos que
tenan algunas caractersticas de robots. En 1805, Henri Maillardert construy una mueca
mecnica que era capaz de hacer dibujos.
27
robot.
Sin embargo el trmino robot con el paso de los aos ha cambiado su signicado, a continuacin se listan algunas de las deniciones ms aceptadas:
[ISO8373:94].
[IRA08].
Mecanismo formado generalmente por elementos en serie, articulados entre s, destinado al agarre y desplazamiento de objetos. Es multifuncional y puede ser gobernado
directamente por un operador humano o dispositivo lgico[Sanchez06].
Manipuladores. Generalmente estn montados sobre una base ja que les sirve para
denir su rea de trabajo y su posicin en la misma. Su estructura bsica es la de un
brazo humano.
Mviles. Este tipo de robots tienen la capacidad de cambiar de posicin por si mismos
para realizar alguna tarea determinada. Para lograrlo, tienen sensores que les permiten
conocer su ambiente as como actuadores que le permiten desplazarse.
La gran mayora de los robots usados en la industria son de tipo manipuladores y en adelante
solamente nos referiremos a stos.
2.1. ROBOT
29
Estructura mecnica.
Sistema sensorial.
Elementos terminales.
Sistema de control.
Estructura mecnica
Desde el punto de vista mecnico, el robot est formado por una serie de elementos o
eslabones unidos mediante articulaciones, que permiten un movimiento relativo entre cada
dos eslabones consecutivos.
(a) Rotacin
(b) Prismtica
(c) Cilndrica
(d) Planar
(e) Esfrica
a)
b)
c)
d)
e)
Por ltimo, la articulacin esfrica, combina tres giros en tres direcciones perpendiculares en el espacio.
Sistema sensorial
Los sensores son transductores que convierten algn fenmeno fsico en seales elctricas que
el microcontrolador puede leer [Jones98]. La principal funcin es trasladar la informacin
del mundo real al mundo abstracto de la computadora, para que sta pueda responder de
forma correcta.
Algunos de los tipos de sensores son:
De medicin de desplazamiento.
De velocidad y aceleracin.
De contacto.
Los interruptores de contacto son dispositivos simples que reportan un valor binario: cerrado
o abierto, dependiendo de la ubicacin de un elemento mecnico. En particular, el robot
SCARA utiliza estos sensores para ubicar los lmites de trabajo de cada articulacin.
Elementos actuadores
Existen muchos tipos de motores, pero slo unos cuantos son tiles en robtica, y dentro de
stos se encuentran los motores de corriente directa [Jones98]. Los motores o servomotores
de CD son preferidos debido a su relativa facilidad para ser controlados, comparados con
otros tipos de motores de CD y con los motores de CA [Estrada06].
2.1. ROBOT
31
Sistema de control.
Existe una gran variedad de tipos de brazos manipuladores y se pueden clasicar de distintas
formas: por su estructura, por su forma de control, por su rea de aplicacin, por su fuente
de potencia, por su geometra, por su movimiento cinemtico, etc. [Spong89, Ramrez98].
Hoy en da, los manipuladores estn agrupados en clases de acuerdo a la combinacin de
uniones usadas en su construccin [Petriu06] como puede observarse en la Figura 2.2, las
cuales se listan a continuacin:
(a) Cilndrico
(b) Esfrico
(c) S.C.A.R.A.
(d) Cartesiano
Figura
2.2:
Categoras
de
los
(e) Antropomrco
robots
manipuladores
sus
respectivas
reas
de
trabajo[Sanchez07].
2.1. ROBOT
33
Software CAD
El software CAD (Diseo Asistido por Computadora, del ingls Computer Aided Design)
son sistemas informticos para realizar tareas de creacin, modicacin, anlisis y optimizacin de un diseo.
Software CAM
El software CAM (Manufactura Asistida por Computadora, del ingls Computer Aided
Manufacturing) son sistemas informticos para la planicacin, gestin y control de las
operaciones de una planta de fabricacin, mediante una interfaz directa o indirecta entre el
sistema informtico y los recursos de produccin. En una interfaz directa la computadora se
conecta directamente con el proceso de produccin para monitorizar su actividad y realizar
tareas de supervisin y control. En una interfaz indirecta la computadora se utiliza como
herramienta de ayuda para la fabricacin, pero en las que no existe conexin directa con el
proceso de produccin.
La entrada de estos sistemas son generalmente los diseos generados con software CAD.
Software CNC
El software CNC (Control Numrico por Computadora, del ingls Computer Numerical
Control) generalmente lee archivos generados en las aplicaciones CAM y realiza las operaciones de comunicacin con el robot necesarias para convertirlas en el movimiento deseado.
35
Herramienta de programacin visual para crear y depurar aplicaciones robticas bsicas, de propsito educativo. El desarrollador puede interactuar con los
robots mediante interfaces basadas en web o nativas al sistema operativo (MS
Windows).
Contiene simulacin realstica provista por el motor PhysX de AGEIA. Se posibilita la emulacin por software o la aceleracin por hardware.
Robots soportados: CoroWare's CoroBot ($3 200), Lego Mindstorms NXT, iRobot
Create y Robosoft's robots (38 a 65 K). Estos robots son de entretenimiento
o de propsito educativo.
El Techware de KUKA para optimizacin de programas se puede utilizar e instalar en todo momento. De este modo, en un PC estndar se puede disponer
de todo el software de sistema Original, sin necesidad de emulaciones.
KUKA.OceLite no se puede utilizar para controlar un robot, solo para desarrollar aplicaciones. De la versin profesional el autor no encontr ms informacin.
CAD
CAM
CNC
AutoCAD
ArtCAM
TurboCNC
SolidWorks
SolidCAM
EMC2
RhinoCAD
DeskCAM
DeskCNC
TurboCAD
MeshCAM
Mach 3
FreeMill
KCAM
En la Divisin de Estudios de Posgrado de la Factuldad de Ingeniera Electrica de la Universidad Michoacana de San Nicolas de Hidalgo se han tenido avances signicativos tanto
en robots mviles as como en manipuladores, a continuacin se listan algunos ejemplos:
37
Para las pruebas del sistema desarrollado en esta tesis, se utiliz el robot de motores de
CD y pasos presentado en [Rodriguez08] .
Captulo 3
Modelado de objetos
Una aplicacin de modelado de objetos proporciona una biblioteca de funciones, que pueden
utilizarse para disear objetos, que posteriormente se pueden plasmar en madera o algn
otro tipo de material que pueda ser moldeado por alguna de las herramientas soportadas
por el robot. Estas funciones se denominan primitivas grcas o simplemente primitivas.
Para describir un modelo, primero es necesario seleccionar un sistema de coordenadas cartesianas adecuado, que puede ser bidimensional o tridimensional. Despus se describen los
objetos del modelo proporcionando sus especicaciones geomtricas. Por ejemplo, se dene
una lnea recta proporcionando la posicion de los dos puntos extremos.
40
3.2.1. Punto
El punto es el objeto ms simple que puede representarse, es un elemento geomtrico que
describe una ubicacin o posicin en el espacio. Un punto puede determinarse en el sistema
de coordenadas cartesianas mediante las distancias a los ejes principales, que se indican con
dos variables (x, y) en el plano y con tres variables (x, y, z) en el espacio tridimensional.
3.2.2. Lnea
La lnea recta es la sucesin continua e indenida de puntos en una sola dimensin. Las
ecuaciones utilizadas son 3.1, 3.2 y 3.3.
41
xi = x1 + (x2 x1 )
yi = y1 + (y2 y1 )
(3.2)
zi = z1 + (z2 z1 )
donde
(3.1)
(3.3)
nal de la recta y
[0, 1].
donde
3.2.3. Crculo
La ecuacin paramtrica de un crculo esta dada por la ecuacin 3.4.
x = r cos ()
(3.4)
y = r sin ()
42
donde
[0, 2]
es el radio.
Circulo (c, r)
donde
es el punto denido
3.2.4. Elipse
La ecuacin paramtrica es 3.5.
x = r1 cos ()
y = r2 sin ()
(3.5)
43
void circulo(double radio, double oX, double oY, double oZ, int n, int opc)
{
int i;
double inc_ang, ang;
inc_ang = 360.0 / n * Math.PI / 180.0;
for(i=0; i < n; i++) {
ang = inc_ang * i;
switch(opc) {
case DEF.vistaYX:
grafPto(new Punto( oX + radio * Math.cos(ang),
oY + radio * Math.sin(ang), oZ )); break;
case DEF.vistaZX:
grafPto(new Punto( oX + radio * Math.cos(ang),
oY, oZ + radio * Math.sin(ang))); break;
case DEF.vistaZY:
grafPto(new Punto( oX, oY + radio * Math.cos(ang),
oZ + radio_b * Math.sin(ang)));
break;
}
}
}
donde
[0, 2] , r1
r2
es la distancia
44
como centro,
r1
r2
es la distancia
void elipse(double radio_a, double radio_b, double oX, double oY, double oZ,
int n, int opc)
{
int i;
double inc_ang, ang;
inc_ang = 360.0 / n * Math.PI / 180.0;
for(i=0; i < n; i++) {
ang = inc_ang * i;
switch(opc) {
case DEF.vistaYX:
grafPto(new Punto( oX + radio_a * Math.cos(ang),
oY + radio_b * Math.sin(ang), oZ )); break;
case DEF.vistaZX:
grafPto(new Punto( oX + radio_a * Math.cos(ang),
oY, oZ + radio_b * Math.sin(ang)));
break;
case DEF.vistaZY:
grafPto(new Punto( oX, oY + radio_a * Math.cos(ang),
oZ + radio_b * Math.sin(ang)));
break;
}
}
}
La curva Bezier es un tipo de lnea curva ideada por Pierre Bezier, un ingeniero de Renault
en los aos 60, por medio de un mtodo de descripcin matemtica que consegua denir
las transiciones suaves de las curvaturas [Delrieux00].
45
Una curva de Bezier tiene por lo menos cuatro puntos de control y es de orden cbico
como se puede apreciar en la Figura 3.5, dos de los puntos corresponden a los extremos de
la curva, son denominados nodos o puntos de anclaje y los otros puntos son denominados
puntos de control o manejadores y determinan la direccin con que la curvatura ingresa a
los extremos. La forma paramtrica es:
t [0, 1]
(3.6)
Bezier (p)
donde
es un conjunto denido
Ec = (P1 , P2 , P3 , ..., Pn )
donde
(3.7)
46
3.3. Transformaciones
En robtica son de particular inters las transformaciones: escalado, traslacin, rotacin y
proyeccin isomtrica de un objeto. Estas operaciones tienen la ventaja de que se pueden
3.3. TRANSFORMACIONES
47
realizar mediante un producto matricial y que se pueden combinar multiplicando de antemano las matrices de transformacin.
Como se mostr en las secciones anteriores, las primitivas se estn deniendo mediante
puntos de control, un punto
(x, y, z)
p=
(3.8)
3.3.1. Escalado
A continuacin se muestra como quedara el escalado de un punto de control:
Donde
ex
ex
0
=
0
0 x
ey
0 y
ez
[x , y , z ]t
ez
X , ey
P3
es el factor de escalado en la
a los nuevos
P1 , P2
P3 .
Z.
El punto escalado
[x, y, z]t .
P1 , P2
(3.9)
z
0
ex = 2
ey = 2
de los puntos
48
3.3.2. Traslacin
La traslacin puede ser expresada como el producto:
Donde
tx
0 0 0
ty y
tz
X , ty
tx = 2
3.3.3. Rotacin
x
El punto trasladado
de los puntos
P3 .
Z.
[x, y, z]t .
P1 , P2
es el desplazamiento en la
a los nuevos
(3.10)
z
tz
[x , y , z ]t
1 0 0 tx x
y 0 1 0
=
z 0 0 1
de un ngulo
P1 , P2
P3
3.3. TRANSFORMACIONES
49
cos ()
0
Donde
(3.11)
cos () 0 sin () 0 x
0
1
y
=
z sin () 0
z
0
sin () 0 y
de un ngulo
0 x
y 0 cos ()
=
z 0 sin ()
cos ()
sin ()
=
0
cos ()
de un ngulo
0 y
z
0
(3.12)
sin () 0 0 x
cos ()
0
0
0 0 y
z
1 0
0 1
(3.13)
proviene
50
[x, y, z]t .
P1 , P2
P3
a los nuevos
P1 , P2
= 45
de los puntos
P3 .
Existen 8 diferentes vistas ismetricas, dependiendo del octante que se haya elegido. Esta
transformacin mapea un punto en el espacio 3D en un plano visto desde el primer octante
[Carlbom78].
1 0
0 1
=
0 0
0
0
0 cos () 0 sin() 0 x
0 0 0 cos () sin() 0
0
1
0
0 y
0 0 1
0 0 0 1
(3.14)
donde
= arcsin(tan(30))
= 45.
51
Independiente de la plataforma.
El mismo documento dene la estructura y los campos asi como los valores respectivos.
52
<modelador>
<x0>23.0</x0><y0>45.0</y0><z0>70.0</z0>
<x1>138.0</x1><y1>45.0</y1><z1>70.0</z1>
</fig>
<fig tipo="3" >
// extremo de la lnea
// extremo de la lnea
<x0>23.0</x0><y0>61.0</y0><z0>70.0</z0>
<x1>23.0</x1><y1>107.0</y1><z1>70.0</z1>
<x2>134.0</x2><y2>108.0</y2><z2>70.0</z2>
<x3>132.0</x3><y3>62.0</y3><z3>70.0</z3>
<x4>132.0</x4><y4>62.0</y4><z4>70.0</z4>
</fig>
<fig tipo="4" >
//
//
//
//
//
extremo de la polilnea
segundo punto de control de la polilnea
tercer punto de control de la polilnea
as puden agregarse cuantos puntos de control se req
extremo de la polilnea
//
//
//
//
//
53
Los puntos de control de una primitiva pueden no tener lmite, es decir, una primitiva
puede tener N puntos de control. Slo aplica a la polilnea y curva de bezier.
Punto (1)
Lnea (2)
Poli-Lnea (3)
Crculo (4)
Elipse (5)
54
Como primer formato de importacin se desarroll un importador para el formato de imgenes PGM. A peticin del Sr. Rafael Cardiel Cervantes, persona que dise el robot
SCARA con el que se est trabajando y dueo de la empresa donde se realizarn todas las
pruebas, se agreg esta capacidad con la intencin de hacer guras en relieve sobre madera
a partir de los tonos de grises de una imagen en formato PGM. En seguida se describe
brevemente dicho formato.
Este formato est compuesto por dos partes(ver Cdigo 3.7 para un ejemplo):
P2
10 7
255
255
255
255
255
255
255
255
255
0
0
0
0
0
255
255
0
255
0
255
255
255
255
0
0
0
0
0
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
164
164
164
164
164
255
255
164
255
164
255
164
255
255
164
255
255
255
164
255
255
255
255
255
255
255
255
55
56
Captulo 4
Interfaz de software
La interfaz de usuario es uno de los apartados con ms relevancia de un sistema de cmputo.
En la actualidad todo sistema debe contener una herramienta con la que el usuario pueda
ordenar a la computadora qu hacer. Una interfaz de usuario mal diseada puede causar
que el mejor sistema de cmputo sea inecaz y por lo tanto sea desechado, es por esto que
se debe realizar un buen diseo de la interfaz de usuario, la cual incluye:
En este captulo se presentan algunos elementos importantes del diseo de interfaces grcas, el lenguaje de programacin y el software de modelado desarrollado por el autor.
58
Propiamente, una interfaz de usuario provee la mezcla de: mecanismo de entrada y salida
que de manera eciente satisfagan las necesidades del usuario, capacidades, y limitaciones
en la forma ms eciente.
Accesibilidad
El sistema deber poder ser usado por personas de diversas capacidades y limitantes. Originalmente este trmino fue usado para referirse a sistemas accesibles a usuarios con discapacidades. Actualmente el trmino accesibilidad se reere a cubrir las necesidades de la
mayora de los usuarios.
Claridad
La interfaz debe ser clara en apariencia visual y conceptual. Los elementos visuales deben
ser entendibles, relacionados con objetos del mundo real. Los conceptos y textos deben ser
simples y no confusos.
Consistencia
59
actividad que puede ser similar a otra. Si un nuevo sistema impone necesidades de aprender
nuevas habilidades en los usuarios, este puede convertirse en un sistema no productivo e
innecesario.
Una accin realizada sobre los mismos datos siempre deber devolver el mismo resultado.
Control
El usuario debe tener control sobre las acciones que esta realizando el sistema.
Disponibilidad
Todos los aspectos de un sistema debern de estar disponibles en cualquier momento. Slo
debern no estar disponibles en aquellas situaciones que no tenga sentido.
Eciencia
En cada paso de un proceso, se debe mostrar al usuario toda la informacin y herramientas necesarias para terminar el proceso. El usuario no debe tener la necesidad de buscar
informacin ni herramientas en lugares externos al proceso activo.
Operativilidad
Permite realizar acciones con un mnimo esfuerzo, es decir, permite realizar tareas de una
manera muy intuitiva para que el usuario no se canse con facilidad.
60
Perceptibilidad
Permite que cualquier usuario pueda percibir el diseo de la interfaz de una forma simple
haciendo uso de los recursos del sistema, por ejemplo el uso de iconos en lugar de textos
as como el uso de colores en lugar de tonos de grises.
Recuperacion
El sistema debe contar con un sistema de recuperacin que permita deshacer una accin.
Con este mecanismo se reduce en gran medida los errores de usuarios nuevos. El punto de
retorno puede ser hacia la accin anterior, pantalla anterior o al inicio de un determinado
periodo de tiempo.
El ojetivo es mantener la estabilidad, es decir, cuando el usuario realice una accin errnea
que pueda llevar a una situacin peligrosa exista alguna forma de regresar al punto anterior
estable. La recuperacin debe ser obvia, automtica y simple de realizar.
Simplicidad
Tiempo de respuesta
Cuando un usuario realice una solicitud el sistema debe contestar lo ms rpido que le sea
posible. Si al realizar una solicitud el sistema no responde en un tiempo considerable, puede
ser considerado como que el sistema ha fallado.
Visibilidad
Los sistemas son ms fcil de usar cuando de una manera clara indican el estado y los
resultados de las acciones realizadas por los usuarios.
61
Por otro lado, los lenguajes interpretados son muy portables a todas las arquitecturas y
sistemas operativos, debido a que no dependen de un tipo de arquitectura, pero requieren de
que exista un progama nativo que los interprete, es decir, que si la empresa desarrolladora
del lenguaje interpretado no libera una versin de su intrprete para un sistema operativo
en una arquitectura determinada, los programas escritos en este lenguaje no se ejecutarn.
Windows
Linux
MacOS
Basic
Java
.Net
Perl
PHP
Portabilidad
X
X
En la Tabla 4.1 se puede apreciar los alcances de los lenguajes de programacin ms desarrollados y ms difundidos en la actualidad, dejando claro que Java es el lenguaje de
programacin con mayor portabilidad, debido a que se cuenta con intrpretes para todas
las arquitecturas y adems que no se requiere modicar el cdigo fuente para ejecutarse en
stas. En seguida se describe brevemente dicho lenguaje de programacin.
62
4.2.1. Java
Java es una plataforma de software desarrollada por Sun Microsystem, de forma que los programas creados en ella, puedan ejecutarse sin cambios en diferentes tipos de arquitecturas
y dispositivos computacionales.
Esta plataforma est compuesta por:
El Lenguaje de programacin.
El lenguaje de programacin usa una sintaxis similar al lenguaje C++, incorpora sincronizacin, manejo de tareas e interfaces como un mecanismo alternativo a la herencia
mltiple de C++.
La mquina virtual de Java (JVM) es un programa nativo (un ejecutable de una plataforma
especca) capaz de interpretar y ejecutar cdigo binario especial (llamado Java Bytecode),
el cual es generado a partir del compilador de Java. Es por esto que Sun Microsystem ha
liberado versiones de su JVM para las arquitecturas y sistemas operativos ms utilizados.
Debido al desarrollo de JVM en los sistemas operativos, las aplicaciones desarrolladas en
Java se convierten en aplicaciones multiplataforma. Es por esto que para desarrollar la
aplicacin de modelado se utiliz Java. En seguida se describe las secciones ms relevantes
de la aplicacin.
63
64
rea de mens
Esta rea contiene las acciones que debe presentar todo sistema computacional. En la Figura
4.2(a) se muestra las acciones bsicas sobre manipulacin de archivos:
Nuevo. Se utiliza para crear un nuevo diseo o un diseo sin nombre. Todos los
archivos recibirn la extensin xml. Si se escogiera un nombre existente, se mostrar
un mensaje indicando la existencia de un diseo con ese nombre y dando la opcin
de sustituirlo.
Abrir. Con esta orden se cargan los diseos existentes, creados con anterioridad, para
su visualizacin, modicacin o implementacin.
Cerrar. Este comando permite cerrar el diseo actual sin almacenar los cambios efectuados al diseo.
Guardar. Para almacenar los diseos realizados duarante una sesin de trabajo. Si el
proyecto tiene nombre solo se actualizar, en caso contrario se solicitar un nombre
para el diseo.
Guardar Como. Permite almacenar el diseo actual con un nombre diferente al que
tiene, si an no tiene nombre se solicitara un nombre para el diseo.
Salir. Este comando sale del programa sin guardar los cambios efectuados en el diseo
actual, slo preguntando si en realidad desea salir.
65
Eliminar primitiva. Este comando permite eliminar una primitva seleccionada del
diseo.
En la Figura 4.2(c) se muestra las acciones pertinentes que permiten que el robot realice el
diseo activo. Contiene las opciones de:
Activar robot. Con esta orden se realizan dos operaciones: Se comprueba que el puerto
serial mediante el cual se realizar la conexin sea el indicado y se realiza un proceso
para bloquear el uso del puerto y as evitar fallas en la comunicacin con el robot.
66
Contiene acceso rpido a tareas comunes como crear un nuevo diseo, abrir un diseo, as
como la accines de deshacer y rehacer. Esta seccion puede apreciarse en la Figura 4.3 en
la parte superior izquierda, justo debajo del rea de mens.
Figuras en proyecto. Aqu se mantiene una lista de guras que se encuentran en el diseo actual. A cada gura existente se pueden aplicar las tranformaciones mencionadas
en la seccin 3.3 rotacin, escalado, traslacin as como operaciones de duplicacin
y eliminacin de primitivas existentes utilizando los controles que se aprecian en la
Figura 4.3(b).
67
Vistas. Permiten cambiar la vista del diseo, como se muestra en la Figura 4.5.
Inicia / Detiene el envio hacia el robot SCARA, adems de que muestra un barra
de progreso como se muestra en la Figura 4.3(c).
68
(a) Arriba
(b) Frente
(c) Lateral
(d) Perspectiva
Figura 4.5: Vistas disponibles
rea de trabajo
El rea de trabajo es la parte central donde se pueden realizar los diferentes trazos haciendo
uso de la herramienta de diseo, puede apreciarse en la Figura 4.6.
En esta rea de trabajo es donde se muestran todos los trazos realizados.
La descripcin del punto actual se muestra en la Figura 4.1 en la parte inferior izquierda,
esta nos presenta informacin sobre la posicin actual donde se encuentra el cursor dentro
del area de trabajo del robot, adems muestra el comando para mover el robot SCARA a
la posicin relativa.
69
Versin 1
En la versin 1 se implement usando Java y OpenGL(usando jogl para realizar el enlace con OpenGL[Davison07]) pero lamentablemente fue muy inestable debido a que si la
computadora no tiene una tarjeta de video dedicada el procesador tiene que realizar la
emulacin y esto conlleva a una operacin lenta de la aplicacin. Siendo uno de los puntos
ms relevantes la velocidad de la aplicacin, en especco para la comunicacin con el robot
mediante el puerto serial. Fue desechada esta implementacin.
Versin 2
En sta versin se implementarn dos hilos para intentar eliminar el problema del envio
retrasado por la emulacin de OpenGL, sin embargo no siempre se lograba enviar al robot
con la velocidad y continuidad necesaria. Esta versin tambin fue desechada.
70
Versin 3
Versin 4
En esta ltima versin se cambiaron los controles de Java.swing(jframe, jbutton, etc) por los
correspondientes de la biblioteca SWT (shell, button, etc) debido a que usando la biblioteca
SWT la aplicacin logra tener una apariencia idntica a las aplicaciones nativas del sistema
operativo.
Captulo 5
5.1.1. Caractersticas
Las caractersticas ms relevantes acerca del robot son:
4 Grados de libertad.
72
Velocidad de trabajo, para realizar cortes en madera se logr tener una velocidad
ptima de 1 segundo por centmetro.
Altura de 60 cm.
5.1.2. Arquitectura
A continuacin se listan algunas de las caractersticas ms relevantes del robot utilizado en
el presente trabajo:
73
Sistema sensorial.
Elementos actuadores.
El robot cuenta con dos motores de pasos, uno para el hombro y otro para el codo, stos
permiten un movimiento sobre los ejes X y Y; y dos motores de CD con escobillas para la
llamada rotacin de mueca y para denir la profundidad.
Sistema de control.
74
5.1.3. Limitantes
Posiblemente la limitante ms importante viene dada por el rango reducido del rea de
trabajo, dejando un limitado conjunto de posibles aplicaciones. Tambin cabe mencionar
la parte de control ya que esta se realiza en forma secuencial y no paralela, es decir no se
permite el movimiento simultneo de varias articulaciones.
Sea
(1 , 2 , 3 , D)
Sea
se reere a la rotacin de la
se reere a la rotacin de la
(x, y, z, )
(1 , 2 , 3 , D).
(1 , 2 , 3 , D)
(x, y, z, )
si conocemos la conguracin de
Para nuestros nes, lo que tenemos son los puntos deseados y necesitamos la conguracin
del robot para alcanzar dichos puntos, es decir, requerimos solucionar el problema de cinemtica inversa.
75
(1 , 2 , 3 , D)
(x, y, z, )
existen
Solucin Geomtrica
76
sin (A)
sin (B)
sin (C)
=
=
a
b
c
(5.1)
(5.2)
cos () = cos ()
(5.3)
Primero se sabe que la orientacin del ltimo eslabn es la suma de las variables articulares,
como se muestra en la Figura 5.5.
= 1 + 2 + 3
Se calcula
(5.4)
(5.5)
77
, 1 , 2 y 3
(5.6)
Resulta:
cos (2 ) =
Se calcula
X 2 + Y 2 L2 L2
1
2
2L1 L2
(5.7)
1 =
El ngulo
(5.8)
se calcula:
sin () =
y para el ngulo
Y
+Y2
X2
(5.9)
cos () =
X 2 + Y 2 + L2 L2
1
2
2+Y2
2l1 X
(5.10)
78
Finalmente se calcula
L1 y L2
3 = 1 2
(5.11)
1. El robot envia un carcter wpara indicar que esta listo para recibir un comando.
2. La aplicacin espera el carcter w para enviar un comando con la siguiente estructura:
W 1 2 3 D,
donde
1 , 2 , 3
79
, y 1
3. Una vez que el robot recibe el comando, inmediatamente ejecuta la accin solicitada.
Existen varias bibliotecas para la comunicacin serial, compatibles con lenguaje Java. Al-
80
gunas bibliotecas an estn en desarrollo, otras slo son para un determinado sistema operativo. En la Tabla 5.1 se muestran algunas de las bibliotecas ms usadas para la conexin
mediante puerto serial.
Biblioteca
Multiplataforma
Tipo de licencia
javaconn
No
GPL
rxtx
Si
GPL
81
82
Versin 1
Versin 2
Captulo 6
Pruebas
En este captulo se describe brevemente los requerimientos del sistema as como la forma de
instalar las aplicaciones y bibliotecas en las diferentes plataformas. Tambin se muestran los
resultados de la realizacin de pruebas usando el robot SCARA y el programa desarrollado
en esta tesis.
6.1. Introduccin
Para poder ejecutar la aplicacin desarrollada es necesario tener un entorno adecuado para
su ejecucin.
Instalando Java
Descargar e instalar Java Runtime Enviroment 1.6 o superior de la pgina ocial de Sun
Microsystem: http://java.sun.com/javase/downloads/index.jsp. Si el sistema operativo an83
84
CAPTULO 6. PRUEBAS
Concepto
Valor
Procesador
Memoria
Almacenamiento
20 Mb
MS-Windows XP o superior
Sistema operativo
Java
Bibliotecas
Instalando bibliotecas
Para instalar la biblioteca necesaria para la comunicacin con el robot es necesario descargar
la version ms actual del sitio ocial http://users.frii.com/jarvi/rxtx/ y descomprimir los
archivos correspondientes al sistema operativo antrion y mover los archivos a una carpeta
comn con la aplicacin desarrollada.
Finalmente la biblioteca SWT necesaria para la interfaz grca es necesario descargar
la version ms actual del sitio ocial http://eclipse.org/swt/ y descomprimir los archivos
correspondientes al sistema operativo antrin y mover los archivos a una carpeta comn
con la aplicacin desarrollada.
Usar algun cliente svn, svn es un sistema de control de versiones usado para mantener
el cdigo fuente actual as como sus versiones previas[Collins-Sussman08], y descargar la versin en desarrollo y compilarla desde el cdigo fuente. Para esto se deben
realizar los siguientes comandos:
[user@site]$
madera-read-only
[user@site]$
javac ide.Tesis.java
[user@site]$
85
java ide.Tesis
Descargar la ltima versin liberada por el autor desde la pgina ocial http://modelandomadera.googlecode.com y ejecutarla dando doble click sobre el archivo o bien ejecutando el comando:
[user@site]$
(a) Windows XP
(b) Linux
En la Tabla 6.2 puede observarse que la aplicacin funcion de manera aceptable en los
sistemas operativos ms comunes logrando una carga del programa en memoria en tiempos
aceptables y una capacidad de redibujo en pantalla muy bueno para diseos complejos,
adems que cumple con la integracin con el tema de pantalla que el sistema operativo
dene.
86
CAPTULO 6. PRUEBAS
1.20 seg
7.0 seg
Mac OS (tiger)
2 seg
7.20 seg
MS-Windows (Vista)
1.20 seg
7.50 seg
/dev/ttyUSB
Si
Mac OS (tiger)
/dev/tty.usbserial
Si
MS-Windows (Vista)
COM5
Si
Debido a que los sistemas operativos mostrados en la Tabla 6.3 soportan el modo exclusivo
de un puerto en especco no se detect ninguna interferencia por algun otro programa
que intentara utilizar el mismo puerto dando como resultado una plena seguridad de que
una vez activado el puerto la comunicacin con el robot SCARA se realizar con plena
seguridad.
87
Objeto
Numero de puntos
Punto
1 segundo
500
5 segundos
450
7 segundos
400
6 segundos
700
8 segundos
11000
21.5 minutos
88
CAPTULO 6. PRUEBAS
Captulo 7
Desarrollo mecnico de un robot SCARA, elaborado por el Sr. Rafael Cardiel Cervantes.
Desarrollo de una aplicacin para disear y realizar tareas utilizando un robot SCARA.
7.1. Conclusiones
Se eligi Java como lenguaje de programacin debido a su gran virtud de poder ser
ejecutado en la mayora de las plataformas sin la necesidad de alterar el cdigo fuente
o recompilar el mismo.
89
90
Se dise una aplicacin modular dando la posibilidad de que en un futuro a la aplicacin se pueda agregar nuevos mdulos o bien mejorar los existentes sin la necesidad
de modicar el cdigo completo.
Se desarrollaron diferentes clases para las primitivas Punto, Lnea, Crculo, Elipse,
Bezier para un manejo ms eciente a la hora de su programacin.
91
2. Revisar los cdigos fuentes disponibles del software EMC2, software desarrollado por
la comunidad de software libre para robots CNC y generar un mdulo de compatibilidad con la aplicacion desarrollada en esta tesis.
92
93
94
Glosario
CISC Complex-Intruction-Set Computing.
CRM Customer Relationship Management.
ERP Enterprise Resource Planning.
ISO International Organization for Standardization.
JIRA Japan Industrial Robot Association.
OpenGL Open Graphics Library.
PGM Portable GrayMap.
RISC Reduced-Intruction-Set Computing.
SCARA Selective Compliant Articulated Robot Arm.
SVN Subversion
XML Extensible Markup Language.
Referencias
[Bray08]
(XML)
1.0
(Fifth
Edition),
W3C
Recommendation,
2008
<http://www.w3.org/TR/2008/REC-xml-20081126/>.
[Carlbom78]
[Concha07]
[Collins-Sussman08] Collins-Sussman, B., Fitzpatrick, B., Pilato, C., Version Control with
Subversion, Publicado: TBA, 2008.
[Davison07]
[Delrieux00]
Delrieux, C. Introduccin a la Computacin Grca. Dpto Ingeniera Elctrica, Universidad nacional del sur. 2000.
[Estrada06]
[Galitz07]
Galitz, W. The Essential Guide to User Interface Design, Ed. Wiley, 2007.
[Gibilisco03]
[IRA08]
96
REFERENCIAS
[ISO8373:94]
[Jones98]
[Kuka08]
[Kurfess05]
[Kurfess07]
[Ollero]
[mrs2008]
[PROBOTIX09] CNC
Stepper
Motor
Driver
System
&
CNC
Router
Kits,
2009,
<http://www.probotix.com>.
[Poskanzer03]
Poskanzer,
J.,
PGM
Format
Specication,
2003
<http://netpbm.sourceforge.net/doc/pgm.html>.
[Ros07]
[Rodriguez08]
[Sanchez06]
[Sanchez07]
ndice alfabtico
Almacenamiento y recuperacin, 51
Estructura mecnica, 29
Bezier, algoritmo, 44
Imgenes PGM, 54
Biblioteca rxtx, 80
Importar, 53
Biblioteca SWT, 62
Instalacin aplicacin, 84
Bibliotecas, instalando, 84
Interfaz de software, 57
Crculo, algoritmo, 41
Introduccin, 21
CAD, 33
Java, 62
CAM, 33
Java, instalando, 83
Cinemtica inversa, 75
Clasicacin de los robots, 31
Lnea, algoritmo, 40
CNC, 34
Lenguaje de programacin, 61
Conclusiones, 89
Limitantes, robot, 74
Contribuciones, 25
Protocolo PC-SCARA, 78
Desarrollo tecnolgico, 36
Proyeccin isomtrica, 50
Diseo, IGU, 58
Pruebas, 83
Punto, denicin, 40
Elementos actuadores, 30
Elementos compuestos, varias primitivas, 45
Robot, 27
Elipse, algoritmo, 42
Rotacin, 48
Escalado, 47
Estructura de los robots manipuladores, 29
SCARA, 2224, 71
97
98
Sistema sensorial, 30
Trabajos futuros, 90
Transformaciones, 46
Traslacin, 48
XML, 51
NDICE ALFABTICO