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