Anda di halaman 1dari 22

ROBOTICA 2013 I

ACT. 14 TRABAJO COLABORATIVO 3

PRESENTADO POR:

TUTOR: SANDRA ISABEL VARGAS

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA INGIENERIA ELECTRONICA CODIGO: 299011-25

BARRANQUILLA COLOMBIA 2013 INTRODUCCION

En las mquinas controladas por sistemas informticos, el lenguaje es el medio que utiliza el hombre para gobernar su funcionamiento, por lo que su correcta adaptacin con la tarea a realizar y la sencillez de manejo, son factores determinantes del rendimiento obtenido en los robots industriales. Hay varias maneras de comunicarse con un robot, y tres soluciones generales para lograrlo, que son reconocimiento de palabras separadas, enseanza y repeticin y lenguajes de programacin de alto nivel. Los sistemas de reconocimiento de la voz en la tecnologa moderna son bastante primitivos y suelen depender de quien habla. Estos sistemas pueden reconocer un conjunto de palabras concretas de un vocabulario muy limitado y en general exigen al usuario una pausa entre las palabras, aunque en la

actualidad es posible reconocer las palabras separadas en tiempo real debido a los cada vez ms rpidos componentes de las computadoras y algoritmos de procesamiento ms eficientes, la utilidad del reconocimiento de palabras separadas para describir la tarea de un robot es bastante limitada. La enseanza y repeticin, tambin conocido como guiado, es la solucin ms comn utilizada en el presente para los robots industriales. Este mtodo implica ensear al robot dirigindole los movimientos que el usuario desea que realice. Guiar al robot en movimiento lento, puede ser en general llevado a cabo de varias maneras: usando un joystick, un conjunto de botones (uno para cada movimiento) o un sistema de manipulacin maestro-esclavo. Los lenguajes de programacin de alto nivel suministran una solucin ms general para resolver el problema de comunicacin hombre-robot. Este documento tiene como objeto principal responder un cuestionario relacionado con un documento en el que se trata del tema de programacin de robots industriales, y tambin el experimentar la programacin de un robot por medio de un simulador.

OBJETIVOS

Interactuar con los dems compaeros del aula virtual para consolidar un trabajo de alta calidad y logra cumplir con xitos la rbrica propuesta. Revisar todo el material citado en la gua del trabajo colaborativo con el fin de profundizar y analizar todas sus temticas. Conocer e investigar sobre los diferentes tipos de robots industriales, sus aplicaciones, configuraciones, programaciones y dems temas pertinentes a los temas en cuestin. Adquirir conocimientos bsicos de programacin de robots industriales, mediante el manejo del software SIMUROB Realizar simulaciones sencillas de sistemas de produccin con robots, y anlisis de prestaciones de las mimas, a partir del entorno virtual creado con SIMUROB.

FASE 1: DEBATE EN EL FORO

1. Ttulo del artculo: Marco para programar el robot fuera de lnea. 2. Siglas usadas a lo largo del artculo ABB (Asea Brown Boveri): Multinacional con sede en Zurich (Suiza), cuyos principales productos son los relacionados con tecnologa electrotcnica y de automatizacin industrial. CNC (Control Numrico Computarizado): Sistema de automatizacin de mquinas operadas mediante comandos indicadas mediante cdigos numricos programados en un medio de almacenamiento. DP (Design Patterns): Diseo de modelos. FANUC: Corporacin lder en automatizacin robtica.

