LENGUAJES DE PROGRAMACIÓN DE PLC’S Y ROBOTS
La programación empleada en robótica puede tener
carácter explícito , donde el operador es el responsable de las acciones de
control y las instrucciones, o estar basada en la modelación del mundo
exterior, cuando se describe la tarea y el sistema toma las decisiones. La
programación explícita es la utilizada en el ámbito industrial y consta de dos
técnicas:
A) Programación gestual. B) Programación textual.
La programación gestual consiste en guiar el
brazo del robot directamente por la trayectoria que debe seguir, los puntos se
graban en la memoria y luego se repiten. Exige el empleo del manipulador en la
fase de enseñanza.
En la 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 máquina. Las trayectorias del manipulador se
calculan matemáticamente con gran precisión y se evita el posicionamiento a
ojo, muy corriente en la programación gestual.
Los lenguajes de programación textual se
encuadran en varios niveles, según se realice la descripción del trabajo del
robot. Se relacionan 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.
PROGRAMACIÓN GESTUAL O DIRECTA
En este tipo de programación, el propio brazo
interviene en el trazado del camino y en las acciones a desarrollar en la tarea
de la aplicación. Esta característica determina la programación “on-line”.
En el aprendizaje directo, el punto final del
brazo se traslada con ayuda de un dispositivo colocado en su muñeca, o utilizando
un brazo maestro o maniquí, sobre el que se realizan los desplazamientos, que
serán memorizados y repetidos por el manipulador. Se utiliza sobre todo en
labores de pintura, donde el operador dirige el brazo por los tramos a
recorrer, y dónde debe expulsar una cierta cantidad de pintura. Tiene pocas
posibilidades de edición, ya que para generar una trayectoria tiene que
almacenar una gran cantidad de puntos, cuya reducción origina discontinuidades.
Suele estar constituido por botones, teclas, pulsadores, luces indicadoras,
ejes giratorios o “joystick”.
Dependiendo del algoritmo de control que se
utilice, el robot pasa por los puntos finales de la trayectoria enseñada. Hay
que tener en cuenta que los dispositivos de enseñanza modernos no sólo permiten
controlar los movimientos de las articulaciones del manipulador, sino que
pueden generar funciones auxiliares como:
o Selección de velocidades. o Generación de
retardos. o Señalización del estado de los sensores. o Borrado y modificación
de los puntos de trabajo. o Funciones especiales.
Al igual que con la programación directa, en la
que se emplea un elemento de enseñanza, el usuario no necesita conocer ningún
lenguaje de programación. Simplemente, debe habituarse al empleo de los
elementos que constituyen el dispositivo de enseñanza. De esta forma, se pueden
editar programas que sean muy simples.
La estructura del “software” es del tipo
intérprete; sin embargo, el sistema operativo que controla el procesador puede
poseer rutinas específicas, que suponen la posibilidad de realizar operaciones
muy eficaces.
Los lenguajes de programación gestual, además de
necesitar al propio robot en la confección del programa, carecen de
adaptabilidad en tiempo real con el entorno y no pueden tratar interacciones de
emergencia.
PROGRAMACIÓN TEXTUAL EXPLÍCITA
El programa queda constituido por un texto de
instrucciones o sentencias, cuya confección no requiere de la intervención del
robot, por lo que se efectúan “off-line”. Con este tipo de programación, el
operador no define las acciones del brazo manipulador, sino que se calculan,
mediante el empleo de las instrucciones textuales adecuadas.
En una aplicación tal como el ensamblaje de
piezas, en la que se requiere una gran precisión, los posicionamientos
seleccionados mediante la programación gestual no son suficientes, debiendo ser
sustituidos por cálculos más perfectos y por una comunicación con el entorno
que rodea al sistema.
En la programación textual, la posibilidad de
edición es total. El robot debe intervenir solo en la puesta a punto final.
Según las características del lenguaje, pueden
confeccionarse programas de trabajo complejos, con inclusión de saltos
condicionales, empleo de base de datos, posibilidad de creación de módulos operativos
intercambiables, capacidad de adaptación a las condiciones del mundo exterior,
etc.
Dentro de la programación textual, existen dos
grandes grupos:
1. Programación textual explícita. 2.
Programación textual especificativa.
En la programación textual explícita, el programa
consta de una serie de órdenes o instrucciones concretas, que van definiendo
con rigor las operaciones necesarias para llevar a cabo la aplicación. Se puede
decir que la programación explícita engloba a los lenguajes que definen los
movimientos punto por punto, similares a los de la programación gestual, pero
bajo la forma de un lenguaje formal. Con este tipo de programación, la labor
del tratamiento de las situaciones anormales, colisiones, etc. queda a cargo
del programador.
Dentro de la programación explícita, hay dos
niveles:
• Nivel de movimiento elemental
Comprende los lenguajes dirigidos a controlar los
movimientos del brazo manipulador. Existen dos tipos:
a) Articular, cuando el lenguaje se dirige al
control de los movimientos de las diversas articulaciones del brazo.
b)
Cartesiano, cuando el lenguaje define los movimientos relacionados con el
sistema de manufactura, es decir, los del punto final de trabajo (TCP).
Los lenguajes del tipo cartesiano utilizan
transformaciones homogéneas. Este hecho confiere “popularidad” al programa,
independizando a la programación del modelo particular del robot, puesto que un
programa confeccionado para uno, en coordenadas cartesianas, puede utilizarse
en otro, con diferentes coordenadas, mediante el sistema de transformación
correspondiente.
Son lenguajes que se parecen al BASIC, sin poseer
una unidad formal y careciendo de estructuras a nivel de datos y de control.
Por el contrario, los lenguajes de tipo articular
indican los incrementos angulares de las articulaciones. Aunque esta acción es
bastante simple para motores de paso a paso y corriente continua, al no tener
una referencia general de la posición de las articulaciones con relación al
entorno, es difícil relacionar al sistema con piezas móviles, obstáculos,
cámaras de TV, etc.
Los lenguajes correspondientes al nivel de
movimientos elementales aventajan, principalmente, a los de punto a punto, en
la posibilidad de realizar bifurcaciones simples y saltos a subrutinas, así
como de tratar informaciones sensoriales.
• Nivel estructurado
Intenta introducir relaciones entre el objeto y
el sistema de robot, para lo que los lenguajes se desarrollan sobre una
estructura formal.
Se puede decir que los lenguajes correspondientes
a este tipo de programación adoptan la filosofía del PASCAL. Describen objetos
y transformaciones con objetos, disponiendo, muchos de ellos, de una estructura
de datos arborescente.
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.
En los lenguajes estructurados, es típico el
empleo de las transformaciones de coordenadas, que exigen un cierto nivel de
conocimientos. Por este motivo dichos lenguajes no son populares hoy en día.
PROGRAMACIÓN TEXTUAL ESPECÍFICA
Se trata de una programación del tipo no
procesal, en la que el usuario describe las especificaciones de los productos
mediante una modelización, al igual que las tareas que hay que realizar sobre
ellos.
El sistema informático para la programación
textual específica tiene que 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, según la clase de aplicación, pero que requiere, siempre,
computadores potentes para el procesado de una abundante información. 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.
En la actualidad, los modelos del universo son
del tipo geométrico, no físico. Este hecho implica la no consideración de la
fuerza de la gravedad, que ha de ser tenida en cuenta por el programador
constantemente, para considerar sus efectos en la manipulación de los objetos.
Dentro de la programación textual específica, hay
dos clases, según la orientación del modelo se refiera a los objetos o a los
objetivos.
Si el modelo se orienta al nivel de los objetos,
el lenguaje trabaja con ellos y establece las relaciones entre ellos. La
programación se realiza “off-line” y la conexión CAM es posible.
Dada la inevitable imprecisión de los cálculos
del computador y de las medidas de las piezas, se precisa de una ejecución
previa, para ajustar el programa al entorno del robot.
Los lenguajes con un modelo del universo
orientado a los objetos son de alto nivel, permitiendo expresar las sentencias
en un lenguaje similar al usado comúnmente.
Por otra parte, cuando el modelo se orienta hacia
los objetivos, se define el producto final.
La creación de lenguajes de muy alto nivel
transferirá una gran parte del trabajo de programación, desde el usuario hasta
el sistema informático; éste resolverá la mayoría de los problemas, combinando la Automática y la Inteligencia Artificial.
El constante incremento de “inteligencia” en los
sistemas de la robótica hace prever que el 70% del coste total será de tipo
informático.
A continuación una tabla con los distintos tipos
de lenguajes de programación de robots.