Está en la página 1de 27

Resumen-La programación de robots

industriales es un trabajo para especialistas


en la robótica. Hoy en día, este trabajo es
muy difícil porque hay muchos
fabricantes de robots con diferentes
lenguajes de programación y diferentes
entornos. Aunque, la programación fuera de
línea es una manera que puede reducir
drásticamente el tiempo de parada de las
máquinas de mantenimiento.
Con el uso de patrones de diseño orientado
a objetos, es posible reducir al mínimo
el tiempo empleado en la programación del
robot. En este trabajo se propone un
off-line entorno de programación. Esta
herramienta se basa en un resumen
modelo para programar robots, encapsular
en las clases de Java. De esta manera tiene
la
principal ventaja de la mejor utilización de
código fuente. La agrupación de los
negocios
clases en los módulos de funcionalidades,
podemos reducir la complejidad entre
correspondiente baja. Patrones reconocidos
como fachada y el método de plantilla
construirá la base para desarrollar este
marco de programación. La
lenguajes de programación del robot a
prueba en este trabajo fue rápido, Karel
y Melfa Básico IV, respectivamente idiomas
utilizados por ABB, Fanuc y
Mitsubishi constructores.
Palabras claves-marco, la programación
fuera de línea, generador de código de
robot.

I. INTRODUCCIÓN
Calidad y eficiencia son características que
influyen en todo el mundo
economía. Después (TMQ) Gestión de la
Calidad Total (Patterson,
1995) y la calidad de otros patrones de
aparición, producto de la reducción de
costes es
el principal tema discutido por el empleo.
Los empresarios tecnológicos
nivel aprobado define la diferencia
competitiva entre las empresas,
y aumentar la concurrencia. Así, el
desarrollo de herramientas que facilita
programación del robot y puede reducir la
integración celda de manufactura
los costes del proceso puede ser una
solución interesante. En realidad muchos
emplea
están trabajando en el segmento de
robótica y la programación del robot se han
de flexibilidad de programación sobre
muchas interfaces diferentes de robots
muchos idiomas diferentes del robot. La
consola portátil (TP), una palanca de mando
enchufado en el control del robot, es una de
estas interfaces utilizados para
programación de robots. Este joystick tiene
diseño, peso, botones y
secuencias de comandos completamente
diferente entre los fabricantes.
Esta interacción se vuelve muy difícil para
los profesionales que no
tienen una afinidad con la robótica. El
conocimiento acerca de cómo la soldadura,
herramientas de pintura o manipular
industriales también son muy importantes
para
automatizar la tarea. Más allá de los
conocimientos robot común, la
programador necesita saber el proceso
automatizado traer real
beneficios en la calidad del producto, la
durabilidad del equipo, y disminuir
fabricación de tiempo. Con un editor de
texto o un robot especializado
herramienta de programación, un soldador
puede programar una tarea de soldadura
robotizada
optimizar significativamente el proceso.
Pero comúnmente, los programas de
se hacen manualmente por TP, gastando
mucho tiempo y que requieren
equipo disponible para hacerlo. Durante
este proceso, el programador
utilizando técnicas de enseñanza, tiene que
ser capaz de programar un movimiento
secuencias de los resultados en una tarea
específica. Los principales pasos para
programar
un brazo articulado son descritos por (Fuller,
1999): En primer lugar se define
el problema. Después de eso, se describen
los pasos de una solución. Siguiente
expresar los pasos en el idioma del robot
equipo, a continuación, introduzca la
medidas como las instrucciones en el
control del robot, y, finalmente, echa un
vistazo a
la solución resultante. En concreto entre las
medidas como las instrucciones en
el controlador del robot se describe en el
cuadro 1.
El método de programación fuera de línea
fue creada para disminuir la
integración en el tiempo de la célula. Pero,
en realidad, la programación fuera de línea
no ha
traído beneficios significativos a la
integración de celda de manufactura,
también
para reducir el programador del robot horas
trabajadas. El montaje y la
programa de herramientas de fabricación de
células se proyectaron sin la necesaria
abstracción, la generalización del problema
de programación del robot. La
presenta las herramientas disponibles en los
kits de robots, se puede programar e
interactuar
sólo con la plataforma, archivos y
bibliotecas. La demanda crece a un
herramienta unificada que interactúan entre
soluciones de distintos fabricantes,
girando programación de robots fácil a las
empresas.

