Está en la página 1de 22

TRABAJO COLABORATIVO No 3 ROBOTICA

SANDRA PINEDA GMEZ Cdigo: 42148069 JOHANNA CASTELLANOS B COD: 52854708 CLAUDIA MILENA TAPASCO LEN Cd. 42.134.359 EDITH DURAN CDIGO 49555751

Grupo 299011_8

TUTOR SANDRA ISABEL VARGAS

UNIVERSIDAD NACIONAL ABIERTA A DISTANCIA ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA DE SISTEMAS NOVIEMBRE DE 2013

INTRODUCCIN Cuando se da inicio al estudio de la materia, es importante tener en cuenta los conocimientos previos que se tienen de la misma, para poder tomarlo como punto de partida, esto har ms fcil la comprensin de los temas a tratar; dentro de este contexto y con la realizacin de la actividades que proponen en este mdulo se realizara un anlisis detallado de los temas que vamos a encontrar durante el periodo acadmico, permitiendo una disposicin mental apropiada para el correcto desarrollo de la agenda de trabajo estipulada para el curso.

OBJETIVO GENERAL Dar a conocer al estudiante las temticas que se trataran dentro del desarrollo del curso, poniendo en conocimiento todas y cada una de las actividades que lo componen, adems de plantear diferentes temas y recursos para el programa de estudio.

Fase 1. Conceptualizacin. Investigar y documentar cuales son los lenguajes de programacin utilizados en robtica, como se clasifican y cules son los criterios de seleccin de un lenguaje de programacin. Mencione 5 lenguajes de programacin, y mencione sus principales caractersticas. La descripcin de cada uno de ellos no debe superar media pgina.

La programacin de un robot resulta un proceso continuo de ensayo y error. La mayora de entornos de programacin son interpretados, pudindose realizar un seguimiento paso a paso de lo programado y evitar el ciclo editar compilarejecutar reprogramar, costoso en tiempo. Es deseable una buena capacidad de depuracin y ejecucin paso a paso. La clasificacin de los lenguajes se realiza en funcin de la sintaxis del lenguaje y de su complejidad y se distinguen en tres tipos: Secuenciadores de Instrucciones: Almacena una secuencia de posiciones y de acciones, para repetirla posteriormente en un orden prcticamente fijo. Ejemplo, la apertura o cierre de una pinza de un manipulador. Lenguajes especficos para robots: Diseados normalmente por cada firma comercial para sus robots, teniendo en cuenta nicamente sus propios sensores y actuadores. Extensiones de lenguajes clsicos: Se trata de mdulos de ampliacin especficos para el manejo de sensores y actuadores, desarrollados para lenguajes de propsito general como C, Pascal o Basic, que conservan la sintaxis general y los mtodos de control de flujo de los mismos. Los lenguajes en funcin del nivel de abstraccin que permiten a la hora de especificar la tarea son: Orientados al Robot: Son rdenes para la lectura de estado de los sensores y para el movimiento de los actuadores. El programador debe establecer de modo secuencial cual ser el comportamiento de los actuadores en funcin de las seales de los sensores, estos se dividen en: De aprendizaje: Permiten la lectura automtica de variables de posicin y su modificacin en modo texto. Ejemplos, APT (Automatically Programmed Tools) y MCL (Macintosh Common LISP)

