lenguajes de programacion para robotica

30
Lenguajes de Programación en la Robótica Ingeniería en Sistemas Noveno Semestre David Freire

Upload: david-freire

Post on 21-Jul-2015

160 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Lenguajes de programacion para Robotica

Lenguajes de Programación en la Robótica

Ingeniería en Sistemas

Noveno Semestre

David Freire

Page 2: Lenguajes de programacion para Robotica

Introducción

Términos y Significados

Historia

Propiedades y caracteristicas

Clasificación

Campos de la robótica

Desarrollo

Lenguajes de programación

Concluciones

Page 3: Lenguajes de programacion para Robotica

INTRODUCCIÓN A LA ROBÓTICA

• Uno de los sueños, que con el tiempo ha ido acompañado al

hombre con el paso del tiempo, es llegar a simular acciones

y actitudes parecidas, tanto a un animal o al ser humano, y

no solo en apariencia. Movimientos, acciones sino también

con el intelecto del ser humano. Siendo este último el paso

menos evolucionado hasta la actualidad ya que hasta hoy

solo a sido ficción nada mas.

• El principal objetivo de la robótica es poder llegar a todas

estas acciones se dan que la humanidad se encuentra con

riesgos mucho mas altos y sobre todo peligrosos para el ser

humano, entonces la tecnología en compañía con la

robótica lo que busca es disminuir o eliminar todo eso.

Page 4: Lenguajes de programacion para Robotica

• El termino robot, se dio a conocer a nivel mundial a partir

de 1923, mediante el escritor Karel Copek, el cual fue

usado en su comedia «Rossum’s Universal Robots»

• Hoy en día este termino ya es mucho mas común y sobre

todo nos es mas claro, pero tenemos el significado dado

por las siguientes entidades:

• «Un manipulador multifuncional y reprogramable, el cual

esta diseñado para mover materiales, piezas,

herramientas, o dispositivos especiales, mediante

movimientos programados y variables que permiten llevar

a cabo diversas tareas» (Robot Institute of America)

TÉRMINOS Y SIGNIFICADOS DE LA

ROBÓTICA

Page 5: Lenguajes de programacion para Robotica

HISTORIA DEL ROBOT

• Siglo XVIII.- J. de Vaucansan construyo varias muñecas mecánicas tamaño humano (ejecutaban

piezas de música).

• 1805.- H. Maillardet, construyo una maquina capaz de hacer dibujos.

• 1946.- G.C Devol, desarrollo un dispositivo controlador que podía registrar señales eléctricas por

medio magnético, las que reproducía y accionaba una maquina mecánica.

• 1959.- se introdujo el primer robot comercial por Planet Corporation, se lo controlaba por

interruptores de fin de carrera.

• 1960.- Introduccion del promer robot ‘Unimate’, se baso en transferencia de articulaciones

programada en Devol, usa principio de control numérico y tenia transmisión hidráulica.

• 1966.- Trallfa (Noruego), construyo e instalo un robot de pintura por pulverización.

• 1968.- Se invento Shakey, desarrollado por SRI, estaba provisto por sensores, cámara y sensores

táctiles.

• 1971.- Standford Arm, brazo robot de accionamiento eléctrico.

• 1973.- SRI, desarrollo el primer lenguaje de programación de robots del tipo computadora se

denomino WAVE.

Page 6: Lenguajes de programacion para Robotica

HISTORIA DEL ROBOT

• 1974.- Asea, introdujo su robot IRB6, de completo accionamiento eléctrico y Kawasaki, instalo su

robot de soldadura para las estructuras de motocicletas, también en este mismo año, Cincinnati

Milacron introdujo el robot T3, con control de computadora.

• 1981.- en la universidad de Carnegie-Mellon, introdujo un robot de impulsión eléctrica. Usaba

motores eléctricos en las articulaciones.

• 1984.- Robots 8.- La operación típica de estos sistemas permitía que se desarrollaran programas

de robots utilizando gráficos interactivos en una computadora personal y luego se cargaban en el

robot.

• 1989.- Genghis, primer robot andante, desarrollado en Masachusetts Institute of Technology.

• 1999: Sony Lanza el Perro mascota Robótico AIBO.

• 2000: Honda presenta a ASIMO el Robot Humanoide.

• 2001: Cyberknife, un Cirujano robótico, es autorizado para funcionar en los Hospitales Estad

oUnidenses.

Page 7: Lenguajes de programacion para Robotica

Versatilidad:Potencialidad estructural de ejecutar tareas diversas y/o

ejecutar una misma tarea de forma diversa. Esto impone al