En realidad, el ordenador personal (PC) es


capaz de manipular las cadenas
y resolver las operaciones de la matriz.
Proponemos utilizar este PC intrínseca
características, a través de una aplicación
de software que sabe que el robot
lenguajes de programación. Respetar la
zona de trabajo (Murray, 1994)
y el uso de un protocolo de comunicación
para interactuar con el robot
controlador es posible desarrollar una
programación fuera de línea robot.
Tecnología de sensores asociados con el
poder de procesamiento de PCs
está trayendo nuevas posibilidades a las
aplicaciones industriales. Obstáculo
detección y visión por computador, son
ejemplos de aplicaciones que
siendo probado y mejorado cada año (Fuller,
1999). La interfaz de
propuesta proceso de los datos de entrada
en el sistema y generar una
secuencia de comandos específicos para el
robot, que reproducen la
movimiento idealizado por el usuario. La
actividad de destino: montaje de soldadura,
inspección u otro, puede ser programado
por el soldador, para
ejemplo. Se programará una secuencia de
movimiento descrito por el
manipulador a través de software, utilizando
un PC común. El énfasis
del presente trabajo, es desarrollar un
generador de código para robots diferentes
plataformas, a partir de una línea de
investigación en el área de programación
fuera de línea.
Esta investigación pretende demostrar que
la célula de fabricación
la integración puede ser acelerado, la
comunicación entre diferentes
plataformas de los robots se pueden
optimizar los costes y especializados con
la gente puede ser reducido. En realidad, la
programación de robots sigue siendo un
trabajo duro (Wrn, 1998). Algunas causas
son: dificultad de disponibles
reserva de equipos para mejorar el manejo
complejo y tecnológico
enfoque de demanda para aprenderlo.
El principal objetivo de esta investigación es
desarrollar una herramienta que hace
fácil programación de robots y de
aprendizaje. Un enfoque poco de objeto
patrón de diseño orientado (OODP) (Helm,
1995) fue utilizado en técnicas de
este generador de código y se discutirá en
la sección II. En la sección III
características de los marcos se presentará.
Sección IV se muestra la
generador de clases de negocio de código
dinámico. En la sección V se muestran
los resultados experimentales. Por último,
en la sección VI de la conclusión y
futuros trabajos.

II. UTILIZA TÉCNICAS DE PROYECTO


La abstracción es una característica muy
importante cuando se piensa
acerca de la programación de la máquina
industrial. Código hace abstracción
trabajo posible con el equipo industrial que
se encuentra en las coordenadas
movimiento universo de comandos. Un buen
modelado de los mecanismos básicos
estructuras como: juntas, ejes, programas y
puntos puede facilitar la
rutinas de la aplicación y manipulación de
cadenas que componen el
comando del movimiento que se transmite
al controlador del robot. En
esta sección vamos a explicar cómo las
técnicas de programación ayuda a
representa a estas estructuras y la
organización secuencial de control de robots
comandos.

A. PATRONES DE DISEÑO - DP
La experiencia es una característica
evaluada en cada tipo de negocio.
También en la programación orientada a
objetos (POO) es útil adoptar nombre
experimentos de los programadores de
éxito y se relaciona, llamada Diseño
Patrones.
Reutilización de código es una de las
ventajas que ofrece la programación
orientada a objetos. Sin embargo,
proyección de un software orientado a
objetos reutilizable es un trabajo duro.
En la fase de proyecto, es necesaria la
partición del problema en
módulos generales capaz de ser utilizado en
el futuro en forma de prácticos
situaciones. Durante el proceso de análisis
es necesario identificar la clase
y modelos de comunicación (o plantillas)
entre los objetos que pueden
ser reutilizados en el sistema orientado a
objetos. Desarrollo específico
problemas son el objetivo de OODP la
flexibilización, la elegancia y
reutilización de código. Resumiendo, DP es
un mecanismo de alto nivel que
relaciona las mejores prácticas de los
programadores (experiencias exitosas) para
resolver problemas de proyectos de
software común. La AD (Helm, 1995)
utilizados en el trabajo estuvo presente: la
fábrica, Singleton, Fachada, Memento,
Comando de correo Método plantilla. A
continuación vamos a discutir esta
programación orientada a objetos
técnicas aplicadas en el desarrollo del
generador de código, sus etiquetas,
problemas comunes resuelto por estas
prácticas, que la micro-arquitectura,
y las consecuencias de la implantación.