Estructurados: Permiten la comprobacin puntual o continua de las seales sensoriales, y la realizacin de movimientos de aproximacin en cualquier direccin del espacio cartesiano. Ejemplos, KAREL (language para el robot Karel), SRL (Structured Robot Language), AL (Assembly Language) VALL II. Experimentales o prototipos de investigacin: Cuyo resultado no es una repeticin de las acciones, sino la generacin de programas con instrucciones de movimiento y variables libres, que puede ser editado con posterioridad para modificar las posiciones absolutas y aadir instrucciones de comprobacin de las seales sensoriales. Ejemplo, LM (Language Model). Ensean al robot estrategias sensoriales mediante la extraccin de valores clave de entre todos los valores sensoriales almacenados gracias a la detencin de las situaciones en las que se ha modificado o interrumpido el movimiento. Ejemplo XPROBE. Orientados a la Tarea: El programador debe establecer cules son las acciones que debe ejecutar el robot. Es el sistema el que decide que movimientos y comprobaciones sensoriales debe realizar y en qu orden. Las decisiones se tomen en funcin de: Objetivos propuestos: La tarea se describe en lenguaje de alto nivel mediante instrucciones en forma textual o utilizacin de una interfaz grfica. El estado en cada momento del mundo del robot: Un mdulo planificador consulta una base de datos, denominada el modelo del mundo, y transforma las especificaciones de la tarea en un programa orientado al robot.

CLASIFICACIN DE LA PROGRAMACIN USADA EN ROBTICA La programacin empleada en Robtica puede tener un carcter explcito, en el que el operador es el responsable de las acciones de control y de las instrucciones adecuadas que las implementan, o estar basada en la modelacin del mundo exterior, cuando se describe la tarea y el entorno y el propio sistema toma las decisiones. La programacin explcita es la utilizada en las aplicaciones industriales y consta de dos tcnicas fundamentales: A. Programacin Gestual. B. Programacin Textual.

La programacin gestual consiste en guiar el brazo del robot directamente a lo largo de la trayectoria que debe seguir. Los puntos del camino se graban en memoria y luego se repiten. Este tipo de programacin, exige el empleo del manipulador en la fase de enseanza, o sea, trabaja "on-line". En la programacin textual, las acciones que ha de realizar el brazo se especifican mediante las instrucciones de un lenguaje. En esta labor no participa la mquina (off-line). Las trayectorias del manipulador se calculan matemticamente con gran precisin y se evita el posicionamiento a ojo, muy corriente en la programacin gestual. Los lenguajes de programacin textual se encuadran en varios niveles, segn se realice la descripcin del trabajo del robot. Se relacionan a continuacin, en orden creciente de complejidad: 1. Lenguajes elementales, que controlan directamente el movimiento de las articulaciones del manipulador 2. Lenguajes dirigidos a posicionar el elemento terminal del manipulador. 3. Lenguajes orientados hacia el objeto sobre el que opera el sistema. 4. Lenguajes enfocados a la tarea que realiza el robot. PROGRAMACIN GESTUAL O DIRECTA En este tipo de programacin, el propio brazo interviene en el trazado del camino y en las acciones a desarrollar en la tarea de la aplicacin. Esta caracterstica determina, inexcusablemente, la programacin "on-line". La programacin gestual se subdivide en dos clases:

Programacin por aprendizaje directo. Programacin mediante un dispositivo de enseanza.

PROGRAMACIN TEXTUAL EXPLICITA El programa queda constituido por un texto de instrucciones o sentencias, cuya confeccin no requiere de la intervencin del robot; es decir, se efectan "off-line". Con este tipo de programacin, el operador no define, prcticamente, las acciones del brazo manipulado, sino que se calculan, en el programa, mediante el empleo de las instrucciones textuales adecuadas.

Dentro de la programacin textual, existen dos grandes grupos, de caractersticas netamente diferentes: 1. Programacin textual explcita. 2. Programacin textual especificativa. Dentro de la programacin explcita, hay dos niveles: 1. Nivel de movimiento elemental 2. Nivel estructurado PROGRAMACIN TEXTUAL ESPECIFICATIVA Se trata de una programacin del tipo no procesal, en la que el usuario describe las especificaciones de los productos mediante una modelizacin, al igual que las tareas que hay que realizar sobre ellos. El sistema informtico para la programacin textual especificativa ha de disponer del modelo del universo, o mundo donde se encuentra el robot. Este modelo ser, normalmente, una base de datos ms o menos compleja, segn la clase de aplicacin, pero que requiere, siempre, computadoras potentes para el procesado de una abundante informacin. El trabajo de la programacin consistir, simplemente, en la descripcin de las tareas a realizar, lo que supone poder llevar a cabo trabajos complicados. LENGUAJES DE PROGRAMACIN GESTUAL PUNTO A PUNTO Se aplican con el robot "in situ", recordando a las normas de funcionamiento de un magnetofn domstico, ya que disponen de unas instrucciones similares: PLAY (reproducir), RECORD (grabar), FF (adelantar), FR (atrasar), PAUSE, STOP, etc. Adems, puede disponer de instrucciones auxiliares, como INSERT (insertar un punto o una operacin de trabajo) y DELETE (borrar). Conceptualmente, ala estar el manipulador en lnea funciona como un digitalizador de posiciones.