IEEE (Institute of Electrical and Electronics Engineers): Instituto de Ingenieros Elctrico y electrnico, una asociacin tcnico-profesional mundial dedicada a la estandarizacin. J2EE (Java 2 Enterprise Edition): Plataforma de programacin Java para desarrollar y ejecutar software de aplicaciones con arquitectura de N capas distribuidas; se apoya ampliamente en componentes de software modulares ejecutndose sobre un servidor de aplicaciones. OODP (Object Oriented Design Pattern): Modelo de Diseo Orientado a Objetos (OO). OOP: Oriented Object Programming (Programacin Orientada a Objetos). PC: Personal Computer RAM: Ramdom Access Memory TM (Template Method): Mtodo para definir un esquema de un algoritmo. TP (Teach Pendant): consola de aprendizaje usada como Interfaz de programacin. TQM (Total Management Quality): filosofa internacional de gestin para el mejoramiento continuo de la calidad de los productos y los procesos. UCSAL: Acrnimo usado para observar la secuencia de movimientos de los robots utilizados en la investigacin del artculo ledo. 3D: Tercera dimensin. 3. Lo considera pertinente al contenido del curso? S, ya que precisamente, la unidad 3 del curso abarca los fundamentos de programacin del robot y trata del lenguaje de programacin RAPID de la ABB, uno de los lenguajes probados en la investigacin del artculo ledo. Adicionalmente, la interpretacin de un artculo cientfico fortalece el espritu crtico e investigativo al mostrar bases tericas que permiten analizar las ventajas de los modelos y el amplio campo que ofrecen las tcnicas de aprendizaje en la programacin del robot. El documento muestra que existen herramientas que vienen disponibles en los kits del robot con las cuales se puede interactuar y programar al robot de manera que sea la programacin ms gil y amigable pues este proceso, en especial para los robots industriales es bastante complejo y la programacin fuera de lnea puede reducir mucho el tiempo de parada de las maquinas en un proceso de mantenimiento

En resumen, este artculo ayuda a ver la programacin de los robots desde otra perspectiva, ahorrando tiempo en los diseos y usos de patrones para la programacin de los mismos con la ayuda de herramientas de fcil manejo. 4. Cul es el problema o los problemas que se pretenden resolver con la propuesta del artculo? Los problemas que se pretenden resolver son: Los costos que conlleva tener en las compaas fabricantes personal especializado encargado nicamente de la programacin de los robots. El tiempo empleado en la programacin del robot. Los entornos de programacin que tienen diferentes diseos, botones, secuencias de comandos, entre otros. La falta de abstraccin en la programacin fuera de lnea que no ha permitido disminuir el tiempo de integracin de las piezas del robot ni el tiempo dedicado a su programacin, inconveniente que impide generalizar la programacin ya que las herramientas disponibles solo pueden interactuar con plataformas, archivos y libreras propias del robot. Esta situacin plantea la necesidad de crear herramientas que puedan interactuar con diferentes manufacturas para facilita a las compaas la programacin del robot.

5. Cules mtodos se plantean para resolver el problema o problemas? En general, el autor propone la programacin en un entorno fuera de lnea bajo el paradigma de la programacin orientada a objetos basado en un modelo encapsulado en clases de Java y siguiendo Design Patterns (Modelos de diseo), mecanismos de alto nivel que relacionan las mejores prcticas de programadores y sus experiencias exitosas para resolver problemas de software comn mediante la reusabilidad de cdigo, dentro de estos modelos estn: Factory, Singleton, Facade, Memento, Command y Template Method. 6. En qu consiste cada mtodo? Use grficos, mapas, fotografas, etc. Factory (fbrica de objetos): centraliza la generacin de objetos en una clase que es la que los instancia, as si algn objeto carga un mtodo, cambia en dicha clase, permitiendo de esa manera una gran probabilidad de

cambios sin afectar las instancias de las clases. Singleton (instancia nica): impide la duplicacin de objetos innecesarios en la RAM, as mejora el desempeo de los procesos generales. El siguiente algoritmo explica este diseo.

Facade (consenso): conecta diferentes interfaces con una clase principal centralizando la entrada de datos, as los cambios son transparentes al usuario y el mantenimiento del software es ms fcil. Para esto se implementa una clase Charger que media entre la clase Bussines y los datos de entrada.

Memento (Deshacer): almacena las interacciones recientes de la memoria con el software, permitiendo recuperar las operaciones efectuadas. Command (orden): genera una interfaz de comandos a travs de mens y botones cuyas acciones se ejecutan en la clase bussines.

