Está en la página 1de 33

Equipo 2

Ingeniería Electromecánica

“Análisis comparativo de lenguajes de programación robótica industrial”

María del Carmen Ojeda Zacarias


Taller de investigación 2
Reporte de unidad 2
Alumnos:
Carlos Montes Juárez 15480238
Cesar Alejandro Galván González 16480006
Alonso Peña Salinas 16480337
Angel Osvaldo Pouda Rodríguez¨ 16480291
Cesar Antonio Arriaga carrizales 15480254
Jesús Alejandro Martínez Martínez 17480206
*Angel Pouda es el que tiene el problema con la plataforma

INDICE
Introducción............................................................................................................................................................3
Hipótesis.................................................................................................................................................................. 3
Objetivo general.....................................................................................................................................................4
Objetivos Específicos...........................................................................................................................................4
Antecedentes..........................................................................................................................................................5
Preguntas de investigación................................................................................................................................7
Alcances:.................................................................................................................................................................7
Materiales y métodos............................................................................................................................................8
Resultados............................................................................................................................................................19
Clasificación de la programación usada en robótica.............................................................................21
Lenguaje de Programación gestual............................................................................................................22
Programación textual.....................................................................................................................................24
Programación textual explícita.....................................................................................................................24
Lenguajes de programación incluidos en este grupo son:...................................................................25
Nivel estructurado...........................................................................................................................................26
Programación textual especificativa...........................................................................................................28
Lenguajes de programación en función de los objetivos.....................................................................29
Ventajas y desventajas...................................................................................................................................31
Cronograma de actividades..............................................................................................................................32
Bibliografía............................................................................................................................................................33

Introducción.

La robótica como hoy en día la conocemos, tiene sus orígenes hace miles de años, además estas
máquinas se encuentran mayormente en países desarrollados como Estados Unidos y Alemania, los
cuales permiten el acceso a estas máquinas por sus avances tecnológicos. El término robot se introdujo
a este mundo por Karel Kapek a inicios del siglo XX, con su obra ¨Rossum Universal Robots¨

En la actualidad la humanidad no tiene idea de los orígenes y las aplicaciones de la robótica como
ciencia. Estas ciencias (la informática, la automática y la robótica) contribuyen a la automatización. Un
robot ha sido creado para ayudar al hombre en las actividades pesadas y para ello el hombre necesita
un lenguaje de programación para poder manipular su funcionamiento.
2
Mediante este trabajo de investigación nos dimos a la tarea de poder analizar todos los tipos
de lenguajes de programación de los robots que se utiliza en la industria y comparar sus ventajas y
desventajas y su eficacia hoy en día.

Hipótesis

La diversidad de los tipos de lenguaje de programación ayudara a comprobar su carga de


aplicación, forma de utilización y características al momento de programar.

Objetivo general

Dar a conocer la complejidad de los distintos tipos de programación robótica industrial gestual y
facilitar la programación para contramedidas de tiempos muertos.

Objetivos Específicos

• Como determinar el alcance que tienen los tipos lenguaje de programación a nivel nacional en
la industria.

•Capacidad de distinguir los tipos de lenguaje explícito e implícito de programación robótica.

•De qué manera utilizar la programación adecuada, de acuerdo a las necesidades.

• Conocer los más utilizados en la industria, así como las ventajas y desventajas de cada uno
de ellos.
3
•Poder analizar las ventajas y desventajas para obtener una programación eficaz.

•De qué manera aplica la programación en la industria automotriz a nivel nacional.

Antecedentes

El término robótica ha venido evolucionando debido a las creencias de cada uno, como es el caso de
Jasia Reichardt, que cree que el comienzo de la historia de la robótica empieza cuando Dios crea a
Adán y Prometeo cree que comienza cuando Dios crea al primer hombre y la primera mujer con barro.
Un científico ruso llamado Asimov dio origen a las tres leyes de la robótica en donde un robot no debe
dañar a un ser humano, debe obedecerle las órdenes que se les son dadas y por último debe proteger
su propia existencia. (Torres Fernando, et al., 2002)

El término robot proviene de la palabra checa ¨robota¨, que quiere decir trabajo. El dramaturgo checo
Karel Kapek fue el primero en utilizar en su actual aceptación, cuando escribió en 1923 una obra satírica
titulada R. U. R. (Robots Universales de Rossum). En esta obra, Rossum era un relojero que construyó
unas máquinas parecidas a los seres humanos y que denomino robots. Al principio estas máquinas
trabajan sin parar y sustituían a los obreros humanos, pero al final se rebelaron contra sus creadores
aniquilando a la raza humana, esta obra de teatro es la responsable de la forma en que la mayor parte
de las personas se imaginan a los robots: como máquinas parecidas a los seres humanos dotadas de
inteligencia y personalidad propia. (Feliu et al, 1997).

El desarrollo de la robótica, al igual que ocurre con los computadores, está dividido en generaciones:
Primera generación (1960-1980) se construyen robots industriales que realizan tareas repetitivas. Se
desarrollan las funciones de manipulación fundamentalmente; segunda generación (1980-1985) se
construye robots dotados de sensores capaces de interaccionar con el entorno. En este caso el robot es
capaz de modificar su actuación en tiempo real en función de lo que ocurra en su entorno. Se
desarrollan considerablemente las funciones de percepción y algo de la planificación; tercera
generación (1985-2002) reconstruyen robots móviles. Esto implica un gran desarrollo de la inteligencia
4
artificial aplicada a la robótica, así como la tarea de planificación. Además, se mejoran
significativamente las funciones de percepción. (Groover,et al, 1997).