B. FÁBRICA
Este patrón centraliza la creación de objetos
con alta cambiar
proyecto de probabilidad en una sola clase.
Es la leva debe entenderse como un
objetos de fábrica. La demanda de una clase
que centralizar los objetos
creación fue la motivación para idealizar.
Prohibir cualquier otro
objeto de la clase empresarial a la instancia
directamente los objetos. La fuente
problema es: si cambia un método de firma
en una clase específica, se
ser necesario, cambie todas las instancias
directo a la misma clase, se ponen duros
y el trabajo complejo, teniendo en cuenta
que este objeto está instanciado
por muchas clases. La solución propuesta
fue desarrollar un centralizada
clase de solución, responsable de crear y
devolver referencias de ejemplo
de todos los objetos llamados. Si algunos
cambios método de objeto del cargador,
en la clase de fábrica, que estará
centralizada en el getInstanceX ()
método, donde "X" es el nombre de una
clase que contiene el objeto
atributos (identidad) ha cambiado. La
estrategia fue analizar la lista de
clases que tiene una gran probabilidad al
cambio y pone en práctica la
getInstance () para ellos en la fábrica de
clase.
Ejemplo:
; Este método devuelve una instancia a la
"AbbPoint" objeto de carga por un general
"Punto"
objeto, el rápido comandos para los robots
ABB.
método getNewAbbPoint (p Point)
f
nuevo retorno AbbPoint (p);
g

C. SINGLETON
Es un patrón que prohíben la duplicación de
los objetos en la memoria RAM
la memoria. Su significado es "instancia
única". Fue idealizado por
durante la ejecución del programa muchos
objetos se vuelven a crear sin
necesidades reales, lo que refleja en la
memoria y la carga de procesamiento. La
principal problema es atacado por DP es el
despilfarro de la memoria causados
por el sub-utilización de los objetos creados
en la memoria cada vez mayor
la sobrecarga causada por el recolector de
basura (máquina virtual de Java
servicio que monitoriza y liberar los objetos
no referenciados en
memoria).

La solución actual era, para verificar durante


la creación del objeto, si
todavía existe en la memoria. Las
consecuencias directas para la práctica:
disminución de gastos generales proceso
causado por el colector de basura y
aumentar
los objetos de la vida útil, lo que refleja en
un mejor los recursos de memoria
asignación. La estrategia de seguimiento
estuvo representada en la figura 2. Si el
objeto todavía existe en la memoria se
devuelve una referencia a él, de lo contrario
se crea el objeto y se devuelve un puntero a
objeto nuevo.
Ejemplo:
; Este método de verificar la existencia de
un
objeto que sabe Karel lenguaje utilizado por
Fanuc
Robótica. Si es así, devuelve una referencia
a la presente
objeto, también crear un nuevo objeto y lo
devuelve
de referencia.
método FanucPoint getNewFanucPoint ()
f
existe en la memoria de un FanucPoint?
En caso afirmativo, devuelve una referencia
a la misma;
Otras crear nuevas FanucPoint y devolver
un puntero
que en la memoria;
g

D. FACHADA
Las clases de interfaz de fachada de diseño
de usuario separar y de negocios,
conocía a través de un punto
predeterminado de entrada de datos. El
significado de la fachada
puede ser entendida como "consenso ". Se
llevó a cabo para hacer
posible conectar diferentes interfaces con
las clases de negocios,
a través de una entrada de datos
centralizada, la interfaz de disociación y de
negocios
capas. Ese problema es: si los cambios de la
interfaz, también se
cambios necesarios en las clases a las
empresas que lo hace compatible. Este
plática sugiere la creación de una clase que
se esconden capa de interfaz
sistema de la complejidad y la interacción
alow con cualquier tipo de entrada, como
símbolos del sistema, querys de bases de
datos, los applets o aplicaciones simples.
La consecuencia directa será reducir la
interacción interfaz
la complejidad y la interfaz de disociar de la
capa de negocio. Así, todos los
dependencias entre las entidades
involucradas en los casos de uso, se
transparente para el usuario. Otro logro
visible es, el software de fácil
de mantenimiento. Reflejan en la interfaz
rápida interfaz de modificación y nueva
de entrada la creación.
La estrategia se implementa una clase
cargador, que sabe cómo
hablar con la capa de negocio y conocido
por las interfaces que quieres
utilizar el servicio. De este modo hará
posible el cambio de la presentación
capa (interfaz) sin grandes ajustes de
software conjunto. El cuadro 3
mostrar la funcionalidad de este patrón. ¿Es
posible ver en el ejemplo
sobre cómo las conversaciones de clase
cargador con capa de negocio y los datos
insumos del modelo centralizado.

