stringtranslate.com

software para robots

El software del robot es el conjunto de comandos o instrucciones codificadas que le indican a un dispositivo mecánico y a un sistema electrónico, conocidos en conjunto como robot , qué tareas realizar. El software robótico se utiliza para realizar tareas autónomas. Se han propuesto muchos sistemas y marcos de software para facilitar la programación de robots.

Algunos software de robots tienen como objetivo desarrollar dispositivos mecánicos inteligentes. Las tareas comunes incluyen bucles de retroalimentación , control , búsqueda de rutas , filtrado de datos, localización y intercambio de datos .

Introducción

Si bien es un tipo específico de software, sigue siendo bastante diverso. Cada fabricante tiene su propio software de robot. Si bien la gran mayoría del software consiste en manipular datos y ver el resultado en pantalla, el software de robot sirve para manipular objetos o herramientas en el mundo real.

software para robots industriales

El software para robots industriales consta de objetos de datos y listas de instrucciones, lo que se conoce como flujo de programa (lista de instrucciones). Por ejemplo,

Ir a Plantilla1

Es una instrucción para que el robot vaya a los datos posicionales denominados Jig1. Por supuesto, los programas también pueden contener datos implícitos, por ejemplo.

Dígale al eje 1 que se mueva 30 grados.

Los datos y el programa normalmente residen en secciones separadas de la memoria del controlador del robot. Se pueden cambiar los datos sin cambiar el programa y viceversa. Por ejemplo, uno puede escribir un programa diferente usando el mismo Jig1 o puede ajustar la posición de Jig1 sin cambiar los programas que lo usan.

Ejemplos de lenguajes de programación para robots industriales.

Debido a la naturaleza altamente patentada del software para robots , la mayoría de los fabricantes de hardware para robots también proporcionan su propio software. Si bien esto no es inusual en otros sistemas de control automatizados , la falta de estandarización de los métodos de programación para robots plantea ciertos desafíos. Por ejemplo, hay más de 30 fabricantes diferentes de robots industriales , por lo que también se requieren 30 lenguajes de programación de robots diferentes. Existen suficientes similitudes entre los diferentes robots que es posible obtener una comprensión amplia de la programación de robots sin tener que aprender el lenguaje propietario de cada fabricante. [1]

Un método para controlar robots de múltiples fabricantes es utilizar un posprocesador y un software de programación fuera de línea (robótica) . Con este método, es posible manejar un lenguaje de programación de robots específico de una marca a partir de un lenguaje de programación universal, como por ejemplo Python (lenguaje de programación) . [2] sin embargo, compilar y cargar código fijo fuera de línea en un controlador de robot no permite que el sistema robótico sea consciente del estado, por lo que no puede adaptar su movimiento y recuperarse a medida que cambia el entorno. Actualmente, el control adaptativo unificado en tiempo real para cualquier robot es posible con algunas herramientas diferentes de terceros.

A continuación se muestran algunos ejemplos de lenguajes de programación de robots publicados.

Tarea en inglés sencillo:

Pasar a P1 (una posición general segura)Pasar a P2 (un acercamiento a P3)Mover a P3 (una posición para recoger el objeto)Cerrar pinzaPasar a P4 (un acercamiento a P5)Mover a P5 (una posición para colocar el objeto)Pinza abiertaPasar a P1 y terminar.

VAL fue uno de los primeros 'lenguajes' de robots y se utilizó en los robots Unimate . [3] Otros fabricantes, incluido Adept Technology , han utilizado variantes de VAL . Stäubli utiliza actualmente VAL3.

Programa de ejemplo:

LUGAR DE RECOGIDA DEL PROGRAMA 1. MOVER P1 2. MOVER P2 3. MOVER P3 4. CIERRE 0.00 5. MOVER P4 6. MOVER P5 7. ABRE 0.00 8. MOVER P1.FIN

Ejemplo de programa Stäubli VAL3:

comenzar moverj(p1,tGripper,mNomSpeed) movej(appro(p3,trAppro),tGripper,mNomSpeed) mover(p3,tGripper,mNomSpeed) cerrar(tGripper) movej(appro(p5,trAppro),tGripper,mNomSpeed) mover(p5,tGripper,mNomSpeed) abierto(tGripper) moverj(p1,tGripper,mNomSpeed)fin

trAppro es una variable de transformación cartesiana. Si usamos el comando appro, no necesitamos enseñar el punto P2 y P4, pero transformamos dinámicamente un enfoque para la posición de selección y colocación para la generación de trayectoria.

Epson RC+ (ejemplo de aspiradora)

Función Seleccionar Lugar Saltar P1 Saltar P2 Saltar P3 al vacio Espera .1 Saltar P4 Saltar P5 Fuera del vacío Espera .1 Saltar P1Defenderse

ROBOFORTH (un lenguaje basado en FORTH ).

: RECOGER P1 P3 AGARRAR RETIRAR P5 DESAGURAR RETIRAR P1 ;     

(Con Roboforth puede especificar posiciones de aproximación a lugares para que no necesite P2 y P4).

Claramente, el robot no debe continuar con el siguiente movimiento hasta que la pinza esté completamente cerrada. La confirmación o el tiempo permitido está implícito en los ejemplos anteriores de CLOSEI y GRIP, mientras que el comando En vacío requiere un retraso de tiempo para garantizar una succión satisfactoria.

Otros lenguajes de programación de robots

lenguaje de programación visual

