2
Lo más leído
7
Lo más leído
21
Lo más leído
Programación y control de un robots
Programación y control de un robots
La programación 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 programación, exige el empleo del manipulador en la fase de
enseñanza, o sea, trabaja "on-line".
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 (off-line). 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 a continuación, en orden creciente de complejidad:
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.
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, inexcusablemente, la
programación "on-line".
La programación gestual se subdivide en dos clases:
•Programación por aprendizaje directo.
•Programación mediante un dispositivo de enseñanza.
En el aprendizaje directo, el punto final del brazo se traslada con
ayuda de un dispositivo especial colocado en su muñeca, o utilizando
un brazo maestro o maniquí, sobre el que se efectúan los
desplazamientos que, tras ser memorizados, serán repetidos por el
manipulador.
La técnica de aprendizaje directo se utiliza, extensamente, en
labores de pintura. El operario conduce la muñeca del manipulador o
del brazo maestro, determinando los tramos a recorrer y aquellos en
los que la pistola debe expulsar una cierta cantidad de pintura. Con
esta programación, los operarios sin conocimientos de "software",
pero con experiencia en el trabajo a desarrollar, pueden preparar
los programas eficazmente.
La programación por aprendizaje directo tiene pocas posibilidades
de edición, ya que, para generar una trayectoria continua, es preciso
almacenar o definir una gran cantidad de puntos, cuya reducción
origina discontinuidades. El "software" se organiza, aquí, en forma de
intérprete.
La programación, usando un dispositivo de enseñanza, consiste en
determinar las acciones y movimientos del brazo manipulador, a través
de un elemento especial para este cometido. En este caso,
las operaciones ordenadas se sincronizan para conformar
el programa de trabajo.
El dispositivo de enseñanza 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, también, generar funciones auxiliares, como:
-

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
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, aunque como es lógico, 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
eficientes.
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, con facilidad,
interacciones de emergencia.
PROGRAMACIÓN TEXTUAL EXPLICITA
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.
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, sólo, 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
bases 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, de
características netamente diferentes:
Programación textual explícita.
Programación textual especificativa.
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. 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:
1º. Nivel de movimiento elemental
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).
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 del 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
aventaja, principalmente, a los de punto a punto, en la posibilidad de
realizar bifurcaciones simples y saltos a subrutinas, así como de tratar
informaciones sensoriales.
2º. Nivel estructurado
Intenta introducir relaciones entre el objeto y el sistema del robot,
para que los lenguajes se desarrollen 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 ESPECIFICATIVA
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
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, según la clase de
aplicación, pero que requiere, siempre , computadoras
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.
Actualmente, los modelos del universo son del tipo
geométrico, no físico.
Dentro de la programación textual especificativa, hay dos
clases, según que la orientación del modelo se refiera a los
objetos 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 ordenador 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.
LENGUAJES DE PROGRAMACIÓN GESTUAL PUNTO A PUNTO
Se aplican con el robot "in situ", recordando a las normas de
funcionamiento de un magnetofón doméstico, ya que disponen de unas
instrucciones similares: PLAY (reproducir), RECORD (grabar), FF
(adelantar), FR (atrasar), PAUSE, STOP, etc. Además, puede disponer de
instrucciones auxiliares, como INSERT (insertar un punto o una operación
de trabajo) y DELETE (borrar).
Conceptualmente, ala estar el manipulador en línea funciona como un
digitalizador de posiciones.
Los lenguajes más conocidos en programación gestual punto a punto son
el FUNKY, creado por IBM para uno de sus robots, y el T3, original de
CINCINNATI MILACROM para su robot T3.
En el lenguaje FUNKY se usa un mando del tipo "joystick" para el control
de los movimientos, mientras que el T3 dispone de un dispositivo de
enseñanza ("teach pendant").
Como en un grabador de cassettes, y en los dos lenguajes mencionados,
los movimientos pueden tener lugar en sistemas de coordenadas
cartesianas, cilíndricas o de unión, siendo posible insertar y borrar las
instrucciones que se desee. Es posible, también, implementar funciones
relacionadas con sensores externos, así como revisar el programa paso a
paso, hacia delante y hacia atrás.
El lenguaje FUNKY dispone de un comando especial para centrar a la
pinza sobre el objeto.
El procesador usado en T3 es el AMD 2900 ("bit slice"), mientras que en el
FUNKY está constituido por el IBM SYSTEM-7.

