Sunteți pe pagina 1din 11

Modelado y Simulación de un Manipulador de 6 Grados

de Libertad para Aplicaciones Industriales en la Región


La Libertad-Perú
Wilinton S. Briones Escobedo, Eric A. Castillo Ponce, Erick M. Fiestas Sorogastua
UNIVERSIDAD PRIVADA ANTENOR ORREGO
Facultad de Ingeniería
Escuela Profesional de Ingeniería Electrónica
Av. América Sur 3145 Monserrate
Teléfono [+51][044] 604444
FAX 282900 Apartado Postal 1075
imagen_institucional@upao.edu.pe Trujillo – Perú

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.

Palabras clave: Robótica industrial, Robot cartesiano, Cinemática, Matlab/Simulink, Procesamiento de


imágenes, SolidWork.

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.

I. INTRODUCCIÓN solución robótica va más allá de las tecnologías


En la medida que los países se desarrollan y los disponibles y es el resultado de la experiencia, la
mercados se hacen más competitivos las industrias integración de conocimientos, el trabajo en equipo y la
deben optimizar sus procesos, mejorar la calidad de creatividad de las ideas
sus productos y hacer un uso más eficiente de sus Por otro lado, el mercado globalizado actual
recursos. presenta una dinámica muy variable en corto y
La robótica industrial ayuda a cumplir estos mediano plazo. Lo que exige a las industrias instalar
objetivos aumentando los niveles de productividad, líneas flexibles de producción capaces de adaptarse
calidad y seguridad en los procesos productivos, ya rápidamente a los cambios en el producto a fabricar, o
que ha alcanzado un alto nivel de desarrollo fabricar una familia de productos en una misma línea
Los costos asociados a los sistemas robóticos se de producción. En ese sentido los robots industriales
han reducido y las personas cada vez tienen más se han mostrado como las maquinas-herramientas más
conocimiento sobre sus beneficios. Esto ha permitido, flexibles y versátiles. La flexibilidad le permite
en los países desarrollados, su masificación e fabricar productos de diversas formas, tamaño y peso
incorporación gradual a nuevas industrias. en una misma línea de producción, y la versatilidad le
La robótica es una tecnología que requiere altos permite realizar diferentes aplicaciones (manipulación,
niveles de especialización y un conocimiento soldadura, paletizado, etc,…) simplemente mediante
profundo de los procesos involucrados. El éxito de una el cambio de la herramienta de trabajo o usando un
efector-final multifuncional (Fig. 1). Todo aquello sin las diferentes morfologías de robots industriales
necesidad de parar la línea de producción. Es por ello convencionales, se optó por diseñar un robot del tipo
que el robot industrial es considerado, en los sistemas cartesiano.
de producción de los países desarrollados, la máquina- Un robot industrial cartesiano permite realizar
herramienta más eficiente. eficientemente tareas de corte (metálico, cuero,…),
Entre las aplicaciones convencionales más selección-clasificación-ordenamiento, paletizado y
especializadas de los robots industriales están las de tipos específicos de soldadura.
soldadura, paletizado, corte (entre otros). Que son El robot que se desarrolla aquí, al que en
precisamente las aplicaciones de mayor auge en los adelante se le llamará RoboUPAO, tiene seis grados
últimos años en la industria de la región La Libertad- de libertad que son los suficientes para que lleve a
Perú. Especialmente en las áreas metal-mecánica cabo las tareas de la industria.
(soldadura y corte), molineras (paletizados), calzado En este trabajo se hizo uso de SolidWork para el
(corte), agro-industria (selección-clasificación y diseño mecánico, MatLab/Simulink para el cálculo y
paletizado). simulación del robot, y el Paint para describir las
Este auge de la industria Liberteña exige mejorar trayectorias que se desea que el robot realice.
su productividad, calidad y capacidad de adaptación a Los criterios de producción que se tomaron en
los rápidos cambios que exige el mercado globalizado cuenta para el diseño de RoboUPAO son:
actual. Es por ello que se realizó un estudio para Aplicaciones de corte y soldadura (de alta precisión)
precisar las necesidades de la industria local, luego del en superficies planas, perforados precisos de líneas y
cual se planteó como posible solución el uso de puntos (tarjetas electrónicas), sellados y engomados
tecnología robotizada. Esta solución despertó gran que requieren trayectorias lineales o circulares (o por
interés pero al mismo tiempo un comprensible temor a tramos) en la que asegurar una velocidad elevada y
una tecnología aún distante y desconocida, sobre todo constante, lo que es vital para obtener una buena y
con respecto al servicio técnico post-venta. homogénea calidad. Otra aplicación típica son los
Motivados por el interés mostrado por la robótica procesos para detectar, coger y dejar piezas que en
industrial como máquina-herramienta que permite dar muchos casos implica desarrollar un arreglo matricial
una solución eficiente a las necesidades de la industria de las posiciones de las piezas.
Liberteña, se plantea el reto de diseñar y construir un En todas las aplicaciones mencionadas
robot industrial cuya morfología permita dar solución previamente, se requiere un alto grado de exactitud de
a las aplicaciones más representativas de la industria posición y velocidad. Por ejemplo, para obtener una
regional, en especial en aplicaciones de corte para buena calidad de corte, soldadura o engomado se debe
metal-mecánica y cuero. asegurar que la distancia entre el extremo de la
En este artículo se presenta el trabajo de la herramienta de trabajo del robot y la superficie de la
modelación cinemática del robot industrial propuesto. pieza procesada, se mantenga siempre constante a fin
de asegurar la calidad de la aplicación (Fig. 3).
II. MATERIALES Y MÉTODOS En este contexto, las dimensiones de RoboUPAO
son de 100 x113x72.5 cm, mientras que su zona de
A. Diseño Preliminar del robot
trabajo tiene un área de 80x93cm y es ajustable según
Se propuso un diseño robusto, altamente las dimensiones de la pieza a trabajar; este ajuste
adaptable a las aplicaciones descritas previamente en puede hacerse de forma automática o manual y sirve
la industria Liberteña, pero sin complejidad mecánica, como límite de espacio de trabajo para el robot.
ya que se tuvo presente que somos un grupo, aunque Con la información de dimensión y estructura
motivado y entusiasta, con reciente experiencia en el cartesiana de RoboUPAO (Fig. 2) se procedió al
área de la robótica. Por ello, fue que luego de analizar modelado cinemático del mismo.

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).