E. MEMENTO
Es un patrón que almacena las interacciones
pasado reciente de memoria con
el software, permitiendo recuperar las
operaciones efectuadas. Puede ser
entendida como "Deshacer". Esta demanda
se percibió cuando el usuario,
la búsqueda de una creación del programa,
aunque la línea tiene que deshacer (volver)
algunas interacciones en el código. El
problema detectado es: ¿cómo
almacenar las estructuras de trabajo? La
solución propuesta fue la tienda
estado de los objetos en una lista, para
restaurarlo si es necesario. Así, el usuario
puede
deshacer los pasos ejecutados si es
necesario. El objetivo principal de este
patrón es la creación de una interfaz fácil de
usar. La estrategia es crear
una colección que memorizar los pasos del
usuario, la definición de una estructura que
tiendas y restauración de los atributos de
los objetos, lo que persiste en la memoria.

F. COMANDO
Este modelo genera interfaz de comando de
las acciones de la disociación
causando eventos. El nombre de este patrón
puede dar idea de su na
funcionalidad. Patrón Command es
necesario porque el usuario es
obligado a ejecutar las funcionalidades del
sistema mediante la interfaz de datos de
entrada
objetos (Menú, Button, CheckBox,...). La
generación de interfaz de usuario
herramientas tiene los menús y botones de
objetos responsable de "comandos"
introducida por el usuario. De acción son
responsabilidad de las clases de negocios.
Los objetos de interfaz de usuario no debe
poner en práctica la acción explícita,
porque sólo la capa de negocio debe saber
cómo hacerlo.
La solución adoptada se muestra en la
figura 4. Todas interfaz actual
objetos de instancia sólo conocemos una
referencia al método responsable de
ejecutar la acción de usuario. Se separa de
interfaz y de negocio
funciones de la capa. La estrategia elegida
es, los objetos de interfaz sólo
conocer el sistema de puntos de entrada por
defecto (la clase cargador implementado
con el patrón Facade). Así interfaz de
objetos invocados por el usuario,
tiene que hacer referencia al método
localizado en la capa de negocio para
ejecutar
acciones, utilizando el punto de entrada
común, la clase cargador.

MÉTODO G. PLANTILLA-TM
Este modelo ayuda a definir un algoritmo
esqueleto. Este esqueleto
se utilizará para especializarse subclases
que heredan el objeto abstracto
modelo común.
Se permite un refinamiento de las clases de
la clase padre del niño se dé cuenta
la realidad. Esta técnica consiste en crear
una plantilla que se va especializados
por clases de infantil. Clases Será
materializan su comportamiento a lo largo
de carga
los métodos de la clase padre a través de
polimorfismo, mostró en la imagen
5. La consecuencia directa es la reutilización
TM aumento código. Aunque
refleja en pareja causado por la herencia a
cabo entre
las clases abstractas y el niño. Esta práctica
aliados a dinámico
unión son las bases para un edificio de
marco. Una pequeña introducción
de los marcos se presentan en la siguiente
sección. Un ejemplo TM
se muestra a continuación.

