You are on page 1of 41

Robtica Industrial - Captulo 5 - Pgina n 1

Robtica Industrial

CAPITULO 5:

PROGRAMACIN DE ROBOTS

2005
5.1 - INTRODUCCIN:

Robtica Industrial - Captulo 5 - Pgina n 2

El robot necesita ser programado para que su controlador le haga realizar


todas las tareas que se le encomienden, los programas para robots pueden ser clasificados
en dos categoras:
- Sistemas operativos.
- Programas de aplicacin.
Los sistemas operativos, que tambin son conocidos como programas de
control, indican al robot como debe ejecutar algn tipo de movimiento, tal como abrir o
cerrar la garra, o cambiar de posicin relativa los elementos del manipulador.
En otros trminos, el sistema operativo otorga la inteligencia para que el
robot reciba, comprenda y ejecute las tareas que se le encomiendan.
Contrastando con esto, los programas de aplicacin, que son conocidos
tambin como programas de usuario, indican al robot como llevar a cabo los
movimientos para cumplimentar una cierta tarea, por tanto estos son los que debern
contener datos sobre las posiciones, velocidades de los ejes, movimientos de los ejes,
instrucciones para la garra, e instrucciones de interfase con otros dispositivos.
5.2 - NECESIDADES DE LOS SISTEMAS OPERATIVOS:
Los sistemas operativos de los robots, generalmente son entregados por los
fabricantes del mismo, y contienen todos los programas necesarios porra facilitar su uso.
Cuanto ms completo sea el sistema operativo, ms fcil ser la preparacin de los
programas de aplicacin.
Los programas del sistema operativo normalmente estn contenidos en
una ROM, aunque puede haber una parte de ellos entregada en soporte magntico
(disquetes) como software, que permite su adaptacin a una aplicacin particular.
Adems, para mover el manipulador, los sistemas operativos deben
tambin tener la posibilidad de aceptar entradas desde el manipulador, tales como las
posiciones de cada elemento, el estado de la garra o del efector final, y de entregar salidas
para el movimiento de las articulaciones y del efector final.
Por otra parte, estos sistemas operativos deben ser adecuados a la
complejidad del sistema robtico, as como de su habilidad para ejecutar movimientos, y
de los medios por los cuales es posible conectarlos con los sistemas de usuario.
5.2.1 - POSICIN DE REPOSO:
Los puntos ubicados dentro del rea de trabajo de un robot son definidos
mediante sus coordenadas cartesianas. El punto de reposo (home) es una posicin de
referencia conocida, desde la cual se calibran todas las mediciones de las coordenadas.
En realidad todos los movimientos del robot, an los de la garra o efector final, y los
dems dispositivos del sistema que operan en conjunto, son medidos desde un mismo
origen.
5.2.2 - NECESIDADES DE PROGRAMACIN DEPENDIENTES DEL
CONTROLADOR:
Existen actualmente tres tipos de controladores de robots:

Robtica Industrial - Captulo 5 - Pgina n 3

1 - De secuencia limitada.
2 - Punto a punto.
3 - De trayectoria continua.
5.2.2.1 - CONTROLADOR DE SECUENCIA LIMITADA:
Este mtodo es empleado en los robots que se usan para realizar
transferencia de materiales, que son mquinas muy simples, que realizan pocas tareas, y
son actuados normalmente mediante energa neumtica, de all que reciben el nombre de
robots bang-bang.
Los programas de aplicacin son muy simples dado que utiliza como
sensores una serie de fines de carrera, y solo se debe aplicar un sistema secuencial de
tiempos para el movimiento de cada actuador.
El sistema secuencial de tiempos es similar al aplicado en lavarropas,
pudiendo ser mecnico o electrnico, con la nica diferencia que deben ser programables
o ajustables, cosa que no ocurre en los electrodomsticos.
Evidentemente, dadas las pocas necesidades del sistema operativo para
estos dispositivos, el mismo puede ser implementado mediante un codificador mecnico.
En la figura 5.1 tenemos un sistema operativo tipo para estos sistemas, en forma de
diagrama de bloques.
Figura 5.1 - Sistema operativo para sistemas de secuencia controlada.
En la figura anterior se incluyen los dos tipos constructivos de sistemas
operativos, el mecnico y el electrnico.
5.2.2.2 - CONTROLADOR PUNTO A PUNTO:
El controlador punto a punto consiste en una memoria que contiene una
serie de posiciones de un manipulador. Cada posicin representa un valor por cada eje y
Memoria del
programa de
aplicacin,
almacenado en
un dispositivo
modificalble
(RAM)

Secuenciador
de comandos
e interpretador
includo en un
dispositivo
permanente
(ROM)

Clavijas
insertadas
en un
tambor y
topes
mecnicos

Tombor
rotante
para
atiempamiento.

Seales para
activacin
del
manipulador.

Vlvulas
neumticas
activadas
por las
clavijas del
tambor
rotante.

por cada sensor del robot. Adicionalmente, el sistema operativo debe proveer los medios

Robtica Industrial - Captulo 5 - Pgina n 4

para mover al manipulador hasta cada una de las posiciones requeridas por la tarea a
realizar y para determinar cuando ha sido alcanzada cada una de las posiciones.
Esto puede ser llevado a cabo por motores paso a paso, en cuyo caso el
sistema operativo debe llevar la cuenta del nmero de pulsos que han sido emitidos y la
direccin en la cual el sistema ha comandado al motor para moverlo desde que parti de
la posicin de reposo, y adems monitorear e interpretar las seales de los sensores.
En la figura 5.2 tenemos un diagrama de bloques del sistema operativo
punto a punto. El sistema difiere del sistema de trayectoria continua fundamentalmente
por el tamao y velocidad de cada funcin.
Figura 5.2 - Sistema operativo punto a punto.
5.2.2.3 - CONTROLADOR DE TRAYECTORIA CONTINUA:
Este controlador debe ser capaz de grabar y reproducir la posicin del
robot en forma continua, o dicho de forma ms prctica, de reproducir la posicin
muchas veces en cada unidad de tiempo. Ello requiere una importante y compleja
cantidad de memoria electrnica, y la utilizacin de sensores que entreguen
continuamente informacin sobre la trayectoria para poder seguirla en forma constante.

Memoria para
el programa
de aplicacin

Grabacin de
programas de
soporte.

Edicin del
programa de
aplicacin

SUPERVISOR
Control maestro
selector de tareas
e interprete.

Programas de
soporte

Compilador
Assembler

Interface al
panel de
control

Interface al
aprendizaje
pendiente

Comunicacin
con otros robots
o computadoras

Comandos al
manipulador

Informacin de
los sensores de
posicin.

Sesores de
seguridad y
otros.

SENSORES
FUTUROS
interpretacin
visual,sistemas
de habla, navegacin por sistemas tctiles.

Robtica Industrial - Captulo 5 - Pgina n 5

En la figura 5.3, tenemos el diagrama de bloques de este tipo de


controlador.

Memoria para el
programa de aplicacin
RAM de gran tamao
para grabar posicin y
velocidad en forma
permanente
Grabacin de
programas de
soporte.

Edicin del
programa de
aplicacin

SUPERVISOR
Control maestro
selector de tareas
e interprete.

Programas de
soporte

Compilador
Assembler

Interface al
panel de
control

Interface al
aprendizaje
pendiente

Comunicacin
con otros robots
o computadoras

Comandos al
manipulador

Informacin de
los sensores de
posicin.
(Continua)
Sesores de
seguridad y otros.
(Continua)

SENSORES
FUTUROS
interpretacin
visual,sistemas
de habla, navegacin por sistemas tctiles.

Figura 5.3 - Diagrama de bloques del controlador de trayectoria contnua.

5.2.3 - NECESIDADES DE PROGRAMACIN QUE DEPENDEN DE LA


CONFIGURACIN DEL ROBOT.
Sabemos que hay bsicamente cinco configuraciones de manipulador para
aplicaciones industriales, dependientemente del sistema de coordenadas utilizado para
su representacin. Repitiendo:
1 De movimientos rectilneos (Coordenadas cartesianas).
2 De movimientos combinados (Coordenadas cilndricas).

Robtica Industrial - Captulo 5 - Pgina n 6