La gran variedad de lenguajes de programación que existe es muy amplia en robótica puede tener un
carácter explicito, 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 modelación del mundo exterior,
cuando se describe la tarea y el entorno y el propio sistema las decisiones, la filosofía de estos
lenguajes Según Candelas (ibídem) consiste en definir la situación final del producto a fabricar, a partir
de la cual se generan los planes de acción tendentes a conseguirla, obteniéndose, finalmente, el
programa de trabajo. (Candelas Rodríguez, et al., 2005)

La evolución de los nuevos lenguajes empleados en robótica industrial conduce cada vez más hacia la
programación textual, que permite la creación y depuración de programas sin necesidad de emplear el
robot durante la fase de programación. Con ello tendrán ventajas relativas al coste de las maquinas, al
tiempo empleado en la creación de programas y a la posibilidad de que el dispositivo que se programa
esté operando, conjuntamente, con otra serie de máquinas y robots. (López Hilario et al. 2000)

Además, los robots cuentan con unas unidades de programación muy versátiles a las que se les puede
añadir módulos adicionales que les permiten controlar dispositivos auxiliares ajenos al propio robot. Esto
se ha ido muy favorecido por la creciente facilidad con la que se opere sobre estas unidades de control.
(Feliu Batlle et al, 1997)

Sistema mecánico, comprende una serie de elementos articulados entre sí; el sistema de control,
conformado por el hardware y el software electrónicos; sistema de programación es muy versátil.
(García Higuera et al, 2002)

La programación empleada en robótica puede tener un carácter explicito, 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 modelación del mundo exterior, cuando se describe la tarea y el entorno y el propio
sistema las decisiones. (Crovetto Huerta et al, 2005)

La programación explicita es la utilizada en las aplicaciones industriales y consta de dos técnicas


fundamentales: a) programación gestual, guía 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
programación, exige el empleo del manipulador en la fase de enseñanza; b) programación 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 matemáticamente
con gran precisión. Los niveles según 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. (Feliu Batlle, et al, 2002).

5
El programa queda constituido por un texto de instrucciones o sentencias, cuya confección no requiere
de la intervención del robot; es decir, se efectúan "off-line". Con este tipo de programación, el operador
no define, prácticamente, las acciones del brazo manipulado, sino que se calculan, en el programa,
mediante el empleo de las instrucciones textuales adecuadas. (Candelas, et al, 2005)

En la actualidad la humanidad no tiene idea de los orígenes y las aplicaciones de la robótica como
ciencia. Estas ciencias (la informática, la automática y la robótica) contribuyen a la automatización. Un
robot ha sido creado para ayudar al hombre en las actividades pesadas, pero no lo puede sustituir por
un nivel de inteligencia superior a la de cualquier máquina. (Velasco Sánchez, et al, 2007).

Preguntas de investigación

¿Qué es un robot industrial?

¿Qué tipos de lenguajes robóticos industriales existen?

¿Cuáles son las ventajas y desventajas de ellos?

¿Cuáles son los lenguajes más utilizados?

La industria automotriz que lenguajes aplican más en sus robots y ¿por qué?

Alcances:

En esta investigación hablaremos sobre los tipos de lenguajes explícito e implícito de


programación en sistemas robóticos en la industria a nivel nacional. Los cuales se dividen en
explicito e implícito dando así el entendimiento al lector sobre estos dos distintos tipos lenguaje
que se dividen en una gran rama de lenguajes cada uno de estos tipos de lenguajes más
utilizados los cuales son comparados y así dando sus ventajas y desventajas de cada uno de
ellos y mostrar que tipos de programación en sistemas robóticos son más utilizados en las
industrias mencionando sus características, usos y aplicaciones en la industria.

6
Materiales y métodos

Materiales:
 Equipo de cómputo PC
 Sistemas de comunicación o Alimentación para maquinaria.
 Software ( Excel , Power BI, Python , SPSS , R commander)
 Personal certificado para el análisis.

Métodos:

7
Determinar el alcance que tienen los tipos lenguaje de programación a nivel nacional en
la industria

Cómo la programación de sistemas de control de proceso industrial potencia la producción

El sector de la industria es una de las piedras angulares de la producción y la productividad. Sin duda,
su importancia es capital en muchos sentidos, pero es necesario conocer cómo funcionan y cuáles son
8
los ingredientes de su éxito. Por ello, le dedicamos un espacio más que merecido a la programación de
sistemas de control de proceso industrial con el fin de aclarar cómo este fenómeno puede mejorar el
desempeño de la producción en las empresas.

En primer lugar, tenemos que destacar que la programación de este tipo de sistemas es la que nos
permite monitorizar y controlar los procesos de producción o fabricación. Obviamente, esta tecnología
está estrechamente ligada a los procesos de automatización, que facilitan en gran medida la mejora de
los resultados finales.

Como decíamos, los sistemas de control industrial bien programados son un activo a tener en
consideración si nuestro objetivo es potenciar la producción en nuestra organización.

Estos son solo algunos ejemplos:

Optimización de recursos. Por lo general, los sistemas de automatización y control toman las riendas
en aquellas actividades repetitivas y más mecánicas. Esto facilita la optimización del uso de los recursos
y de la actividad profesional humana. Además, estas soluciones registran toda la información que se
genera durante todo el proceso, por lo que contaremos con un feedback de alto valor estratégico.

Cambios e innovación. Aunque pueda sonar exagerado, lo cierto es que contar con la programación
de sistemas de control de proceso industrial puede facilitar la inserción de nuevos productos o servicios.
Gracias a esta tecnología es mucho más sencillo introducir nuevos estándares en la línea de
9
producción, con lo que el proceso se agiliza. Además, simplifican los cambios en la frecuencia de
producción en función de las necesidades de la organización, es decir, que permiten aumentarla o
disminuirla.