robot una estructura mecánica de geometría variable.

Autoadaptabilidad al entorno:Significa que un robot debe, por sí solo, alcanzar su

objetivo(ejecutar su tarea) a pesar de las perturbaciones

imprevistas del entorno a lo largo de la ejecución de su

tarea. Esto supone que el robot sea consciente de su

entorno y que por lo tanto posea sentidos artificiales.

PROPIEDADES DE LOS ROBOTS

Page 8: Lenguajes de programacion para Robotica

• Los robots operacionales pueden estar constituidos por cuatro entidades:

Sistema mecánico articulado.- usualmente dotado de motores: eléctricos,

hidráulicos o mecánicos. Ya que estos son los encargados de generar el

movimiento indicado a cada una de sus articulaciones, usando sus respectivas

transmisiones que pueden ser: cables, cintas, correas con muñecas.

El entorno, es cada uno de sus limites a los cuales se encuentra atado, ya que del

mismo depende su espacio alcanzable, debido a que si están en lugar fijo, su

alcance es relativamente corto. Dentro de proceso o actividades se encontrara con

diferentes obstáculos los cuales debe evitar y algunos que sean necesario para

realizar su tarea. Debido a esto hay la interacción entre su parte física y su

entorno. Usando Cámaras, detectores de fuerzas, de proximidad, captadores

táctiles es tomada la información del entorno donde desarrolla cada una de sus

actividades.

CLASIFICACIÓN DE LOS ROBOTS

Page 9: Lenguajes de programacion para Robotica

Tareas a realiza.- es cada uno de los trabajos que deseamos que realice un robot.

Cada una de las descripciones para cada tarea se las realiza con la ayuda de los

lenguajes que pueden ser a través de los gestos, donde se lo enseña al robot todo

lo que debe hacer; orales, se lo habla; por escrito, en el que se le escriben las

instrucciones en un lenguaje compatible con el robot.

El cerebro del robot es el órgano de tratamiento de la información. El cerebro es

aquel que tiene el papel principal y que contiene en sus memorias:

Un modelo del robot físico: señales de excitación de los accionadores y

desplazamientos que son consecuencia de ellas.

Un modelo del entorno: descripción de lo que se encuentra en el espacio que se

puede alcanzar.

Programas: permiten que las tareas sean comprendidas las tareas a realizar

(Algoritmos de control)

CLASIFICACIÓN DE LOS ROBOTS

Page 10: Lenguajes de programacion para Robotica

CLASIFICACIÓN DE LOS ROBOTS

Criterio Clasificación

GeometríaEsta basada de acuerdo a la forma del área de trabajo producida

por el brazo del robot (rectangular, cilíndrica, esférica)

Configuración

Polar.- utiliza coordenadas polares para especificar cualquier

posición, rotación de una base, un ángulo de elevación y la

extensión lineal del brazo.

Cilíndrica.- sustituye un movimiento lineal por uno de rotación sobre

una base.

Coordenadas cartesianas.- posee tres movimientos lineales y su

nombre proviene de las coordenadas cartesianas.

Grados de libertad

Consiste en controlar el numero de grados de libertad que tengan.

Esto se l o considera a cada eje a lo largo del cual se puede mover

el brazo de un robot

Page 11: Lenguajes de programacion para Robotica

CLASIFICACIÓN DE LOS ROBOTS

Criterio Clasificación

Área de aplicación

Ensamblaje

No ensamblaje: suelda, pintura, revestir, manejo de materiales,

carga y descarga de maquinaria.

Técnica de control

Lazo cerrado: la posición del brazo del robot es monitoreada

continuamente usando un sensor de posición, modificando la

energía que se manda al actuador.

Sistema de brazo abierto: el controlador no conoce la posición de la

herramienta mientras el brazo se mueve de un punto a otro. Esta

técnica es muy útil cuando todos las piezas a ser tratadas son

exactamente iguales.

Fuente de energía

Energía hidráulica: en los actuadores hidráulicos fluye un liquido

que comúnmente es aceite. Su ventaja es que son pequeños en

comparación a la energía que proporcionan, pero su desventaja es

que son propensos a fugas.

Page 12: Lenguajes de programacion para Robotica

CLASIFICACIÓN DE LOS ROBOTS

Criterio Clasificación

Fuente de energía

Energía neumática: se trata de actuadores neumáticos en los

cuales se trasfiere gas bajo presión. Pero generalmente tienen dos

posiciones: retraídos y extendidos.

Energía eléctrica: los actuadores eléctricos incluyen una fuente de

