Vous êtes sur la page 1sur 22

Trabajo colaborativo 3

ROBOTICA.
299011_3

Alejandro Cano Mosquera


Cdigo: 16.375.904
Andrs Felipe Salgado Cifuentes
Cdigo: 16.867.083
Hctor Fabio Valles Mina
Cdigo: 16.944.182
William Hernando Quiroz
Cdigo: 14.695.880
Jhon Alexander Giraldo
Cdigo: 14.572.334.

Tutor:
Sandra Isabel Vargas

Universidad Nacional Abierta y a Distancia (UNAD)


Programa de Ingeniera Electrnica
2014 - 2
2. INTRODUCCION

Al comienzo del presente trabajo colaborativo 3, se reconoce que 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 lenguajes de programacin de alto nivel suministran una solucin ms general para
resolver el problema de comunicacin hombre-robot. La utilizacin de robots para llevar
a cabo las tareas requiere tcnicas de programacin en lenguajes de alto nivel ya que
el robot de la lnea de produccin suele confiar en la realimentacin de los sensores y
este tipo de interaccin slo puede ser mantenida por mtodos de programacin que
contengan condiciones especficas a cada equipo.

Tambin se hizo uso del simulador para robtica SimuRob, el cual es un programa
simulador del robot antropomrfico IRB-1400, bajo Windows, programado en Visual
C++. El interfaz con el usuario consta bsicamente de una ventana principal y una
consola virtual de programacin. La mitad derecha de la ventana principal est
dedicada a la representacin grfica del robot virtual y la escena programada. La mitad
izquierda est destinada a la edicin de programas RAPID (lenguaje de programacin
del IRB-1400).

Este permite a los alumnos aprender el manejo del robot y la programacin de sus
movimientos, el conocimiento en profundidad de su cinemtica directa e inversa,
alineacin de ejes, configuraciones singulares entre otros.
3. FASE 1, CONCEPTUALIZACION.

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.

Primero debemos definir que es un lenguaje de programacin:

LENGUAJE DE PROGRAMACIN

Un lenguaje de programacin es un lenguaje formal diseado para expresar procesos


que pueden ser llevados a cabo por mquinas como las computadoras.

Pueden usarse para crear programas que controlen el comportamiento fsico y lgico
de una mquina, para expresar algoritmos con precisin, o como modo de
comunicacin humana. Est formado por un conjunto de smbolos y reglas sintcticas y
semnticas que definen su estructura y el significado de sus elementos y expresiones.
Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y
se mantiene el cdigo fuente de un programa informtico se le llama programacin.
Tambin la palabra programacin se define como el proceso de creacin de un
programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs
de los siguientes pasos:

El desarrollo lgico del programa para resolver un problema en particular.


Escritura de la lgica del programa empleando un lenguaje de programacin
especfico (codificacin del programa).
Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de
mquina.
Prueba y depuracin del programa.
Desarrollo de la documentacin
Cuando se programa un manipulador lo que se necesita usualmente es situar su punto
terminal en una localizacin determinada del espacio, haciendo adems que la
direccin de aproximacin a la misma est tambin definida. Pero no slo es
importante que el manipulador alcance determinados puntos del espacio, sino que lo
haga en el momento adecuado. As, es preciso distinguir entre:

Camino, sucesin de puntos del espacio.

Trayectoria, camino sujeto a condiciones temporales.

Generalmente, es necesario disear y programar trayectorias, rectas o curvas


arbitrarias en el espacio cartesiano, para lo cual es importante conocer la relacin entre
la trayectoria cartesiana del punto terminal y la de las articulaciones.

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 compilar- ejecutar
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 PROGRAMACIN A NIVEL DE MOVIMIENTOS ELEMENTALES

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.
Tabla resumen de los lenguajes ms importantes de programacin de robots
industriales:
3. FASE 2, SIMULACION.

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.
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
compartirlos con sus compaeros en el foro, Comente all tambin sobre posibles
fallos o bondades del software.

Esta es la pantalla principal del simulador SIMUROB, en la cual se realizaron las


distintas pruebas despus de leer el manual.

Se hizo reconocimiento de la consola virtual, e hizo algunos ejercicios con el mismo.


