Programación por Guiado
La programación por guiado o aprendizaje consiste en hacer realizar al
robot, o a una maqueta del mismo, una tarea (llevándolo manualmente por
ejemplo) al tiempo que se registran las configuraciones adoptadas, para su
posterior repetición de manera automática.
AT-AT |
LEGO Star Wars - AT-AT, juego de construcción (75054)
Para guiar el robot por las trayectorias o puntos deseados se utilizan diferentes soluciones. Si los actuadores del robot están desconectados es el programador quien debe aportar directamente la energía para mover el robot, se trata de guiado pasivo. En este caso, el programador puede tomar el extremo del robot y llevarlo hasta los puntos deseados siguiendo las trayectorias más adecuadas. La unidad de control del robot registrará, de manera automática, la señal de los sensores de posición de las articulaciones en todos los puntos recorridos. Este tipo de guiado se denomina guiado pasivo directo. Un ejemplo de robot industrial programado por este procedimiento se encuentra en algunos robots de pintura.
Para guiar el robot por las trayectorias o puntos deseados se utilizan diferentes soluciones. Si los actuadores del robot están desconectados es el programador quien debe aportar directamente la energía para mover el robot, se trata de guiado pasivo. En este caso, el programador puede tomar el extremo del robot y llevarlo hasta los puntos deseados siguiendo las trayectorias más adecuadas. La unidad de control del robot registrará, de manera automática, la señal de los sensores de posición de las articulaciones en todos los puntos recorridos. Este tipo de guiado se denomina guiado pasivo directo. Un ejemplo de robot industrial programado por este procedimiento se encuentra en algunos robots de pintura.
La dificultad física de mover toda la estructura del robot se resuelve
con la utilización de guiado pasivo por maniquí. En este caso se dispone de un
doble robot mientras que este permanece fuera de línea. El maniquí posee
idéntica configuración que el robot real, pero es mucho más ligero y fácil de
mover. La programación se efectúa llevando de la mano a este doble, mientras
que la unidad de control muestrea y almacena con determinada frecuencia los
valores que toman los sensores de posición de las articulaciones, para su
posterior repetición por el robot.
Frente a estos sistemas pasivos, otra posibilidad permite emplear el
propio sistema de accionamiento del robot, controlando desde una botonera o un
bastón de mando (Joistick) para que sea este el que mueva sus articulaciones.
Se dirá entonces que se trata de un guiado activo.
Atendiendo a la potencia del sistema, se puede hablar de guiado básico
y de guiado extendido.
-Guiado básico: El robot es guiado consecutivamente por los puntos por
los que se quiere que pase durante la fase de ejecución automática del
programa. Durante ésta, la unidad de control interpola dichos puntos según
determinadas trayectorias. En muchas ocasiones no es posible incluir ningún
tipo de estructuras de control dentro del programa, por lo que los puntos son
recorridos siempre secuencialmente en el mismo orden en que se programaron. Un
caso límite de este tipo de programación sería la utilizada en casi todos los
robots de pintura, en los que la unidad de control muestrea automáticamente los
puntos recorridos por el robot con una frecuencia muy alta.
- Guiado extendido: Permite especificar, junto a los puntos por los
que deberá pasar el robot, datos relativos a la velocidad, tipo de trayectoria,
precisión con la que se desea que se alcancen los puntos, control de flujo del
programa, atención a entradas/salidas binarias, etc. En este caso el método de guiado utilizado es el de la
botonera o joistick. La programación por guiado extendido aumenta notablemente
la potencia del sistema de programación.
Los métodos de programación por guiado son muy útiles e incluso
imprescindibles en muchas ocasiones. Además presentan ventajas, como que son
fáciles de aprender y que requieren un espacio de memoria relativamente pequeño
para almacenar la información. Sin embargo, presentan una serie de
inconvenientes, de los más destacables es la necesidad de utilizar el propio
robot y su entorno para realizar la programación, obligando a sacar el robot de
la línea de producción e interrumpiendo esta
Otros inconvenientes frecuentes
son la inexistencia de una documentación del programa y la dificultad de realizar
modificaciones en el mismo, inconvenientes ambos que conducen a una difícil
depuración y puesta a punto de las aplicaciones.
Programación textual
Como alternativa a la programación por guiado, el método de
programación textual permite indicar la tarea al robot mediante el uso de un
lenguaje de programación específico. Un programa se corresponde ahora, como el
caso de un programa general, con una serie de órdenes que son editadas y
posteriormente ejecutadas. Existe por lo tanto, un texto para el programa.
La programación textual puede ser clasificada en tres niveles: robot,
objeto y tarea, dependiendo de que las órdenes se refieran a los movimientos a
realizar por el robot, al estado en que deben ir quedando los objetos
manipulados o al objetivo (o subobjetivo parcial) a conseguir.
En el estado actual, la programación de robots se queda materialmente
en el primero de ellos (nivel robot), existiendo una gran cantidad de lenguajes
de programación textual a este nivel.
Algunos de estos lenguajes son el AL de la universidad de Stanford
1974, o el RAPID de ABB de 1994.
Se han realizado diversos intentos de desarrollar lenguajes a nivel
objeto, pero las dificultades con que se han encontrado los investigadores han
impedido una implementación eficiente del lenguaje.
-Nivel Robot: Es necesario especificar cada uno de los movimientos que
ha de realizar el robot, así como la velocidad, direcciones de aproximación,
salida y apertura y cierre de la pinza.
- Nivel Objeto: Disminuye la complejidad del programa. La programación
se realiza de manera más cómoda, ya que las instrucciones se dan en función de
los objetos a manejar. Un planificador de la tarea se encargará de consultar
una base de datos y generar las instrucciones a nivel de robot.
-Nivel tarea: El programa se reduce a una única sentencia ya que se
especifica qué es lo que debe hacer el robot en lugar de como hacerlo.
Es importante destacar que cada vez con mayor notoriedad, los sistemas
de programación de robots tienden a combinar los dos modos básicos (guiado y
textual), permitiéndose desarrollar el programa mediante la escritura de las
instrucciones, y utilizando la posibilidad de guiado en línea de aquellos
momentos que sea necesario.
Requerimientos de un sistema de programación de robots
A pesar de la falta de normalización entre los métodos de programación
de robots existentes, las necesidades comunes han originado un cierto
paralelismo y afinidad entre casi todos ellos. Esta circunstancia permite
establecer una serie de características generales que se manifiestan en los
elementos de programación que contienen.
Los requerimientos que se vienen estableciendo tradicionalmente para
un sistema de programación de robots son los siguientes:
-Entorno de programación
-Modelado del entorno
-Tipo de datos
-Manejo de entradas/salidas (digital y analógica)
-Control de movimiento
Control de flujo de ejecución de un programa.
Cada sistema de programación de robots da respuesta a estos
requerimientos en mayor o menor grado. Así, mientras algunos no contemplan
modelo alguno del entorno, otros basan totalmente su modo de funcionamiento en
la existencia y mantenimiento de un detallado modelo geométrico.
A continuación se realiza una descripción de estos requerimientos,
prestando mayor atención a los que se consideran más frecuentes.
Entorno de programación
Como cualquier lenguaje de programación convencional, es de gran
importancia, para conseguir un aumento considerable de la productividad de la
programación, contar con un entorno de programación adecuado a las necesidades.
Programar las acciones de un manipulador es complicado en el sentido
de que en todo momento existe una interacción con el entorno, tratándose de un
proceso continuo de prueba y error. Esta es la principal causa que lleva a la
mayoría de los sistemas de programación de robots, sean de tipo interpretado,
pudiéndose realizar un seguimiento paso a paso de lo programado en cada
momento, se evita así el tedioso ciclo de editar-compilar-ejecutar muy costoso
en tiempo.
Es pues importante que un sistema de programación de robots presente
una buena capacidad de depuración y de ejecución paso a paso, teniendo
especialmente en cuenta la interacción en tiempo real que existe entre los
distintos equipos de la célula con el controlador del robot. También es
aconsejable la existencia de una buena motorización continua del desarrollo del
programa.
Algunos de los sistemas de programación actuales se comportan sobre
sistemas operativos multitarea, permitiendo el control simultáneo y
sincronizado de varios robots o del robot con otros sistemas (visión,
transportes, etc).
No hay comentarios:
Publicar un comentario