Análisis preciso de datos. A través de estos sistemas de automatización y control se obtiene


información exhaustiva y rigurosa sobre los procesos industriales. Esto permite hacer realidad una
trazabilidad óptima en el caso de los procesos de producción y las cadenas de suministro. Pero las
ventajas no terminan aquí, puesto que este factor también ayuda a cumplir con las normativas y los
estándares de calidad al mostrar de forma ágil y global el funcionamiento de todas las ramas de la
empresa.

Predicción de errores. Una vez se han programado los sistemas de control de proceso industrial es
prácticamente imposible que cualquier error pase desapercibido incluso antes de que suceda. A través
del análisis de datos y de la monitorización en vivo los sistemas de control pueden llegar a conclusiones
para prever incidentes, cosa que reduce la probabilidad de que sucedan de forma considerable.
10
Satisfacción del cliente. Se trabaje con proveedores o con el cliente final de forma directa, cualquier
interlocutor agradecerá el trabajo bien hecho, y es que la programación de sistemas de control de
proceso industrial garantiza la calidad del servicio, por lo que aquello que tu compañía ofrezca siempre
será bien valorado

Utilizar la programación adecuada, de acuerdo a las necesidades.

Cómo elegir un lenguaje de programación

11
 Muchas veces el lenguaje que usamos viene impuesto por la empresa en que trabajamos, la plataforma
que usamos o el proyecto concreto, pero cuando podemos decidir qué lenguaje utilizar, hay varios
factores que es importante tener en cuenta.

El equipo de desarrollo

Por desgracia para algunos, al final, hay un equipo de desarrollo formado por personas que tienen que
usar el lenguaje. En un mundo ideal, estas personas serían expertos en cualquier tipo de lenguaje,
pero en la vida real, todos tenemos lenguajes que manejamos mejor que otros.
Aunque un lenguaje pueda parecer mucho más productivo que otro, si hace falta invertir 6 meses en
formar al equipo de desarrollo, la productividad media del proyecto baja considerablemente.
12
El peligro de esta política es que no se puede mantener en el tiempo. Esto es darwinismo en estado
puro, si el equipo de desarrollo no evoluciona y se adapta para usar mejores herramientas, no
sobrevivirá.

Hace falta buscar un equilibrio entre efectividad hoy y evolución. Siempre se pueden introducir
lenguajes nuevos en proyectos menos arriesgados, en pequeñas partes del sistema… hay formas de
conseguirlo y merece la pena.

El proyecto

Hablo de proyecto en el sentido más amplio de la palabra. Puede ser un gran proyecto para un cliente
concreto, el desarrollo de un producto o la creación de unos scripts para uso interno, pero en todos los
casos hay que tener en cuenta los requisitos concretos: la plataforma, el problema, los plazos de
ejecución, etc.

La plataforma es un factor muchas veces determinante, aunque sólo sea para acotar los lenguajes
disponibles. Si tenemos que automatizar procesos batch en un servidor linux, está claro que Powershell
no es una buena idea. Sin embargo, si el servidor es un Windows Server, puede ser la solución ideal.

El problema a resolver va a marcar también el tipo de aplicación a realizar y eso tiene una influencia
clara en la elección del lenguaje. No creo que haya muchas aplicaciones para iPhone en Erlag, pero
a Whatsapp le va bien con Erlang.

El futuro

Por definición, el futuro es incierto, por lo que sacrificar el presente en aras de un futuro que tal vez no
llegue no es una actitud recomendable. Es algo que hemos aprendido de las metodologías ágiles y
su YAGNI.
Sin embargo, es necesario tener una visión a medio/largo plazo de lo que queremos conseguir, puesto
que habrá decisiones que pueden ser complicadas de revertir y es mejor tratar de no cerrarnos puertas
anticipadamente.

Un ejemplo claro son las aplicación para móviles. Aunque inicialmente sólo nos enfoquemos en una
plataforma, por ejemplo iOS, puede que más tarde tengamos previsto distribuir también la aplicación
sobre Android. En ese caso, hay lenguajes que son más fáciles de portar entre plataformas y por tanto
deberíamos tenerlos en cuenta.

El propio lenguaje

Puede resultar curioso, pero creo que las características del propio lenguaje no son tan críticas a la
hora de decidir usarlo o no. Si es dinámico o estático, orientado a objetos o funcional, compilado o
intepretado; son factores importantes, pero sin el contexto que establecen los puntos anteriores, no
ayudan demasiado a tomar una decisión.
Hay una expresión muy popular que es «para el que tiene un martillo, todo parecen clavos». La
respuesta a esto suele ser que hay que usar «la herramienta adecuada para el trabajo».

13
El lenguaje no deja de ser una herramienta más a la hora de desarrollar software. Muy importante, sí,
pero una herramienta. Hay que buscar la herramienta que se ajuste a las necesidades de cada
momento, pero con un poco de sentido común.
A veces es mejor usa una herramienta un poco peor, que acabar con una caja de herramientas
enormes en la que no encuentras nada, y mezclar en un proyecto 17 lenguajes sólo porque son «un
poco mejores» para desarrollar cada módulo, puede resultar excesivo, especialmente si usan
paradigmas de programación distintos y te obligan a cambiar de forma de pensar cada vez que pasas
de un lenguaje a otro.

Lo que sí es muy importante es el soporte del lenguaje. Las herramientas que hay alrededor de él, la
documentación, la comunidad, la madurez, las expectativas de vida. Iniciar un proyecto en un
lenguaje supercool que está en alpha y no se sabe si sobrevivirá, es un suicidio.