Se encontr la manera de visualizar los ejes y realizar movimientos para corroborar los
mismos. Se hizo acercamiento y verificacin de puntos precisos.

Se ejecut planta/alzado, observar trazos y cambio de fondo.


Cambio de positivo a negativo, lo cual sirve para ver el contraste entre el robot y las
piezas a ubicar.

Por ultimo un programa realizado con la consola virtual de programacin


A favor del software, se puede decir que SimuRob permite programar movimientos y
trayectorias que luego pueden ser ejecutados en el robot real. En este sentido el
simulador incluye herramientas virtuales como pinzas y pistola de soldadura que
permiten operar de forma similar a como lo hara el robot IRB-1400. El cdigo del
SimuRob es abierto y accesible a los programadores, siendo posible crear nuevos
robots, montar una pequea clula de fabricacin flexible, probar nuevos algoritmos en
la generacin de trayectorias, entre otros.
4. PROGRAMA.

Como evidencia de la realizacin, del programa en SimuRob, se adjunta link del video
realizado en YouTube para su comprobacin, se escogi la simulacin del compaero
Andrs Felipe salgado.

https://www.youtube.com/watch?v=006SpkkB6ms

Se anexa el programa que ejecuta los movimientos del robot.

TC3_robotica_2014_2.txt TC3_robotica_2014_2.PRG

Se adjuntan pantallazos del mismo.

Imagen 1. Estado inicial del sistema


Imagen 2. Desplazamiento hacia el objeto

Imagen 3. Se deja el objeto en el lugar deseado


5. CONCLUSIONES

Por medio del presente trabajo, aprendimos a conocer las caractersticas ms


relevantes en la programacin de un robot, y los distintos lenguajes de programacin
utilizados en el mercado.

Generalmente un buen lenguaje de programacin puede caracterizarse por:

Su claridad y su sencillez.

La de estructura del programa.

Su sencillez de aplicacin.

Su facilidad de ampliacin.

Su facilidad de correccin y mantenimiento.

Su eficacia.

Tambin se abord el simulador SimuRob, el cual nos sirvi para programar el robot
IRB-1400. SimuRob ha sido diseado para ofrecer un fcil manejo del mismo, pudiendo
ser manipulado por usuarios sin experiencia, con pocas nociones de robtica, ni el
lenguaje de programacin de robots RAPID, pudiendo ser empleado en el aprendizaje
del manejo del robot IRB-1400, debido a la similitud de su consola virtual, con la
consola real.
6. REFERENCIAS BIBLIOGRAFICAS

Unidad III. ACTUALIDAD EN ROBTICA, Capitulo 1: PROGRAMACIN DE


ROBOTS, UNAD; recuperado de:
http://66.165.175.211/campus13_20142/file.php/304/contenido_en_linea2/Roboti
ca2/Robotica2/capitulo_1_programacin_de_robots.html

SIMUROB. Manual del Usuario, Proyecto Fin de Carrera de Marina Beltrn


Blanco. Simulador del Robot IRB-1400,

Valeras, J., (2010). Robtica y programacin. Innovacin y experiencias


educativa, N 29, 1-19. Recuperado de: http://www.csi-
csif.es/andalucia/modules/mod_ense/revista/pdf/Numero_29/JUAN_JOSE_VALE
RA_ARCAS_2.pdf

Robtica. Juan Domingo Esteve (originalmente en


http://ingenieroseninformatica.org/recursos/tutoriales/aprob).

Tecnologas de la Informacin y de la Comunicacin. Captulo 6, Programacin y


control de procesos. Juan A. Alonso, Santiago Blanco A., Santiago Blanco S.,
Roberto escribano, Vctor R. Gonzlez, Santiago Pascual, Amor Rodrguez.
Editorial Ra-Ma 2004.

Control y Robtica. Tema: Fundamentos de robtica. Curso provincial. CFIE


Valladolid II. Vctor R. Gonzlez. Asesora de Tecnologa y FP.

Candelas, S., (2014). Lenguaje de programacin de los Robots. Recuperado de


http://cursos.itcg.edu.mx/libros/ROBOTICA/TODO%20SOBRE%20ROBOTICA/A
utoPlay/Docs/MODULO%202/22%20Lenguaje%20de%20Programaci%F3n.pdf