3 - SCARA.
4 De movimientos combinados (Coordenadas polares).
5 - Articulado.
Cada configuracin tiene requisitos de programacin diferentes.
Considerando que las coordenadas cartesianas son las ms representativas de nuestro
mundo real, es necesario transformar los sistemas para representarlos todos en las
mismas.
5.2.3.1 - ROBOT DE COORDENADAS CARTESIANAS:
El sistema operativo para un robot cartesiano, simplemente mueve al
manipulador a los puntos especificados segn sus ejes de coordenadas, pudiendo
efectuar traslaciones segn los tres ejes en forma sucesiva o simultnea.
La referencia o punto de reposo puede ser tomada como el vrtice inferior
del rea de trabajo o zona accesible. Suponiendo que el robot a ser programado tiene un
espacio de trabajo de un metro de lado, y que el manipulador debe alcanzar el punto
indicado como (50, 25,30) lo que significa que, a partir del origen o punto de reposo, el
desplazamiento segn el eje x es de 50 centmetros, segn el eje y es de 25 cm y segn el
eje z es de 30 cm, lo cual es indicado en la figura 5.4.
Figura 5.4 - Un punto del espacio para un robot de coordenadas cartesianas.

ALCANCE
MXIMO
(100.100,100)

z = 100 cm

Punto deseado
( 50,25,30)

30

y = 100 cm
25

z
y
REPOSO

(0,0,0)

50

x = 100 cm

Robtica Industrial - Captulo 5 - Pgina n 7

x 2 y 2 56,90

y
0,447
R
26 o33'
SEN

ngulo base
26o 33

alcance o radio
56,90

posicin z
30

Figura 5.5 - Un punto accesible por un robot en coordenadas cilndricas.


5.2.3.2 - ROBOT DE COORDENADAS CILNDRICAS:
El sistema operativo para un robot de coordenadas cilndricas debe
trasladar las coordenadas cartesianas x e y a una posicin angular y a un radio, mientras
que el eje z queda tal cual.

Robtica Industrial - Captulo 5 - Pgina n 8

El punto de referencia o de reposo puede ser tomado en el centro de la base, o sea


en el centro de la base del rea de trabajo, la cual es ahora un cilindro hueco.
En la figura 5.5, tenemos el mismo punto antes determinado en coordenadas
cartesianas, y la relacin entre x e y con el radio R.
5.2.3.3 - ROBOT SCARA:
En este caso, el sistema operativo debe resolver los valores de las
coordenadas cartesianas x e y en tres ngulos de rotacin, el base, o sea el
correspondiente a la distancia del punto de aplicacin, R, que denominamos el del
hombro, y el del codo, .
En la figura 5.6 se tiene el diagrama correspondiente y el clculo de los
ngulos, ya que tanto R como son conocidos y suponiendo que ambos brazos del robot
son de 40 cm de largo.
5.2.2.4 - ROBOT DE COORDENADAS POLARES:
En este caso se debe trasladar las coordenadas del punto de cartesianas a
esfricas, donde tenemos una distancia R, y dos ngulos, uno que sigue siendo el base
y el de elevacin .
En la figura 5.7, se tiene el punto en coordenadas cartesianas y en
coordenadas polares, y el punto de referencia en el centro de la base.
5.2.2.5 - ROBOT ARTICULADO:
El sistema operativo del robot articulado debe efectuar el traslado de las
coordenadas del sistema cartesiano al sistema propio, donde una posicin es
representada mediante un ngulo base, , el ngulo de elevacin del hombro, , y el
ngulo del codo, . Tambin puede tomarse el ngulo del brazo con la base, el cual es
denominado por lo que el ngulo total de elevacin ser .
El punto de reposo o de referencia tambin en este caso puede ser tomado
en el centro de la articulacin del hombro, tal como se indica en la figura 5.8.

Robtica Industrial - Captulo 5 - Pgina n 9


y

25

50,25

y
y

50

x 2 y 2 55,9 cm

Siempre es:

sen y

0,4472

27 o

Suponiendo que A = B = 40 cm
cos

A2 R 2 B 2
R2
R
55,9

0,69875
2 AR
2 AR 2 A
80
45,67 o

cos

B 2 A 2 R 2 2 A 2 R 2 75,19

0,0168
2 BA
2 BA
4472

89 o

En consecuencia, ser:
ngulo base
27o

ngulo base + hombro


+= 72,67o

ngulo codo
89o

z
30 cm

P(50.25.30)
30

25

50

Figura 5.6 Representacin de un punto en un robot SCARA

Robtica Industrial - Captulo 5 - Pgina n 10

ALCANCE
25

30

50

R x 2 y 2 55,9cm
RF

sen

sen

y
0,4472
R

27 o

R 2 z 2 63,44

z
0,473
RF

28,22o

En consecuencia, tendremos:
ngulo base = 27o; ngulo de elevacin = 28,22o; alcance RF = 63,44 cm

Figura
5.7 Especificacin de un punto en coordenadas polares.

Robtica Industrial - Captulo 5 - Pgina n 11

Rotacin de la base
brazo

ngulo de elevacin

antebrazo

Sea: brazo (U) = antebrazo (F) = 50


cm

R x 2 y 2 55,9cm

sen

y
0,447
R

RF z 2 R 2 63,44 cm

sen

z
0,473
RF

cos

U 2 RF 2 F 2 RF

0,634
2U .RF
2U .

cos

U 2 F 2 RF 2
0,195
2UF

27 o

28,22 o
50,65 o

78,75 o

Con lo cual:
ngulo base () = 27o; ngulo del hombro (+) = 78,87o; ngulo del codo () = 78,75o

Figura 5.8 - Expresin de un punto en un robot articulado.

Robtica Industrial - Captulo 5 - Pgina n 12

5.2.4 - NECESIDADES DE PROGRAMACIN DEPENDIENTES DE LAS TCNICAS


DE ENTRENAMIENTO DEL ROBOT:
El mtodo empleado en el entrenamiento de los robots (por los programas
de aplicacin) afecta los requerimientos del sistema operativo. El control de secuencia
limitada solo requiere la puesta a punto de un sistema mecnico, los mecanismos punto a
punto y de control continuo pueden emplear paneles de control, tableros mviles,
arrastre por el extremo, programacin fuera de lnea, y transferencia de programas
desde otro robot o computadora.
5.2.4.1 - PROGRAMACIN MECNICA:
Consiste en la insercin de clavijas en los lugares especificados de un
tambor rotante, las cuales significan los limites de los movimientos. El sistema operativo
por supuesto que est implementado mediante un sistema electromecnico,
complementndose mediante un conjunto de fines de carrera, que indican cuando un
movimiento llega a su fin.
Estos fines de carrera tambin se aplican en casi todos los robots para ser
utilizados como lmites de los movimientos para tener un sistema de seguridad que evite
la destruccin del manipulador o que afecte a otras instalaciones anexas al mismo dentro
de su espacio accesible.
5.2.4.2 - PANELES DE CONTROL:
Todos los robots necesitan un panel de control an cuando solo sea para
encenderlo y apagarlo. Los paneles de control suelen tener indicadores de sobretensiones
o de bajas tensiones as como de sobrecorrientes, o de sobrecarga de los motores. Si el
accionamiento es hidrulico, suelen disponerse indicadores de presin, temperatura, de
caudal y de funcionamiento general del sistema.
Los sistemas operativos deben monitorear estos instrumentos e indicadores
a fin de corregir los parmetros de funcionamiento segn la necesidad.
En los sistemas punto a punto y de trayectoria continua tambin se usan
paneles de control tanto para el entrenamiento como para la operacin del manipulador,
en este caso el sistema operativo debe monitorear el panel, ser capaz de aceptar
comandos para entrenamiento y almacenarlos para una utilizacin futura.
5.2.4.3 - TABLEROS MVILES:
En realidad se trata de una programacin por aprendizaje directo, pues el
tablero posee una botonera mediante la cual es posible indicar al robot los movimientos
que debe realizar y los parmetros de los mismos (Velocidad, aceleracion, orden, topes,
etc.)
Para su implementacin se hace uso de la llamada programacin gestual,
pues lo que se indica en el tablero son gestos, o sea movimientos a realizar por el
manipulador para la concrecin de una tarea.
En la figura 5.9 se tiene la fotografa de algunos paneles de este tipo.

Robtica Industrial - Captulo 5 - Pgina n 13