Conocer los más utilizados en la industria, así como las ventajas y desventajas de cada
uno de ellos.

Lenguajes de programación más utilizados

Según el índice de TIOBE actualizado a principios de mayo de 2019, los 5 lenguajes de programación


más utilizados son:

14
 Java.
 C.
 C++.
 Python.
 Visual Basic .NET.

El índice de la Comunidad de Programación TIOBE, es un indicador de la popularidad de los lenguajes


de programación. Este índice se actualiza una vez al mes. Es importante tener en cuenta que este
índice no trata sobre el mejor lenguaje de programación o sobre el lenguaje en el que se han escrito la
mayoría de las líneas de código.

JAVA C++

15
PYTHON VISUAL
BASIC

JAVASCRIPT

16
SQL

PHP

17
De qué manera aplica la programación en la industria automotriz a nivel nacional.

Conoce cuáles son las aplicaciones más usadas en la programación de robots industriales

1. Soldadura de arco (Arc Welding)


2. Soldadura por punto (Spot Welding)
3. Manipulación de materiales (Materials handling)
4. Plegado (Machine tending)
5. Pintura (Painting)
6. Recolección, empaquetado y paletizado (Picking, Packing and Palletizing)
7. Ensamblaje (Assembly)
8. Molienda de corte mecánico, desbardado y pulido (Mechanical cutting grinding, deburring and
polishing)
9. Pegado, sellado adhesivo y pulverizado de materiales (Gluing, adhesive sealing and spraying
materials)
10. Otros procesos: Inspección,  Corte con chorro de agua, soldadura para componentes
eléctricos (Other Processes: Inspection, waterjet cutting, soldering)

18
Resultados

¿Características de un lenguaje ideal para la robótica?

Las seis características básicas de un lenguaje ideal, expuestas por Prat, son:

1. Claridad y sencillez.

2. Claridad de la estructura del programa.

3. Sencillez de aplicación.

4. Facilidad de ampliación.

5. Facilidad de corrección y mantenimiento.

6.Eficacia.

Estas características son insuficientes para la creación de un lenguaje "universal" de

programación en la robótica, por lo que es preciso añadir las siguientes:

- Transportabilidad sobre cualquier equipo mecánico o informático.

- Adaptabilidad a sensores (tacto, visión, etc.).

- Posibilidad de descripción de todo tipo de herramientas acoplables al manipulador.

- Interacción con otros sistemas.

En el aspecto de claridad y sencillez, la programación gestual es la más eficaz, pero impide la


confección 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 según las necesidades y que, en gran medida, oscurecen su
comprensión y conocimiento.

Aunque, inicialmente, las técnicas de programación estructurada son más difíciles de dominar,
facilitan, extraordinariamente, la comprensión y corrección de los programas.

Respecto a la sencillez de aplicación, hay algunos lenguajes (como el MCL) dedicados a las

19
máquinas herramienta (APT), que pueden ser valorados, positivamente, por los usuarios
conocedores de este campo. El PAL, estructurado sobre la matemática matricial, sólo es
adecuado para quienes están familiarizados con el empleo de este tipo de transformaciones.

Uno de los lenguajes más fáciles de utilizar es el AUTOPASS, que posee un juego de
comandos con una sintaxis similar a la del inglés corriente.

Es imprescindible que los lenguajes para los robots sean fácilmente ampliables, por lo que se
les debe dotar de una estructura modular, con inclusión 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 dinámico del
entorno, así como de una buena dosis de Inteligencia Artificial, como es el caso del
AUTOPASS.

Aunque los intérpretes son más lentos que los compiladores, a la hora de la ejecución de un
programa, resultan más adecuados para las aplicaciones de la robótica. Las razones son las
siguientes:

1) El intérprete ejecuta el código como lo encuentra, mientras que el compilador recorre el


programa varias veces, antes de generar el código ejecutable.

2) Los intérpretes permiten una ejecución parcial del programa.

3) La modificación de alguna instrucción es más rápida con intérpretes, ya que un cambio en


una de ellas no supone la compilación de las demás.

Finalmente, el camino para la superación de los problemas propios de los lenguajes actuales
ha de pesar, necesariamente, por la potenciación de los modelos dinámicos del entorno que
rodea al robot, acompañado de un aumento sustancial de la Inteligencia Artificial. (Anexo 1.1)

(Anexo 1.1). -Tabla de comparación de lenguajes de programación

20
-
-
-

¿Qué tipos de lenguajes robóticos industriales existen?

Programación aplicada a robots (Gestual y textual)

Clasificación de la programación usada en robótica


Según Candelas (2005): la programación empleada en robótica puede tener un carácter
explicito, 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 modelación del mundo
exterior, cuando se describe la tarea y el entorno y el propio sistema las decisiones.

21
La programación explicita es la utilizada en las aplicaciones industriales y consta de dos
técnicas fundamentales:

a) programación gestual, guía 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
programación, exige el empleo del manipulador en la fase de enseñanza.

b) programación 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 matemáticamente con gran precisión. Los niveles según 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.

Lenguaje de Programación gestual


2. Para establecer la comunicación con los robots, es necesario intercambiar información con el
hardware y eso se consigue gracias al software. Una de las partes más importantes del
software son los lenguajes de programación o conjunto de símbolos y textos inteligibles por la
máquina que sirven para codificar las órdenes sobre el robot. Para la programación de robots
se utilizan diferentes técnicas.

3. • La modelación del mundo exterior consiste en la toma de ciertas decisiones por parte del
sistema según la tarea y el entorno. Por otra parte, la programación explícita del sistema es
aquella en que el operador es el responsable de las instrucciones que controlan el robot.