LENGUAJES DE PROGRAMACIÓN A NIVEL DE MOVIMIENTOS ELEMENTALES.
Como ya menciono, se tratan los movimientos de punto a punto,
expresados en forma de lenguaje. Se citan, entre los más importantes:
ANORAD
EMILY
RCL
RPL
SIGLA
VAL
MAL

Todos ellos mantienen el énfasis en los movimientos primitivos, ya sea en
coordenadas articulares, o cartesianas. En comparación, tienen, como
ventajas destacables, los saltos condicionales y a subrutina, además de
un aumento de las operaciones con sensores, aunque siguen manteniendo
pocas posibilidades de programación "off-line".
Estos lenguajes son, por lo general, del tipo intérprete, con
excepción del RPL, que tiene un compilador. La mayoría dispone de
comandos de tratamiento a sensores básicos: tacto, fuerza,
movimiento, proximidad y presencia. El RPL dispone de un sistema
complejo de visión, capaz de seleccionar una pintura y reconocer
objetos presentes en su base de datos.
Los lenguajes EMILY y SIGLA son transportables y admiten
el proceso en paralelo simple.
Otros datos interesantes de este grupo de lenguajes son los
siguientes:
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. Las instrucciones, en idioma inglés, son sencillas e
intuitivas, como se puede apreciar por el programa siguiente:
LISPT
PROGRAM PICKUP
1. APRO PART, 25.0
2. MOVES PART
3. CLOSE, 0.0.0
4. APRO PART, -50.0
5. APRO DROP, 100.0
6. MOVES DROP
7. OPEN, 0.0.0
8. APRO DROP, -100.0

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.

LENGUAJES ESTRUCTURADOS DE PROGRAMACIÓN EXPLÍCITA
Teniendo en cuenta las importantísimas características que
presenta este tipo de programación, merecen destacarse los
siguientes lenguajes:
AL
HELP
MAPLE
PAL
MCL
MAL EXTENDIDO
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 como procesadores centrales, a
un PDP 11/45 y un PDP KL-10.
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.
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.
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.
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".
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.
LENGUAJES DE PROGRAMACIÓN ESPECIFICATIVA A NIVEL OBJETO.

En este grupo se encuentran tres lenguajes interesantes:
RAPT
AUTOPASS
LAMA
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.).
CARACTERÍSTICAS DE UN LENGUAJE IDEAL PARA LA ROBÓTICA
Las seis características básicas de un lenguaje ideal, expuestas
por Pratt, 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.
Programación y control de un robots
Programación y control de un robots

Más contenido relacionado

PPTX
Estilos de planeación ackoff
PDF
Fundamentos basicos del mantenimiento conceptos basicos del mantenimiento
PPTX
Administración de Inventarios EOQ.pptx
PPTX
Mantenimiento AutóNomo
PPTX
Unidad 5. Modelos de reemplazo
DOCX
pronostico de venta
PPTX
Cadenas de markov con estados absorbentes
PPT
Mercados Internacionales y Gubernamentales
Estilos de planeación ackoff
Fundamentos basicos del mantenimiento conceptos basicos del mantenimiento
Administración de Inventarios EOQ.pptx
Mantenimiento AutóNomo
Unidad 5. Modelos de reemplazo
pronostico de venta
Cadenas de markov con estados absorbentes
Mercados Internacionales y Gubernamentales

La actualidad más candente (20)