Parada de
emergencia
Pulsador giratorio
para posicionamiento
manual de alta
precisin

Selector de
velocidad/distancia

Velocidad de la
herramienta o de los
movimientos
Teclas sensitivas para
variaciones
incrementales
Teclas sensitivas para
control de velocidad y
direccin

Selector de
salidas
Funciones de
herramienta y ejecucin

Fijacin manual de
desplazamientos
desde el origen del
trabajo
Modo de ejecucin y
ubicacin de la
herramienta

Figura 5.9 Algunos ejemplos de tablero mvil para programacin gestual.

Robtica Industrial - Captulo 5 - Pgina n 14

Figura 5.9.a Unidad de control con panel mvil de la empresa ABB.


5.2.4.4 - PROGRAMACIN DE ARRASTRE POR EL EXTREMO:
En este caso, el sistema operativo es de tipo aprendizaje, por cuanto
consiste en mover manualmente el extremo del robot hacindole seguir una cierta
trayectoria, lo cual es grabado en la memoria y luego es repetido indefinidamente por el
manipulador.
Se utiliza mucho en los robots destinados a pintura por soplete o a
soldadura de arco.
5.2.4.5 - PROGRAMACIN FUERA DE LINEA:
La programacin fuera de lnea, consiste en la introduccin de los
comandos del robot en la memoria del controlador. En el caso del control punto a punto,
el manipulador asume solamente unos pocos cientos de posiciones durante la ejecucin
de su trabajo. En cambio si debe asumir varios miles de posiciones, el mtodo es
bastante ineficaz y no se lo tiene en cuenta.

Robtica Industrial - Captulo 5 - Pgina n 15

Parada de
emergencia

Perilla para
posicionamiento fino

Logo
empresa

Ajuste de
velocidad

Teclas para
variacin
incremental

Teclas de
posicionamiento

Teclas de
funcin

Leds de estado
de las teclas

Figura 5.9.b Esquema del panel mvil mostrado en la figura 5.9.


Las capacidades de esta forma de programacin pueden ser expandidas
para complementarse con sistemas CAD/CAM, y asimismo, para cumplimentar con los
requerimientos de un sistema CAR (Computer Aided Robotics o Robtica Asistida por
Computadora) completo.
5.2.4.6 - TRANSFERENCIA DESDE OTROS ROBOTS O DESDE COMPUTADORA:

Robtica Industrial - Captulo 5 - Pgina n 16

Si se desea que varios robots realicen la misma tarea en forma individual,


lo ms eficiente es entrenar un manipulador y luego transferir el programa depurado a la
memoria de los dems, lo cual significa tambin que el sistema operativo debe ser capaz
de comunicarse con otros robots y otras computadoras.
5.2.4.7- PROGRAMACIN DE TAREAS:
Ahora el sistema operativo debe planificar cada uno de los detalles
necesarios para llevar a cabo un trabajo completo. Es algo parecido a lo que ocurre
cuando se le indica a un operario que debe limpiar el depsito, y el debe realizar todas
las tareas inherentes a la orden recibida.
Este tipo de programacin solo existe actualmente en los laboratorios, y
an no ha sido llevado a los sistemas industriales, pero se espera que en los prximos
aos el sistema sea ampliamente utilizado.
5.2.5 - TIPOS DE MEMORIA UTILIZADOS PARA LOS SISTEMAS OPERATIVOS:
La mayora de los programas correspondientes a sistemas operativos de
robot son almacenados en una ROM por los fabricantes, lo cual permite que este
presente en el encendido, pero desafortunadamente no son fcilmente cambiables.
En algunas circunstancias, tal como en una computadora, solo una
pequea parte del sistema operativo est en la ROM, y es la que sirve para continuar
con la carga del resto desde una memoria externa, por ejemplo una unidad de discos
flexibles. Esto permite la realizacin de modificaciones, para adaptar el sistema
operativo a cada necesidad.
En los robots de tomar y ubicar, o sea los tambin llamados de
transferencia de materiales o bang-bang, la memoria est formada por engranajes,
tambores y levas, como los de un reloj, o tambin por cables y circuitos elctricos.
Los robots industriales de programacin punto a punto y de trayectoria
continua, poseen memoria de semiconductor tal como una computadora.
5.2.6 - LENGUAJES UTILIZADOS PARA SISTEMAS OPERATIVOS:
El lenguaje en el cual est escrito el sistema operativo, depende en primer
lugar de quien lo escribe, y en segundo lugar de cuales son las computadoras que tiene
disponibles, mejor dicho que software posee para ello.
Los ingenieros electrnicos tienden a utilizar micro computadoras y la
programacin en lenguaje BASIC, los que poseen una preparacin ms slida, utilizan el
FORTH o el C. Los que disponen de grandes equipos y una excelente base en
computacin, prefieren el LISP en los Estados Unidos y el PROLOG en Europa.
5.2.5.1 - LENGUAJES DE MAQUINA:
El lenguaje de mquina de un robot, es el lenguaje que el controlador
puede entender. En los controladores mecnicos de los robots para transferencia de
materiales, el lenguaje de mquina consiste en una serie de fines de carrera, topes
mecnicos, y clavijas insertadas en un tambor, que permiten la apertura y cierre de
contactos mecnicos o electromecnicos.

Robtica Industrial - Captulo 5 - Pgina n 17

Los ingenieros y programadores que escriben programas en el lenguaje de


mquina del robot, deben estar bien familiarizados con todos los detalles del robot y del
controlador, realizando una tarea laboriosa y extremadamente larga, por lo que estos
lenguajes son utilizados solo donde no queda otra alternativa.
5.2.5.2 - LENGUAJES ENSAMBLABLES:
Es una forma de expresar los lenguajes de mquina mediante smbolos en
vez que mediante secuencias de unos y ceros. En este caso la computadora es la
encargada de traducir estos lenguajes al del robot.
A fin de que estos sean tiles, los lenguajes de mquina de los robots deben
ser diseados teniendo en cuenta las instrucciones existentes en los ensambladores que se
tengan a disposicin.
Esta forma de programacin es solo utilizada cuando se requiere una
respuesta muy rpida del robot.
5.2.5.3 - LENGUAJES DE PROGRAMACIN DE ALTO NIVEL:
Como es sabido, estos programas ya son ms familiares al hombre, pues
consisten en la escritura de palabras, entre estos tenemos:
5.2.5.3.1 - BASIC:
Existen algunos manipuladores, pero solo utilizados para enseanza o
como hobby, que son programables en ste lenguaje, algunos equipos industriales
utilizan una variante del BASIC para sus robots.
5.2.5.3.2 - FORTH:
El Forth fue desarrollado para controlar el movimiento de telescopios en
observatorios astronmicos, y dado el parecido de los mecanismos, fue luego utilizado
para programas sistemas operativos de robots.
Es un lenguaje autodefinible, pues si la instruccin necesaria para realizar
un movimiento no existe en el repertorio, el programador puede definir una nueva
orden.
La facilidad de adaptacin del Forth hace que sea muy utilizado en
sistemas de control.
5.2.5.3.3 - LISP:
Lisp es una abreviacin de LISt Processing, habiendo sido desarrollado en
el MIT en los aos 60, en contraposicin a los otros lenguajes conocidos, tales como el
Fortran, Cobol, Pascal, Basic y C, que han sido diseados para manejar nmeros, el
Lisp ha sido preparado para trabajar con smbolos, palabras y frases. Es el lenguaje de
la Inteligencia Artificial.
Una de facilidades mayores del Lisp, es que permite la asignacin de
memoria durante su ejecucin, en contraposicin a los otros que deben asignar espacios

Robtica Industrial - Captulo 5 - Pgina n 18

al comenzar el programa, con lo que pueden manejar en forma eficiente grandes