4. Programación gestual o directa: es un tipo de programación usado en robots industriales de


brazo mecánico, que consiste en guiarlo, directamente, trazando el camino, para que más tarde
el sistema repita estos movimientos. El software actúa como intérprete, por lo que los
operadores no necesitan conocer un lenguaje de programación.

Según Candelas (2005): el brazo interviene en el trazado del camino y en las acciones a
desarrollar en la tarea de la aplicación. Esta característica determina, inexcusablemente, la
programación ¨on-line¨.

A) La programación gestual se subdivide en dos clases:

a) Programación por aprendizaje directo

El punto final del brazo es trasladado con ayuda de un dispositivo especial puesto en su
muñeca, o usando un brazo maestro o maniquí, en el cual se efectúan los desplazamientos
22
que, luego ser memorizados, serán repetidos por el manipulador. Esta programación Posee
pocas posibilidades de edición. El software se organiza de forma de intérprete.

b) Programación mediante un dispositivo de enseñanza.

Consisten especificar las acciones y movimientos del brazo manipulador, mediante un


elemento especial para este cometido. La estructura del ¨software¨ es de tipo intérprete. Las
operaciones sincronizadas para conformar el programa de trabajo. Los dispositivos de
enseñanza modernos permiten que se pueda generar funciones auxiliares, además del control
de los movimientos: Selección de velocidades; Generación de retardos; Señalización del
estado de los sensores; Borrado y modificación de los puntos de trabajo y Funciones
especiales.

B) Los lenguajes usados en este grupo son:

T3: original de CINCINNATI MILACROM para su robot T3. Dispone de un dispositivo de


enseñanza ("teach pendant"). El procesador usado en T3 es el AMD 2900 ("bit slice"), mientras
que en el FUNKY está constituido por el IBM SYSTEM-7.

FUNKY: creado por IBM para uno de sus robots. 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.

Según López y Gonzáles (2000): en un primer nivel se tendrán aquellos lenguajes de


programación que únicamente permitan a introducción de una secuencia fija de movimientos,
de forma no textual y con el robot ON-LINE.

No se dispone, en este caso, de sentencias de control del programa y existen pocas


posibilidades de edición. La programación se efectúa de forma muy simple, no necesitándose
conocimientos previos de computadores para llevarla a cabo.

Lenguajes de programación incluidos en este grupo son:

FUNKY: Creado por IBM para uno de sus robots (procesador IBM SYSTEM-7). Lenguaje
interpretado, escrito punto por punto, que permite el movimiento de un único brazo.
Transportable.

T3: Original de CINCINNATI MILACROM para su robot T3, con procesador AMD 2900 bit slice.
Lenguaje escrito punto por punto, que permite el movimiento de un solo brazo. Transportable.
Puede ser interpretado, compilado y ensamblado.

GRASP: (Graphical Robot Applications Simulations Package) fue desarrollado por BYG
Systems.

En el lenguaje FUNKY se usa un mando del tipo joystick para el controla de los movimientos y
dispone de un comando especial para centrar a la pinza sobre el objeto, mientras que el T3

23
dispone de un dispositivo de enseñanza. Ambos permiten efectuar revisiones, paso a paso, del
programa, insertar o borrar determinadas instrucciones, etc.

Programación textual
Según López y Gonzáles (2000): la programación textual se realiza OFF-LINE, configurando el
programa a base de un conjunto de órdenes o sentencias en modo de textos. En este caso, la
programación se realiza sin la intervención directa del robot, salvo en su puesta a punto para
concluir dicha fase.

La programación textual podrá ser explícita o implícita. En el primer caso, los programas se
componen de secuencias con instrucciones detalladas para su ejecución, mientras que, en el
segundo, a partir de la especificación de las tareas que se vallan a efectuar o de los objetivos
que se pretendan obtener, será el propio sistema de control el encargado de generar las
órdenes concretas para su ejecución. Será necesario, en este caso, dotar al sistema de un
modelo del entorno que le permite tomar las decisiones oportunas, así como de un conjunto de
sensores adecuado para recibir información de dicho entorno.

La evolución de los nuevos lenguajes empleados en robótica industrial conduce cada vez más
hacia la programación textual, que permite la creación y depuración de programas sin
necesidad de emplear el robot durante la fase de programación. Con ello tendrán ventajas
relativas al coste de las maquinas, al tiempo empleado en la creación de programas y a la
posibilidad de que el dispositivo que se programa esté operando, conjuntamente, con otra serie
de máquinas y robots.

Según Candelas (2005): el programa queda constituido por un texto de instrucciones o


sentencias, cuya confección no requiere de la intervención del robot; es decir, se efectúan "off-
line". Con este tipo de programación, el operador no define, prácticamente, las acciones del
brazo manipulado, sino que se calculan, en el programa, mediante el empleo de las
instrucciones textuales adecuadas.

Dentro de la programación textual, existen dos grandes grupos, de características netamente


diferentes:

Programación textual explícita.


Según Candelas (ibídem): en la programación textual explícita, el programa consta de una
secuencia de órdenes o instrucciones concretas, que van definiendo con rigor las operaciones
necesarias para llevar a cabo la aplicación.

Dentro de la programación explícita, hay dos niveles:

Nivel de movimiento elemental

24
Según Candelas (ibídem): comprende los lenguajes dirigidos a controlar los movimientos del
brazo manipulador. Existen dos tipos:

Articular: cuando el lenguaje se dirige al control de los movimientos de las diversas


articulaciones del brazo

Cartesiano: cuando el lenguaje define los movimientos relacionados con el sistema de