LENGUAJES DE ELEMENTALES

PROGRAMACIN

NIVEL

DE

MOVIMIENTOS

Estos lenguajes son, por lo general, del tipo intrprete, con excepcin del RPL, que tiene un compilador. La mayora dispone de comandos de tratamiento a sensores bsicos: tacto, fuerza, movimiento, proximidad y presencia. El RPL dispone de un sistema complejo de visin, capaz de seleccionar una pintura y reconocer objetos presentes en su base de datos. LENGUAJES ESTRUCTURADOS DE PROGRAMACIN EXPLCITA La programacin explicita es la utilizada en las aplicaciones industriales y consta de dos tcnicas fundamentales: a) programacin gestual, gua el brazo del robot directamente a lo largo de la trayectoria que debe seguir. Los puntos del camino se graban en memoria y luego se repiten. Este tipo de programacin, exige el empleo del manipulador en la fase de enseanza; b) programacin textual, las acciones que ha de realizar el brazo se especifican mediante las instrucciones de un lenguaje. En esta labor no participa la maquina (off-line). Las trayectorias del manipulado r se calculan matemticamente con gran precisin. Los niveles segn el trabajo del robot: lenguajes elementales, que controlan directamente el movimiento de las articulaciones del manipulador; lenguajes dirigidos a posicionar el elemento terminal del manipulador; lenguajes orientados hacia el objeto sobre el que opera el sistema; lenguajes enfocados a la tarea que realiza el robot. LENGUAJES DE PROGRAMACIN EN FUNCIN DE LOS OBJETIVOS La filosofa de estos lenguajes consiste en definir la situacin final del producto a fabricar, a partir de la cual se generan los planes de accin tendentes a conseguirla, obtenindose, finalmente, el programa de trabajo. Estos lenguajes, de tipo natural, suponiendo una potenciacin extraordinaria de la Inteligencia Artificial, para descargar al usuario de las labores de programacin. Prevn, incluso, la comunicacin hombre-mquina a travs de la voz. CRITERIOS DE SELECCIN DE UN LENGUAJE DE PROGRAMACIN Las diez caractersticas bsicas de un lenguaje ideal son: 1. Claridad y sencillez.

2. Claridad de la estructura del programa. 3. Sencillez de aplicacin. 4. Facilidad de ampliacin. 5. Facilidad de correccin y mantenimiento. 6. Eficacia. 7. Transportabilidad sobre cualquier equipo mecnico o informtico. 8. Adaptabilidad a sensores (tacto, visin, etc.). 9. Posibilidad de descripcin de todo tipo de herramientas acoplables al manipulador. 10. Interaccin con otros sistemas. En el aspecto de claridad y sencillez, la programacin gestual es la ms eficaz, pero impide la confeccin de programas propiamente dichos. Los lenguajes a nivel de movimientos elementales, como el VAL, disponen de bastantes comandos para definir acciones muy parecidas que fueron surgiendo segn las necesidades y que, en gran medida, oscurecen su comprensin y conocimiento. Aunque, inicialmente, las tcnicas de programacin estructurada son ms difciles de dominar, facilitan, extraordinariamente, la comprensin y correccin de los programas. Respecto a la sencillez de aplicacin, hay algunos lenguajes (como el MCL) dedicados a las mquinas herramienta (APT), que pueden ser valorados, positivamente, por los usuarios conocedores de este campo. El PAL, estructurado sobre la matemtica matricial, slo es adecuado para quienes estn familiarizados con el empleo de este tipo de transformaciones. Es imprescindible que los lenguajes para los robots sean fcilmente ampliables, por lo que se les debe dotar de una estructura modular, con inclusin de subrutinas definidas por el mismo usuario. La adaptabilidad a sensores externos implica la posibilidad de una toma de decisiones, algo muy interesante en las labores de ensamblaje. Esta facultad

