Documente Academic
Documente Profesional
Documente Cultură
RESUMEN
En este trabajo se plantea como principal objetivo el modelado y simulación de un robot manipulador industrial
de 6 grados de libertad del tipo cartesiano, con usos prácticos, requeridos por el desarrollo industrial de la región,
La Libertad. Primero se hace un estudio de las necesidades de la industria en la región con respecto a
aplicaciones que requieren gran precisión, velocidad, repetitividad y homogeneidad en la calidad. Segundo,
mediante la información obtenida en el paso previo se diseña, en virtual 3D, un prototipo preliminar del robot
industrial mediante SolidWork. Tercero con la información del diseño preliminar del robot, se obtienen los datos
necesarios para realizar el modelado cinemático directo e inverso, el Jacobiano y la interpolación de trayectorias
mediante Matlab/Simulink. Finalmente presentamos una propuesta para generar trayectorias de trabajo del robot
mediante procesamiento digital de imágenes, mostrándose algunos ejemplos de la misma.
ABSTRACT
In this work is proposed as main goal the creation of Manipulator Industrial Robot of 6 degrees of freedom
to application on La Libertad region so in this work is presented the modeling and kinematic simulation of a
Cartesian robot. First is performed a study of the industrial needs in La Libertad-Peru region about an
applications that require great precision, speed, repeating and homogeneity in the quality. Second, through the
information obtained in the previous step, is designed in “virtual 3D” an industrial robot prototype by solid work.
Third with the robot preliminary design information is obtained the necessary data to realize the direct and
indirect (reverse) kinematic modeling also interpolation of trajectories by Matlab/Simulink. Finally is presented
an approach to generate the robot work trajectories through digital image processing also some examples of
them.
Keywords: Industrial Robotic, Cartesian robot, kinematic, Matlab/Simulink, Image processing, SolidWorks.
Fig. 1. Robot industrial con herramienta de trabajo multi-funcional Fig. 2. Modelo virtual (SolidWork) del robot industrial propuesto.
(manipulador y soldador).
Zi
Yi
Zi-1 Xi
Yi-1 ai
di
xi-1
ai-1 θi
αi-1
Fig. 5. Parámetros geométricos (θi,di,ai,αi).
1) Cinemática Directa
De acuerdo a lo descrito previamente, el modelado
cinemático directo se desarrolló mediante los
siguientes 3 pasos:
1. Asignación de los sistemas de referencia para
cada eslabón, según el método de D-H.
2. Determinación de los parámetros (θi, di, ai, αi).
3. Cálculo de las transformadas homogéneas i-1Ai.
2) Cinemática Inversa
Básicamente, en teoría, cabe la posibilidad de Fig. 6. Cinemática de un robot de 6 grados de libertad, cuyos tres
obtener el modelo cinemático inverso a partir de la últimos grados se cortan en un punto [5].
dificultaron poder establecer una manera sólida y
−1 𝑏𝑎𝑠𝑒 𝑇
3
𝑅𝑒𝑥𝑡𝑟𝑒𝑚𝑜 = [𝑟𝑖𝑗 ] = ( 𝑏𝑎𝑠𝑒𝑅3 ) 𝑅6 = ( 𝑏𝑎𝑠𝑒𝑅3 ) [𝑛 𝑜 𝑎](7) conveniente para abordar el problema. Es por ello que
aún se sigue estudiando el camino adecuado para
donde R es la matriz de rotación mostrada en la Fig. 4 solucionarlo.
y rij son los componentes numéricos conocidos de C. Generador de Trayectorias
base
Textermo, que en definitiva hacen posible encontrar En general, para poder controlar el movimiento
igualdades posibles de despejar para q4,q5 y q6. del robot previamente es necesario establecer las
características del mismo.
3) Jacobiano Por ejemplo, si el robot tiene que pasar entre dos
A pesar que en el estudio cinemático de un puntos y si no hay más restricciones que un tiempo
manipulador no se tienen en cuenta las fuerzas o pares para pasar entre ellos y las posiciones y orientaciones
que actúan sobre este, sí incumbe al estudio inicial y final, se puede pensar en generar
cinemático conocer la relación entre las velocidades directamente las trayectorias sobre el espacio articular.
de las coordenadas articulares y las de posición y Dado que esto permite determinar trayectorias
orientación del extremo. sencillas pero de gran rapidez.
Para esto se desarrolla un modelo diferencial el En aplicaciones de corte, soldadura, sellado,
cual queda concretado en la matriz jacobiana (8). engomado, etc., el movimiento debe ser establecido en
Aquella matriz es la que relaciona a las velocidades el espacio cartesiano, ya que el extremo de la
articulares (𝑞̇ 1 , 𝑞̇ 2 , … , 𝑞̇ 𝑛 ) con otro vector de herramienta del robot debe seguir una trayectoria con
velocidades expresado en un espacio distinto [9], el una geometría (lineal, circular, elíptica, etc.) y
cual en nuestro caso estuvo basado en las coordenadas velocidad deseada.
cartesianas y en los ángulos de Euler [5] En ambos casos los movimientos se deben
(𝑥̇ , 𝑦̇ , 𝑧̇ , 𝜑̇ , 𝜃̇ , 𝜓̇). realizar con la máxima suavidad y precisión posible.
f x f x En el caso de trayectorias en el espacio articular
q qn
optamos por los siguientes tres pasos:
1 Conversión de los puntos cartesianos inicial y
Ja final (así como puntos intermedios) a valores
articulares.
f f Interpolación de los valores articulares para cada
q1 qn articulación.
(8) Movimiento de cada articulación de forma
donde: independiente (cada articulación se mueve sin
qn: son las variables articulares. tener en cuenta el movimiento de las otras
fx y fѱ: representan la ecuación de x e ѱ articulaciones).
respectivamente, en función de las variables El primer paso se solucionó mediante la
articulares. cinemática inversa y los otros dos, mediante técnicas
El estudio de las velocidades mediante la matriz de interpolación [4].
Jacobiana, tiene consecuencias tanto directas, para El método de interpolación que se eligió fue en
cuando a partir de las velocidades articulares se base a requerimientos de suavidad, lo que obligó a
obtiene la velocidad del extremo de la herramienta imponer al menos cuatro condiciones de contorno. Las
(𝑥̇ , 𝑦̇ , 𝑧̇, 𝜑̇ , 𝜃̇, 𝜓̇), como inversas, para cuando a partir dos primeras que aseguren que se comienza y se
de la velocidad del extremo de la herramienta se termina en los puntos adecuados y las dos siguientes
pretende encontrar la velocidad de cada articulación. que garanticen que las velocidades de inicio y final
La ecuación mostrada en (9), permitió solucionar son nulas.
el problema directo. Matemáticamente las cuatro condiciones previas
pudieron ser cumplidas con un polinomio de tercer
x q1 grado [5]:
y
q(t ) a b(t t i ) c(t t i )2 d (t t i )3 (10)
z
Ja. i 1
donde: t t t representa el dominio tiempo, los
i
coeficientes a,b,c,d, son determinados tal que se
cumpla con las cuatro condiciones previas y para ello
q (9)
hace uso de la información del usuario (con respecto a
cómo el usuario quiere que trabaje el robot en una
Al momento de abordar el problema inverso los determinada aplicación) o también el generador de
métodos expuestos en [5][9][11], fueron insuficientes trayectoria mediante heurísticas determina los valores
para poder encontrar una solución viable. Ya que la de paso de velocidad para cada di. Para este último
enorme cantidad de puntos singulares que originaban caso, se usó la ecuación planteada en [6].
resultados indeterminados, por ser infinitos,
Fig. 7. Agrupación de puntos de 4 píxeles. Para el barrido de imágenes Fig. 8. Determinación de un punto colindante.
se tiene el primer punto comenzando en (85,78) y el segundo punto en
(85,82).
mediante Matlab. Para la visualización de imágenes en
1) Trayectorias por procesamiento de imagen 3D se usó el soporte Virtual Reality Modeling
Para agilizar la generación de una trayectoria Language (versión VRML97) y un visualizador
deseada de la herramienta de RoboUPAO, se plantea llamado VRML plug-in Blaxxun contact, el cual
utilizar archivos de imagen, por ejemplo en el trabaja con Simulink. Sin embargo SolidWork exporta
software Paint, con la finalidad que por algoritmos de archivos en formato VRML1.0, por lo que a fin de
procesamiento en Matlab, se puedan obtener las conseguir la compatibilidad con VRML97 se usó el
condiciones de contorno para el interpolador cúbico. editor Ligos V-Realm Builder. El software que da
El proceso que ayudó determinar la trayectoria soporte a la simulación (Matlab) presenta una interfaz
del robot mediante procesamiento de imagen consta de gráfica de usuario (GUI), y archivos .m que contienen
las siguientes fases: el código del modelado cinemático y generación de
trayectoria. Finalmente un transductor en Simulink que
Determinación de la Imagen binaria: Se convierte la recibirá los datos del programa .m para proporcionar
imagen en una matriz con datos binarios, mediante el los valores de cada articulación según la trayectoria
sistema de coordenadas de píxeles, rxc . Donde un generada. Lo que se visualizará en el entorno en 3D.
pixel en blanco es representado por un uno y un pixel Un esquema general de la lógica de la simulación
en negro es representado por un cero (la imagen es en puede verse en la Fig. 9.
blanco y negro).
1) Interfaz gráfica de usuario
Barrido de imagen: Se toman puntos cada cierta Con la finalidad de ingresar los valores de las
distancia en la matriz de imagen obtenida en el paso variables articulares, la posición de la herramienta en
previo. Esta distancia entre puntos es el espacio cartesiano, entre otros, se hizo uso de una
aproximadamente de 0.1 cm (equivalente a 4 pixeles). interfaz gráfica de usuario, que no es sino una ventana
Es decir que un punto es representado por una sub- didáctica donde el usuario puede ingresar datos que
matriz de cuatro filas y cuatro columnas. El barrido sean entendidos por el ordenador y los enlace al
(de izquierda a derecha) determina la posición (r,c) programa de RoboUPAO (Fig. 10).
donde comienza la sub-matriz de ceros que define un Para hacer más didáctica la interfaz se dividieron
punto (Fig. 7). Las posiciones de los puntos son las tareas específicas en grupo de botones. En la zona
guardados en una matriz de r filas y dos columnas. de “Variables Articulares”, se puede variar
Siendo el valor de r igual a los puntos que contiene la independientemente cada variable articular. En
imagen. “Posicionar Extremo”, se le indica a RoboUPAO la
posición y orientación en que debe situarse la
Puntos secuenciales: Los puntos de la matriz son herramienta en el espacio cartesiano. En
organizados siguiendo un patrón de similitud mediante “Velocidades”, se le otorga a cada articulación una
la asignación de un pixel a su alrededor, lo que velocidad, y presionando el botón “Obtener V.”, se
determinará los puntos colindantes a cada uno de ellos obtienen las velocidades de la herramienta del robot;
(Fig. 8). El proceso se repite con cada punto
colindante determinado, hasta definir una trayectoria.
0 1 0 l4 cos(q4 ) sin( q5 ) l4 cos( q5 ) sin( q4 ) 0 Con los datos de la Tabla 3 la trayectoria final
0 0 1 0 l4 sin( q5 ) 0
(Fig. 13) se vio afectada originándose curvas
indeseadas, lo que significa que no existió suavidad.
1 0 0 l4 sin(q4 ) sin( q5 ) l4 cos( q4 ) cos( q5 ) 0
Tal característica se dio, a causa del forzado
0 0 0 0 0 1 matemático que sufrió el interpolador al momento de
0 0 0 1 1 0 adaptar las velocidades para que se cumpla la
0 0 0 0 0 0 (34) trayectoria, pasando por los puntos que se le
indicaron. El resultado de la trama de velocidades y
Aquella matriz con la cantidad de cada variable aceleraciones a lo largo de toda la trayectoria se puede
articular multiplicada por la matriz con los valores de apreciar en la Fig. 14.
las velocidades de cada articulación, como se muestra
en (9), permite encontrar (𝑥̇ , 𝑦̇ , 𝑧̇ , 𝜑̇ , 𝜃̇ , 𝜓̇).
D. Trayectorias
Se tomaron en cuenta tres ejemplos que muestran
con claridad el trabajo del interpolador cúbico. El
primero de ellos se trabajó con la opción “Manual”,
con el fin de imponer velocidades, y con la opción del
programa que permite guardar puntos establecidos por
el usuario; puntos que al final el interpolador los unirá
y culminará en una trayectoria. En el segundo se
siguen los pasos del ejemplo previo, con la diferencia
(b)
Fig.14. Tramas de velocidades y aceleraciones. (a) Primer ejemplo. (b) Segundo ejemplo.
3) Ejemplo 3
Para este último ejemplo primero se procedió a
hacer el dibujo de la trayectoria en Paint. Luego en el
GUI de RoboUPAO se seleccionó e ingresó el
nombre, con el que fue guardado, en la caja de texto
“Nom. Ar.”, la cual se encuentra en “Trayectorias”.
Finalmente se dio inicio con el proceso haciendo clic
en el botón “Generar T.”.
Para la obtención de trayectorias mediante este
procesada. De esta manera se obtuvo una copia casi El método de procesamiento digital de la imagen
identica de la figura real en la trayectoria de la expuesto cumplió satisfactoriamente con entregarle
herramienta del robot. al interpolador los puntos claves de la trayectoria.
En suma, mientras más pegados los puntos El entorno Matlab/Simulink, fue suficiente con sus
obtenidos de la imagen y con más puntos del herramientas para llevar una simulación con
interpolador entre aquellos, mejor se aproxima la normalidad, ya que la versatilidad de sus
trayectoria a la imagen real. No obstante, se presenta componentes con respectos a la interfaz gráfica de
un problema en cuanto a las velocidades y usuario, al sencillo uso de archivos .m y a la
aceleraciones. En este último ejemplo se procesó una posibilidad de tiempo real de Simulink para
imagen no tan complicada, fue por ello que las comunicar con un entorno en 3D hicieron posible
velocidades y aceleraciones no presentaron mucha este trabajo.
inestabilidad (Fig. 17), pero cuando se complican un
poco más las curvas en la figura, tienden a presentar V. AGRADECIMIENTOS
cambios bruscos. El grupo de trabajo de la Sociedad Científica en
Ingeniería Electrónica (SOCIIE) de la Universidad
IV. CONCLUSIONES Privada Antenor Orrego que llevó a cabo este
El modelado mecánico de RoboUPAO logrado, proyecto de investigación, agradece cálidamente al
cumplió con una mecánica sencilla y a la vez Doctor Ricardo Prado Gardini, por su constante
robusta, adecuada para las áreas con mayor apoyo, asesoramiento y aliento a seguir con las ganas
demanda en la industria Liberteña, como metal- de caminar en los grandes horizontes que la
mecánica (soldadura y corte) y calzado (corte), ya investigación científica provee.
que el extremo del robot donde se sitúa la
herramienta, mostró en la simulación facilidad de VI. REFERENCIAS
movimiento sobre el área variable de trabajo. [1] Anibal Olleno Baturone, 2001, editorial
El modelado cinemático cumplió con su función MARCOMBO,S.A-Barcelona, ROBÓTICA.
de posicionar y orientar las articulaciones y el Manipuladores y robots móviles.
extremo del robot, ya sea directa e inversamente. [2] CRAIGJOHN J. Craig Robotica-3era edición,
Se logró con normalidad la Jacobiana directa, que Pearson. Educación 2006
sirvió para obtener las velocidades del extremo del [3] Fawell, Robert, SCHMITT, NEILM A. fondo,
robot, basados en la velocidad de cada Robótica y sistemas Automáticos, ANAYA
articulación, y así poder usarlas en el interpolador multimedia 1988, Madrid-España.
cúbico. Por otro lado aún existen problemas en [4] AUDI, PIERA, DANIEL “Cómo y cuando aplicar
determinar la Jacobina inversa. un robot industrial”. MARCOMBO, Barcelona-
El interpolador cúbico como se vio en el ejemplo 1 España 1988.
y 2, fue capaz de crear una trayectoria a partir de [5] BARRIENTOS CRUZ, Antonio, PEÑIN
las velocidades otorgadas por el usuario y de HONRUBIA, Luis Flipe ; BALAQUER
establecer sus propias velocidades BERNALDO DE QUIROE, Carlos. Fundamentos
respectivamente. En este último, tuvo mejor éxito de Robótica. MC GRAW-HILL-Madrid 2007.
porque no se forzó en adaptarse a los [6] IÑIGO MADRID, RAFAEL, VIDAL IDIARTE,
requerimientos del usuario, sino que a su propia EURIC Robots Industriales Manipuladores,
comodidad numérica dio, mediante heurísticas [6], ALFAOMEGA, Mexico DF 2004
con velocidades más suaves. Pese a ello, al tratarse [7] Carvajal, Modelamiento y Diseño de Robot
de trayectorias proveniente de archivos de Industriales, Bogotá, 2008, p. 382.
imágenes, donde se exige mayor exactitud, algunos [8] RIVAS ARDISANA. Maria, Robótica Industrial
problemas con fluctuaciones agresivas se fundamentos y aplicaciones. España: McGraw-
presentaron relacionados con la aceleración y hill interamericana de España.2000, P 481.
velocidad. El problema no es tan grave si la [9] MARK W.Spong, SETH Hutchinson, M
imagen procesada mantiene cierta simplicidad en Vidyasagar, Robot modeling and control, Jhon
sus curvas. Wiley & Sons, Ltd 2006
[10] FERRATE, G. Robótica Industrial, Macombo
boixareu Editores, Barcelona, 1986.
[11] TORRES F., POMARES, J. GIL, P. , PUENTE
S., ARACIL,R. Robots y sistemas sensoriales, Ed.
Prentice Hall 2002.
[12] K. S. Fu, R. C. GONZALES y C. S. G. LEE,
Robótica: Control, Detección, Visión e
Inteligencia, Mc Graw-Hill/Interamericana,
Madrid, 198.
[13] D. F. ROGERS Y J. A. Adams, Mathematical
elements for computer graphics, McGraw-Hill,
197.
[14] A. OLLERO, Robótica. Manipuladores y Robots
Móviles. Marcombo, Boixareu Editores, 2001.
VII. BIOGRAFÍAS
Wilinton Samir Briones Escobedo, nació en
Celendín, Cajamarca, Perú el 19 de marzo de 1989,
estudiante de Ingeniería electrónica de la
UNIVERSIDAD PRIVADA ANTENOR ORREGO
La Libertad, Perú, Miembro IEEE desde el 2011,
Miembro RAS perteneciente al grupo de investigación
SOCIIE-UPAO. 1° Puesto del concurso de Robots
Soccer del Coneimera 2010
(wbrionese@upao.edu.pe).
Eric Alberto Castillo Ponce, nació en Trujillo,
La Libertad, Perú el 28 de Junio de 1989.Estudiante de
Ingenieria Electronica de la UNIVERSIDAD
PRIVADA ANTENOR ORREGO.Alumno becado de
la misma. Miembro IEEE desde el 2010, Miembro
RAS Perteneciente al grupo de investigacion SOCIIE-
UPAO. (ecastillop1@upao.edu.pe ).
Erick M. Fiestas Sorogastua, nació en Trujillo,
La Libertad, Perú el 23 de setiembre de 1988.
Estudiante de Ingeniería Electrónica de la
UNIVERSIDAD PRIVADA ANTENOR ORREGO.
Miembro IEEE desde el 2011, Miembro RAS
Perteneciente al grupo de investigación SOCIIE-
UPAO. (efiestass@upao.edu.pe ).