manufactura, es decir, los del punto final del trabajo (TCP). utilizan transformaciones
homogéneas. indican los incrementos angulares de las articulaciones.

Lenguajes de programación incluidos en este grupo son:


ANORAD. - Se trata de una transformación de un lenguaje de control numérico de la casa
ANORAD CORPORATION, utilizado para robot ANOMATIC. Utiliza, como procesador, al
microprocesador 68000 de Motorola de 16/32 bits.

VAL.- Fue diseñado por UNIMATION INC para sus robots UNIMATE y PUMA. (FIG. 1) Emplea,
como CPU, un LSI-II, que se comunica con procesadores individuales que regulan el servo
control de cada articulación.

RPL.- Dotado con un LSI-II como procesador central, y aplicado a los robots PUMA, ha sido
diseñado por SRI INTERNATIONAL.

EMILY.- Es un lenguaje creado por IBM para el control de uno de sus robots. Usa el
procesador IBM 370/145 SYSTEM 7 y está escrito en Ensamblador.

SIGLA.- Desarrollado por OLIVETTI para su robot SUPER SIGMA, emplea un mini-ordenador
con 8 K de memoria. Escrito en Ensamblador, es del tipo intérprete.

MAL.- Se ha creado en el Politécnico de Milán para el robot SIGMA, con un Mini-


multiprocesador. Es un lenguaje del tipo intérprete, escrito en FORTRAN.

RCL.- Aplicado al robot PACS y desarrollado por RPI, emplea, como CPU, un PDP 11/03. Es
del tipo intérprete y está escrito en Ensamblador.

Según López y Gonzáles (ibídem): en este caso, el objetivo del programa son los movimientos
primitivos que se efectuaran por parte del manipulador. Estos movimientos se definirán por
guiado, aunque la secuencia se puede definir o modificar por programa.

Los lenguajes de programación incluidos en este grupo permiten la utilización de estructuras de


control, saltos condicionales, subrutinas con transferencia de parámetros… así como de la
información procedente de sensores para interactuar con el entorno. En este grupo los
lenguajes que se encuentran:

ANORAD: se trata de una transformación de un lenguaje de control numérico de la casa


ANORAD CORPORATION, utilizado para el robot ANOMATIC, con un procesador Motorola

25
68000. Es un lenguaje no transportable e interpretado, escrito en ensamblador, que permite el
movimiento de un solo brazo.

VAL: fue diseñado por UNIMATION INC para sus robots UNIMATE Y PUMA con procesador I.
SI 11/02. Lenguaje no transportable e interpretado, escrito en ensamblador, que permite el
movimiento de un solo brazo.

RPL: Aplicado a los robots PUMA, ha sido diseñado por SRI INTERNACIONAL. Lenguaje no
transportable y compilado e interpretado, escrito en FORTAN, permite el movimiento de un solo
brazo.

EMILY: Es un lenguaje creado por IBM para el control de uno de sus robots, con procesador
IBM 370/145 SYSTEM 7. Escrito en Ensamblador, permite el movimiento simultáneo de dos
brazos. Puede ser interpretado y ensamblado. Es transportable.

SIGLA: desarrollado por OLIVETTI para su robot SUPER SIGMA, con un procesador mini
Computador. Escrito en emblador, permite el movimiento simultaneo de varios brazos (uno a
cuatro), es del tipo interpretado y transportable.

MAL: se ha creado en el politécnico de Milán para el robot SIGMA (procesador multimicro


minicomputador). Escrito en FORTRAN, es un lenguaje interpretado y transportable. Permite el
Movimiento simultáneo de dos brazos.

WAVE: Ha sido desarrollado en la Universidad de Stanford. Es explicito, pero incluye un


modelo del entorno del brazo para fines de planificación. Es compatible e independiente del
robot utilizado.

PLAW: desarrollado en el Electrotechnical Research Center, Komatsu, LTD. Lenguaje tipo


BASIC específico para soldaduras al arco de CO2, definición de tres tipos de coordenadas y
control adaptativo.

Nivel estructurado
Candelas (ibídem): determina relaciones entre el objeto y el sistema del robot, para que los
lenguajes se desarrollen sobre una estructura formal. El uso de lenguajes con programación
explícita estructurada aumenta la comprensión del programa, reduce el tiempo de edición y
simplifica las acciones encaminadas a la consecución de tareas determinadas.

A continuación, se exponen las características más representativas de los lenguajes dedicados


a la programación estructurada.

AL: Trata de proporcionar definiciones acerca de los movimientos relacionados con los
elementos sobre los que el brazo trabaja. Fue diseñado 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

26
como procesadores centrales, a un PDP 11/45 y un PDP KL-10. utiliza vectores, posiciones y
transformaciones. tiene comandos para el control de la sensibilidad del tacto de los dedos
(fuerza, movimiento, proximidad, etc.).

HELP: Creado por GENERAL ELECTRIC para su robot ALLEGRO y escrito en


PASCAL/FORTRAN, permite el movimiento simultáneo de varios brazos. Dispone, asimismo,
de un conjunto especial de subrutinas para la ejecución de cualquier tarea. Utilizando como
CPU, a un PDP 11. carece de capacidad de adaptación sensorial.

MAPLE: Escrito, como intérprete, en lenguaje PL-1, por IBM para el robot de la misma
empresa, tiene capacidad para soportar informaciones de sensores externos. Utiliza, como
CPU a un IBM 370/145 SYSTEM 7. permite la definición de puntos, líneas, planos y posiciones.
tiene comandos para el control de la sensibilidad del tacto de los dedos (fuerza, movimiento,
proximidad, etc.).