cantidades de informacin.
En robtica, permite tener instrucciones de movimiento en forma
explcita, o sea que es posible trabajar con objetos en forma muy sencilla.
Existe una amplia variedad de modificaciones del lisp original, que
permiten una gran cantidad de aplicaciones en control automtico.
5.2.5.3.4 - PROLOG:
Este es un lenguaje utilizado principalmente en Japn y en Europa en las
computadoras mas sofisticadas y de mayor tamao. Es un lenguaje orientado a
procedimientos, y es especfico para llevar a cabo computaciones simblicas, tales como
las utilizadas en las bases de datos relacionales, `para clculos de lgica matemtica,
resolucin de problemas abstractos, comprensin del lenguaje natural, diseo
arquitectnico, anlisis de ecuaciones simblicas, anlisis de estructuras bioqumicas, y
varias reas de la inteligencia artificial.
El Prolog puede ser empleado para ayudar al robot a comprender la
informacin que le suministran los sensores.
5.2.5.3.5 - ADA:
Es el lenguaje exigido por las fuerzas armadas de los Estados Unidos de
Norteamrica, por lo que cualquier empresa que desee vender sus robots a este gran
usuario, deber emplearlo.
Es muy parecido al Pascal, incluyndolo como un subconjunto.
5.2.5.3.6 - C:
Es uno de los mejores lenguajes existentes en la actualidad, y tiene
inclusiones o agregados que lo hacen muy til para la programacin de sistemas
operativos para robots. Asimismo, varias versiones de LISP y de Prolog est escritas en
ste lenguaje. Es uno de los ms exitosos de los aos 90.

5.3 - PROGRAMACIN DE APLICACIONES PARA ROBOTS:


Ahora ya hemos visto que lenguajes se utilizan para la programacin de
los sistemas operativos para robtica, por tanto tasaremos a la parte de utilizacin, o sea
los programas de aplicacin, que son los que les hacen realizar una determinada tarea.
5.3.1 - PROGRAMAS DE APLICACIN:
Un programa de aplicacin, es uno que es empleado por el robot para
realizar algn trabajo especfico. Estos son almacenados en memoria tipo RAM, donde
son llevados desde discos o disquetes.
5.3.1.1 - LENGUAJES UTILIZADOS:

Robtica Industrial - Captulo 5 - Pgina n 19

Los primeros mtodos para el entrenamiento de robots no prevean el uso


de lenguajes de programacin de elevado nivel o de tipo conversacional, sin embargo los
mtodos empleados representan un lenguaje de programacin.
A fin de facilitar la programacin, los fabricantes en la actualidad
desarrollan lenguajes de alto nivel, con alguna similitud con el lenguaje humano, por
supuesto que en Ingls. Algunos ejemplos de esto son los denominados: Wave, AL, ACL,
AML, HELP, Karel, MCL, RAIL, RPL, Scorbase, CAP 1, ARMBASIC, Androtext, VAL,
APT, Ladder Logic, y otros.
La compilacin de estos se hace mediante una computadora previo a la
entrega del programa objeto al robot.
5.3.1.2 - PROGRAMACIN MECNICA:
Fu el sistema empleado en los primeros robots, funcionando tal como
vimos antes (5.2.4.1).
5.3.1.3 - GRABACIN PUNTO A PUNTO:
Este requiere el posicionamiento del robot en las varias etapas de la tarea
a realizar, y grabarlas en la memoria para luego ser repetidas. Este mtodo es ms simple
y menos trabajoso que el mecnico de colocar clavijas en un tambor rodante.
5.3.1.4 - TRANSITAR LA TAREA:
Este el lenguaje utilizado para programar los robots de trayectoria
continua para realizar alguna tarea. Requiere que el robot sea conducido a travs de
todos los pasos que debe realizar. Por ejemplo es utilizado en robots para pintura.
5.3.1.5 - LENGUAJES DE ALTO NIVEL:
En lo que sigue trataremos de analizar individualmente algunos de ellos.

5.3.1.5.1 - ACL:
El Lenguaje de Comando Avanzado (Advanced Command Language) es el
que emplea un ambiente de comandos conversacionales amigables para el usuario. Es
muy parecido al Pascal, utilizado en los robots fabricados por Yaskaua y por Eshed
Robotec.
5.3.1.5.2 - APT:
El Herramientas Programadas Automticamente (Automatically
Programmed Tools) es probablemente el mas antiguo de los lenguajes de computadora
que se utilizan para el movimiento. En realidad fue desarrollado para el comando de
mquinas con control numrico.
El lenguaje es compilado por una computadora, dando como salida una
cinta perforada para llevar al control de la mquina. En la figura 5.10 se indican los

Robtica Industrial - Captulo 5 - Pgina n 20

pasos que se realizan desde la actuacin del programador a la obtencin de la cinta


perforada.
Las mquinas de control numrico, actan segn un sistema de
coordenadas cartesianas, requiriendo el posicionamiento tanto de los materiales como de
las herramientas, maquinado con el control de la velocidad de la herramienta, tanto de
translacin como de giro, refrigerante y cambio de herramienta.
Es interesante ver como es el uso de las instrucciones en este lenguaje, el
programa comienza con una sentencia PARTNO, que identifica una secuencia de
programa apta para la realizacin de alguna tarea. El final del programa es indicado por
un la sentencia FINI.
Luego de la sentencia PARTNO, el programa usualmente presenta una
lista de definiciones geomtricas, seguidas por el establecimiento de un punto de origen,
que utiliza la sentencia SETPT, que puede resultar escrita como:
SETPT + POINT / 0, 0, 0.
Esto es seguido por una lista de movimientos de la mquina que hacen
referencia a las definiciones geomtricas. Finalmente la mquina es detenida por la
sentencia STOP, y la secuencia es terminada por la sentencia END.
Las sentencias utilizadas para describir formas y acciones geomtricas,
son: POINT, CIRCLE, CONE, CYLNDR, HYPERB, LINE, PLANE, QADRIC,
RADIUS, VECTOR, y SPHERE. Si una operacin puede ser expresada en trminos
geomtricos, puede ser escrita en este lenguaje. Las sentencias utilizadas para el
movimiento incluyen: PICKUP, UNLOAD, LEFT, RIGHT, GOTO, IN, OUT, ON y
OFF.
La velocidad de la herramienta y su direccin de movimiento puede ser
controlada mediante la sentencia:
SPINDL / n, CLW (o CCLW)
donde CLW significa rotacin segn las agujas del reloj y CCLW rotacin en sentido
contrario a las agujas del reloj. (CLock Wise y Counter CLock Wise)
Para la velocidad de avance de la herramienta, puede decirse:
FEDRAT / n
donde n es la velocidad en m o cm por minuto.
El flujo del fluido refrigerante, es controlado por la sentencia:
COOLNT / cc

Robtica Industrial - Captulo 5 - Pgina n 21

donde cc expresa el caudal en centmetros cbicos por segundo o por minuto.


Figura 5.10 - Secuencia a realizar para la programacin APT.

Figura 5.11 - Tarea de desbarbado de una ranura.

Robtica Industrial - Captulo 5 - Pgina n 22

En la figura 5.11, tenemos el diagrama de una tarea posible para un robot


que utiliza el lenguaje APT. El problema es el de eliminar las rebabas de una ranura
abierta sobre la cara lateral de un cilindro, el programa que puede utilizarse es:
PARTNO
SETPT
C1
P1
P2
REMARK

DEBURR SLOT
MACHUNE/UNIV.1
OUTTOOL / 0.0005
= POINT 10, 18, 24
= CIRCLE / 72, 356, 24, 36
= POINT / 41.8231, 18, 24
= POINT / 41.8231, 54, 24
DEBURR SLOT
CUTTER / 4
FROM / SETPT
SPINDL / 600, CCLW
FEDRAT / RAPID
GOTO, P1
FEDRAT / 10
GOLFT / C1, PAST, P2
FEDRAT / RAPID
GOTO / SETPT
STOP
END
FINI

Por supuesto que para escribir un programa de este tipo, es necesario


tener algn conocimiento sobre la mquina y sobre las tcnicas de su uso. Entre otros,
debe saber las posibles velocidades de la herramienta, de su velocidad de avance, de su
forma de trabajo, etc., las cuales son funcin del material a trabajar.
5.3.1.5.3 - WAVE:
Es un lenguaje desarrollado para su aplicacin en robots de investigacin
por el laboratorio de Inteligencia Artificial de la Universidad de Stanford en 1973.
5.3.1.5.4 - AL:
El nombre significa Lenguaje para brazos (Arm Language) y es de alto
nivel, tambin desarrollado pro el Centro de Estudios en Robtica de la Universidad de
Stanford. Es utilizado en investigacin, especialmente en humanoides donde se requiere
coordinacin entre ambos brazos.
5.3.1.5.5 - AML:
Fue desarrollado para el robot de montaje IBM RS/1, la designacin
corresponde a: Un Lenguaje para Manufactura (A Manufacturing Language).
Es un lenguaje altamente estructurado, relacionado con el Algol, el APL y
el Lisp.
5.3.1.5.6 - HELP:
Es el lenguaje utilizado para el control de algunos de los robots fabricados
por FANUC Inc.

Robtica Industrial - Captulo 5 - Pgina n 23

5.3.1.5.7 - CAP 1:
(Conversational Auto Programming 1 o Programacin Automtica
Conversacional 1) es un lenguaje robtico utilizado por los controladores de algunos
robots de FANUC Inc., utilizando los principios de amigable al usuario, de paso a paso y
de aproximacin interactiva.
5.3.1.5.8 - MCL:
El MCL (Manufacturing Control Language o Lenguaje para Control de
Manufacturacin) es un programa de alto nivel desarrollado por la McDonell Douglas
para la Fuerza Area de los Estados Unidos, para ser aplicado al programa ICAM (Inter
Continental Automatic Missile). Es una extensin del lenguaje APT, permitiendo la
comunicacin con sistemas de visin y con sistemas tctiles.
Tambin es un lenguaje de alto nivel, desarrollado para el robot de
montaje Allegro de General Electric Co., puede ser imaginado como una extensin del
Pascal, siendo til para manejar varios manipuladores simultneamente desde un solo
control, operando con un sistema de coordenadas tal como el del robot articulado,
soportando el uso de sensores tctiles inteligentes.
5.3.1.5.9 - KAREL:
Son leguajes utilizados por la empresa FANUC en algunos de sus robots.
5.3.1.5.10 - RAIL:
Es un lenguaje de alto nivel desarrollado por la empresa Automatix, para
su uso en robots y sistemas de visin. Es una extensin del lenguaje Pascal. Puede ser
utilizado para programacin fuera de lnea o durante la operacin.
5.3.1.5.11 - ARMBASIC:
Es una extensin del lenguaje para hobbystas, utilizando el BASIC. Fue
desarrollado para la micro computadora TRS-80 de Radioshak, para controlar un brazo
robtico Mini-Mover, con fines didcticos.
5.3.1.5.12 - ANDROTEXT:
Este lenguaje ha sido desarrollado por Robotronic Corporation, para
comandar fcilmente un robot personal. El compilador que traduce al Androtext al
lenguaje de mquina en cambio es propiedad de Heath Company, y ha sido escrito para
el robot Hero I.
Se pretende que el lenguaje sea comprendido an por personas con escasos
conocimientos tcnicos, por lo que tiene las caractersticas comunes de cualquier
lenguaje de computadora, adems de agregar dos clases de instrucciones aplicables a
robots:
- Una para disponer y leer sensores.
- Otra para operar los efectores.
Las primeras adems tambin son de dos tipos, uno para leer los sensores
pasivos, y otro para sensores externos, tales como visin o sistemas tctiles. En modo

Robtica Industrial - Captulo 5 - Pgina n 24

similar las correspondientes a los efectores, tambin son de dos tipos, las pasivas, para
efectores pasivos tales como control de luces o de sonidos, y las activas, para los efectores
que mueven el robot.
5.3.1.5.13 - VAL:
Es un lenguaje de programacin de alto nivel desarrollado por Unimation
Inc. para sus robots Unimate y Puma. Es una extensin del BASIC. El sistema operativo
de VAL soporta la programacin fuera de lnea y durante la operacin, y puede
comunicarse con sensores tctiles y visuales. Est siendo utilizado por el programa
PUMA de General Motors, que consiste en la robotizacin completa de una planta de
produccin de automotores, la primera realizada en los Estados Unidos de Norteamrica.
El breve programa que sigue es correspondiente a un operador de tomar y
ubicar:
PROGRAM PICKPLACE
1. MOVE P1
2. MOVE P2
3. SPEED 25
4. MOVE P3
5. CLOSEI 0.00
5. MOVE P3
7. MOVE P5
8. MOVE P6
9. SPEED 20
10. OPENI 0.00
.END
5.3.1.5.14 - LGICA ESCALERA:
Es un lenguaje de programacin diseado para ser utilizado por los
electricistas, dado que se asemeja a la lgica de rels o de llaves utilizada en lavadoras y
otros electrodomsticos.
Los robots que utilizaban este sistema de programacin son los que no
tienen controlador o con un controlador lgico programable.
Este sistema es muy til para las personas que trabajan en robtica, pues
los controladores lgicos programables (PLC) son muy empleados para el control de
lneas de montaje, donde se aplican robots.
Un robot sin controlador, debe ser capaz de realizar tareas mediante el
movimiento de sus elementos, su programa de lgica escalera, debe tener un peldao o
circuito por cada movimiento deseado para cada elemento.
Si el robot emplea resortes para efectuar el retorno de los actuadores, el
circuito se reduce a la mitad. En la figura 5.12 se tiene un esquema del mecanismo
empleado, mientras que en la 5.12.a se tiene una muestra de un circuito escalera lgico
con identificacin de las entradas y elementos para tal robot. Como el PLC est
equipado con un secuenciador para controles, es posible programar la secuencia de
eventos que tiene lugar en la actuacin del manipulador.

Robtica Industrial - Captulo 5 - Pgina n 25

En la figura 5.13 se tiene el diagrama lgico escalera con un registro de


comandos para realizar la siguiente secuencia de movimientos:
- extender el brazo
- cerrar la garra
- retraer el brazo
- elevar el brazo
- rotar a la izquierda
- extender el brazo
- abrir la garra
- retraer el brazo
- bajar el brazo
- rotar a la derecha
Figura 5.12 Robot para tomar y colocar.
Entrada

Dispositivo de
salida

Levantar

Rotar
Izquierda

Extender

Agarrar

Figura 5.12.a Circuito escalera.


Figura 5.13 -

Programa con PLC.


5.3.2 - TCNICAS DE ENSEANZA O APRENDIZAJE:
Enseanza, aprendizaje y atiempamiento, conocidas en conjunto como
puesta a punto de una tarea, implica guardar la secuencia de movimientos deseada en la
memoria de control del robot, para que realice una cierta tarea. Varias tcnicas pueden
se empleadas para llevar a cabo esto, incluyendo la operacin manual del control, la
transferencia desde otro robot, y la programacin fuera de linea.

5.3.2.1 - CONTROL MANUAL:


Muchos robots requieren el uso de algn tipo de control manual para su
programacin. En el caso de aquellos de tomar y ubicar, el control puede consistir en la
ubicacin manual de fines de carrera y topes de mecanismos.

Robtica Industrial - Captulo 5 - Pgina n 26

En el caso de los robots con trayectoria punto a punto, el control puede


tomar la forma de una tablero volante (ver figura 5.9) para mover el extremo en cierta
secuencia de posiciones, la cual es grabada en la memoria para luego realizar el trabajo.
En el caso de trayectoria continua, el robot puede ser llevado
manualmente siguiendo la trayectoria deseada.
5.3.2.1.1 - TOPES MECNICOS:
Los robots con accionamiento neumtico generalmente son programados
mediante la correcta ubicacin de topes mecnicos y fines de carrera elctricos, mientras
que disponen de un tambor rodante con clavijas, cuya posicin indica el momento en el
cual se debe activar a cada efector.
El entrenamiento o aprendizaje de estos robots generalmente consiste de
dos pasos:
1 - Se ubican los topes de los actuadores en las posiciones deseadas, para lo cual
normalmente solo usa un destornillador o una llave, pues los topes se fijan
mediante tornillos o tuercas.
2 - Se ubican los indicadores para que el sistema de control haga que los
actuadores realicen la secuencia necesaria.
5.3.2.1.2 - CONTROL PUNTO A PUNTO:
En este caso se debe posicionar al robot en cada uno de los puntos que
debe alcanzar, en la secuencia adecuada, y se almacenan en la memoria los parmetros
de cada uno de ellos.
En la figura 5.14 se tiene un posible diagrama de flujo del proceso de
programacin, lo cual es precisamente un delineamiento del orden en el cual se deben
hacer las cosas.
Estos robots generalmente tienen un panel de control para su
entrenamiento. El panel, que tambin puede ser un tablero o teclado mvil o pendiente,
mediante el cual el operador hace que el robot realice los movimientos necesarios en la
secuencia indicada, a una velocidad reducida.
Cuando se alcanza el punto deseado, el operador guarda en memoria los
parmetros del mismo, presionando el botn indicado con el texto guardar o
almacenar.
La trayectoria entre dos puntos no es programable, pero si se emplea un
sistema de coordenadas ortogonales, y una sola de las articulaciones acta, el
movimiento es aproximadamente lineal, o por lo menos ocurre sobre una lnea recta.

Robtica Industrial - Captulo 5 - Pgina n 27

En cambio si se mueven simultneamente ms de una articulacin, la


trayectoria puede ser cualquiera
Figura 5.14 - Diagrama de flujo del proceso de programacin punto a punto.

Generalmente la memoria del control de estos robots tienen una capacidad


que es medida en cantidad de comandos o punto que se pueden almacenar.
5.3.2.1.3 - TRAYECTORIA CONTINUA:
Muchos robots de trayectoria continua requieren que el operador realice
un ciclo del movimiento deseado a velocidad normal, mientras se mantiene apretado el
pulsador de almacenamiento.
La unidad de control graba muchos puntos por segundo en su memoria
electrnica (RAM) mientras el robot va realizando la trayectoria.

Robtica Industrial - Captulo 5 - Pgina n 28

Para facilitar el movimiento del manipulador, los robots de accionamiento


hidrulico tienen la facilidad de puentear los cilindros a fin de alivianar la tarea del
operador durante la programacin.
Por otra parte, cualquier tarea implica la detencin o activacin de otras
mquinas o herramientas, lo cual debe tambin programarse mientras se programa al
manipulador. En la figura 5.15 se muestran los lineamientos generales de este tipo de
programacin de robots mediante un diagrama de flujo.
Figura 5.15 - Diagrama de flujo del proceso de programacin de trayectoria continua.
5.3.2.1.4 - TRANSFERENCIA DESDE OTRO ROBOT:

Normalmente los robots industriales programables electrnicamente


tienen una interfaz que les permite transferir la programacin a una computadora, o
directamente cargarla desde ella.
Inclusive es posible tener una librera de programas que son cargados
segn necesidad.
Debido a los juegos mecnicos y/o pequeas diferencias entre robots, an
de un mismo modelo, los programas deben tener la posibilidad de recibir pequeos

Robtica Industrial - Captulo 5 - Pgina n 29

ajustes, para lo cual pueden organizarse tablas de correccin en las computadoras de


control. Este es uno de los mtodos ms eficientes.
5.3.2.1.5 - PROGRAMACIN FUERA DE LNEA:
La programacin fuera de lnea es muy dificultosa, salvo en el caso de
robots de movimientos segn coordenadas cartesianas. Normalmente es necesario tener
por lo menos un modelo a escala del robot y/o un programa de simulacin en
computadora.
El principal beneficio de este mtodo de programacin es que no se
necesita emplear un robot para hacerlo, lo cual tambin importa que el mismo sigue
realizando su trabajo normal.
La forma ms prctica es la de programar al robot por el mtodo de la
trayectoria continua, y luego en una computadora realizar, fuera de lnea, las
correcciones necesarias, lo cual puede incluir la realizacin de tareas sobre piezas de
diferente tamao, o la edicin del programa para la correccin de errores.
5.3.3 - PASOS A SEGUIR PARA EL ENTRENAMIENTO DE UN ROBOT:
Los siguientes pasos son necesarios para ordenar la creacin de un
programa `para computadora para resolver cualquier tipo de problema o tambin para
entrenar o educar a un robot para la realizacin de nuevas tareas:
1. Definir al problema.
2. Delinear las etapas de la solucin
3. Expresar las distintas etapas en el lenguaje de la computadora o del
robot.
4. Suministrar las etapas como instrucciones para la computadora o el
robot.
5. Controlar la solucin resultante.
5.3.3.1 - LISTANDO LOS HECHOS DEL PROBLEMA:
Para la definicin del problema que el robot debe resolver, es conveniente
listar especficamente las piezas del problema. Una vez bien comprendidos todos los
detalles del problema, las chances de obtener una buena solucin son muy grandes.
5.3.3.2 - DELINEAMIENTO DE LA SOLUCIN DEL PROBLEMA:
Una vez definido el problema, es necesario delinear los pasos necesarios
para su solucin. Si el problema puede resolverse mediante un robot industrial, quiere
decir que la tarea es fcilmente llevada a cabo por un operario inexperto o semi
experimentado. Observando como lleva a cabo la tarea el operario que ser reemplazado
por el robot, es una buena manera para obtener un buen delineamiento de los pasos de la
tarea a realizar por el robot.
Es interesante tener en cuenta los lugares donde el humano debe tomar
alguna decisin sobre la forma de realizar esa parte de la tarea, asimismo es conveniente
denotar cualquier paso inusual que el humano pueda necesitar realizar. Estas decisiones
y alternativas pueden poner en problemas al robot en la concrecin de la tarea.

