Construcción de una torre con el robot Scorbot

Transcripción

Construcción de una torre con el robot Scorbot
Práctica de control y programación de robots
Construcción de una torre con el robot Scorbot
Emilio Sánchez
Curso 2006-2007
CAMPUS TECNOLÓGICO DE LA UNIVERSIDAD DE NAVARRA.
NAFARROAKO UNIBERTSITATEKO CAMPUS TEKNOLOGIKOA
Paseo de Manuel Lardizábal 13. 20018 Donostia-San Sebastián.
Tel.: 943 219 877 Fax: 943 311 442
www.tecnun.es [email protected]
Escuela Superior de Ingenieros Universidad de Navarra
Ingeniarien Goi Mailako Eskola Nafarroako Unibertsitatea
Escuela Superior de Ingenieros
Universidad de Navarra
1
Ingeniarien Goi Mailako Eskola
Nafarroako Unibertsitatea
El SCORBOT ER-VII y su entorno de trabajo
El robot SCORBOT ERVII es un ejemplo de un robot industrial de tamaño
pequeño, usado ampliamente para fines docentes. El robot puede programarse
tanto on-line como off-line. El lenguaje de programación usado en la programación off-line es el lenguaje ACL (Advanced Control Languaje).
El robot Scorbot en el de Control y Automática del CIT. Por temas de
seguridad, el robot se encuentra anclado al suelo dentro de una celda robótica.
El acceso a la célula robótica está protegido con un sensor que desconecta la
corriente de los motores del robot cuando se detecta la entrada de una persona.
Solidaria al robot se encuentra una mesa sobre la que se realizarán las operaciones relacionadas con la práctica.
El objetivo de esta práctica es familiarizarse con el cálculo, uso y programación de un robot industrial, tal y como se puede encontrar en una industria
con un cierto grado de automatización.
2
Indicaciones Generales
2.1
EQUIPOS Y ORGANIZACIÓN
Los grupos serán de 3 personas, y uno de ellos deberá ser portavoz del grupo.
La comunicación de los grupos debe realizarse antes del dı́a 6 de
Octubre, de forma que el dı́a 9 ya se comiencen las prácticas, y se
hará del siguiente modo: El portavoz remitirá a [email protected] un e-mail cuyo
subject será ”Práctica CPR Scorbot”, y cuyo contenido será los nombres de
los tres componentes de su grupo. Como respuesta recibirá el número asignado
a su grupo. En principio, el horario para realizar las prácticas es libre con la
siguiente distribución:
Grupo
S1
S2
reservado
Dı́as
martes y jueves
lunes y miércoles
viernes
tabla 1: Turnos de trabajo con el robot Scorbot
El horario por dı́a será de 9:00 a 14:00 y de 15:30 a 18:30.
Aunque el horario es libre, se recomienda vivamente que se empleen un
máximo de 5 sesiones de dos horas cada una.
Si por alguna razón, un grupo le viniera mal la combinación de dı́as disponibles, éstos podrán ser intercambiados con los del otro grupo, siempre y cuando
haya consentimiento por parte del otro grupo.
2.2
PARTES Y ENTREGA
La práctica es obligatoria y en grupos de 3 (como ya se ha dicho), y puntúa sobre
1’5. La no realización de la misma implica la obtención de una calificación de no
presentado (NP) en el examen de la asignatura. La fecha lı́mite de entrega de
los informes es la clase del 8 de diciembre de 2006. Durante la semana de clase
anterior a las vacaciones de Navidad, se realizarán las demos del funcionamiento
de los programas.
2
INDICACIONES GENERALES
2
Escuela Superior de Ingenieros
Universidad de Navarra
2.3
Ingeniarien Goi Mailako Eskola
Nafarroako Unibertsitatea
PUNTUACION
La puntuación máxima será 1.5, y en todo caso se corresponderá con la siguiente expresión (se comprenderá mejor después de leer el enunciado de la
parte práctica):
nota = 1.5
(p ∗ b) + x + y
[p ∗ b + x + y]max
donde p el no de pisos de la estructura, b el no total de piezas empleadas,
0 < x < 5 es una valoración de la originalidad de la estructura, 0 < y < 5 es
una valoración de la calidad de programación, y el subı́ndice max es la expresión
evaluada para el grupo que mejor lo haya hecho.
2.4
INFORME
Se deberá presentar un informe con los requisitos que se indiquen tanto en la
parte teórico-practica como en la puramente práctica, valorándose su contenido
y no su forma.
3
Descripción de la práctica
El objetivo de esta parte será programar el SCORBOT ERVII para que realice
una tarea directamente relacionada con la ubicación de piezas dentro de su
espacio de trabajo.
3.1
ESPACIO DE TRABAJO DEL ROBOT
Dentro del espacio de trabajo del SCORBOT se han colocado 16 bloques de
aluminio, 8 cilı́ndricos y 8 prismáticos, dispuestos en un arreglo matricial de 4x4.
La disposición de los elementos dentro del espacio de trabajo del SCORBOT es
como el que muestra en la figura.
figura 1: Espacio de trabajo del Scorbot
3.2
TAREA A AUTOMATIZAR
Se pide a los alumnos que programen el manipulador (sea Scorbot o el robot
Asea) para construir estructuras a partir de los bloques de aluminio según las
siguientes reglas:
3
DESCRIPCIÓN DE LA PRÁCTICA
3
Escuela Superior de Ingenieros
Universidad de Navarra
Ingeniarien Goi Mailako Eskola
Nafarroako Unibertsitatea
• La estructura se levantará dentro de los márgenes marcados sobre la chapa.
• Cada piso debe tener suelo (una o varias piezas dispuestas en horizontal)
y columnas (una o varias piezas dispuestas en vertical). Excepción a esto
es el primer piso, en el que se permite prescindir de suelo al contar ya con
una base sobre la que apoyar las piezas.
• Se colocarán un mı́nimo de 3 piezas por piso. Excepción a esto es el primer
y último pisos, en los que se colocarán un mı́nimo de 2 y un máximo de 6
piezas.
• Se ha colocado un peldaño en el espacio de trabajo por si puede servir de
ayuda para alguna maniobra con las piezas.
• Si la estructura requiriese más piezas que las 16 suministradas, se cuenta
con algunas de sobra, a saber, 5 prismas y 7 cilindros.
3.3
CRITERIO DE CALIFICACIÓN
Lo mı́nimo que se exige es que el Scorbot sea capaz de levantar la estructura de
la figura. Menos que esto no se puntuará, considerándose suspendida la práctica
y por tanto NP en el examen.
figura 2: Torre mı́nima
No obstante se pueden realizar mejoras en la solución de la tarea, como
pueden ser:
• Construir estructuras en 3D (que no esté toda la estructura contenida en
un mismo plano)
• Dotar de cierta interactividad al proceso: permitiendo elegir variables
como la altura, el número de piezas o la forma de la estructura.
• Precisión y velocidad.
• Cualquier mejora aportada por cada grupo.
Se valorará muy positivamente cualquiera de las citadas mejoras.
3.4
MATERIAL DISPONIBLE
Para la realización de este apartado de la práctica se dispone de diverso material:
• Manual del robot.
• Glosario de Términos ACL.
• Guı́a Rápida del SCORBOT.
3
DESCRIPCIÓN DE LA PRÁCTICA
4
Escuela Superior de Ingenieros
Universidad de Navarra
Ingeniarien Goi Mailako Eskola
Nafarroako Unibertsitatea
• Ejemplos en Web ( http://www.tecnun.es/asignaturas/robots/ ).
• Código DEMO (ver a continuación) disponible en la memoria del manipulador.
3.5
CÓDIGO DEMO ACL
Al arrancar, el robot posee la información inicial básica correspondiente al
código DEMO:
3
DESCRIPCIÓN DE LA PRÁCTICA
5
Escuela Superior de Ingenieros
Universidad de Navarra
*DECLARACION DE VARIABLES
$v 1 H 0
$v 2 H2 1
$v 3 EPIE 0
$v 4 AUX 110
$v 5 H2 0
*DECLARACION DE POSICIONES
*Posiciones en Coordenadas Articulares
$p 1 1 POS 0 0 0 0 0 0
$p 2 1 CASA -456 -12192 9015 -22062 0 0
$p 3 1 CENTR -1557 -5813 -9751 -27447 -11 0
$p 4 1 ALTO -1146 -9401 -15069 3727 -9 0
$p 5 1 PITCH 21007 -2557 -5083 -27976 -2075 0
*Posiciones en Coordenadas Cartesianas
$p 6 1 CAJA 2736 -6462 3618 63 1578 -32766
*Vectores de posiciones
$p 7 1 $%^&$ 9 2083 366 -27446 341 0
$p 8 1 REPP -22402 1804 -3570 -24274 -3216 0
$p 9 1 REPP -22181 -661 -8345 -21389 -3402 0
$p 10 1 REPP -21885 -2786 -12254 -19155 -3553 0
$p 11 1 REPP -21544 -4683 -15539 -17418 -3778 0
$p 12 1 REPP -26705 1799 -3566 -24072 -1404 0
$p 13 1 REPP -26861 -693 -8387 -21190 -1409 0
$p 14 1 REPP -27015 -2676 -12033 -19271 -1407 0
$p 15 1 REPP -27214 -4304 -14882 -18119 -1309 0
$p
$p
$p
$p
$p
$p
$p
$p
$p
16
17
18
19
20
21
22
23
24
1
1
1
1
1
1
1
1
1
$%^&$ 9 542 -21195 22979 -11 0
REPC -20375 2458 -2268 -24877 -4161 0
REPC -19954 -110 -7303 -21792 -4281 0
REPC -19464 -2200 -11202 -19532 -4493 0
REPC -18880 -3937 -14280 -18065 -4778 0
REPC -24545 1350 -4468 -23751 -2467 0
REPC -24483 -1044 -9067 -21055 -2467 0
REPC -24414 -3082 -12782 -18959 -2467 0
REPC -24378 -4926 -15952 -17300 -2467 0
*DECLARACION DE PROGRAMAS
$pr 1 DEMO *Programa demostración
$pr 2 AUTO *Programa de autoarranque
*CODIGO DE PROGRAMAS
PROGRAM
DEMO
*********************
SET
H2 = 1
LABEL
5
PRINTLN
"ESCUELA SUPERIOR DE INGENIEROS"
PRINTLN
"
SAN SEBASTIAN"
PRINTLN
" "
PRINTLN
"Programa demostracion SCORBOT"
PRINTLN
" "
PRINTLN
"Objetivo:"
PRINTLN
"
-Poner Pieza y Recogerla"
PRINTLN
" "
PRINTLN
" "
IF
H = 0
PRINTLN
"El Robot no ha sido inicializado..."
PRINTLN
"Inicializando Robot. Por favor espere..."
PRINTLN
" "
PRINTLN
" "
HOME
SET
H = 1
ENDIF
PRINTLN
"Coloque la pieza en la posicion REPC[4]"
PRINTLN
"Pulse un tecla cuando lo haya hecho"
GET
AUX
LABEL
2
PRINTLN
" "
PRINTLN
" "
PRINTLN
" "
PRINTLN
" "
PRINTLN
"POR FAVOR ALEJENSE Y PULSEN UNA TECLA"
GET
AUX
PRINTLN
" "
PRINTLN
" "
EXACT
A
MPROFILE
TRAPEZE A
SPEED
50
MOVED
CASA
OPEN
SPEED
100
SETP
POS=REPP[4]
MOVED
POS
SPEED
10
OPEN
SHIFTC
POS BY Z -440
MOVED
POS
CLOSE
SHIFTC
POS BY Z 740
MOVED
POS
SPEED
100
MOVED
CASA
PRINTLN
" "
PRINTLN
" "
PRINTLN
" "
PRINTLN
" "
PRINTLN
"PULSE UNA TECLA PARA PONERLA "
PRINTLN
"EN EL CENTRO DE LA MESA"
GET
AUX
SETP
POS=CENTR
MOVED
POS
SPEED
10
3
Ingeniarien Goi Mailako Eskola
Nafarroako Unibertsitatea
SETPVC
MOVED
OPEN
SETP
SPEED
MOVED
CLOSE
DELAY
MOVED
PRINTLN
PRINTLN
PRINTLN
PRINTLN
PRINTLN
PRINTLN
GET
SETP
MOVED
OPEN
SPEED
SETPVC
MOVED
CLOSE
SETP
SPEED
MOVED
MOVED
PRINTLN
PRINTLN
PRINTLN
PRINTLN
PRINTLN
PRINTLN
GET
MOVED
OPEN
MOVED
OPEN
CLOSE
OPEN
CLOSE
OPEN
PRINTLN
PRINTLN
PRINTLN
PRINTLN
PRINTLN
PRINTLN
PRINTLN
END
IF
POS Z
POS
2000
POS=CENTR
100
POS
100
CASA
" "
" "
" "
" "
"PULSE UNA TECLA PARA RECOGER "
"LA PIEZA DE LA MESA"
AUX
POS=CENTR
POS
10
POS Z
POS
2000
POS=CENTR
100
POS
CASA
" "
" "
" "
" "
"PULSE UNA TECLA PARA DEJAR "
"LA PIEZA EN LA CAJA"
AUX
CAJA
CASA
" "
" "
"DEMOSTRACION FINALIZADA"
" "
" "
" "
" "
PROGRAM
AUTO
*********************
H2 = 0
CON
AUTO
@
STOP
ENDIF
PRINTLN
"SE HA DETECTADO UNA PARADA DE EMERGENCIA"
PRINTLN
"SE RECOMIENDA REALIZAR HOME..."
@
CON
STOP
END
(END)
DESCRIPCIÓN DE LA PRÁCTICA
6
Escuela Superior de Ingenieros
Universidad de Navarra
3.5.1
Ingeniarien Goi Mailako Eskola
Nafarroako Unibertsitatea
POSICIONES
Como se puede observar en el listado, se dispone de las posiciones de las piezas en el repositorio en forma de los vectores de posiciones REPP[] y REPC[]
(REPositorio Prismas y REPositorio Cilindros respectivamente), ası́ como las
posiciones CENTR y ALTO, relacionadas con el puntos que se sitúan sobre el
espacio destinado a levantar la estructura. Se dispone asimismo de la posición
PITCH sobre el peldaño.
Quién lo desee, puede modificar estas posiciones en su programa para aumentar la precisión de su programa. Además, se dispone de la posición CASA,
posición a donde hay que llevar el robot después de terminar una sesión con él.
Estas posiciones están expresadas en formato de valores de encoders.
Importante: Se pueden añadir posiciones al código moviendo el robot a
una posición determinada y a continuación memorizándola con las instrucción
HERE/TEACH. Pues bien, no se permite memorizar más de 3 posiciones.
El objetivo de esta limitación es que la práctica no se reduzca meramente a
memorizar posiciones y luego llevar el Scorbot a esas posiciones. Si se programa
bien el robot, se puede hacer la práctica sin apenas memorizar 1 ó 2 posiciones; y
pensamos que el alumno va a aprender más si se enfrenta al problema intentando
programar el robot.
3.5.2
PROGRAMAS
Por otro lado en el código inicial se incluyen dos programas, el programa DEMO,
que puede ser modificado o borrado, y el programa AUTO, que siempre
tiene que ser incluido en código que se cargue en el SCORBOT y
que nunca debe ser modificado por motivos de seguridad. El programa
DEMO es un programa de demostración, que interactúa con el usuario, en el
que el SCORBOT recoge la pieza O1[1] y lo coloca en el centro de la diana. Por
otro lado, el programa AUTO es un programa que ejecuta automáticamente el
robot tanto cuando se enciende por primera vez el robot, como cuando este sale
de una situación de emergencia.
4
Informe
Hay que presentar un informe que explique de forma breve las tareas realizadas. Las partes que se deben incluir son (entre paréntesis, número de páginas
sugeridas):
• Portada:
– tı́tulo de la práctica,
– nombre de miembros del grupo,
– número de grupo.
• Introducción (1 página):
– breve descripción de los objetivos conseguidos.
• Diseño del programa (5 ó 6 páginas):
– secuencia de movimientos
– puntos programados,
4
INFORME
7
Escuela Superior de Ingenieros
Universidad de Navarra
Ingeniarien Goi Mailako Eskola
Nafarroako Unibertsitatea
– diagrama de flujo,
– fases de desarrollo del programa (implementación, testado y corrección
de errores).
• Conclusiones: resultados y estimación de tiempo invertido.(2 ó 3 páginas):
– Tiempo invertido en realizar la práctica,
– Tiempo que el robot tarda en ejecutar la tarea, precisión conseguida,
– Crı́tica sobre mejoras, robustez ante un fallo, etc.
Con el informe se adjuntará un CD en el cual se incluya el documento word
entregado en formato papel, el código almacenado en el robot y un vı́deo donde
se vea la ejecución del programa. Abstenerse de incluir los listados de los programas en soporte de papel.
5
Algunas cosas prácticas
• Siempre y en todo momento alguien del grupo debe tener la seta de emergencia a mano por si sucede algo, tanto a las personas como al robot.
En cuanto a lo primero, nadie debe estar en el espacio de trabajo del
robot mientras éste funciona. En cuanto a lo segundo, si el robot se estropea por el uso, no pasa nada; pero si se estropea por un uso indebido
y se sabe quién es el grupo responsable, todos los componentes quedarán
automáticamente suspendidos.
• Si se quiere hacer llegar al robot a un punto y sale por pantalla un error
del tipo ”Bad Point Coordinate”, significa que ese punto le queda fuera
del espacio de trabajo, o que algún tramo de la trayectoria que debiera
seguir para alcanzarlo queda fuera del espacio de trabajo. Intentar llevarlo
a un punto más cercano, o proponerle una trayectoria más adecuada.
• En ocasiones, cuando el robot lleva un tiempo funcionando puede hacer
cosas raras. Puede ser porque ha despistado la posición y entonces es
necesario hacer un ”home” para seguir.
• Si se va a manipular en modo manual es aconsejable poner la velocidad a
un valor bajo (comando ”speed”).
• A la hora de programar es aconsejable atenerse a la sintaxis precisa que
se indica en los manuales de los lenguajes. Los manipuladores non acepta
espacios o tabuladores extra en el código. Esto suele ser fuente de esos
mı́ticos errores que no se sabe de dónde vienen pero que nos pueden hacer
perder horas.
5
ALGUNAS COSAS PRÁCTICAS
8

Documentos relacionados

Práctica Scorbot curso 2007

Práctica Scorbot curso 2007 algún tramo de la trayectoria que debiera seguir para alcanzarlo queda fuera del espacio de trabajo. Intentar llevarlo a un punto más cercano, o proponerle una trayectoria más adecuada. En ocas...

Más detalles