Template Method (mtodo de plantilla): Define el esquema del algoritmo usado para especializar subclases que heredan el modelo comn del objeto. 7. Si lo hay, cul es el mtodo usado para la evaluacin de resultados y en qu consiste. Para demostrar la funcionalidad del software, se propuso que dos robots programados, con el cdigo explicado en la investigacin, para escribir la sigla UCSAL sobre un tablero blanco. Se eligi esta sigla para describir la secuencia del movimiento del manipulador ya que la letra U requiere un movimiento circular, la C, otro movimiento circular, la S dos movimientos circulares, la A un movimiento de rbol lineal y la L, dos movimientos lineales. No slo se midieron estos tipos de movimiento sino que se tuvieron en cuenta aspectos como la velocidad y la precisin. Tambin se establecieron puntos fuera del tablero entre los caracteres que se escribieron para definir el ngulo del lpiz. Para las coordenadas de captura se us un joystick unido al controlador del robot para establecer las coordenadas xyz. 8. Segn el autor del artculo, los resultados obtenidos son satisfactorios? El experimento fue exitoso pues se logr programar dos robots utilizando el generador de cdigo descrito en la investigacin, el cual se muestra en la siguiente figura:

Interfaz de programacin

Para explicar el experimento y la utilidad del software RoBott, se demostraron los movimientos del manipulador del robot implicados para escribir las siglas UCSAL sobre un tablero blanco. Este software crea archivos particulares que pueden correr en diversos sistemas operativos. Se utilizaron dos robots de fabricantes diferentes demostrando as las ventajas del software pues se logr la funcionalidad de escribir UCSAL independiente del fabricante. Los resultados son satisfactorios ya que los aportes son de mucho beneficio para la ciencia y la tecnologa, el ahorro en costos.. Tambin es posible desarrollar un nuevo protocolo que permite trabajar con otras mquinas, que tienen la misma accin principio de los robots

9. Qu restricciones encuentra para la implementacin de los mtodos planteados en el artculo? La dificultad se presenta en la programacin de robots debido a: La variedad de manufacturas, programas y entornos de programacin. Falta de equipos disponibles, el manejo complejo y el enfoque tecnolgico necesario para aprenderlo. La diversidad de las instrucciones que se tienen que manejar de acuerdo al fabricante del robot ya que el framework tiene que generar muchos idiomas diferentes al robot especfico lo que a veces hace que sea necesario redisear toda la aplicacin para que el robot haga una funcin.

10. Qu otras soluciones planteara usted a los problemas que pretende resolver el autor? Estandarizar entornos de programacin con comandos que permitan un manejo fcil al usuario. Implementar las caractersticas de la programacin orientada a objetos para fomentar la reutilizacin de cdigo mostrando las ventajas que esto trae tanto para reducir los costos como para futuras mejoras en el software que sean fciles de implementar. Hacer disponibles estos modelos centralizndolos en servidores estableciendo protocolos para los tipos genricos de los robots. y

Desarrollar un protocolo de facto que permita estandarizar una interfaz que permita la programacin del robot sin importar el fabricante.

FASE 24
Prueba de SIMUROB y Simulacin 2.1 Descargar el simulador SIMUROB que se encuentra en el link de MATERIAL DE APOYO A LA FORMACIN del curso dentro del rea de CONTENIDOS. El archivo que descargarn no requiere de instalacin simplemente se da doble clic encima y comienza a funcionar (es un ejecutable) se debe usar Windows XP o Windows 7 home Premium. 2.2 Descargar el manual de usuario (tambin en material de apoyo), leerlo y probar las diferentes caractersticas del programa.

2.3 OPCIONAL: Descargar y probar un programa de ejemplo (soldadura1.PRG) que tambin lo encontrar en el material de apoyo, los pasos para probarlo los encontrar en el manual de usuario. 2.4 Tomar pantallazos del trabajo realizado con SIMUROB hasta el momento y Comprtalos con sus compaeros en el foro. Probando el ejemplo de soldadura 1.rpg

Aqu estamos probando la consola de simurob la cual permite programar movimientos simulando un joystick de una consola que gobierna el IRB-1400