PPTX
El proceso de formulación de estrategias deber powerpoint
PPTX
411539551-Costos-Fijos-y-Variables-Punto-de-Equilibrio.pptx
PPT
Gradientes aritméticos y geométricos
PPTX
Logística y distribución
PDF
Administracion por procesos
PPT
Las 7 ms de todo proceso productivo
PPTX
Unidad 5. Modelos de reemplazo
PDF
Métodos cualitativos y cuantitativos
PPTX
Planeación y administración de la capacidad
PPTX
Método Lote por Lote
PPTX
Inventarios de walmart
PPTX
PRESENTACION: PLAN MAESTRO DE PRODUCCIÓN DE UNA EMPRESA TEXTIL
DOCX
Cadenas de markov
DOCX
Teoría de Producción Economía I.
PPTX
Diapositiva unidad 3 Planeación agregada (Integrada) de produccion.
PPTX
Tecnicasdeevaluacineconmicas
PPTX
Ciclo y control del mantenimiento
PPTX
MRP I y MRP II
El proceso de formulación de estrategias deber powerpoint
411539551-Costos-Fijos-y-Variables-Punto-de-Equilibrio.pptx
Gradientes aritméticos y geométricos
Logística y distribución
Administracion por procesos
Las 7 ms de todo proceso productivo
Unidad 5. Modelos de reemplazo
Métodos cualitativos y cuantitativos
Planeación y administración de la capacidad
Método Lote por Lote
Inventarios de walmart
PRESENTACION: PLAN MAESTRO DE PRODUCCIÓN DE UNA EMPRESA TEXTIL
Cadenas de markov
Teoría de Producción Economía I.
Diapositiva unidad 3 Planeación agregada (Integrada) de produccion.
Tecnicasdeevaluacineconmicas
Ciclo y control del mantenimiento
MRP I y MRP II
Publicidad

Destacado (20)

PPTX
Mecanismosdetransmisión2.ppt
PPT
Cantidad de átomos en un compuesto (Dale un like, ayudanos)
DOC
Guia trabajo grados de las palancas
PDF
Operacion de excavadoras ctcm
PPT
Poleas y otros
PPT
Maquinas y mecanismos. Bloque 4
DOCX
Taller palancas 6
PDF
Excavadora Komatsu Pc 200 8 Hybrid (Híbrida) Español MercadoVial.Com
PPT
Clase transformaciones isometricas
PDF
excavadoras
PDF
Diapositivas-excavadora-estudiante
PPT
Excavadora hidraulica viamonte
PDF
Bloque etiquetado seguridad
DOCX
Curso instruccion-operacion-excavadora-hidraulica-345cl-caterpillar-ferreyros
PDF
Seguridad en excavaciones y zanjas
PPTX
Excavadoras
DOCX
Maquinaria y equipos utilizado en la construcción de carreteras
PDF
Maquinaria Pesada
PPTX
Maquinaria y equipo
PPTX
Maquinaria pesada 2.0
Mecanismosdetransmisión2.ppt
Cantidad de átomos en un compuesto (Dale un like, ayudanos)
Guia trabajo grados de las palancas
Operacion de excavadoras ctcm
Poleas y otros
Maquinas y mecanismos. Bloque 4
Taller palancas 6
Excavadora Komatsu Pc 200 8 Hybrid (Híbrida) Español MercadoVial.Com
Clase transformaciones isometricas
excavadoras
Diapositivas-excavadora-estudiante
Excavadora hidraulica viamonte
Bloque etiquetado seguridad
Curso instruccion-operacion-excavadora-hidraulica-345cl-caterpillar-ferreyros
Seguridad en excavaciones y zanjas
Excavadoras
Maquinaria y equipos utilizado en la construcción de carreteras
Maquinaria Pesada
Maquinaria y equipo
Maquinaria pesada 2.0
Publicidad

Similar a Programación y control de un robots (20)