PAL: Desarrollado por la Universidad de Purdure para el manipulador de Stanford, es un


intérprete escrito en FORTRAN y Ensamblador, capaz de aceptar sensores de fuerza y de
visión. Cada una de sus instrucciones, para mover el brazo del robot en coordenadas
cartesianas, es procesada para que satisfaga la ecuación del procesamiento. Como CPU, usan
un PDP 11/70. carece de capacidad de adaptación sensorial.

MCL: Lo creó la compañía MC DONALL DOUGLAS, como ampliación de su lenguaje de control


numérico APT. Es un lenguaje compilable que se puede considerar apto para la programación
de robots "off-line". tiene comandos para el control de la sensibilidad del tacto de los dedos
(fuerza, movimiento, proximidad, etc.). Posee comandos de visión para identificar e
inspeccionar objetos.

MAL EXTENDIDO: Procede del Politécnico de Milán, al igual que el MAL, al que incorpora
elementos de programación estructurada que lo potencian notablemente. Se aplica, también, al
robot SIGMA.

Según López y Gonzáles (ibídem): los lenguajes de este grupo permiten la definición de
estructuras de datos y de control complejas, incorporando elementos de programación
estructurada. Se dispone de la posibilidad de definición de puntos, líneas, planos… así como
de transformaciones de coordenadas y de capacidad sensorial para interaccionar con el
entorno.

En este caso, se consigue una mayor facilidad para la comprensión del programa, existiendo
asimismo disponibilidad total para su edición, ya que las acciones del manipulador quedan
definidas como instrucciones textuales. En este grupo se encuentran los lenguajes:

27
AL: Fue diseñado por el laboratorio de inteligencia Artificial de la Universidad de Stanford para
su manipulador con dos brazos y con procesadores PDP 11/45 y PDP KL-10, indistintamente.
Escrito en ALGOL, permite el movimiento simultáneo de dos brazos y es transportable. Trata
de proporcionar definiciones acerca de los movimientos relacionados con los elementos sobre
los que el brazo trabaja. Puede ser compilado e interpretado, así como ejecutado en un VAX.

HELP: Creado por GENERAL ELECTRIC para su robot ALLEGRO con procesador PDP/11.
Escrito en PASCAL/FORTRAN, permite el movimiento simultaneo de varios brazos (uno a
cuatro) y es transportable. Puede ser compilado e interpretado. Dispone, asimismo, de un
conjunto especial de subrutinas para la ejecución de cualquier tarea.

MAPLE: Escrito, como intérprete, en lenguaje PL-1 por IBM para el robot de la misma empresa
(procesador IBM 370/145 SYSTEM 7), tiene capacidad para soportar informaciones de
sensores externos. Es transportable y permite manipulador un solo brazo.

PAL: Desarrollado por la Universidad de Purdue para el manipulador de Stanford con


procesador PDP 11/70, es un intérprete escrito en FORTRAN y Ensamblador que permite
manipulador un solo brazo y aceptar sensores de fuerza y visión. Es transportable.

MCL: Lo creó la compañía McDONALL DOUGLAS, como ampliación de su lenguaje de control


numérico APT. Es un lenguaje compilable que se puede considerar apto para la programación
de robots ¨OFF-LINE¨. Permite la manipulación de varios brazos.

MAL EXTENDIDO: Procede del Politécnico de Milán, al igual que el MAL, al que incorpora
elementos de programación estructurada que lo potencian notablemente. Es compilable.

Programación textual especificativa.


Según Candelas (ibídem): el sistema informático para la programación textual especificativa ha
de disponer del modelo del universo, o mundo donde se encuentra el robot. Este modelo será,
normalmente, una base de datos más o menos compleja,

El trabajo de la programación consistirá, simplemente, en la descripción de las tareas a


realizar, lo que supone poder llevar a cabo trabajos complicados.

RAPT.- Su filosofía se basa en definir una serie de planos, cilindros y esferas, que dan lugar a
otros cuerpos derivados. Para modelar a un cuerpo, se confecciona una biblioteca con sus
rasgos más representativos. Seguidamente, se define los movimientos que ligan a los cuerpos
a ensamblar (alinear planos, encajar cilindros, etc.). Fue creado en 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
intérprete y está escrito en lenguaje APT.

AUTOPASS.- Creado por IBM para el ensamblaje de piezas; utiliza instrucciones, muy
comunes, en el idioma inglés. Precisa de un ordenador de varios Megabytes de capacidad de
28
memoria y, además de indicar, como el RAPT, puntos específicos, prevé, también, colisiones y
genera acciones a partir de las situaciones reales. realiza todos sus cálculos sobre una base de
datos, que define a los objetos como poliedros de un máximo de 20,000 caras. Está escrito en
PL/1 y es intérprete y compilable.

LAMA.- Procede del laboratorio de Inteligencia Artificial del MIT, para el robot SILVER,
orientándose hacia el ajuste de conjuntos mecánicos. Aporta más inteligencia que el
AUTOPASS y permite una buena adaptación al entorno. La operatividad del LAMA se basa en
tres funciones principales: Creación de la función de trabajo. Operación inteligente; Generación
de la función de manipulación e Interpretación y desarrollo, de una forma interactiva, de una
estrategia de realimentación para la adaptación al entorno de trabajo.

Lenguajes de programación en función de los objetivos.


La filosofía de estos lenguajes Según Candelas (ibídem) consiste en definir la situación final del
producto a fabricar, a partir de la cual se generan los planes de acción tendentes a conseguirla,
obteniéndose, finalmente, el programa de trabajo.