poder y de un motor eléctrico. La mayoría de aplicaciones usan

servomotores.

Page 13: Lenguajes de programacion para Robotica

En la actualidad este campo es muy amplio, por tal motivo la podemos encontrar en la

productividad, investigación, medicina, etc.

Dentro de la producción, estos robots se destacan por tener consigo una disminución de la

mano de obra, pero además ayuda en el mejoramiento con relación a la calidad y el acabo del

producto con mayor rapidez y eficacia.

En el ámbito científico, la mayoría de los robots son usados en: zonas o lugares en los cuales

se le hace difícil de acceder al hombre ya sea por ser un medio hostil o demasiado peligroso:

submarino, el espacio, irradiación por centrales nucleares. Debido a estas situaciones se han

diseñado dos tipos de robots de acuerdo a su misión y su sentido de operacionalidad:

• Robot autónomo.- son programados para realizar su misión, en la mayoría se trata de

trabajos sencillos sin necesidad de reflexionar y de comprender su entorno.

• Teleoperación o telepresencia.- este tipo de maquinas están controladas a distancia por un

puesto maestro monitoreado por el operador (hombre).

CAMPOS DE LA ROBÓTICA

Page 14: Lenguajes de programacion para Robotica

En el campo de la medicina o también que se la podría llamar asistencia individual lo mas

destacado esta en la asistencia medica de personas paraliticas o partes del cuerpo amputadas.

Con estas aplicaciones podríamos indicar que cubre campos como:

Prótesis: creación de manos y piernas artificiales.

Órtesis: se trata de estructuras rígidas motorizadas, las cuales van alrededor del

miembro paralizado.

Telétesis: se utiliza en pacientes paralíticos de los cuatro miembros, los cuales son

robots que se los controla a distancia a partir de las zonas de motrocidad que haya

podido conservar.

CAMPOS DE LA ROBÓTICA

Page 15: Lenguajes de programacion para Robotica

La herramienta mas eficaz para la comunicación siempre a sido el lenguaje, por tal motivo la

relación que se da de robótica-hombre, también usan estos mecanismos, donde encontramos

las siguientes forma:

Reconocimiento de palabras separadas: es un sistema muy primitivo y limitado.

Enseñanza y repetición: es la mas común sobre todo en los robots industriales, ya que implica

enseñar a los robots todos y cada uno de sus movimientos que se necesite realizar.

Reproduciendo y repitiendo el movimiento enseñado: ya una vez que sea correcto en

movimiento, entonces al robot se lo hace que funcione a la velocidad que se lo necesita que

ejecute sus actividades en el modo repetitivo.

Lenguajes de programación de alto nivel: son los encargados de suministrar una solución

mucho mas general en la comunicación Hombre-Robots, donde encontramos los lenguajes

clásicos como: Fortran, Basic, Pascal los cuales no disponen de los comandos e instrucciones

que se necesita para la programación en la robótica.

DESARROLLO

Page 16: Lenguajes de programacion para Robotica

En este tipo de programación se podría indicarque salimos de lo habitual ya que aquí seutiliza caracteres diferentes.

Explicito, aquí el responsable en es operadosde acciones de control, instruccionesadecuadas, o las cuales están basadas en lamodelación del mundo exterior.

Este tipo de programación es la mas utilizadaen aplicaciones industriales:

Programación gestual: exige el empleo demanipulador en la fas de enseñanza, trabajaon-line.

Programación textual: aquí no participa lamaquina, ya que las trayectorias soncalculadas de forma precisa matemáticamente.

PROGRAMACIÓN USADA EN LA

ROBÓTICA

Page 17: Lenguajes de programacion para Robotica

Aquí el propio brazo es quien interviene en el trazado de su camino y también en las acciones adesarrollar en la tarea de la aplicación (on-line) y se divide en dos clases:

Programación por aprendizaje directo: se efectúan el desplazamiento requerido en su funcionesmediante el punto final del brazo trasladándolo con ayuda de un dispositivo especial colocado en sumuñeca, el cual los va memorizando. Aquí el programador tiene pocas posibilidades de edición.

Programación mediante dispositivo de enseñanza: aquí lo que se trata es de que se determinen cadauna de las acciones y movimientos del brazo manipulador, mediante un elemento especial. Cada unade las operaciones son sincronizadas así conformando su programa de trabajo.

Los dispositivos modernos permiten generar funciones auxiliares como:

o Selección de velocidad

o Generación de retratos

o Señalización del estado de los sensores.

o Borrado y modificación de los puntos de trabajo.

o Funciones especiales.