III. MARCO
Es una capa de trabajo donde todo el
conocimiento sobre la actividad predefinida
se encapsula. Algunas de las características
de OO como enlace dinámico,
polimorfismo y la herencia que las
estructuras de fácil modelado ella.
Estas técnicas se utilizaron ampliamente
para abstraer reutilizables, y se especializó
creación de objetos. Hacer que los objetos
interactúan y se comunican
dinámica es la cosa más importante en la
construcción de un marco.
El concepto de marco es tan importante
para desarrollar el código del robot
generador presentado en esta investigación,
porque tiene que generar
muchos idiomas diferentes robot específico.
A veces, para implantar el
modelo de marco es necesario rediseñar
toda la aplicación para apoyar
su interacción fuerte. Por tanto, el marco
OODP y documentación
es tan importante, evita por completo la
remodelación proyectada
sistema en caso de aparecer alguna
demanda cambia encuentra.
IV. Generador de código para los robots
Enseñe rápida (ABB), WinOLPC (Fanuc), y
Cosirop (Mitsubishi)
son algunos de los simuladores de
programación off-line disponible en la
industria.
Este simulador es capaz de mandar sus
robots respectiva, mediante su
propiedad de idiomas de programación de
robots, sin preocuparse en la interacción
entre esta plataforma. En este trabajo, las
estructuras de los programas
integrado en el generador de código se
edificó con el robot de base
comandos del movimiento que se
encuentran en ABB, Mitsubishi, Fanuc y
técnica
manuales. Usando los parámetros de
programación de robots comunes como:
movimiento
tipo, nombre de punto, la posición de
Manipulador coordenadas, el
desplazamiento
velocidad, y el objetivo de precisión. Este
conocimiento está representado en
clases especiales y validar con la
conveniente DP fue posible
implementa un lenguaje genérico
intermedio responsable de representar
comandos del robot. Es el lenguaje
intermedio se muestra en la figura 6 y
se puede utilizar para escribir el mismo
programa a 3 plataformas diferentes robots.
Inserte un lenguaje nuevo robot se convierte
en fácil a través de la clase nuevo protocolo
creación será la naturaleza del proyecto OO.
Podemos ver en la foto 6, el 4
columnas que componen el robot código
intermedio. La primera columna
representa el tipo de movimiento, el
segundo el nombre de la posición
variables, la tercera es la velocidad de
movimiento y, finalmente, la cuarta
columna
muestra el punto de llegar a la precisión.

Reutilización de componentes es una


característica intrínseca del lenguaje
orientado a objetos y se puede
alcanzado a través de muchas maneras.
Buenas prácticas para aumentar la
reutilización
aplicación de las técnicas OODP descrito en
la sección 2. El elegido
lenguaje era Java 2 Enterprize Edition (J2EE)
para traer este potente
características y mantenimiento del
proyecto fácil. Es excepcional capacidad
asiste
plenamente a los conceptos OO hacer viable
el desarrollo generador de código.
El proyecto se compone básicamente en
cinco paquetes que se subdividen
la programación fuera de línea
responsabilidades básicas. Este paquete
fue:
INTERF, optimizar el servicio, protocolo, y
persisten. El modo en que los paquetes
obras se explican en esta sección. El modelo
de desarrollo
aprobado fue de 3 proyectos de la capa.
Este modelo se divide en la presentación,
negocio, y la capa de persistencia.

