P02 — Leer un programa de paletizado en URScript
Un UR5e toma piezas siempre del mismo punto pick y las deja en una estiba. En movel la velocidad v está en m/s; en movej, en rad/s. Una pose p[x, y, z, rx, ry, rz] tiene la posición en metros respecto a la base y la orientación en los tres últimos valores. La salida digital 0 cierra la pinza con True y la abre con False.
home = [0, -1.57, 0, -1.57, 0, 0]pick = p[0.40, -0.30, 0.20, 0, 3.14, 0]movej(home, a=1.2, v=0.5)fila = 0while fila < 2: col = 0 while col < 3: movel(pick, a=1.0, v=0.2) set_digital_out(0, True) x = 0.30 + 0.10 * col y = 0.20 + 0.12 * fila movel(p[x, y, 0.20, 0, 3.14, 0], a=1.0, v=0.2) set_digital_out(0, False) col = col + 1 end fila = fila + 1endmovej(home, a=1.2, v=0.5)- ¿Cuántas piezas deja el programa en la estiba? Escriba las coordenadas donde se suelta cada una, en el orden en que se colocan.
- ¿Cuántas instrucciones
movely cuántasmovejse ejecutan en total? - Despreciando la aceleración, ¿cuánto tarda el TCP en ir de
picka la primera posición de la estiba? ¿Y a la posición más lejana? Calcule también la distancia total que recorre el TCP conmovelen todo el programa y el tiempo correspondiente. - ¿En qué nivel de la programación textual está escrito este programa? Justifique.
- Todos los puntos están a la misma altura m. Explique qué problema físico tendrá el robot al llevar la quinta pieza a su lugar, y qué puntos agregaría al programa para evitarlo.
Mostrar solución
-
El ciclo externo corre con
fila = 0, 1y el interno concol = 0, 1, 2: son piezas. Las posiciones, en orden, son , , , , y m. -
Cada pieza usa 2
movel, uno apicky otro a la estiba:movel. Hay 2movej, uno al principio y otro al final. -
De
picka : m, y s. La más lejana es o : m, y s.Las distancias de
picka cada lugar son 0.510, 0.500, 0.510, 0.628, 0.620 y 0.628 m. El TCP hace cada uno de esos tramos de ida y, para las cinco primeras piezas, también de vuelta apick. La sexta vuelve ahomeconmovej. Distancia total conmovel: m, y tiempo s. El primermovelsale dehome, pero su distancia no se puede calcular con los datos, porquehomeestá en ángulos articulares. -
Está en nivel robot: cada movimiento se da con su pose, velocidad y aceleración exactas, y la pinza se maneja con una salida digital. Nada en el programa “sabe” qué es una pieza o una estiba.
-
El TCP viaja horizontalmente a la misma altura a la que suelta las piezas. Al llevar la pieza 5 a desde
pick, el camino recto pasa por la fila de , donde ya están las piezas 1 a 3, así que la pieza que lleva choca con ellas, y lo mismo pasa en otros recorridos. Hay que agregar puntos de aproximación encima depicky de cada lugar de la estiba, por ejemplo con : subir, desplazarse por arriba, y bajar en vertical solo al final. En esos puntos de paso se pueden usar blends; en los puntos donde se abre o cierra la pinza, no.