Вы находитесь на странице: 1из 22

Universidad De Las Américas Puebla.

Dr. César Martínez Torres.

Equipo No. 4

Gabriel Alejandro García Ángeles 152658

Félix Arturo Castillo López 153694

David Rojas Arellano 154153

Irving Ulises Sánchez Rangel 154421

Materia:
LMT4051: Robótica.

Reporte Final
Resumen
Durante el siguiente reporte, se busca realizar el análisis del robot de
Universal Robotics UR5, obteniendo sus parámetros de Denavit-Hartenberg con el
análisis del robot físico. Una vez que se obtuvieron los valores de DH, se construyó
el robot en el Software de MATLAB, con la finalidad de poder realizar la cinemática
directa e inversa con el objetivo de paletizado de latas sobre una caja. Para realizar
la paletización es necesario establecer los puntos que tendría que ocupar cada lata,
siendo limitado por el tamaño de la caja y el área de trabajo del robot.

Una vez que observamos las limitaciones y los puntos alcanzables que presenta
nuestro robot, se realizó el programa para paletizar 6 latas sobre un palé. La
programación se realizó con el UR5, utilizando el lenguaje de Polyscope. La
programación se realizó de la manera más sencilla posible, utilizando las
herramientas facilitadas por el fabricante, como es el asistente para paletizar y la
generación de trayectorias (moviendo el robot). Es necesario mencionar que, al no
contar con sensores, se utilizaron pop-ups para así determinar que hubiera una lata
en posición o una nueva caja.

Con la correcta implementación de este programa hace que una tarea tan mecánica
y repetitiva como es el llenado de cajas con algún producto, en nuestro caso latas,
se realice de manera constante y mucho más eficiente, además de que el proceso
no se ve afectado por factores o errores humanos. La implementación de brazos
robóticos en tareas similares a estas hace que las empresas puedan obtener
beneficios económicos con el simple hecho de mejorar sus medios de producción.

Introducción
El proyecto se va a realizar utilizando el Robot de Universal Robotics modelo UR5,
el cual cuenta con un espacio de trabajo de 850mm de radio, una carga útil de 5 Kg
y un peso de 18.4 kg. Además, estos robots están diseñados para trabajar de
manera colaborativa ya que, al encontrarse con un obstáculo con mucha resistencia,
el robot se detiene de forma inmediata. De la misma manera este robot es fácil de
programar, es bastante flexible debido a que pueden tener múltiples aplicaciones y
pueden ser utilizados para automatizar la mayoría de las tareas manuales. En el
siguiente proyecto se buscará la manera de implementar una programación que nos
permita obtener un robot capaz de organizar sobre una caja una serie de elementos
para de esta manera representar el empaquetamiento de este objeto y de igual
manera que cumpla las características de ser amigable con el operador, para
permitir al operador continuar trabajando junto al robot.

Planteamiento del Problema


Se ha notado que en las industrias empacadoras, la mano de obra humana es lenta
y es a su vez cara, esto lleva a las empresas a tener gastos que podrían verse
disminuidos si se cambiara esto por un robot. El cambio de humanos por brazos
robóticos podría aumentar la eficiencia en la línea de producción y como se
mencionó líneas atrás, genera una reducción en los gastos obteniendo mayores
beneficios a las empresas en lapsos más cortos. Sin embargo, en la línea de
empaque es necesario contar con un robot que sea colaborativo, puesto que en
estas líneas es necesario que haya supervisión humana y un robot de otro tipo
podría terminar ocasionando daños al personal que se encarga de darle supervisión
a la línea. Para resumir, se busca automatizar el proceso de paletización de latas
de refresco en la cual el brazo se encarga de ir metiendo las botellas y una vez llena,
la caja es tomada por el personal para ser cubiertas por plástico.