PROGRAMACIÓN GESTUAL O DIRECTA

Page 18: Lenguajes de programacion para Robotica

Esta constituido por un texto de instrucciones o sentencias, en la cual no interfiere el robot, ya

que el operador no define las acciones del brazo manipulado sino que son calculados por el

programa.

Se trata de una aplicación similar a un ensamblaje de piezas que requiere de una gran precisión

la cual la programación gestual no es suficiente. Aquí la posibilidad de edición es total, y el

robot solo interviene en su puesta a punto final.

Esta programación textual está dividida en dos grandes grupos de diferencias marcadas:

Programación textual explícita.

Programación textual especificativa.

PROGRAMACIÓN TEXTUAL

Page 19: Lenguajes de programacion para Robotica

Cuando se aplica este tipo de programación el programa consta de una secuencia de ordenes o

instrucciones concretas las cuales definen las operaciones e instrucciones necesarias para que

se lleve acabo la aplicación. Con este tipo de programación se encuentra englobada con los

lenguajes que define cada uno de los movimientos punto por punto.

En este tipo de programación nos encontramos con dos niveles:

Movimiento articular: el lenguaje controla el movimiento de las articulaciones del brazo.

Movimiento cartesiano: este define los movimientos relacionados con el sistema de

manufactura.

PROGRAMACIÓN TEXTUAL EXPLÍCITA

Page 20: Lenguajes de programacion para Robotica

En este tipo de programación, el usuario describe mediante una modelización los objetos y las

tareas a realizar sobre estos. Para este tipo de programación, se necesita un modelo del

entorno del robot que, normalmente, será una base de datos.

La programación consistirá en describir las tareas; esto permite realizar trabajos complicados.

El modelo de la programación textual especificativa puede estar referida a objetos o a objetivos:

En el primero, el lenguaje trabaja con objetos y establece relaciones entre estos; este tipo de

lenguajes son de alto nivel (expresión de sentencias en lenguaje similar al común)

PROGRAMACIÓN TEXTUAL

ESPECIFICATIVA

Page 21: Lenguajes de programacion para Robotica

Gestual punto a punto.- se los aplica con el robot «in suti», similar a las norma defuncionamiento de magnetofono, con instrucciones como: Reproducir, Grabar, Adelantar, etc.Aun que también puede disponer de instrucciones auxiliares como Insert y Delete.

Entre los lenguajes mas conocidos que usan este sistema son el Funky, desarrollado por IBM,sus movimientos pueden estar dentro de coordenadas cartesianas, cilíndricas o de unión.

Este sistema usa mando de tipo «joystick», y cada uno de sus movimientos se expresan enforma de lenguaje: ANORAD, EMYLY, RCL, RPL, SIGLA, VAL, MAL.

Y cada uno de ellos mantiene el énfasis en los movimientos primitivos, sean coordenadasarticulares o cartesiana.

Como ventajas de ellos podríamos indicar sus saltos condicionales y a subrutina y aumento delas operaciones con sensores. La mayoría disponen de comandos de tratamiento a sensoresbásicos como: fuerza, tacto, movimiento, proximidad y presencia.

El RPL, dispone de un sistema complejo de visión, que es capaz de seleccionar una pintura yreconocimiento de objetos en su base de datos.

LENGUAJES DE PROGRAMACIÓN

Page 22: Lenguajes de programacion para Robotica

EMILY y Sigla

Estos lenguajes son transportables y pueden admitir proceso en paralelo simple.

Anorad

Este lenguaje se encuentra basado en una transformación de un lenguaje de control numérico, de lacasa Anorad Corporation, y que usa un procesador, microprocesador 68000 de Motorola 16/32 bits.

VAL

Lo diseño UNIMATION INC, para robots UNIMATE y PUMA, aplica Cpu, LSI-II, que se encargan decomunicar con cada uno de los procesadores individuales que se permiten regular el servo control decada una de las articulaciones. Estas instrucciones son relativamente sencilla ya que usaninstrucciones en ingles de forma intuitiva.

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

END

LENGUAJES DE PROGRAMACIÓN

Page 23: Lenguajes de programacion para Robotica

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 DE PROGRAMACIÓN

Page 24: Lenguajes de programacion para Robotica

Estructura de programación explícita

Debido a cada una de sus características muy relevantes que este tipo de programación contiene, es muyimportante destacar los diferentes lenguajes que usan este tipo de programación.

AL

