8/17/2019 Grupo 1-Programación en Robótica-27!3!16
1/50
PROGRAMACION USADA EN
ROBOTICACaracterísticas, clasificaciones,tipos y datos de algunos lenguajesde programación aplicados a larobótica.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
2/50
INDICE
Características de los Lenguajes de Programación.Clasificación de los lenguajes
Clasificación de la Programación usada en Robótica
Programación Gestual o directaGestual punto a punto Aprendizaje directo Aprendizaje por dispositivos de enseñanza
Programación Textual especificativaConcusionesBibliografía
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
3/50
CARACTERÍSTICAS DE LOS LENGUAJES
Diferencias entrelos lenguajes deprogramación de robots y lenguajes
clásicos:
El entorno en el que actúa el robot no puededescribirse normalmente en términos puramentecuantitativos.
Se necesitan incluir condiciones no usuales, comola prevención de colisiones.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
4/50
CARACTERÍSTICAS DE LOS LENGUAJES
Las acciones del robot están sujetas aimprecisiones que pueden dar lugar a incidentesque el programa debe ser capaz de procesar.
Ciertas informaciones de los sensores del sistemapueden ser no sólo difíciles de procesar en tiemporeal, sino también ambiguas.
La mayoría de los entornos de programación sepueden realizar con seguimiento paso a paso delo programado.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
5/50
Un lenguaje de programación de robots puede tener lassiguientes Características:
Proporcionartipos de datos convencionales y específicos
(posicionamiento y orientación espacial).
Comprobación de sucesos, señales generadas por lossensores y su almacenamiento en variables sensoriales. Estasvariables son de alcance global y no se inicializan
explícitamente en el programa, como las variablesconvencionales.
Elementos depriorización de sucesos en caso deactivación simultánea de varios sensores.
CARACTERÍSTICAS DE LOS LENGUAJES
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
6/50
Incorporarórdenes de movimiento
La posibilidad de elegir la trayectoria del punto
terminal entre la posición actual y la final.
Puede memorizar la posición actual paracontinuar un movimiento en caso de interrupciónanormal.
Proporcionarmétodos específicos deinicialización y terminación de las accionesdel robot.
CARACTERÍSTICAS DE LOS LENGUAJES
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
7/50
CARACTERÍSTICAS DE LOS LENGUAJES
Incorporar medios desincronización desucesos, que modifiquen la tarea.
Proporcionarconcurrencia o paralelismo,
Posibilitar lacomunicación entre procesos
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
8/50
El sistema operativo que soporte tales
lenguajes debe ser de tiempo real.
Por ejemplo, el mantenimiento de la estabilidad
en el movimiento de las articulaciones del robotexige el muestreo de los sensores de posición conun período definido y corto, y el envío de la acciónde control calculada en ese mismo período.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
9/50
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
10/50
CLASIFICACIÓN DE LOSLENGUAJES. MÉTODOS DE
PROGRAMACIÓNLenguajes específicos para robots.
Diseñados normalmente por cada firma comercial
para sus robots, teniendo en cuenta únicamentesus propios sensores y actuadores. Generalmenteincorporan, además, descripción y razonamiento entérminos geométricos e interfaces a sistemas deCAD/CAM.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
11/50
CLASIFICACIÓN DE LOSLENGUAJES. MÉTODOS DE
PROGRAMACIÓNExtensiones de lenguajes clásicos.
Son específicos para el manejo desensores y actuadores, desarrolladospara lenguajes de propósito general comoC, PASCAL o BASIC.
Ó
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
12/50
CLASIFICACIÓN DE LOSLENGUAJES. MÉTODOS DE
PROGRAMACIÓNEn función del nivel de abstracción para especificarla tarea, los lenguajes pueden ser:
Orientados al robot.
Son órdenes para la lectura del estado de los sensores ypara el movimiento de los actuadores.
El programador debe establecer de modo secuencial cuálserá el comportamientoDe aprendizaje.Estructurados.Experimentales o prototipos de investigación.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
13/50
CLASIFICACIÓN DE LOSLENGUAJES. MÉTODOS DE
PROGRAMACIÓNOrientados a la tarea.Se debe establecer las acciones a ejecutar pero notiene necesariamente que detallar cómo hacerlo.
Las decisiones se toman en función de:
Los objetivos propuestos.
El estado en cada momento del mundo del robot.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
14/50
CLASIFICACIÓN DE LAPROGRAMACIÓN USADA EN
ROBÓTICA
Explicito: El operador es el responsable de lasacciones de control y de las instrucciones
adecuadas que las implementan.
Implícito: Esta basada en la modelación delmundo exterior, cuando se describe la tarea y el
entorno y el propio sistema toma las decisiones.
La programación empleada en robótica
puede tener un carácter:
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
15/50
CLASIFICACIÓN DE LAPROGRAMACIÓN USADA EN ROBÓTICA
La programación
explícita es la
utilizada en las
aplicaciones
industriales y consta
de dos técnicas
fundamentales:
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
16/50
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
17/50
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
18/50
Existen dos formas generales
de programación textual:
Programación textual explícita
Programación textual especifcativa
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
19/50
PROGRAMACIÓN TEXTUAL EXPLÍCITA.
En esta, el programa está formado por órdenes oinstrucciones concretas, que definen medianteoperaciones los movimientos punto a punto,quedando a cargo del programador las
situaciones especiales o anormales.
Existen dos niveles de programación textualexplícita:
-Nivel de movimiento elemental
-Nivel estructurado
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
20/50
PROGRAMACIÓN TEXTUAL EXPLÍCITA.
-Nivel de movimiento elemental formado por loslenguajes encaminados al control de movimientosque, a su vez, se puede dividir en articular (en casode estar destinados al control del movimiento de
las articulaciones indicando los movimientosangulares de éstas) y cartesiano cuando se definenlos movimientos en relación con el punto final deltrabajo, lo que lo hace válido para distintos tipos de
robot con ciertas transformaciones (son similares alBASIC)
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
21/50
PROGRAMACIÓN TEXTUAL EXPLÍCITA.
-Nivel estructuradoque intenta relacionar losobjetos con el sistema del robot, para lo que,siguiendo la filosofía del Pascal, se describenobjetos y transformaciones con estos. Esta última,
exige más nivel de conocimientos, pero hace que losprogramas sean más comprensibles y las accionesmás simples.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
22/50
LENGUAJE DE PROGRAMACIÓNGESTUAL PUNTO A PUNTO
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
23/50
CRITERIO CLASIFICACIÓN
Geometría
Se basa en la forma del área de trabajo producida por el brazo del robot:
rectangular, cilíndrica o esférica.
Configuraciones
La configuración polar utiliza coordenadas polares para especificar cualquier
posición en términos de una rotación sobre su base, un ángulo de elevación yuna extensión lineal del brazo.
La configuración cilíndrica sustituye un movimiento lineal por uno rotacional
sobre su base, con los que se obtiene un medio de trabajo en forma de cilindro.
La configuración de coordenadas cartesianas posee tres movimientos lineales,y su nombre proviene de las coordenadas cartesianas, las cuales son más
adecuadas para describir la posición y movimiento del brazo. Los robots
cartesianos a veces reciben el nombre de XYZ, donde las letras representan a
los tres ejes del movimiento.
Grados de libertad
Consiste en contar el número de grados de libertad que tengan. Se considera
un grado de libertad cada eje a lo largo del cual se puede mover el brazo de un
robot.
Área de aplicación
Ensamblaje
No ensamblaje: soldar, pintar, revestir, manejo de materiales y carga y
CRITERIO CLASIFICACIÓN
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
24/50
CRITERIO CLASIFICACIÓN
Técnica de control
Lazo cerrado: se monitorea continuamente la posición del brazo del robot mediante un sensor de
posición, y se modifica la energía que se manda al actuador de tal forma que el movimiento del brazo
se obedece al camino deseado, tanto en dirección como en velocidad. Éste control se puede usar cuando
la tarea que se ha de llevar a cabo está dirigida mediante un camino definido por la misma pieza, tal
como sería soldar, revestir y ensamblar.
En un sistema de lazo abierto, el controlador no conoce la posición de la herramienta mientras el
brazo se mueve de un punto a otro. Éste tipo de control es muy usado cuando el movimiento que debe
seguir el brazo se encuentra determinado previamente, al ser grabado con anterioridad y reproducido
sin cambio alguno, lo cual es útil cuando todas las piezas a ser tratadas son exactamente iguales.
Fuente de energía
De energía hidráulica: En los actuadores hidráulicos fluye un líquido, comúnmente aceite. Tienen
como ventaja que son pequeños comparados con la energía que proporcionan, y como desventajas queson propensos a fugas, el líquido puede incendiarse y que se requiere numeroso equipo adicional, lo
cual incrementa los costos de mantenimiento del robot. Los sistemas hidráulicos están asociados a un
mayor nivel de ruido.
De energía neumática: En los actuadores neumáticos se transfiere gas bajo presión. Generalmente
sólo tienen dos posiciones: retraídos y extendidos, si posibilidad de utilizar retroalimentación para
usar un control proporcional. La energía neumática tiene las siguientes ventajas: está disponible en la
mayoría de las áreas de manufactura, no es cara y no contamina el área de trabajo. La desventaja es
que no se puede utilizar retroalimentación ni múltiples pasos.
De energía eléctrica: Los actuadores eléctricos incluyen una fuente de poder y un motor eléctricos. La
mayoría de las aplicaciones utilizan servomotores, el cual generalmente utiliza corriente directa. Las
ventajas de esta fuente de energía son que no se requiere transformar la energía eléctrica en otrasformas de energía como la hidráulica o neumática, no se contamina el espacio de trabajo y el nivel de
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
25/50
1.1.-PROGRAMACION DE ROBOTS
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
26/50
FIGURA 1.1 – ALGUNOS EJEMPLOS DE TABLEROMÓVIL PARA PROGRAMACIÓN GESTUAL.
FIGURA12 UNIDADDECONTROL
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
27/50
FIGURA 1.2 – UNIDAD DE CONTROLCON PANEL MÓVIL DE LA EMPRESA ABB.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
28/50
2.-LENGUAJES DE PROGRAMACIÓNGESTUAL PUNTO A PUNTO
Se aplican con el robot "in situ", recordando a lasnormas de funcionamiento de un magnetofóndoméstico, ya que disponen de unas instruccionessimilares: PLAY (reproducir), RECORD (grabar),
FF (adelantar), FR (atrasar), PAUSE, STOP, etc. Además, puede disponer de instruccionesauxiliares, como INSERT (insertar un punto ouna operación de trabajo) y DELETE (borrar).
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
29/50
IN SITU
Es una expresión latina que significa «en el sitio»o «en el lugar”, y que suele utilizarse paradesignar un fenómeno observado en el lugar, ouna manipulación realizada en el lugar. Esta
expresión debe interpretarse con significadosespecíficos y particulares, según el contextodonde se la aplica. En electrónica, laprogramación in situ indica la capacidad de
programar un dispositivo directamente en laetapa final e inmediatamente antes de laejecución.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
30/50
T3
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
31/50
2.1.-DESCRIPCION DE LAPROGRAMACIÓN PUNTO A PUNTO
- ANORAD- EMILY- RCL
- RPL- SIGLA- VAL- MAL
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
32/50
2.1.-ESTRUCTURADOS DEPROGRAMACIÓN EXPLÍCITA
- AL- HELP- MAPLE
- PAL- MCL- MAL EXTENDIDO
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
33/50
2.4.-EN FUNCIÓN DE LOSOBJETIVOS.
Los lenguajes más conocidos de este grupo son:• STRIPS• HILAIRE
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
34/50
3.- NECESIDADES DE PROGRAMACIÓNDEPENDIENTES DEL CONTROLADOR:
Existen actualmente tres tipos de controladores derobots:1.De secuencia limitada.2.Punto a punto.3.De trayectoria continua.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
35/50
3.1.-CONTROLADOR PUNTO APUNTO:
Figura 3.1 - Sistema operativo punto apunto.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
36/50
4.- PROGRAMACIÓN DE APLICACIONESPARA ROBOTS: PROGRAMA DE ENZEÑANSA
4.1.-PROGRAMAS DE APLICACIÓN.4.1.1.- GRABACIÓN PUNTO A PUNTO.4.2.- TÉCNICAS DE ENSEÑANZA O
APRENDIZAJE.4.2.1.- CONTROL MANUAL.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
37/50
4.2.1.1.- CONTROL PUNTO A PUNTO:
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
38/50
PROGRAMACIÓN GESTUAL ODIRECTA
Se utiliza el propio brazo en el trazado del camino yen las acciones a desarrollar en la tarea de laaplicación ("on-line“).
Se subdivide en dos clases:
Programación por aprendizaje directo.
Programación mediante un dispositivo deenseñanza.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
39/50
APRENDIZAJE DIRECTO
El punto final del brazo se traslada con ayuda de undispositivo especial colocado en su muñeca, outilizando un brazo a escala, tras memorizar losmovimientos, serán repetidos por el robot.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
40/50
APRENDIZAJE DIRECTO
Tiene pocas posibilidades de edición, ya que, paragenerar una trayectoria continua, es preciso almacenaro definir una gran cantidad de puntos, cuya reducciónorigina discontinuidades.
El "software" se organiza en forma de intérprete.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
41/50
LA PROGRAMACIÓN USANDO UNDISPOSITIVO DE ENSEÑANZA
Consiste en determinar las acciones ymovimientos del brazo manipulador, a través deun elemento especial para este cometido. En estecaso, las operaciones ordenadas se sincronizan
para conformar el programa de trabajo.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
42/50
LA PROGRAMACIÓN USANDO UNDISPOSITIVO DE ENSEÑANZA
Actualmente se puede programar:
- movimientos
- Selección de velocidades- Generación de retardos- Señalización del estado de los sensores- Borrado y modificación de los puntos de trabajo
- Funciones especiales.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
43/50
LA PROGRAMACIÓN USANDO UNDISPOSITIVO DE ENSEÑANZA
La estructura del "software" es del tipo intérprete.
El sistema operativo que controla el procesadorpuede poseer rutinas específicas, que suponen laposibilidad de realizar operaciones muy eficientes.
Necesitan al propio robot en la confección delprograma
Carecen de adaptabilidad en tiempo real con elentorno y no pueden tratar, con facilidad,interacciones de emergencia.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
44/50
PROGRAMACIÓN TEXTUALESPECIFICATIVA
El trabajo de la programación consistirá,simplemente, en la descripción de las tareas arealizar, lo que supone poder llevar a cabotrabajos complicados.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
45/50
PROGRAMACIÓN TEXTUALESPECIFICATIVA
El sistema informático ha de disponer del modelodel mundo donde se encuentra el robot.
Normalmente será una base de datos algocompleja, pero que requiere computadoras potentes
para el procesado de una abundante información. Actualmente, los modelos del universo son del tipogeométrico, no físico.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
46/50
PROGRAMACIÓN TEXTUALESPECIFICATIVA
Orientado al nivel de losobjetos
El lenguaje trabaja con objetos y establece lasrelaciones entre ellos. La programación se realiza"off-line" y posibilita la conexión CAM.
Dada la inevitable imprecisión de los cálculos delordenador y de las medidas de las piezas, se precisade una ejecución previa, para ajustar el programaal entorno del robot.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
47/50
PROGRAMACIÓN TEXTUALESPECIFICATIVA
Los lenguajes con un modelo del universoorientado a los objetos son de alto nivel,permitiendo expresar las sentencias en unlenguaje similar al usado comúnmente.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
48/50
PROGRAMACIÓN TEXTUALESPECIFICATIVA
Orientado hacia los objetivos:
El modelo define el producto final.
La creación de lenguajes de muy alto niveltransferirá una gran parte del trabajo deprogramación, desde el usuario hasta el
sistema informático; éste resolverá lamayoría de los problemas, combinando la Automática y la Inteligencia Artificial.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
49/50
CONCLUSIONES
Las seis características básicas de un lenguajeideal, 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.
8/17/2019 Grupo 1-Programación en Robótica-27!3!16
50/50
FUENTES
Tecnologíasde la Información y de la Comunicación.
Capítulo 6, Programación y control de procesos.
Juan A. Alonso, Santiago Blanco A., SantiagoBlanco S., Roberto escribano, Víctor R. González,Santiago Pascual, Amor Rodríguez. Editorial Ra-Ma 2004.
Control y Robótica. Tema: Fundamentos de
robótica. Curso provincial. CFIE Valladolid II. Víctor R.González. Asesoría de Tecnología y FP.
http://www.quadernsdigitals.net/index.php?accionMenu=hemeroteca.DescargaArticuloIU.descarga&tipo=PDF&articulo_id=7374&pagina_actual=http://www.quadernsdigitals.net/index.php?accionMenu=hemeroteca.DescargaArticuloIU.descarga&tipo=PDF&articulo_id=7374&pagina_actual=http://cfievalladolid2.net/tecno/ctrl_rob/robotica/index.htmhttp://cfievalladolid2.net/tecno/ctrl_rob/robotica/index.htmhttp://cfievalladolid2.net/tecno/ctrl_rob/robotica/index.htmhttp://cfievalladolid2.net/tecno/ctrl_rob/robotica/index.htmhttp://www.quadernsdigitals.net/index.php?accionMenu=hemeroteca.DescargaArticuloIU.descarga&tipo=PDF&articulo_id=7374&pagina_actual=http://www.quadernsdigitals.net/index.php?accionMenu=hemeroteca.DescargaArticuloIU.descarga&tipo=PDF&articulo_id=7374&pagina_actual=