determinada. Este caso se conoce como el problema


cinemático inverso.
De lo descrito previamente se puede deducir que el
problema cinemático directo presenta una única
solución, el inverso puede presentar más de una
solución.
El modelado cinemático en general se basa en el
método de Denavit-Hartenberg (D-H) que es un
método matricial (matrices homogéneas) que permite
establecer de manera sistemática un sistema de
coordenadas ligado a cada eslabón i, de una cadena
Fig. 3. La distancia entre las piezas a soldar y los extremos de los articulada, pudiéndose determinar a continuación las
electrodos de la pieza de soldadura (asignada al extremo del ecuaciones cinemáticas de la cadena completa[2].
robot) es un parámetro determinante para asegurar la calidad de
Según la representación de D-H, escogiendo
la soldadura.
adecuadamente los sistemas de coordenadas asociados
B. Modelamiento cinemático
a cada eslabón, será posible pasar de uno al siguiente
En general, se puede decir que la estructura
mediante 4 transformaciones básicas que dependen
mecánica de un robot industrial es una cadena
exclusivamente de las características geométricas del
cinemática abierta de elementos rígidos conectados
eslabón.
por medio de articulaciones de revolución o
Las transformaciones básicas están determinadas
prismática. Al ser RoboUPAO un robot cartesiano, las
tres articulaciones del cuerpo principal son prismáticas por matrices homogéneas (matrices 44) que permiten
y las tres siguientes, por nuestro diseño, son la representación simultanea de la posición y
rotacionales. Un extremo de la cadena cinemática es la orientación de un sistema de referencia con respecto a
base y es fija mientras que el otro extremo es libre y se otro (Fig. 4). El producto de matrices homogéneas
conoce como garra o herramienta [1]. define una Transformación homogénea que permite
Existen dos problemas fundamentales a resolver en expresar (entre otras aplicaciones) la posición y
la cinemática, el primero de ellos determina la orientación del extremo del robot con respecto al
posición y orientación del extremo del robot cuando sistema base en función de parámetros de las
cada una de las variables (variable articular) que fijan articulaciones.
la posición u orientación de sus articulaciones toman Las características geométricas del eslabón están
valores definidos. Este caso se conoce como el dadas por cuatro parámetros geométricos (Fig. 5), dos
problema cinemático directo. relativos al tamaño y forma del eslabón (ai, αi) y los
El otro problema cinemático consiste en encontrar otros dos (θi, di) relacionados con la posición relativa
las configuraciones posibles del robot para diferentes entre dos eslabones consecutivos (relativos a la
valores en las variables de las articulaciones, que articulación que los enlaza), entonces:
correspondan a posiciones y orientaciones específicas ai, proporciona información sobre la longitud del
de la garra o herramienta. Es decir, se establecen los eslabón.
valores de cada una de las articulaciones del robot αi, define el ángulo de torsión del eslabón.
para que su extremo esté en una posición y orientación Los dos siguientes parámetros relacionan la posición
relativa de un eslabón con respecto a su predecesor.
di, expresa la distancia entre los dos eslabones y
está determinada por el tamaño y forma de la
Fig. 4. MATRIZ homogénea usada en Robótica.
articulación que las une. Se le conoce como la
longitud angular.
θi, expresa el ángulo que forman los dos eslabones matriz T, que relaciona a la base y al extremo del
(determinado por la forma de la articulación que robot, ya que se aprovecha de la condición de
los une). Se le conoce como ángulo articular. ortonormalidad de la matriz de rotación R3,3[14], lo
Los parámetros ai y αi, una vez determinados siempre que significa que de una matriz homogénea
se mantienen fijos (asumiendo eslabones rígidos), no
así con los otros dos parámetros. Para una articulación 𝑛𝑥 𝑜𝑥 𝑎𝑥 𝑝𝑥
tipo rotacional el parámetro θi es variable, se asocia a 𝑛𝑦 𝑜𝑦 𝑎𝑦 𝑝𝑦
[ ] (4)
la variable articular qi, y el parámetro di es fijo. Por el 𝑛𝑧 𝑜𝑧 𝑎𝑧 𝑝𝑧
contrario en una articulación prismática di es variable, 0 0 0 1
se asocia a la variable articular qi, y θi es fijo.
En el caso de RoboUPAO se tiene un robot se puede obtener su inversa de una manera más rápida:
cartesiano, por lo tanto las articulaciones del cuerpo
principal son prismáticas. Es así que las tres primeras 𝑛𝑥 𝑛𝑦 𝑛𝑧 −𝑛𝑇 𝑝
variables articulares se definieron por una di variable. 𝑜𝑥 𝑜𝑦 𝑜𝑧 −𝑜 𝑇 𝑝
(5)
Y las otras tres articulaciones restantes, por ser 𝑎𝑥 𝑎𝑦 𝑎𝑧 −𝑎𝑇 𝑝
rotacionales, se basaron en un θi variable. [0 0 0 1 ]
Determinar la posición y orientación del extremo
del robot dado los valores de las articulaciones, donde se observa que se reemplaza la matriz P3,1 por la
equivale pasar del sistema de referencia i-1 (sistema multiplicación de p (px,py,pz) con la transpuesta de
de referencia asignado al eslabón i-1, según D-H) al cada grupo de letras (n, o, a) con signo invertido, y la
sistema de referencia i (asignado al eslabón i) matriz R3,3 solo se reemplaza por su transpuesta.
mediante dos giros y dos traslaciones, en el orden Por lo tanto, para hallar la cinemática inversa
adecuado, que se corresponden con los parámetros D- solo se tuvo que ir jugando con las inversas de cada
H que involucran a los eslabones que definen la transformada homogénea (i-1Ai) :
articulación i. Lo que matemáticamente se obtiene
mediante una Transformación homogénea (i-1Ai): −1 −1 −1
( 3𝐴4 ) ( 4𝐴5 ) ( 5𝐴𝑒𝑥𝑡𝑟𝑒𝑚𝑜 ) 𝑇 = 𝑏𝑎𝑠𝑒 𝐴1 1𝐴2 2𝐴3
(6)
i 1
Ai  Rot ( zi 1 ,i ).Tras( zi 1 , di ).Tras( xi , ai ).Rot ( xi , i ) (0) Sin embargo, por este camino jugar con las
matrices para encontrar el valor de las articulaciones qi
Dónde: Rot= rotación, Tras= traslación; son matrices en función de los puntos en el sistema cartesiano
homogéneas (44). (x,y,z) de la herramienta, se complicó demasiado.
A partir de (1) se obtiene la transformación El modo correcto para la solución que se siguió,
homogénea total, baseTextermo, que representa la fue el desacoplo cinemático [5]. Método que solo es
posición y orientación del extremo del robot con aplicable a robots cuyos tres últimos grados de
respecto al sistema base: libertad se cortan en un punto (Fig. 6).
El desacoplo cinemático, cumplida la condición
base
Textremo base A1.1 A2 .2 A3 ...n 1 Aextremo (1) de corte común, origina la siguiente igualdad:

 r11 r12 r13 base