DOCX
Lenguajes de programación
PPTX
Programación aplicada a robots (Gestual y textual)
PDF
Lenguajes y programación de robots IPN
PDF
S13.s2 - ADP - JTG 2024-2 OK ok ok RIBITICA.pdf
PPT
Lenguajesprog
PPTX
Métodos de programación de robots
PPT
Seudocodigos1
PPT
Lenguajes de programación en robótica
DOC
Metodos de programacion d robot
PPTX
Programación tic
PPTX
Programación tic
PPTX
PPTX
Programa informático
PDF
Principios programacion
PDF
Guia de programación en visual basic
PPTX
Pteg i-grupo5- cap 6-lenguaje de programacion
PPTX
Pteg i-grupo5- cap 6-lenguaje de programacion
PPTX
Fundamentos del programación de diseño web
PPT
Instructivo De Tic Software
PPTX
Lenguaje de programacion keneling gullo compu 1 []
Lenguajes de programación
Programación aplicada a robots (Gestual y textual)
Lenguajes y programación de robots IPN
S13.s2 - ADP - JTG 2024-2 OK ok ok RIBITICA.pdf
Lenguajesprog
Métodos de programación de robots
Seudocodigos1
Lenguajes de programación en robótica
Metodos de programacion d robot
Programación tic
Programación tic
Programa informático
Principios programacion
Guia de programación en visual basic
Pteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacion
Fundamentos del programación de diseño web
Instructivo De Tic Software
Lenguaje de programacion keneling gullo compu 1 []