Robtica Industrial - Captulo 5 - Pgina n 30

Una vez que se ha observado como el operario resuelve el problema, es


necesario realizar un control sobre las diferencias entre las tcnicas empleadas por el
robot y por el humano. El robot puede necesitar realizar acciones diferentes a las del
humano.
Cualquier paso que requiera la sincronizacin con otros humanos,
mquinas o robots, son muy importantes, por lo que se les debe prestar una atencin
muy especial.
5.3.3.3 - EXPRESANDO Y ENTRANDO LAS ETAPAS EN EL LENGUAJE DEL
ROBOT.
Una vez que se tienen los lineamientos de la solucin, la tarea es la de
confeccionar un programa para la actuacin del robot, en su propio lenguaje. Esto puede
consistir en la puesta a punto de un conjunto de engranajes, levas, topes y fines de
carrera, o puede consistir en el establecimiento de una serie de puntos de
posicionamiento y su grabacin, o en hacer pasar al manipulador por la serie de pasos en
un sistema de trayectoria continua.
Algunos robots pueden recibir su lista de instrucciones en forma hablada,
mientras que algunos podrn hacerlo desde una computadora en un lenguaje de alto
nivel.
5.3.3.4 - CONTROLANDO LA SOLUCIN OBTENIDA:
Despus que los comandos o instrucciones han sido entregadas a la
memoria del robot, el programa esta listo para ser controlado, para lo cual se lo hace
cumplir las ordenes, al tiempo que se va verificando la exactitud con que realiza el
trabajo. Esto puede hacerse tambin en blanco, o sea solamente mediante los
movimientos del manipulador, sin que funcionen las maquinarias y an sin las piezas
que debe manipular.
Este control permitir corregir eventuales errores, as como observar la
velocidad a la cual se puede realizar cada movimiento, para la optimizacin del mismo, y
de todas las tareas a realizar para cumplir con la totalidad del trabajo encomendado.
Inclusive es buen momento para insertar los controles de seguridad adecuados.
5.4 - PROGRAMACIN DEL ROBOT RHINO:
Rhino es un robot educacional, con control punto a punto, que puede
ser programado mediante un tablero volante tal como el indicado en la figura 5.15. El
programa que analizaremos es para realizar una tarea muy simple, pero que muestra
algunas de las tcnicas usuales en esta forma de programar.
El programa lleva al brazo a un punto de reposo, de donde los mueve
hacia una pieza, luego toma la misma con la garra, y la mueve hasta un punto cercano al
de reposo. Sin dejar la pieza, la vuelve a colocar en su posicin original, donde la deja, y
se vuelve a la posicin de reposo.