El lenguaje de programación LEGO Mindstorms EV3 es un lenguaje sencillo con el que sus usuarios pueden interactuar. Es una interfaz gráfica de usuario (GUI) escrita con LabVIEW . El enfoque es comenzar con el programa en lugar de los datos. El programa se construye arrastrando iconos al área del programa y agregándolos o insertándolos en la secuencia. Para cada icono, usted especifica los parámetros (datos). Por ejemplo, para el icono de accionamiento del motor, usted especifica qué motores y cuánto se mueven. Cuando se escribe el programa, se descarga en el 'ladrillo' (microcontrolador) Lego NXT para realizar pruebas.

Lenguajes de scripting

Un lenguaje de secuencias de comandos es un lenguaje de programación de alto nivel que se utiliza para controlar la aplicación de software y se interpreta en tiempo real o "se traduce sobre la marcha", en lugar de compilarse de antemano. Un lenguaje de secuencias de comandos puede ser un lenguaje de programación de propósito general o puede estar limitado a funciones específicas utilizadas para aumentar la ejecución de una aplicación o programa del sistema. Algunos lenguajes de programación, como RoboLogix , tienen objetos de datos que residen en registros y el flujo del programa representa la lista de instrucciones, o conjunto de instrucciones , que se utiliza para programar el robot.

Los lenguajes de programación generalmente están diseñados para construir estructuras de datos y algoritmos desde cero, mientras que los lenguajes de programación están destinados más a conectar o "pegar" componentes e instrucciones. En consecuencia, el conjunto de instrucciones del lenguaje de secuencias de comandos suele ser una lista simplificada de comandos de programa que se utilizan para simplificar el proceso de programación y proporcionar un rápido desarrollo de aplicaciones.

Idiomas paralelos

Otro enfoque interesante es digno de mención. Todas las aplicaciones robóticas necesitan paralelismo y programación basada en eventos. El paralelismo es cuando el robot hace dos o más cosas al mismo tiempo. Esto requiere hardware y software adecuados. La mayoría de los lenguajes de programación se basan en subprocesos o clases de abstracción complejas para manejar el paralelismo y la complejidad que conlleva, como el acceso simultáneo a recursos compartidos. URBI proporciona un mayor nivel de abstracción al integrar paralelismo y eventos en el núcleo de la semántica del lenguaje.

 siempre ( cara . visible )  {  headPan . valor  +=  cámara . xfov  *  cara . x  y  inclinación de la cabeza . valor  +=  cámara . yfov  *  cara . y  }

El código anterior moverá los motores headPany headTilten paralelo para hacer que la cabeza del robot siga el rostro humano visible en el video tomado por su cámara cada vez que el robot ve un rostro.

software de aplicación para robots

Independientemente del idioma que se utilice, el resultado del software robótico es crear aplicaciones robóticas que ayudan o entretienen a las personas. Las aplicaciones incluyen software de comando y control y tareas. El software de comando y control incluye GUI de control de robots para robots teleoperados, software de comando de apuntar y hacer clic para robots autónomos y software de programación para robots móviles en fábricas. El software de tareas incluye interfaces simples de arrastrar y soltar para configurar rutas de entrega, patrullas de seguridad y recorridos para visitantes; también incluye programas personalizados escritos para implementar aplicaciones específicas. El software de aplicación robótica de uso general se implementa en plataformas robóticas ampliamente distribuidas.

Consideraciones de seguridad

Los errores de programación representan una consideración de seguridad grave, particularmente en grandes robots industriales. La potencia y el tamaño de los robots industriales implican que son capaces de causar lesiones graves si se programan incorrectamente o se utilizan de forma insegura. Debido a la masa y las altas velocidades de los robots industriales, siempre es peligroso que una persona permanezca en el área de trabajo del robot durante el funcionamiento automático. El sistema puede comenzar a moverse en momentos inesperados y un humano no podrá reaccionar con la suficiente rapidez en muchas situaciones, incluso si está preparado para hacerlo. Por lo tanto, incluso si el software está libre de errores de programación, se debe tener mucho cuidado para que un robot industrial sea seguro para los trabajadores humanos o para la interacción humana, como cargar o descargar piezas, eliminar un atasco de piezas o realizar mantenimiento. El libro ANSI/RIA R15.06-1999 Estándar nacional estadounidense para robots industriales y sistemas robóticos - Requisitos de seguridad (revisión de ANSI/R15.06-1992) de la Asociación de Industrias Robóticas es el estándar aceptado sobre seguridad de robots. Esto incluye directrices tanto para el diseño de robots industriales como para la implementación o integración y uso de robots industriales en la fábrica. Se cubren numerosos conceptos de seguridad, como controladores de seguridad, velocidad máxima durante un modo de enseñanza y uso de barreras físicas.

Ver también

Referencias

  1. ^ "El futuro de la programación fuera de línea de robots". Blog de CoRo . 2015-10-25 . Consultado el 3 de enero de 2017 .
  2. ^ RoboDK. "Programación sin conexión - RoboDK". www.robodk.com . Consultado el 3 de enero de 2017 .
  3. ^ O. Nnaji, Bartolomé (1993). Teoría del ensamblaje y programación automáticos de robots (1993 ed.). Saltador. pag. 5.ISBN 978-0412393105. Consultado el 8 de febrero de 2015 .
  4. ^ "Lenguajes de programación de robots". Fabryka robotów . Consultado el 8 de febrero de 2015 .

enlaces externos