Estos lenguajes, de tipo natural, suponiendo una potenciación extraordinaria de la Inteligencia


Artificial, para descargar al usuario de las labores de programación. Prevén, incluso, la
comunicación hombre-máquina a través de la voz.

Los lenguajes más conocidos de este grupo son:

STRIPS.- Fue diseñado, en la Universidad de Stanford, para el robot móvil SHAKEY. Se basa
en un modelo del universo ligado a un conjunto de planteamientos aritmético-lógicos que se
encargan de obtener las subrutinas que conforman el programa final. Es intérprete y
compilable, utilizando, como procesadores, a un PDP-10 y un PDP-15.

HILAIRE.- Procedente del laboratorio de Automática Y Análisis de Sistemas (LAAS) de


Toulouse, está escrito en lenguaje LISP. Es uno de los lenguajes naturales más interesantes,
por sus posibilidades de ampliación e investigación.

Esta es otra forma de clasificar los lenguajes e programación como lo muestra el (Anexo 1.2).

29
(Anexo 1.2).

Ventajas y desventajas
¿Cuáles son las ventajas y desventajas de ellos?

lenguajes de programación gestual y textual

ventajas desventajas

Programación por aprendizaje El operador tiene que estar presente con el robot
directo.
Programación mediante brazo riesgo de algún golpe del robot hacia
GESTUAL maestro. el operador
Programación por El robot necesita un simulador de movimiento para
maestro-esclavo. aprender el ciclo o proceso

30
Se requiere algún tipo de conexión a internet para
Programación por telemando programar
manual.

el usuario describe las requiere, siempre, computadoras potentes para el


TEXTUAL especificaciones de procesado de una abundante información.
los  productos mediante una
modelización

Cronograma de actividades

Identificación Descripción de la Fecha Fecha Entregable


actividad Inicio Fin
Febrero Febrero bibliografías
Revisión
2020 2020
Introducción al bibliográfica
campo
Febrero Febrero Investigación del
Acercamiento al
2020 2020 tema
campo

Febrero Febrero integrantes


Constitución del 2020 2020
equipo

Trabajo de Febrero Febrero Datos de paros de


Identificación de
necesidades y 2020 2020 línea

31
campo
problemas

Febrero Marzo Toma de tiempos en


Planificación de
acciones y 2020 2020 distintos lenguajes
actividades de programación

Febrero Marzo Documentación y


Ejecución de las
acciones y 2020 2020 comparación entre
actividades elementos

Marzo Mayo Comparación de la


Evaluación del
proceso 2020 2020 información según el
muestro
Análisis y Mayo Mayo Conclusión personal
Redacción de
resultados reporte/narrativa 2020 2020

Bibliografía
1.- Candelas Rodríguez, Samuel. Lenguaje de programación de los robots Tecnología –
Robótica. México: universidad autónoma de México. 2005.

2.- García Higuera, Andrés. Avances en Robótica y Visión por computador: aplicaciones:
robótica industrial, fabricación automatización. La mancha: Ediciones de la Universidad de
Castilla. La Mancha. 2002.

3.- López, Hilario; Gonzáles, Rafael. Programación de robots industriales: control remoto del
robot ASEA IRB2000.universidad de Oviedo. 2000

4.- Torres Fernando; pomares, jorge y otros. Robots y sistemas sensoriales. Cap 1. Madrid:
Persson educación, S.A. 2002.

5.- Crovetto Huerta, Christian. Inteligencia Artificial e Introducción a la robótica. Cap. Lima:
Grupo editorial Megabyte. 2005.

6.- Feliu Batlle, Vicente. Avances en robótica y visión por computador: temática de la robótica.
La mancha: ediciones de la universidad de castilla. La mancha. 2002.

7.- Feliu Batlle, Vicente. Informática industrial: robótica la mancha: ediciones de la universidad
de castilla. La mancha. 1997.

32
8.-Groover, Mikell. Fundamentos de manufactura moderna materiales, procesos y sistemas:
automatización programable. México: Pearson educación, S.A. 1997.

9.- Ollero Baturone, Aníbal. Robótica manipuladores y robots móviles. Barcelona: Marcombo,
S.A. 2001.

10.- Velasco Sánchez, Enrique. Educatrónica innovación en el aprendizaje de las ciencias y la


tecnología. España: ediciones Díaz de Santos. 2007.

11.- http://www.etitudela.com/profesores/rpm/rpm/downloads/manualv.pdf proyecto de


universidad politécnica de Cataluña

12.https://library.e.abb.com/public/688894b98123f87bc1257cc50044e809/Technical
%20reference%20manual_RAPID_3HAC16581-1_revJ_en.pdf 3HAC 16581-1 Revision: J
Copyright 2004-2010 ABB. All rights reserved

13.- Manuales Curso nº 1 de VAL II Curso nº 2 de VAL II Curso de V+ (Francés)

14.- Robótica: Control, Detección, Visión e Inteligencia K.S. FU, R.C González, C.S.G. LEE Ed.
McGraw Hill

15.-Robótica Practica Tecnología y Aplicaciones José Ma. Angulo Ed. Paraninfo

16.-Robótica Industrial: Fundamentos y aplicaciones Arantxa Rentería, Maria Rivas Ed.


McGraw Hill

17.-Fundamentos de robótica, Antonio Barrientos, Luis Felipe Peñín, Carlos Balaguer i Rafael
Aracil Ed. McGraw Hill

18.- Robótica: Control, Detección, Visión e Inteligencia K.S. FU, R.C González, C.S.G. LEE

McGraw Hill

19.- Robótica Practica Tecnología y Aplicaciones José Ma. Angulo Ed. Paraninfo

33

También podría gustarte