Robtica Industrial - Captulo 5 - Pgina n 31

Figura 5.16 - Tablero volante del robot Rhino.


Si el programa funciona, es posible hacer que la operacin sea iterativa,
recordando siempre que el modelo y por tanto el programa son de tipo demostrativo.
La programacin procede como sigue:

Robtica Industrial - Captulo 5 - Pgina n 32

1 - Mediante el tablero volante se predisponen todos los movimientos en


su lmite, activando los fines de carrera (reposo o home).
2 - Se pulsa el reset y se espera que el robot se ubique en la posicin de
reposo.
3- Se pulsan simultneamente los botones marcado SHIFT y GO HARD
HOME
4 - Se pulsa LEARN/ENTER, con lo cual el display cambia de P a L.
5 - Mediante los pulsadores con flechas se posiciona al robot justo encima
de la pieza que debe tomar, una vez alcanzada se pulsa nuevamente
LEARN/ENTER.
6 - Nuevamente mediante las flechas se debe hacer que la garra rodee la
pieza, y se pulsa LEARN7ENTER.
7 - Ahora se pulsa GRIPPER ON y luego LEARN/ENTER.
8 - Levantar un poco la pieza por sobre la mesa, nuevamente pulsar
LEARN/ENTER.
9 - Se lleva nuevamente al manipulador a las proximidades de la posicin
de reposo, para lo cual no se debe usar ni GO HARD HOME, ni GO
SOFT HOME, dado que ellas abren la garra. Luego siempre se
pulsa LEARN/ENTER.
10- Se debe posicionar nuevamente al robot en la posicin donde estaba
pieza y se pulsa LEARN/ENTER.
11- Se baja la pieza hasta depositarla en la mesa y se pulsa
LEARN/ENTER.
12- Se pulsa GRIPPER OFF y luego LEARN/ENTER.
13- Se levanta la garra hasta que se encuentre por sobre la pieza y se pulsa
LEARN/ENTER.
14- Se repone la posicin a aproximadamente el punto de reposo y se pulsa
LEARN/ENTER.
15- Se termina el programa pulsando GO SOFT HOME y luego
LEARN/ENTER.
16- Pulsar END PLAY.
Para correr al programa se debe pulsar RUN/HALT y el programa se
repetir indefinidamente hasta que se pulse END/PLAY.
Utilizando el tablero volante es posible tambin efectuar la edicin del
programa a fin de corregir eventuales errores o modificar las distancias a alcanzar por el
manipulador. En la figura 5.17 se muestra el diagrama de flujo posible de utilizar para
efectuar esta edicin.
El modo editor del Rhino es alcanzable solamente en el modo PLAY, con
un programa en memoria del controlador, para ello se debe pulsar EDIT, y entonces el
display deber presentar la inscripcin:
EStP 1
lo que significa que se entra en el modo editor paso uno.
En este modo es posible visualizar los comandos de Entrada/Salida de
cada motor en cualquier movimiento, para lo cual se deben ejecutar los pasos siguientes:
1 - Pulsar PREVIOUS/MOVE/NEXT MOVE, hasta llegar al movimiento
deseado.