Justificación y objetivos
Se va a trabajar con el robot UR5 debido a que cuentas con las características que
estamos buscando para la automatización de un proceso de paletización de latas,
las cuales son un espacio de trabajo entre 700 y 800 mm, este modelo cuenta con
un espacio de trabajo de hasta 850 mm haciendo que sea posible su uso para la
aplicación que se desea. Otra característica que se tomó en cuenta fue la carga útil,
la cual varía entre un rango de 300g a 1 kg, y de acuerdo a la página del fabricante
este modelo tiene una carga útil de 5 Kg, mientras que el ABB es capaz de mover
una mayor carga debido a que tiene motores neumáticos con la capacidad de
generar una mayor fuerza, pero se observó que está fuerza está sobrada, por lo
tanto, se decidió que los motores de DC son suficientes para la aplicación deseada.
Finalmente, la razón con mayor peso para escoger este robot fue el hecho de que
es un “cobot”, lo que permite que puede estar operando junto con trabajadores
humanos sin necesidad de tener un resguardo de seguridad haciendo que sea ideal
para la paletización de latas. Con la selección del robot UR5 se espera poder
automatizar el proceso mencionado previamente haciendo que el proceso de
paletización de latas se vuelva mucho más rápido obteniendo una mejor
productividad y como consecuencia de esto mejorando los beneficios de la
empresa. Finalmente, el objetivo principal propuesto para el reporte es la creación
e implementación de una programación eficaz que nos permita obtener un cobot
para la paletización de latas.

Denavit-Hartnberg
La forma más común de seleccionar los ejes de referencia de un robot es por medio
de la convención de los parámetros de Denavit-Hartenberg. Donde las
transformaciones homogéneas se van realizando por medio del producto de 4
transformaciones básicas que son:
Figurar 1: Producto de las matrices intermedias para obtener la matriz de
transformación homogénea final.

Con la obtención del ángulo de la articulación (Theta), el desfase del eslabón (D),
longitud del eslabón (A) y el giro del Eslabón (Alfa). Dado que la matriz A es una
matriz con una sola variable, en el caso de las rotacionales es theta y para las
prismáticas es D, todo lo demás es constante y se puede obtener viendo el robot.
Es posible utilizar solo 4 parámetros debido a que tenemos libertad de escoger el
origen y los ejes coordinados del marco. Para obtener los parámetros de DH es
necesario seguir 15 pasos (Barrientos, Peñín & Aracil, 2019) que son:

1. Numerar los eslabones: se llamará “0” a la “tierra”, o base fija donde se ancla
el robot. “1” el primer eslabón móvil, etc.
2. Numerar las articulaciones: La “1” será el primer grado de libertad, y “n” el
´ultimo.
3. Localizar el eje de cada articulación: Para pares de revolución, será el eje de
giro. Para prismáticos será el eje a lo largo del cual se mueve el eslabón.
4. Ejes Z: Empezamos a colocar los sistemas XYZ. Situamos los Zi−1 en los
ejes de las articulaciones i, con i = 1, . . ., n. Es decir, Z0 va sobre el eje de la
1a articulación, Z1 va sobre el eje del 2o grado de libertad, etc.
5. Sistema de coordenadas 0: Se sitúa el punto origen en cualquier punto a lo
largo de Z0. La orientación de X0 e Y0 puede ser arbitraria, siempre que se
respete evidentemente que XYZ sea un sistema dextrógiro.
6. Resto de sistemas: Para el resto de los sistemas i = 1, . . ., N − 1, colocar el
punto origen en la intersección de Zi con la normal común a Zi y Zi+1. En caso
de cortarse los dos ejes Z, colocarlo en ese punto de corte. En caso de ser
paralelos, colocarlo en algún punto de la articulación i + 1.
7. Ejes X Cada Xi va en la dirección de la normal común a Zi−1 y Zi,
en la dirección de Zi−1 hacia Zi .
8. Ejes Y: Una vez situados los ejes Z y X, los Y tienen sus direcciones
determinadas por la restricción de formar un XYZ dextrógiro.
9. Sistema del extremo del robot: El n-ésimo sistema XYZ se coloca en el
extremo del robot (herramienta), con su eje Z paralelo a Zn−1 y X e Y en
cualquier dirección valida.
10. Ángulos θ: Cada θi es el ´Angulo desde Xi−1 hasta Xi girando alrededor
de Zi .
11. Distancias d: Cada di es la distancia desde el sistema XY Zi−1 hasta
la intersección de las normales común de Zi−1 hacia Zi , a lo largo de Zi−1.
12. Distancias a: Cada ai es la longitud de dicha normal común.
13. Ángulos α: Ángulo que hay que rotar ´ Zi−1 para llegar a Zi , rotando
alrededor de Xi .
14. Cada eslabón define una matriz de transformación: i−1Ai
15. Transformación total: La matriz de transformación total que relaciona la base
del robot con su herramienta es la encadenación (multiplicación) de todas esas
matrices: T =0 A1 ∗ 1 A2 ∗ ... n−1An.