Trata de proporcionar definiciones acerca de los movimientos relacionados con los elementos sobre los que elbrazo trabaja. Fue diseñado por el laboratorio de Inteligencia Artificial de la Universidad de Stanford, conestructuras de bloques y de control similares al ALGOL, lenguaje en el que se escribió. Está dedicado almanipulador 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 movimientosimultáneo de varios brazos. Dispone, asimismo, de un conjunto especial de subrutinas para la ejecución decualquier 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 parasoportar 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 FORTRANy Ensamblador, capaz de aceptar sensores de fuerza y de visión. Cada una de sus instrucciones, para mover elbrazo del robot en coordenadas cartesianas, es procesada para que satisfaga la ecuación del procesamiento.Como CPU, usan un PDP 11/70.

LENGUAJES DE PROGRAMACIÓN

Page 25: Lenguajes de programacion para Robotica

Estructura de programación explícita

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.

Especificativa a nivel objeto.

En este grupo se encuentran tres lenguajes interesantes:

RAPT

AUTOPASS

LAMA

LENGUAJES DE PROGRAMACIÓN

Page 26: Lenguajes de programacion para Robotica

RAPT

Su filosofía se basa en definir una serie de planos, cilindros y esferas, que dan lugar a otros cuerpos derivados. Paramodelar a un cuerpo, se confecciona una biblioteca con sus rasgos más representativos. Seguidamente, se define losmovimientos que ligan a los cuerpos a ensamblar (alinear planos, encajar cilindros, etc.).

Así, si se desea definir un cuerpo C1, se comienza definiendo sus puntos más importantes, por ejemplo:

P1 = < x, 0, 0 >

P2 = < 0, y, 0 >

P3 = < x/2, y, 0 >

P4 = < 0, 0, z >

Si, en el cuerpo, existen círculos de interés, se especifican seguidamente:

C1 = CIRCLE/P2, R;

C2 = CIRCLE/P4, R;

A continuación, se determinan sus aristas:

L1 = L/P1, P2;

L2 = L/P3, P4;

Si, análogamente al cuerpo C1, se define otro, como el C2, una acción entre ambos podría consistir en colocar la carainferior de C1 alineada con la superior de C2. Esto se escribiría.

AGAINST / BOT / OF C1, TOP / OF C2;

El lenguaje RAPT fue creado en la Universidad de Edimburgo, departamento de Inteligencia Artificial; está orientado, enespecial, al ensamblaje de piezas. Destinado al robot FREDY, utiliza, como procesador central, a un PDP 10. Es unintérprete y está escrito en lenguaje APT.

LENGUAJES DE PROGRAMACIÓN

Page 27: Lenguajes de programacion para Robotica

LAMA

Procede del laboratorio de Inteligencia Artificial del MIT, para el robot SILVER, orientándose hacia el

ajuste de conjuntos mecánicos. Aporta más inteligencia que el AUTOPASS y permite una buena

adaptación al entorno. La operatividad del LAMA se basa en tres funciones principales:

Creación de la función de trabajo. Operación inteligente.

Generación de la función de manipulación.

Interpretación y desarrollo, de una forma interactiva, de una estrategia de realimentación para la

adaptación al entorno de trabajo.

En función de los objetivos.

La filosofía de estos lenguajes consiste en definir la situación final del producto a fabricar, a partir

de la cual se generan los planes de acción tendentes a conseguirla, obteniéndose, finalmente, el

programa de trabajo. Estos lenguajes, de tipo natural, suponiendo una potenciación extraordinaria

de la Inteligencia Artificial, para descargar al usuario de las labores de programación. Prevén,

incluso, la comunicación hombre-máquina a través de la voz.

Los lenguajes más conocidos de este grupo son:

• STRIPS

• HILAIRE

LENGUAJES DE PROGRAMACIÓN

Page 28: Lenguajes de programacion para Robotica

• STRIPS

Fue diseñado, en la Universidad de Stanford, para el robot móvil SHAKEY. Se basa en un

modelo del universo ligado a un conjunto de planteamientos aritmético-lógicos que se encargan

de obtener las subrutinas que conforman el programa final. Es intérprete y compilable,

utilizando, como procesadores, a un PDP-10 y un PDP-15.

• HILAIRE

Procedente del laboratorio de Automática Y Análisis de Sistemas (LAAS) de Toulouse, está

escrito en lenguaje LISP. Es uno de los lenguajes naturales más interesantes, por sus

posibilidades de ampliación e investigación.

LENGUAJES DE PROGRAMACIÓN

Page 29: Lenguajes de programacion para Robotica

APLICACIÓN DE LA ROBÓTICA

Page 30: Lenguajes de programacion para Robotica