A. CAPA DE PRESENTACIÓN
El paquete INTERF representa la capa de
interfaz y es responsable
al sistema de entrada de datos. Puede ser
una consulta de base de datos, una
aplicación
se ejecuta en el PC host o un navegador
Applet mostró en la figura 7.
Al momento presente, la interfaz del
paquete es el marco único
módulo que está completamente disociada
de la capa de negocio. Puede se
ampliamente explicados en la sección II-D.
B. capa de negocio
Se elaboró por el servicio, protocolo, y los
paquetes de optimización.
Al paquete de servicios se genera el código
intermedio mediante la entrada
instrucciones de interfaz. Se paquete de
mantener el sistema más importante
clases porque no hay puntos generalizada,
ejes, coordenadas, y
robot programa. En el protocolo del paquete
fue el responsable de las clases
para convertir el código intermedio a código
robot específico elegido en
capa de interfaz. Optimizar el paquete es un
conjunto de clases que regula
la interacción entre las clases de negocios
diferentes. En otras palabras, este
paquete trae beneficios a la entrada de
datos de la aplicación y la centralización
creación de objetos a través del cargador y
las clases de la fábrica, respectivamente.
C. capa de persistencia
Es la función principal está a cargo de
código robot genera tienda.
El paquete persisten automatizar la
fabricación de idiomas nativos
estructura y el conocimiento de extensión a
través de clases de Java. Cada clase
responsable de una plantilla de robot
lenguaje específico. Este proyecto
adopta técnicas OO usando J2EE aplicada a
la programación del robot.
El programa propuesto tiene la intención de
permitir a los profesionales que se estaban
sustituido por el trabajo de los robots, para
programarlo. Uso de una clase formal
conocimiento, este software tiene que
facilitar el programa de un movimiento del
robot
tipo, con su propia precisión y la velocidad
entre dos puntos diferentes
en una realidad en 3D. Todo el mundo PC se
puede utilizar para la programación y
comunicarse con los robots. Debido a la
portabilidad presentada por Java
máquina virtual y los dispositivos de
comunicación con el PC son compatibles
con todos los robots contemporáneos. La
abstracción adoptada mediante el
OODP describe en la sección II de permitir la
comunicación interfaces de aumento,
protocolos, y lenguajes de robot.
V. RESULTADOS PRÁCTICOS
La experiencia se proponen para demostrar
las funcionalidades del software
fue, escribir el UCSAL siglas en un tablero
blanco con
dos robots diferentes. Los robots fueron
programados con el código
generador descrito en esta investigación y
mostró en la figura 8.
Para explicar la experiencia y la utilidad de
software, fue idealizada de la
secuencia de movimiento para escribir el
UCSAL siglas en la pizarra
utilizando una pluma se quejó por el
manipulador. Para hacer que el personaje
de "U"
se requiere un movimiento circular, a "C"
otro movimiento circular, con "S"
dos movimientos circulares, movimientos a
"A" árbol lineal y por último a "L"
dos movimientos lineales. Más allá del tipo
de movimiento, para cada desplazamiento,
se establece en el punto esencial a los
nombres, la velocidad y precisión. También
se
necesario establecer puntos de fuera de la
pizarra entre los personajes
por escrito, para definir el ángulo de ataque
del lápiz. Al igual que las coordenadas
captura no se llevó a cabo también, se han
realizado mediante la enseñanza, utilizando
el mando de control vinculados al
controlador del robot para establecer las
coordenadas XYZ.

El experimento fue un éxito. Creación de un


programa intermedio
utilizando RoBott y seeting las coordenadas
de la enseñanza. Fue capaz de
escribir la sigla UCSAL con golems ABB y
Mitsubishi. La
transferencia de archivos de programas de
robot, en el momento presente se hace
flexible
disco.
VI. Conclusiones y trabajos futuros
Las instalaciones OO interpuesto por la
naturaleza del proyecto hace posible en
una implementación posterior de añadir
sensores e inteligencia artificial
técnicas de actualización de la zona de
aplicación de software.
El sistema, después de algunos cambios, se
puede centralizar en un servidor
mostró en la figura 9 y interactuar con un
movimiento de datos de coordenadas
base de una célula de fabricación, o la
migración de facilitar los programas (tareas)
entre robots diferentes. También es posible
desarrollar un nuevo protocolo
clases que permite trabajar con otras
máquinas, que tienen la misma acción
principio de los robots, por ejemplo: un CNC
o una máquina de cinco ejes.
La ejecución del movimiento coordinar las
aportaciones, a través de un
Simulación 3D y el PC a la comunicación del
tratamiento no se hizo.
Debido a que el enfoque de desarrollo se
hizo un software portátil,
capaces de escribir programas robot para
idiomas diferentes fabricantes.
Por lo tanto en realidad, RoBott es capaz de
generar archivos en particular a los
diferentes
plataformas a través de diferentes
interfaces se ejecutan en diferentes
operativos
sistemas. El siguiente paso es utilizar los
archivos de la pieza neutral proyecto como:
nc paso,
IGES, DXF, y se sentó archivos. La captura
de la pieza intrínseca coordenadas
a través de sus proyectos neutral y coordina
el cálculo de la extrínseca
se permite la manipulación de la pieza. Las
coordenadas de posición de entrada,
simulación, y el PC a la comunicación del
robot se discutirán en
una mejor oportunidad.

Agradecimientos. Esta investigación se llevó


a cabo en el contexto
del Máster de Ingeniería Electrónica
Industrial. Proyecto Apoyado
por el Programa ALBAN, el Programa de la
Unión Europea
de Becas de Alto Nivel para América Latina,
no hay becas.
E04M033540BR. Gracias a CIMATEC -
Tecnología y Manufactura
Centro Integrado del SENAI-BA, Brasil.

También podría gustarte