xextremo 
 base 
r r22 r23 yextremo 
base
Textremo   21 (3)
 r31 r23 r33 base
zextremo 
 
 0 0 0 1 

donde los elementos de la cuarta columna


proporcionan información de posición y los elementos
de las tres primeras columnas proporcionan
información de orientación.

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.

Interpolación: Se envía al interpolador la matriz de


puntos previamente organizada por la fase previa para
generar la trayectoria del robot. El interpolador genera
automáticamente dos puntos intermedios entre cada
dos puntos pertenecientes a la matriz de puntos.
D. Simulación
En esta Sección se presentan los pasos que se
realizaron con el fin de lograr la simulación del
modelado cinemático y generación de trayectorias Fig. 9. Esquema de desarrollo para RoboUPAO.
Fig. 11. Programa en Simulink.
mediante (1), para luego encontrar baseTextermo con la
ayuda de (2) y obtener lo siguiente:
𝑟11 = −𝑐𝑜𝑠𝑞4 𝑠𝑒𝑛𝑞6 − 𝑐𝑜𝑠𝑞5 𝑠𝑒𝑛𝑞4 (11)
𝑟12 = 𝑐𝑜𝑠𝑞5 𝑠𝑒𝑛𝑞4 𝑠𝑒𝑛𝑞6 − 𝑐𝑜𝑠𝑞4 𝑐𝑜𝑠𝑞6 (12)
Fig. 10. GUI de RoboUPAO 𝑟13 = −𝑠𝑒𝑛𝑞4 𝑠𝑒𝑛𝑞5 (13)
𝑟21 = 𝑐𝑜𝑠𝑞6 𝑠𝑒𝑛𝑞5 (14)
puede también dejarse la decisión de las velocidades
al interpolador si seleccionamos “Manual”. En “Área 𝑟22 = −𝑠𝑒𝑛𝑞5 𝑠𝑒𝑛𝑞6 (15)
Trabajo”, se deciden las dimensiones del área de 𝑟23 = −𝑐𝑜𝑠𝑞5 (16)
trabajo de RoboUpao. Y en “Trayectorias”, tenemos la 𝑟31 = 𝑐𝑜𝑠𝑞4 𝑐𝑜𝑠𝑞5 𝑐𝑜𝑠𝑞6 − 𝑠𝑒𝑛𝑞4 𝑠𝑒𝑛𝑞6 (17)
opción de cargar un archivo de imagen o generar una 𝑟32 = −𝑐𝑜𝑠𝑞6 𝑠𝑒𝑛𝑞4 − 𝑐𝑜𝑠𝑞4 𝑐𝑜𝑠𝑞5 𝑠𝑒𝑛𝑞6 (18)
trayectoria propia grabando los puntos donde se 𝑟33 = 𝑐𝑜𝑠𝑞4 𝑠𝑒𝑛𝑞5 (19)
encuentra la herramienta. 𝑝11 = 𝑞2 − 𝑑𝑢2 − 𝑙4 𝑠𝑒𝑛𝑞4 𝑠𝑒𝑛𝑞5 (20)
La GUI tiene asociado un archivo .m, cuyo 𝑝21 = 𝑙1 + 𝑙3 − 𝑞3 − 𝑙4 𝑐𝑜𝑠𝑞5 (21)
código permite enlazar funciones de cada botón, con 𝑝31 = 𝑙2 − 𝑑𝑢1 + 𝑞1 + 𝑙4 𝑐𝑜𝑠𝑞4 𝑠𝑒𝑛𝑞5 (22)
los cálculos matemáticos relacionados a los mismos.
donde las variables articulares de traslación y
2) Transductor Simulink lasmedidas constantes están en centímetros, y las
Permite pasar los valores de las articulaciones al variables articulares de rotación están en radianes.
entorno 3D y con esta información visualizar el
movimiento del robot. B. Cinemática Inversa
Los valores de las articulaciones y otras variables Conocida la posición del extremo del robot,
de interés ingresan por 12 entradas (ver Fig. 12, determinada por los componentes hallados de
base
marcadas con circunferencias). El producto de Textermo, se debe determinar los valores de la
matrices homogéneas se visualiza en la matriz variables articulares en función de Px, Py e Pz. Para
encerrada por un rectángulo. También se refleja la ello se utilizó el denominado desacoplo cinemático,
variación del área de trabajo. obteniéndose lo siguiente:
𝑟
𝑞6 = 𝑎𝑟𝑐𝑡𝑎𝑛 ( 32) (23)
𝑟31
III. RESULTADOS Y DISCUSIONES 𝑞5 = 𝑎𝑟𝑐𝑜𝑠(𝑟33 ) (24)
A. Cinemática Directa
Asignados los sistemas de referencia según el X1
algoritmo D-H (Fig. 12), se obtuvieron los parámetros du2
geométricos mostrados en la Tabla 1.
Z1
TABLA 1. PARÁMETROS GEÓMÉTRICOS DE ROBOUPAO
l2 Y4
Articulación θi di αi ai
1 90 qi-du1 l1 90 Y0
2 90 q2-du2 l2 -90 Y2 Y1
3 0 q3-l3 0 0 l1 l3 Z4
4 q4 0 0 -90 du1
X2 l4 Y3 Y5
5 q5 0 0 90 Z2
6 q6 l4 0 0 X0 X4
du1, du2, l1, l2, l3 y l4 son medidas constantes de estructura
Z0 X3 X5
mecánica (Fig. 12). Z3
Y6 Z5
Con la obtención de los parámetros geométricos
de RoboUPAO se procedió a la obtención de las X6
i 1 Z6
correspondientes matrices homogéneas Ai
Fig. 12. Sistemas de referencia asignados a RoboUPAO.
𝑟23 que esta vez se le deja libertad al interpolador para que
𝑞4 = arctan ( ) (25)
𝑟13 decida las velocidades con la opción “Automático”. El
𝑞1 = 𝑃𝑧 − 𝑙2 + 𝑑𝑢1 − 𝑙4 𝑐𝑜𝑠𝑞4 𝑠𝑒𝑛𝑞5 (26) último ejemplo se ve la generación de una trayectoria
𝑞2 = −𝑃𝑥 + 𝑑𝑢2 + 𝑙4 𝑠𝑒𝑛𝑞4 𝑠𝑒𝑛𝑞5 (27) mediante un archivo hecho en Paint.
𝑞3 = −𝑃𝑦 + 𝑙1 + 𝑙3 − 𝑙4 𝑐𝑜𝑠𝑞5 (28)
1) Ejemplo 1
Aquellas ecuaciones nos permiten mover el Luego de grabar los puntos clave variando la
extremo del robot pero manteniendo constante las posición de las articulaciones en “Variables
variables rotacionales; en este caso, para poder Articulares” y las velocidades en “Velocidades”, y
también usarlas se tomó (21) y (22) ya que son las teniendo en cuenta que la opción “Manual” estuviera
posiciones en x, y e z de la herramienta de activada, se pasó a la construcción de la nueva
RoboUPAO. Se despejó de la siguiente manera: trayectoria (Fig. 13) con un clic en “Generar T.”, pero
seleccionando previamente en “Nom.T” y en la caja
𝑞3 −𝑙1 −𝑙3 +𝑃𝑦
𝑞5 = 𝑎𝑟𝑐𝑜𝑠 ( ) (29) de texto contigua, ingresando el nombre que la
−𝑙4
representará.
𝑞1 −𝑃𝑧 +𝑙2 −𝑑𝑢1
La trayectoria completa estuvo constituida por
𝑞4 = 𝑎𝑟𝑐𝑜𝑠 ( ) (30) cinco puntos (Tabla 2), los cuales estuvieron
−𝑙4 𝑠𝑒𝑛𝑞5
donde cabe recordar que Px = p11, Py = p21, Pz = p31. relacionados con las velocidades predispuestas por el
usuario (Tabla 3).
Por lo visto en la matriz de traslación P 3,1 no TABLA 2. POSICIÓN Y ORIENTACIÓN EN LOS PUNTOS.
aparece la variable q6. Eso quiere decir que no influye Puntos Px(cm) Py(cm) Pz(cm) φº θº ѱº
para nada en la posición, mas sí en la orientación. 1 12 31 25 0 -90 0
La orientación de RoboUpao se expresó según 2 5.64 38.1 75.02 0 -62 90
3 79.74 38.05 72.18 0 18 90
los ángulos de Euler de la forma XYZ [5], los cuales 4 71.05 31.04 44 55 4 90
salieron por el modelo de la estructura mecánica como 5 70 31 30 5 -90 90
se muestra a continuación:
TABLA 3. VELOCIDADES DEL EXTREMO ROBOUPAO.
𝜋 Puntos Vx Vy Vz Vφ Vθ Vѱ
𝜓= (31)
2 1 0 0 0 0 0 0
𝜃 = 𝑞6 (32) 2 0.13 14.27 21.46 1.1 -0.1 0
𝜋 3 -12.51 3.47 -0.39 1.4 -0.7 0
𝜑 = − − 𝑞4 + 𝑞5 (33)
2 4 -11.13 -13.08 -9.69 1.2 -0.6 0
5 0 0 0 0 0 0
C. Jacobiano Vx,Vy,Vz: velocidades en cm/s.
Vφ, Vθ, Vѱ: velocidades en rad/s.
La matriz Jacobiana que se obtuvo fue la siguiente:

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

Fig. 13. Movimiento de la herramienta del primer ejemplo.


(a)

(b)
Fig.14. Tramas de velocidades y aceleraciones. (a) Primer ejemplo. (b) Segundo ejemplo.

2) Ejemplo 2 método, se tuvo más cuidado al momento de


Se tomaron los mismos puntos del ejemplo programarlo. Por ello los puntos que se enviaron al
anterior con la finalidad de observar la capacidad del interpolador estuvieron lo más próximos posibles,
interpolador cúbico para generar sus propias ocasionando que el interpolador solo cree dos puntos
velocidades. intermedios entre los puntos obtenidos de la imagen
En base a aquello la trayectoria final (Fig. 15)
sufrió un cambio sustancial con respecto a la suavidad.
Aquel fenómeno se produjo por una mejora en la
distribución de las velocidades a lo largo del camino
(Fig. 14).

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

Fig. 16. Trayectoria obtenida a partir de un archivo de imagen


Fig. 15. Movimiento de la herramienta del primer ejemplo.
procesado en Matlab.
Fig. 17. Trama de velocidades y aceleraciones del tercer ejemplo.

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 ).

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