precisa de un modelo dinmico del entorno, as como de una buena dosis de Inteligencia Artificial, como es el caso del AUTOPASS. Finalmente, el camino para la superacin de los problemas propios de los lenguajes actuales ha de pesar, necesariamente, por la potenciacin de los modelos dinmicos del entorno que rodea al robot, acompaado de un aumento sustancial de la Inteligencia Artificial.

Lenguajes de Programacin

Caractersticas Creado y construido por IBM SYSTEM-7 los movimientos pueden tener lugar en sistemas de coordenadas cartesianas, cilndricas o de unin, siendo posible insertar o borrar las instrucciones que desee, se pude implementar funciones relacionadas con sensores externos y revisar el programa paso a paso hacia adelante y hacia atrs. Usa un mando del tipo Joystick para el control de los movimientos, dispone de un comando especial para centrar a la pinza sobre el objeto para el control de movimientos. Se aplica en robot in situ recordando las normas de funcionamiento un megfono domestico ya que dispone de instrucciones como Play (reproducir), Record (grabar), FF (adelantar), FR (atrasar), Pause, Stop. Adems de Insert y Delete (borrar). Fue diseado por UNIMATION INC para sus robots UNIMATE y PUMA emplea una CPU, un LSI-II, que se comunica con procesadores individuales que regulan el servocontrol de cada articulacin, las instrucciones, en idioma ingls, son sencillas e intuitivas, Estos lenguajes

Tipo de programacin

Gestual punto a punto Programacin Gestual Directa

FUNKY

VAL

A nivel de movimientos elementales Programacin Textual explicita

mantienen el nfasis en los movimientos primitivos, ya sea en coordenadas articulares, o cartesianas, las ventajas destacables son los saltos condicionales y a subrutina, el aumento de las operaciones con sensores. Es un lenguaje de tipo intrprete, disponen de comandos de tratamiento a sensores bsicos como tacto, fuerza, movimiento, proximidad y presencia. Lenguaje no transportable e interpretado, escrito en ensamblador, que permite el movimiento de un solo brazo. Provisto de estructura de datos de tipo complejo, incorporando elementos de programacin estructurada, dispone de la Estructurados de programacin posibilidad de definicin de puntos, explicita lneas, planos, as como de transformaciones de coordenadas y de capacidad sensorial para interaccionar con el entorno, tiene comandos de control de la sensibilidad del tacto de dos dedos (fuerza, movimiento, proximidad). Trata de proporcionar definiciones acerca de los movimientos relacionados con los elementos sobre los que el brazo trabaja. Fue diseado por el laboratorio de inteligencia Artificial de la Universidad de Stanford, con estructuras de bloques y de control similares al ALGOL, lenguaje en el que se escribi. Est dedicado al manipulador de Stanford, utilizando como procesadores centrales a un PDP 11/45 y un PDP KL-10, permite el movimiento de dos brazos y es transportable, puede ser compilado e interpretado y ejecutado en un VAX.

AL

RAPT

STRIPS