Programación y control de un robots

  • 3. La programación 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 programación, exige el empleo del manipulador en la fase de enseñanza, o sea, trabaja "on-line". 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 (off-line). 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 a continuación, en orden creciente de complejidad: 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.
  • 4. 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, inexcusablemente, la programación "on-line". La programación gestual se subdivide en dos clases: •Programación por aprendizaje directo. •Programación mediante un dispositivo de enseñanza. En el aprendizaje directo, el punto final del brazo se traslada con ayuda de un dispositivo especial colocado en su muñeca, o utilizando un brazo maestro o maniquí, sobre el que se efectúan los desplazamientos que, tras ser memorizados, serán repetidos por el manipulador. La técnica de aprendizaje directo se utiliza, extensamente, en labores de pintura. El operario conduce la muñeca del manipulador o del brazo maestro, determinando los tramos a recorrer y aquellos en los que la pistola debe expulsar una cierta cantidad de pintura. Con esta programación, los operarios sin conocimientos de "software", pero con experiencia en el trabajo a desarrollar, pueden preparar los programas eficazmente.
  • 5. La programación por aprendizaje directo tiene pocas posibilidades de edición, ya que, para generar una trayectoria continua, es preciso almacenar o definir una gran cantidad de puntos, cuya reducción origina discontinuidades. El "software" se organiza, aquí, en forma de intérprete. La programación, usando un dispositivo de enseñanza, consiste en determinar las acciones y movimientos del brazo manipulador, a través de un elemento especial para este cometido. En este caso, las operaciones ordenadas se sincronizan para conformar el programa de trabajo. El dispositivo de enseñanza 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, también, generar funciones auxiliares, como:
  • 6. - 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 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, aunque como es lógico, 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 eficientes. 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, con facilidad, interacciones de emergencia.
  • 7. PROGRAMACIÓN TEXTUAL EXPLICITA 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. 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, sólo, 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 bases de datos, posibilidad de creación de módulos operativos intercambiables, capacidad de adaptación a las condiciones del mundo exterior, etc.
  • 8. Dentro de la programación textual, existen dos grandes grupos, de características netamente diferentes: Programación textual explícita. Programación textual especificativa. 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. 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: 1º. Nivel de movimiento elemental 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).
  • 9. 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 del 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 aventaja, principalmente, a los de punto a punto, en la posibilidad de realizar bifurcaciones simples y saltos a subrutinas, así como de tratar informaciones sensoriales.
  • 10. 2º. Nivel estructurado Intenta introducir relaciones entre el objeto y el sistema del robot, para que los lenguajes se desarrollen 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.
  • 11. PROGRAMACIÓN TEXTUAL ESPECIFICATIVA 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 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, según la clase de aplicación, pero que requiere, siempre , computadoras 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.
  • 12. Actualmente, los modelos del universo son del tipo geométrico, no físico. Dentro de la programación textual especificativa, hay dos clases, según que la orientación del modelo se refiera a los objetos 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 ordenador 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.
  • 13. LENGUAJES DE PROGRAMACIÓN GESTUAL PUNTO A PUNTO Se aplican con el robot "in situ", recordando a las normas de funcionamiento de un magnetofón doméstico, ya que disponen de unas instrucciones similares: PLAY (reproducir), RECORD (grabar), FF (adelantar), FR (atrasar), PAUSE, STOP, etc. Además, puede disponer de instrucciones auxiliares, como INSERT (insertar un punto o una operación de trabajo) y DELETE (borrar). Conceptualmente, ala estar el manipulador en línea funciona como un digitalizador de posiciones. Los lenguajes más conocidos en programación gestual punto a punto son el FUNKY, creado por IBM para uno de sus robots, y el T3, original de CINCINNATI MILACROM para su robot T3. En el lenguaje FUNKY se usa un mando del tipo "joystick" para el control de los movimientos, mientras que el T3 dispone de un dispositivo de enseñanza ("teach pendant"). Como en un grabador de cassettes, y en los dos lenguajes mencionados, los movimientos pueden tener lugar en sistemas de coordenadas cartesianas, cilíndricas o de unión, siendo posible insertar y borrar las instrucciones que se desee. Es posible, también, implementar funciones relacionadas con sensores externos, así como revisar el programa paso a paso, hacia delante y hacia atrás.
  • 14. El lenguaje FUNKY dispone de un comando especial para centrar a la pinza sobre el objeto. El procesador usado en T3 es el AMD 2900 ("bit slice"), mientras que en el FUNKY está constituido por el IBM SYSTEM-7. LENGUAJES DE PROGRAMACIÓN A NIVEL DE MOVIMIENTOS ELEMENTALES. Como ya menciono, se tratan los movimientos de punto a punto, expresados en forma de lenguaje. Se citan, entre los más importantes: ANORAD EMILY RCL RPL SIGLA VAL MAL Todos ellos mantienen el énfasis en los movimientos primitivos, ya sea en coordenadas articulares, o cartesianas. En comparación, tienen, como ventajas destacables, los saltos condicionales y a subrutina, además de un aumento de las operaciones con sensores, aunque siguen manteniendo pocas posibilidades de programación "off-line".
  • 15. Estos lenguajes son, por lo general, del tipo intérprete, con excepción del RPL, que tiene un compilador. La mayoría dispone de comandos de tratamiento a sensores básicos: tacto, fuerza, movimiento, proximidad y presencia. El RPL dispone de un sistema complejo de visión, capaz de seleccionar una pintura y reconocer objetos presentes en su base de datos. Los lenguajes EMILY y SIGLA son transportables y admiten el proceso en paralelo simple. Otros datos interesantes de este grupo de lenguajes son los siguientes: 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.
  • 16. 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. Las instrucciones, en idioma inglés, son sencillas e intuitivas, como se puede apreciar por el programa siguiente: LISPT PROGRAM PICKUP 1. APRO PART, 25.0 2. MOVES PART 3. CLOSE, 0.0.0 4. APRO PART, -50.0 5. APRO DROP, 100.0 6. MOVES DROP 7. OPEN, 0.0.0 8. APRO DROP, -100.0 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.
  • 17. 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. LENGUAJES ESTRUCTURADOS DE PROGRAMACIÓN EXPLÍCITA Teniendo en cuenta las importantísimas características que presenta este tipo de programación, merecen destacarse los siguientes lenguajes: AL HELP MAPLE PAL MCL MAL EXTENDIDO
  • 18. 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 como procesadores centrales, a un PDP 11/45 y un PDP KL-10. 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. 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.
  • 19. 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. 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". 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.
  • 20. LENGUAJES DE PROGRAMACIÓN ESPECIFICATIVA A NIVEL OBJETO. En este grupo se encuentran tres lenguajes interesantes: RAPT AUTOPASS LAMA 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.).
  • 21. CARACTERÍSTICAS DE UN LENGUAJE IDEAL PARA LA ROBÓTICA Las seis características básicas de un lenguaje ideal, expuestas por Pratt, 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.