Cada Articulación tiene su propia matriz de transformación homogénea, la matriz de


transformación homogénea completa es la multiplicación de todas las matrices
intermedias.

Una vez tomados cada uno de los pasos a seguir para elaborar nuestro modelo
de Denavit-Hartenberg del robot UR5 marcando donde se encontrara la tierra o
base del robot, después de esto, enumeramos cada una de nuestras articulaciones,
después tomando en cuenta la regla de la mano derecha ubicamos cada uno de los
ejes de las articulaciones, por ejemplo en la base del robot al tener solo
articulaciones rotacionales pues el eje Z esta referenciado al eje sobre el cual gira
nuestro robot y con la ayuda de la regla de la mano derecha damos cada uno de los
ejes siguientes definiendo X y por subsecuente obtendremos la dirección del eje Y,
enumeramos los ejes de las articulaciones y marcamos las distocias tanto de
traslación del eje Z(d) como las del eje X(a) y ya con todo esto obtenemos nuestro
dibujo del modelo de Denavit Hartenberg del UR5 para de esta manera aplicar el
resto de pasos y obtener los parámetros de la tabla de DH y poder graficar nuestro
robot en software para aplicar la cinemática directa e inversa.
Figura 2. Modelo obtenido por el método de Denavit Hartenberg

Una vez obtenidos los parámetros de Denavit-Hartenberg procedemos a


introducirlos en Matlab, eslabón por eslabón, se sabe que los eslabones deben tener
el mismo identificador, es decir que la variable que lo va a representar en el software
debe de ser la misma para cada uno, con la diferencia de que cada una de estas
variables debe estar acompañada por el número de eslabón, ejemplo:

E(1), esto quiere decir que estamos en el primer eslabón de nuestro robot.

Posteriormente es importante mencionar como se deben introducir los parámetros


en Matlab, dichos valores deben ser introducidos en forma de vector, es decir la
variable se declara de la siguiente manera.