Robtica Industrial - Captulo 5 - Pgina n 33

2 - Pulsar PREVIOUS MOTOR/NEXT MOTOR para alcanzar el motor


deseado.
A medida que se recorre el programa, los motores que no se mueven en ese
paso presentan un 0, salvo el motor que controla la garra, en el cual se presenta la
indicacin OPEN o CLOSE si esta abierto o cerrado respectivamente.
Para cambiar la posicin de los motores, una vez alcanzado el paso
deseado y el motor deseado, se acciona la llave del motor indicado para cambiar su
estado.
La edicin de una posicin no modifica a las dems, pues se almacenan en
forma independiente.
Previo a la puesta en marcha con las modificaciones es conveniente
comprobar si las mismas son posibles, o si se realiza algn movimiento inadecuado.
Las llaves INSERT MOVE y DELETE MOVE permiten que el usuario
inserte nuevos movimientos o de de baja algunos de los grabados. Para insertar o borrar
un dado movimiento, es necesario alcanzarlo en la forma antes indicada y luego pulsar
correspondiente.

Figura 5.17 - Pasos a seguir para editar un programa robtico.


En la figura 5.18 se tiene una fotografa del robot Rhino, que ha sido
construido especialmente para su uso en sistemas educacionales.

Robtica Industrial - Captulo 5 - Pgina n 34

Figura 5.18 -Rhino, el robot para enseanza.

5.5 - APLICACIONES EN ROBOTICA DE LA INTELIGENCIA ARTIFICIAL:


La inteligencia artificial es una rama de la ciencia de la computacin que
trata de la automatizacin del comportamiento inteligente. La investigacin en este
campo ayuda a la realizacin de los llamados robots inteligentes.
Si tratamos de definir la inteligencia de un robot, por el momento podemos
decir que se trata de:

Un dispositivo de un solo brazo, ciego e idiota, con una


memoria muy limitada que no puede hablar, ni ver, ni or.
Aunque actualmente un robot puede tomar algunas decisiones recibiendo
informacin sensorial muy limitada, por lo que tienen una reducida habilidad para
adaptarse a su entorno, seguramente en un futuro no muy lejano, mediante la aplicacin
de las tcnicas de la inteligencia artificial, podremos decir que es un ser cuasi
inteligente.
5.5.1 - QUE ES LA INTELIGENCIA ARTIFICIAL:

Robtica Industrial - Captulo 5 - Pgina n 35

Cuando una persona o un animal realizan alguna tarea que parezca


necesitar el auxilio de una cierta inteligencia, decimos que ha realizado un acto
inteligente.
Cuando una mquina lleva a cabo algn trabajo que parezca precisar de
una cierta inteligencia, decimos que ha realizado un acto artificialmente inteligente.
El problema radica en definir que es la Inteligencia, o que se entiende
por Inteligencia. Una forma sencilla de definirla es decir que es la habilidad de
aprender de la experiencia, o la habilidad de adaptarse al ambiente circundante.
En realidad, la inteligencia ms que ser definida, necesita ser demostrada,
por ello es que podemos hacer un listado de circunstancias en las cuales se demuestra la
existencia de algn tipo de inteligencia:
l - Aprender de la experiencia.
2 - Adaptarse a los cambios del ambiente.
3 - Recibir y procesar visin, habla, y otras entradas para obtener
informacin especfica.
4 - Tomar decisiones en base a la informacin adquirida.
5 - Generar acciones y/o memorias a partir de las decisiones.
La inteligencia artificial es mayormente conocida en la actualidad por los
avances habidos en los campos de los sistemas expertos, procesamiento de visin,
comprensin de imgenes, reconocimiento del habla, sntesis del habla y comprensin del
lenguaje natural.
Si bien mucha gente piensa que con la aplicacin de estos mtodos una
mquina puede pensar, podemos decir que aunque la inteligencia artificial tiende a
imitar el pensamiento humano, carece de la posibilidad de innovar, por cuando el
proceso es siempre determinstico, o sea todas las posibles soluciones deben haber sido
previstas previamente, mientras que el ser humano es de comportamiento esencialmente
no deterministico.
5.5.1.1 - NIVELES DE LA INTELIGENCIA ARTIFICIAL:
En un esfuerzo por establecer con ms precisin el estudio de la
inteligencia, los investigadores han definido tres niveles diferentes, el nivel alfa, el beta y
el gamma.

5.5.1.1.1 - INTELIGENCIA ALFA:


Es definido as al nivel incapaz de aprender, o sea que no es capaz de
utilizar la experiencia en la toma de decisiones. En este nivel se encuentran actualmente
las aplicaciones en robtica. Es tambin denominada inteligencia pre-instalada.

Robtica Industrial - Captulo 5 - Pgina n 36

5.5.1.1.2 - INTELIGENCIA BETA:


Es el nivel capaz de tener unas pocas capacidades de aprender,
especialmente sobre los errores y fallas que en el pasado han afectado la toma de
decisiones. Por ejemplo las mquinas que juegan ajedrez, que tratan de no repetir las
jugadas que las llevaron a perder una partida.
5.5.1.1.3 - INTELIGENCIA GAMMA:
Es el nivel donde se tiene la habilidad de concluir generalizaciones a partir
de la experiencia pasada. Esto tambin es conocido con el nombre de heurstica.
En la ciencia de la computacin se est tratando de alcanzar este nivel de
inteligencia, pero hasta el momento las experiencias no son del todo satisfactorias.
De cualquier manera, el nivel no est completamente definido, por tanto es
difcil decir si se lo alcanza o no.
5.5.2 - SISTEMAS EXPERTOS:
Un sistema experto es un programa de computadora que contiene
informacin que representa una condensacin de alguna porcin del conocimiento
humano. Una vieja forma de sistema experto es la tabla de bsqueda rpida de
problemas incluida en los manuales del usuario.
Un robot puede emplear un sistema experto para distinguir entre una serie
de diferentes piezas que debe tomar en una lnea de montaje.
Un sistema experto consta de cuatro partes:
- Un motor de inferencias
- Una base de conocimientos
- Una base de datos
- Una interfase al lenguaje natural.
El motor de inferencias o interpretador de reglas, compara hechos y reglas,
o sea que es el controlador del sistema. La base de conocimientos, contiene las reglas
La base de datos recolecta los hechos entregados al sistema por el usuario.
Estos hechos guan al motor de inferencias a tomar la decisin sobre que reglas son
aplicables al problema.
La intefase con el lenguaje natural permite al usuario comunicarse con el
sistema experto en un lenguaje natural tal como el ingls, el espaol, etc.
La operacin del sistema experto puede tener lugar en alguno de dos
modos:
l - modo adquisicin
2 - modo consulta
En el primero se alimentan las reglas al sistema, mientras que en el
segundo es cuando se resuelve el problema.