En la seccin de Manipulacin podemos aadir herramientas como una pistola de soldadura y pinzas.

2.6 Usar SIMUROB para crear un algoritmo que permita desplazar el EFECTOR FINAL del robot desde la posicin inicial (en la que aparece al abrir el simulador) hasta la posicin (x=-80, y=20, z=2.5*numero del grupo) en la cual la pinza del robot deber recoger un objeto y lo llevar (x=-100, y=50, z=0). Para esto se sugiere usar el JOYSTICK de la forma en que se indica en el manual de usuario y colocar un objeto como referencia en la posicin Final. (x=-80, y=20, z=2.5*25=62,5) Utilizamos la cota en este caso 62.5 para Z. Abrimos el SIMUROB y dejamos la posicin inicial del robot como esta, luego Insertamos un prisma y colocamos las coordenadas donde debe quedar situado. x=80, y=20, z=62.5

Ahora debemos lograr que el efector se desplace desde su posicin inicial hasta la ubicacin del prisma, lo tome y lo desplace hasta la posicin (x=100, y=50, z=0).

Abrimos la consola y presionamos el icono de movimiento para activar el joystick

Luego vamos a la opcin de programacin para poder realizar el movimiento del efector hasta el prisma y tomarlo

ROBOT TOMANDO EL PRISMA

Fase 2.7 (Se incluye el programa)

%%% VERSION:1 LANGUAGE:ENGLISH %%%

MODULE SIMUROB PROC main() MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; Reset pinza; MoveAbsJ [[0,0,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[0,0,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[0,5,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[23,-5,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[40,-5,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[40,-34,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[40,-39,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; Set pinza;

MoveAbsJ [[40,-50,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[47,-58,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[64,-58,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[64,-66,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[96,-67,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[136,-67,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[147,-67,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[147,-73,0,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[147,-52,21,0,21,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[140,-49,22,-1,24,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[143,-48,21,0,-25,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[138,-34,38,-1,-39,2],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[144,-36,33,2,-37,5],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0;

MoveAbsJ [[148,-37,28,5,-36,6],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[146,-26,38,2,-47,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[156,-5,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[156,-5,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[153,-5,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[153,1,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[153,-31,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[159,-31,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[167,-28,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[167,-14,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[167,-11,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[167,-11,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[170,-11,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0;

MoveAbsJ [[170,-8,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[175,-8,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[167,-8,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[167,-8,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; Reset pinza; MoveAbsJ [[167,-12,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[167,-21,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[137,-21,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[95,-21,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[53,-21,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[42,-19,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[42,9,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[42,49,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0;

MoveAbsJ [[42,61,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[30,77,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[24,77,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[24,86,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[24,82,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[24,79,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[24,82,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[24,82,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; Set pinza; MoveAbsJ [[24,52,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[0,39,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[0,4,42,13,-54,9],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0;

ENDPROC ENDMODULE

CONCLUSIONES

Los lenguajes de programacin de alto nivel suministran una solucin ms general para resolver el problema de comunicacin hombre-robot. Un robot industrial es bsicamente un manipulador multifuncional reprogramable, lo cual permite su adaptacin de manera rpida y econmica a diferentes aplicaciones. La programacin de un robot se puede definir como el proceso mediante el cual se le indica a ste la secuencia de acciones que deber llevar a cabo durante la realizacin de su tarea. Se logr cumplir con todos los objetivos propuestos y socializar entre todos los compaeros del aula virtual.

BIBLIOGRAFIA

Mdulo de Robtica -299011-FREDDY F. VALDERRAMA GUTIERREZ (Director Nacional)ALFREDO LOPEZAcreditador- CEAD DUITAMA Febrero, 2010

Enlaces web: http://www.ceautomatica.es/old/actividades/jornadas/XXV/documentos/7arancoaelt.pdf http://www.monografias.com/trabajos3/progrob/progrob.shtml http://www.ceautomatica.es/old/actividades/jornadas/XXV/documentos/7arancoaelt.pdf

Anda mungkin juga menyukai