Se base en definir una serie de planos, cilindros y esferas, que dan lugar a otros cuerpos derivados. Para modelar un cuerpo se confecciona una biblioteca con sus rasgos ms representativos, seguidamente se define los movimientos que ligan a los cuerpos a ensamblar (alinear planos, encajar cilindros etc.). Fue creado por la universidad de Edimburgo, departamento de inteligencia Artificial; est orientado en especial al ensamblaje de piezas. Destinado al Robot FREDY, utiliza como procesador central, a un PDP 10. Es un intrprete y est escrito en lenguaje APT. ha de disponer del modelo del universo o mundo donde se encuentra el robot, este modelo ser normalmente, una base de datos ms o menos compleja. Fue diseado en la universidad de Stanford, para el robot mvil SHAKEY. Se basa en un modelo del universo ligado a u conjunto de planteamientos aritmtico lgicos que se encargan de obtener las subrutinas que conforman el programa final. Es intrprete y compilable, utilizado, como procesadores a un PDP-10 y un PDP-15. Consiste en definir la situacin final del producto a fabricar, a partir de la cual se generan los planes de accin tendentes a conseguirla obtenindose finalmente el programa de trabajo. Estos lenguajes de tipo natural suponiendo una potenciacin extraordinaria de la inteligencia Artificial, para descartar al usuario de las labores de programacin. Prevn incluso la comunicacin hombre- mquina a travs de la voz.

Especificativa a nivel de objeto

En funcin de los objetos

Fase 2. 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.5 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=-70, y=30, z=3*nmero 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=-70, y=30, z=3*8=24) Pasos Abrir el SIMUROB dejar la posicin inicial del robot como esta Insertar un cilindro y colocar las coordenadas donde debe quedar situado x=-70, y=30, z=3*8=24

Posteriormente debemos lograr que el brazo con la respectiva pinza se desplace desde su posicin inicial hasta la ubicacin del cilindro, lo tome y lo desplace hasta la posicin (x=100, y=50, z=0).

Posicin inicial diferente puntos de vista Tomando el objeto en diferentes puntos de vista

%%% 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,12,0,0,1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0;

MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[1,66,0,1,39,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[26,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[29,73,-3,0,-45,180],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[35,73,-3,0,44,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[47,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[58,73,-3,0,44,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[61,73,3,0,44,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[63,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[69,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[71,73,3,0,44,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[71,73,-3,0,-44,180],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[72,73,-3,0,-43,180],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0;

ENDPROC ENDMODULE

El primer paso es ir a la barra de herramientas y seleccionar la opcin pinzas, esto con el fin de que nos permita colocar las caractersticas de posicin al cilindro y Dems, all digitamos los parmetros de posicin como se indica en la gua (x=-70 y=30 z= (3*8)=24) Enseguida cliqueamos en el icono consola, y de este modo comenzar a jugar con el joy stick hasta que este encuentre el objeto (Cilindro)

En el modo hay que tener presente que el primer paso es dar click en el botn Grabar, para que as mientras se programa el robot, la secuencia quede grabada, una vez terminada la programacin se da click en el botn Fin de grabacin .

Por ltimo y al salir del modo consola se procede a dar click en el botn Play as podemos ver el movimiento del robot

El siguiente es el cdigo de programacin del Robot: %%% VERSION: 1 LANGUAGE: ENGLISH %%% MODULE SIMUROB PROC main() Set Pinza; MoveAbsJ [[-204,28,83,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[-204,28,83,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[-204,28,83,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; Reset Pinza; MoveAbsJ [[28,62,82,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,62,82,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,62,82,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,62,82,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,62,82,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,62,82,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,62,82,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,62,82,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; Set Pinza; MoveAbsJ [[28,0,20,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,0,20,0,70,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,0,20,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; MoveAbsJ [[28,0,20,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v50,z30,tool0; Reset Pinza; ENDPROC ENDMODULE

CONCLUSIONES Se aprende a realizar uso de un simulador muy prctico para la temtica vista en la unidad 3. El nivel prctico de las actividades da para socializar ms los temas y para comprender ms los detalles. El desarrollo del programa es viable y organizado para lo requerido. 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.

BIBLIOGRAFA

UNAD, U. N. (2012). CAMPUS VIRTUAL UNAD. Recuperado el 30 de Octubre de 2012, de Protocolo Robtica: http://66.165.175.205/campus12/file.php/29/Contenido_en_linea/Robotica/index.ht ml http://www.monografias.com/trabajos3/progrob/progrob.shtml#ixzz2l9YsRXe 5