E(1)=Link([theta D A alfa #])

Dónde theta es la rotación en z necesaria para que reflejar nuestro nuevo sistema
de ejes, D es la traslación igualmente en el eje z para poder llegar al nuevo sistema
de coordenadas deseado, A es la traslación en el eje x para llegar a nuestro sistema
de coordenado deseado, alfa es la rotación en el eje x, finalmente # es representado
por un 0 o bien por un 1 este último sirve para identificar si el eslabón es prismático
o bien rotacional, el 0 representa a los rotacionales y el 1 a los prismáticos, también
es importante mencionar que los rotacionales pueden o no ser llenados con este 0,
en realidad no afecta en la lectura del código. También cabe resaltar que en caso
de que se cuente con uniones prismáticas se deben poner sus límites de la siguiente
manera:

E(3)=([-.01,10])
se puede apreciar que el límite inferior no es 0, esto es debido a que el software no
lo puede inicializar en 0 y lo marcaría como un error y el límite superior ya va a
depender de lo deseado por el usuario.

Comprobación Denavit-Hartenberg y simulación en Matlab.

Para la una simulación mas exacta de nuestro robot, mediremos las articulaciones
que presenta y de esta manera, utilizando el denavit-hartenberg, remplazaremos los
valores medidos en cada articulación para de esta manera obtener un
comportamiento mas aproximado al que obtendremos al usar el robot real, para esto
a continuación se muestran las mediciones tomadas:

Figura 3. Medida de Inicio a Articulación Base.


Figura 4. Medida de “Shoulder” a “Elbow”.

Figura 5. Medida de “Elbow” a “Wrist 1”.

Figura 6. Medida de “Wrist 3” a “Wrist 2”

Una vez tomadas las medidas en físico del robot UR5 lo comparamos con las
medidas que tenemos en el modelo de Denavit-Hartenberg dado por el mismo
fabricante, en donde podemos observar que la medida de la base, como las
medidas entre articulaciones y al efector final fueron muy cercanas a las medidas
obtenidas por nosotros. De igual manera, se ignoran ciertas distancias debido a que
son básicamente que el motor de la articulación esta sobre el otro motor por lo
tanto estas distancias se desprecian en el Denavit-Hartenberg y se toman como
distancias de traslación del eje X debido a que al sacar los ejes con ayuda de la
regla de la mano derecha las posiciones de los ejes van a esas respectivas
posiciones.

El DH obtenido es el siguiente:

Tabla 1: Tabla de parámetros de DH.

Nota: las medidas deben ser ingresadas en metros para el correcto funcionamiento del toolbox.

Como se mencionó anteriormente cada vector j corresponde a un eslabón del


robot, el orden al eslabón que corresponden es el siguiente:
j(1) corresponde a la base
j(2) al “shoulder”,
j(3) al “elbow”,
j(4) “wrist 1”
j(5) “wrist 2”
j(6) “wrist 3”.

*Todos estos nombres vienen dados desde la página de Universal Robots.

Una vez construida la tabla se generó el robot en MATLAB, considerando que la


posición sobre la que se hizo el análisis es la siguiente:
Figura 7. Robot generado en el software

Cinemática directa

Una vez creado el robot, podemos conocer el área de trabajo de nuestro robot esto
es gracias a la cinemática directa del robot, antes de definir lo que es la cinemática
directa tenemos que definir lo que es la cinemática de un robot, la cuál es el estudio
del movimiento de los eslabones con respecto al eje de referencia. Entonces la
cinemática directa es el algebra vectorial necesario para conocer la posición final
(posición del último eslabón) respecto a el conocimiento del valor de cada uno los
eslabones son por esto que con la ayuda de la cinemática directa podemos conocer
el área de trabajo de cada robot. Por el otro lado de la cinemática, está la cinemática
inversa la cual es el algebra vectorial para el análisis de las posiciones de cada
eslabón requerida para llegar a la posición deseada, es decir es el análisis
algebraico que se requiere para la obtención de las posiciones de cada eslabón bien
es cierto que este tipo de análisis nos arrojará muchas soluciones es cuestión del
usuario decidir cuál de las soluciones es la óptima para resolver estos casos. Se
buscó realizar la cinemática directa de manera simbólica, pero el
resultado obtenido es sumamente largo para ser mostrado en el reporte, por lo que
decidimos dar un punto en específico para corroborar el funcionamiento. Los valores
dados para cada articulación fueron los siguientes:
Figura 8. Valores para las articulaciones en radianes y grados.

**Nota: los valores en el código se dieron en grados, pero para que los utilice el comando fkine del toolbox es
necesario ingresar los valores en rad.

Utilizando estos valores de cada articulación podemos obtener la siguiente matriz


de transformación homogénea con los valores que necesitamos de Roll Pitch, Yaw,
X, Y y Z, para esto utilizando el comando fkine obtenemos nuestra matriz de
transformación para la cinemática directa y es la siguiente:

Figura 9. Matriz de transformación homogénea.

Cinemática inversa

Debido a que nuestro robot no cuenta con una muñeca esférica, no es posible
utilizar el comando de Ikine6s que facilita el proceso y hace que la cinemática
inversa obtenga valores para las articulaciones reales. De acuerdo a lo anterior, se
utilizó el comando “ikine”, que trabaja de manera iterativa, por lo cual los puntos que
regresa no son siempre los reales (alcanzables), para realizar esto se cambió a un
punto mucho más simple para que “ikine” funcione, dando valores a las
articulaciones, haciendo cinemática directa y luego haciendo el
comando “Ikine” comprobando que los valores de las articulaciones sean los
mismos, o muy cercanos a los ingresados manualmente.
Figura 10. Comprobación de las articulaciones dadas con las obtenidas por medio
del comando Ikine.

Con esto corroboramos que al hacer la cinemática inversa y obtener el regreso de


la matriz de transformación homogénea con el comando “ikine”, obtenemos el valor
de las articulaciones que deben tener con esa matriz para llegar al punto dado.

Una vez comprobado el funcionamiento que presenta en simulación el robot UR5,


comenzaremos la programación que debe presentar este mismo para alcanzar los
objetivos propuestos previamente, en este caso la paletización de un conjunto de
latas dentro de una caja, de tal manera que permita trabajar junto a una persona en
paralelo para poder completar el proceso. Para lograr esto, decidimos hacer uso del
mismo software proporcionado por el fabricante para crear de manera eficaz la
programación requerida para nuestro objetivo. Este programa es conocido como
“teach pendant” que viene en el kit del robot UR5.

Programación del Robot

Dentro del programa “teach pendant”, encontraremos una herramienta conocida


como “paletización”, esta herramienta funciona con el lenguaje “Polyscope”,
el cual es un lenguaje de programación desarrollado por Universal Robots, que
permite generar las trayectorias para cada articulación del robot, para alcanzar los
puntos deseados por el usuario. Este software resulta tener una interfaz muy
amigable con el usuario ya que su programación resulta ser muy intuitiva para el
usuario, al mismo tiempo permite visualizar los cambios en la trayectoria en el robot
real o bien en el robot virtual. En breve se mencionarán puntos importantes a la hora
de programar un robot de la serie de cobots de Universal Robots, lo primero es
definir las características del TCP de la herramienta con la que se realizará la tarea
que se la asignara al robot para definir las características del TCP es necesario
dar click en el botón “program robot” que se muestra en la imagen de inicialización
del PolyScope (figura 11).

Figura 11. Pantalla de inicialización de Polyscope.

Una vez dentro de la programación del robot, abrirá una nueva ventana, en la cual
es importante situarse en la pestaña “installation”, ya que dentro de esta pestaña es
donde se debe configurar las características principales del TCP (características de
la herramienta a utilizar), tal cual se observa en la figura 12.
Figura 12. Menú “Move”

Después de seleccionar la pestaña “installation”, en donde se debe seleccionar


“TCP configuration”, en este apartado se abrirá una nueva ventana donde se
configurará el TCP de la herramienta. Como se ve en la figura 13.

Figura 13. Configuración del TCP.

Una vez que se tiene configurado el TCP, se puede empezar la configuración de


trayectorias del brazo robótico, para configurar los puntos a los cuales va a llegar
dicho brazo robótico es necesario situarse en la pestaña “program”, en esta pestaña
es donde se genera toda trayectoria para el robot al mismo tiempo en este apartado
se generan todas las condiciones que paran y activan el movimiento del robot. A
excepción de los límites de frontera, estos límites son declarados en el apartado de
“safety”, el cual se encuentra en la pestaña “installation” tal cual se ve en la figura
13.

Figura 14. Aparatado de programación del robot.

Dentro de la pestaña de “program”, se puede visualizar que se tiene un árbol de


instrucciones en la parte izquierda donde como titulo tiene “Robot Program”, en este
árbol es donde se visualiza los comandos que han sido ingresados por el usuario a
lo largo de la programación. Para ingresar comandos de movimiento es necesario
entrar en la subpestaña “structure” en este apartado encontraremos la ventana
siguiente:

Figura 15. Comandos de estructura para trayectoria del robot.

Donde los comandos más comunes para la programación de trayectoria del robot
son: move, wait, popup (del grupo Basic), en el grupo “advanced” se encuentran
los loops, los condicionales y demás comandos de programación, finalmente se
encuentra el grupo wizard que es donde se localiza la herramienta para realizar palé
con ayuda del cobot. En este apartado se hablará de la configuración de
movimientos del robot, para que sirve el comando y como se usa el comando
“Popup” y finalmente como programar un palé.

Primero es importante conocer los 3 tipos de movimiento que tiene el robot


UR5, estos son:
• El movimiento Move_J, el cual se usa cuando el robot se puede desplazar
libremente, es decir no se encuentra limitado por obstáculos con los cuales
pueda chocar en el área de desplazamiento entre el punto de inicio y el punto
al que desea alcanzar, puesto que hace un calculo aleatorio para llegar de la
forma más rápida hasta este punto.
• El siguiente tipo de movimiento “moveL”, es un movimiento lineal entre el
punto inicial y el punto final, es decir la trayectoria que sigue el robot para
llegar al punto final es en una línea recta, es usado en movimientos entre
obstáculos para poder evadirlos sin causar daños al robot y al obstáculo.
• Para finalizar la descripción se cuenta con el movimiento “moveP” este último
tipo de movimiento es con velocidad constante, es decir el movimiento que
tiene el robot desde que inicia su trayectoria hasta que la termina es
constante en todos los puntos que se encuentran en esta trayectoria, es
comúnmente usado en soldadura o pintura.

El siguiente punto por explicar es la herramienta “Popup” (figura 16) esta


herramienta te permite usarla de 3 formas diferentes, como: un mensaje,
advertencia o marcar un error. Cualquiera de las 3 detiene la trayectoria del robot
hasta que un usuario llegue al teach pendant y de click en continuar o en “stop
robot” (este último en caso de que sea una advertencia o un error), es comúnmente
usada para detener la secuencia de la trayectoria de las articulaciones del robot
cuando este no está conectado a sensores que le puedan avisar que está pasando
a su alrededor, pero como es un cobot puede tener un usuario que haga que la
secuencia siga su paso si se cumplen las condiciones que comúnmente mediría un
robot.
Figura 16. Configuración de la herramienta Popup.

Finalmente se hablará acerca de la herramienta que se encuentra dentro del


“wizard”, llamada “pallet”, dicha herramienta sirve para hacer palé con ayuda
del cobot, esta herramienta se inserta sólo dando click sobre ella, una vez que se
seleccionó se agrega al árbol de instrucciones, cuando ya se encuentra agregado
el árbol de instrucciones se debe empezar la configuración del pallet a utilizar, lo
primero que se configura es la forma con la que se va a paletizar, puede ser de
forma lineal, dentro de una plataforma, en una caja o bien en una lista de posiciones,
dependiendo de lo que se desee realizar es la opción que se debe seleccionar.
Posterior a la selección de forma para paletizar se debe agregar el “Approach1”,
este punto es en el cual se va a acercar el UR5 a dejar la pieza dentro del palé. El
siguiente punto por 3programar es el punto “PatternPoint1”, este punto es la
posición en la cual el robot se encontrará para depositar la primera pieza dentro de
la paletización es importante definir cuidadosamente la forma deseada con la que
la herramienta llegará a esta posición puesto que la forma con la que la herramienta
llega a este punto llegará a todos los puntos restantes.

Siguiendo con la programación del pallet se debe configurar “set”, en caso de tener
una herramienta configurada de forma analógica o digital con este punto es con el
que se debe dejar la pieza en su lugar, en caso contrario es necesario agregar un
movimiento (de herramienta) después del “set” para que el robot deje la pieza en el
palé. Siguiente punto, el robot necesita un tiempo para asegurar que la pieza ha
sido depositada en el lugar donde se deseaba y no moverla a un lugar inconveniente
así que se debe esperar a que ocurra una acción comúnmente se configura con a
que espere un tiempo para cambiar de punto. El punto final por configurar dentro de
la herramienta “pallet” es el punto de salida “exit” el cual es el punto hacía el cual irá
el robot justo después de que ocurra el evento configurado en el apartado “wait”.
Después de configurar esto el pallet ya está listo para usarse.

Figura 17. Configuración del pallet.

Programación

Una vez que conocemos las herramientas que utilizaremos y hemos configurado a
nuestro robot, comenzaremos la programación requerida. Para ello comenzaremos
definiendo la manera en que solucionaremos el problema para luego dar a conocer
la solución creada utilizando los comandos proporcionados por el mismo programa.
En la siguiente imagen, puede observarse un diagrama de flujo el cual explica
brevemente la lógica utilizada para la creación de nuestro programa.
Figura 18. Diagrama de Flujo

Traduciendo este diagrama de flujo, obtenemos la siguiente programación en donde


podemos observar que usamos los comandos previamente explicados.
Figura 19: Programa en Polyscope.

La programación de la solución se explicará a continuación:


• Se establecieron ciertas trayectorias para poner al robot en una posición
“cómoda” para poder llegar a los puntos sin ningún problema.
• Posteriormente, fue necesario establecer el punto donde se pasaría a
recoger la lata. Al no haber un sensor que detecte la lata, se implemente el
despliegue de una ventana que pregunta si hay una lata en posición y se
mantendrá ahí hasta que se presione el botón de continuar como se muestra en
la Figura 19, acto seguido hace que se cierre la garra.

Figura 20: Mensaje para comprobar la posición de la lata.

Figura 21. Brazo en Posición de Lata


• Luego, se realiza una trayectoria lineal para levantar la lata y se empieza a
desplazar hacia la posición donde se va a encontrar el palé.
• Después, se configuro el asistente de paletización incluido en el UR5, donde
para configurarlo es necesario:

o Establecer un punto de aproximación donde no afecte a las latas.


o Establecer las cuatro esquinas del palé (previamente es necesario
configurar cuantas filas y cuantas columnas se podrán sobre el palé).
o Es necesario colocar el primer punto del patrón. Estas posiciones se
irán moviendo de acuerdo con la configuración previamente establecida.

• Luego, es necesario poner un set, pero al ser el gripper un accesorio


diferente, es necesario abrir la garra desde el menú de acciones de la garra.
• Se establece una espera para que el robot tenga tiempo de soltar el
elemento.
• Después, se da una posición de salida donde el robot llegará después de
haber colocado la pieza.
• Finalmente, se decidió implementar un ciclo con el objetivo de desplegar una
ventana que indique que la caja se ha llenado en su totalidad, preguntando si
hay una nueva caja.

Figura 22. Paletización completada sobre el palé.

De esta manera se logro realizar la paletización de latas sobre un palé,


automatizando un proceso de manera correcta.

Conclusión
Como conclusión, podemos mencionar que el objetivo propuesto para nuestro robot
fue el deseado ya que fuimos capaces de organizar de manera adecuada diferentes
elementos sobre una caja, en este caso estos objetos fueron latas y de igual
manera, obtener una programación que sea útil y amigable con el operador que
ayudara al robot a cumplir el proceso para el empaquetamiento de las latas. Todo
esto fue gracias a los conocimientos adquiridos durante este curso, donde
observamos como se pueden utilizar estos mismos para la implementación y
creación de un proyecto en tiempo real y la importancia que estos conocimientos
tiene para poder lograr nuestros objetivos.

Referencias

FORWARD KINEMATICS: THE DENAVIT-HARTENBERG CONVENTION. (2019).


Revisado en:
https://users.cs.duke.edu/~brd/Teaching/Bio/asmb/current/Papers/chap3-forward-
kinematics.pdf

Lara, J. (2017). CINEMATICA DIRECTA E INVERSA DEL ROBOT


MOVEMASTER EX RV-M1 PROYECTO FINAL DE ROBOTICA. Retrieved
from https://chigwaco.blogspot.com/2015/09/cinematica-directa-e-inversa-del-
robot.html

Robotics, U. (2015). Parameters for calculations of kinematics and dynamics -


45257 | Universal Robots. Retrieved from https://www.universal-robots.com/how-
tos-and-faqs/faq/ur-faq/parameters-for-calculations-of-kinematics-and-dynamics-
45257/

Barrientos, A., Peñín, L., & Aracil, R. (2019). Fundamentos de robótica.

Вам также может понравиться