Robtica Industrial - Captulo 5 - Pgina n 37

En la figura 5.19 se tiene el esquema de un sistema experto.


Reglas del experto

Base de
conocimientos
Interfase con
el
lenguaje
natural

Motor
de
Inferencias

Experto

Usuario

Base de
datos
Programa

Comparacin de
hechos y reglas

Hechos del
usuario

Figura 5.19. - Modelo de sistema experto.


5.5.3 - REDES NEURONALES:
Una red neuronal es una representacin artificial del cerebro humano, que
trata de simular el proceso de aprendizaje. El trmino artificial significa que las redes
neuronales se implementan en computadora, mediante programas que son capaces de
manejar una gran cantidad de clculos durante el proceso.
A fin de ver como trabaja una red neuronal, veamos como se piensa que
trabaja nuestro cerebro, que est formado por billones de clulas neuronales capaces de
procesar informacin.
Cada clula trabaja como un procesador muy simple, y solo la masiva
interaccin entre todas las clulas en paralelo hacen posible la extraordinaria capacidad
de nuestra mente.

Robtica Industrial - Captulo 5 - Pgina n 38

Una clula neuronal o neurona, tiene la forma indicada en la figura 5.19,


donde vemos que est formada por un ncleo, dendritas que llevan la informacin y un
axn, tambin con dendritas que la conecta con otras clulas.

Figura 5.19 - Neurona.


La informacin entra por las dendritas prximas al ncleo sumndose en
el mismo para luego ser enviada a clulas prximas mediante el axn.
Para que ello ocurra, el nivel de seal entrante debe ser lo suficiente
elevado, por encima de un cierto umbral como para que la clula se active, en caso
contrario se dice que est inhibida.
La conexin entre neuronas es adaptiva, lo que significa que la
estructura de la red cambia dinmicamente, y se supone que la capacidad de aprendizaje
del cerebro humano est basada esencialmente en esta adaptacin.
5.5.3.1 - TIPOS DE REDES NEURONALES:
Existen varios tipos de redes neuronales, que se distinguen entre si por:
- Su tipo:
- de alimentacin directa
- de retroalimentacin
- Su estructura
- El algoritmo de aprendizaje que utiliza.

Robtica Industrial - Captulo 5 - Pgina n 39

En el caso de las redes neuronales de alimentacin directa, cada neurona


est conectada a las de la capa siguiente, mientras que en las de retroalimentacin,
tambin puede haber conexin entre las neuronas de la misma capa.
5.5.3.2 - EL PERCEPTRN:
Es una red neuronal simple, de dos capas y que acepta solo valores
binarios de entrada y salida. El proceso de aprendizaje es supervisado, siendo la red
capaz de resolver las operaciones lgicas bsicas AND y OR.

valores de entrada

capa de
entrada
matriz de
peso
capa de salida

valores de salida

Figura 5.19 - Perceptrn.


Tambin se puede implementar un perceptrn multicapa, agregando mas
matrices de peso y mas niveles de neuronas, inclusive se pueden poner otras lneas de
conexin, que darn lugar a una red de propagacin inversa.
5.5.3.3 - EL PROCESO DE APRENDIZAJE:
En el cerebro humano la informacin es pasada entre neuronas en forma
de estmulos elctricos que se conectan por las dendritas. Pero de aqu a saber como se
produce el proceso de aprendizaje es bastante complicado, por lo que podemos decir
que verdaderamente an nadie lo sabe.
Se supone que durante el proceso de aprendizaje la estructura de las
interconexiones va cambiando, en forma tal que ciertas estimulaciones solo son recibidas
por ciertas neuronas, lo cual hace que hayan ciertos enlaces que se hacen ms fuertes
una vez que han prendido un dado hecho.
Como se indic anteriormente, las redes neuronales tratan de imitar este
comportamiento, pero a la inversa del sistema humano, aqu las conexiones no cambian,

Robtica Industrial - Captulo 5 - Pgina n 40

y durante el proceso de aprendizaje se hace que las conexiones tengan un cierto peso, o
sea una cierta importancia, e sea que:
La informacin entrante estimula (cuando supera cierto valor umbral) a ciertas
neuronas que pasan la informacin a otras que tiene conectadas, o previene un ulterior
transporte a lo largo de las conexiones pesadas.
5.5.4 - CUALES SON LAS MANERAS EN QUE LA INTELIGENCIA ARTIFICIAL
PUEDE AYUDAR A LA ROBTICA.
La incorporacin de un sistema de visin puede ampliar el rango de
utilizacin de un robot, al ampliar sus capacidades de sensado. Pero lamentablemente
por el momento, el robot puede trabajar en tiempo real, mientras que las aplicaciones de
la Inteligencia Artificial necesitan un cierto tiempo para actuar.
Un sistema de reconocimiento de voz permitira acelerar el tiempo de
programacin de un robot, pero para ello debera implementarse un somero vocabulario,
de trminos muy precisos y sin posibilidades de ser interpretados de diferente forma.
El sistema de programacin por aprendizaje, en avanzado estado de
desarrollo, permite que el robot pueda ir aprendiendo rpidamente los movimientos
exactos a realizar para una dada tarea, habindole alimentado solamente indicios de la
misma.
Evidentemente, esto nos lleva a un futuro en el cual el robot podr ser
programado para realizar una multiplicidad de operaciones, solo con indicarle
aproximadamente cuales son los lineamientos generales de las mismas, y el sistema de
aprendizaje har el resto por aproximaciones sucesivas.
5.5.4.1 - FLEXIBILIDAD:
La presencia de un sistema de visin hace que ya no sea necesario ubicar
al objeto en una posicin tan definida, sino que el robot puede encargarse de buscarlo y
tomarlo, lo cual hace que se le puedan encargar tareas ms complicadas, al tiempo que se
simplifica el entrenamiento.
Con esta simplificacin del entrenamiento y el aumento de la complejidad
de las tarea encomendables, el robot puede actuar casi por si mismo, entonces, por
ejemplo, podremos encargarlo del tratamiento de la basura hogarea, o de la pintura de
las paredes, la limpieza, etc.
La inteligencia artificial entonces facilitara el uso del robot con una
flexibilizacin antes nunca pensada, pero ello tambin importar un mejoramiento
notable en los sistemas de sensado y de movimiento.

5.5.4.2 - LGICA DIFUSA:


Esta es una parte de la inteligencia artificial que puede modificar los
sistemas de control a fin de que el robot pueda actuar con soluciones aproximadas en vez
de con soluciones exactas.

Robtica Industrial - Captulo 5 - Pgina n 41

Los problemas con que trata la lgica difusa son aquellos en donde hay
diversas zonas grises con diversas soluciones razonables. El objetivo es obtener la mejor
de estas soluciones posibles, lo cual aumentar aun ms la flexibilidad de operacin.
5.5.4.3 - FACTORAS AUTOMATIZADAS:
La fabrica totalmente automatiza es la que toma en su entrada los
materiales necesarios y entrega los bines finalizados por su salida sin intervencin del
hombre en ninguna de las etapas.
El humano proveer al proyecto diseo y construccin de la planta, a la
puesta a punto del sistema automtico y al proyecto y diseo de los bienes a producir, asi
como del mantenimiento indispensable para cada mquina.
La factora automatizada contiene equipos de produccin, robots, equipos
de manejo de materiales, todos controlados por computadora. El gerencia miento dentro
de la planta automatizada puede ser llevado a cabo por sistemas expertos, para lo cual se
debe disponer de computadoras que supervisen el funcionamiento de cada parte y
equipo, y la disposicin de un sistema central que distribuya y controle la actividad de
las computadoras supervisores.

You might also like