Cómo implementar la programación y el agarre de robots industriales
Explicación detallada de los lenguajes de programación de robots
Los programadores de visión por computadora darán respuestas diferentes a las de los robots cognitivos. Todo el mundo no está de acuerdo sobre cuál es el "mejor lenguaje de programación", lenguaje que se debe aprender primero, aunque esta es la respuesta más realista ya que depende del tipo de aplicación que se quiera desarrollar y del sistema que se esté utilizando.
Los diez lenguajes de programación más populares para robots
Existen más de 1.500 lenguajes de programación en el mundo. Estos son los diez lenguajes de programación más populares. en tecnología robótica. Cada lenguaje tiene diferentes ventajas para los robots:
10.?BASIC?/?Pascal
BASIC y Pascal, que son la base de varios lenguajes de robots industriales, se describen a continuación. BASIC fue diseñado para principiantes (significa Código de instrucción simbólica universal para principiantes), lo que lo convierte en un lenguaje muy fácil para comenzar. Pascal tiene como objetivo fomentar buenos hábitos de programación y, al introducir construcciones como punteros, es un buen "trampolín" desde la versión simple hasta la creación de un lenguaje más complejo. Ambos lenguajes están algo desactualizados hoy en día en favor del "uso cotidiano". Sin embargo, si desea realizar mucha codificación de bajo nivel o si desea familiarizarse con otros lenguajes de robótica industrial, puede aprenderlos.
9. Lenguaje de robot industrial
Casi todos los fabricantes de robots han desarrollado su propio lenguaje de programación de robots. Puedes familiarizarte con varios de ellos aprendiendo Pascal. Sin embargo, aún necesitarás aprender un nuevo idioma cada vez que comiences a usar un nuevo bot.
ABB es propietaria del lenguaje de programación RAPID. Kuka tiene KRL (lenguaje de robot Kuka). Comau usa PDL2, Yaskawa usa INFORM y Kawasaki usa AS. Luego, los robots Fanuc usan Karel, los robots Stäubli usan VAL3 y los robots Universal usan URScript.
En los últimos años, opciones de programación como ROS Industrial han comenzado a proporcionar a los programadores opciones más estandarizadas. Sin embargo, si usted es un técnico, es más probable que hable el idioma del fabricante.
8.?LISP
LISP es el segundo lenguaje de programación más antiguo del mundo (FORTRAN es más antiguo, pero sólo tiene un año). No es tan utilizado como muchos otros lenguajes de programación de esta lista, sin embargo, sigue siendo muy importante en la programación de inteligencia artificial; Partes de ROS están escritas en LISP, aunque no es necesario saber utilizar ROS.
7.?Lenguaje de descripción de hardware (HDL)
El lenguaje de descripción de hardware es básicamente una forma de describir la programación de dispositivos electrónicos. Estos lenguajes son bastante familiares para algunos expertos en robótica porque se utilizan para programar matrices de puertas programables en campo (FPGA). Los FPGA le permiten desarrollar hardware electrónico sin producir realmente chips de silicio, lo que los convierte en algunas de las opciones de desarrollo más rápidas y sencillas.
Si no eres un creador de prototipos electrónicos, probablemente nunca usarás HDL. Aun así, es importante saber que existen porque son completamente diferentes a otros lenguajes de programación. Por un lado, todas las operaciones se realizan en paralelo en lugar de en un lenguaje basado en procesador.
6.?Assembly
Assembly te permite programar en "Nivel Uno y Cero", que es el nivel más bajo (más o menos) de programación, el nivel más bajo hoy en día. Todos Los dispositivos electrónicos requieren programación y, con el auge de los microcontroladores como Arduino, ahora puedes programar fácilmente a este nivel usando C/C++, lo que significa que la mayoría de los robots pueden no ser tan necesarios.
5.?MATLAB
MATLAB y sus parientes de código abierto, como Octave, son extremadamente populares entre algunos ingenieros en robótica para analizar datos y desarrollar sistemas de control. También existe una caja de herramientas de robótica muy popular para MATLAB. Conozco personas que desarrollan sistemas robóticos completos utilizando MATLAB. Si desea analizar datos, generar gráficos avanzados o implementar sistemas de control, es posible que desee aprender MATLAB.
4.?C#?/?.NET
C# es un lenguaje de programación propietario proporcionado por Microsoft.
Incluyo C#/.NET aquí principalmente debido a que Microsoft Robotics Developer Studio lo utiliza como lenguaje principal. Si vas a utilizar este sistema, probablemente querrás utilizar C#. Sin embargo, aprender C/C++ primero puede ser una buena opción para desarrollar tus habilidades de codificación a largo plazo.
3.?Java
Algunas carreras de informática enseñan Java como primer lenguaje de programación. Java "oculta" la funcionalidad de la memoria subyacente al programador, lo que hace que sea más fácil de programar que C, pero también significa que no sabes mucho sobre lo que realmente hace el código. Si llega a la robótica con experiencia en informática (muchos lo hacen, especialmente en la investigación), probablemente haya aprendido Java. Al igual que C# y MATLAB, Java es un lenguaje interpretado, lo que significa que no está compilado en código de máquina. En cambio, la máquina virtual Java interpreta las instrucciones en tiempo de ejecución. La teoría detrás del uso de Java es que puedes usar el mismo código en muchas máquinas diferentes gracias a la Máquina Virtual Java. En la práctica, esto no siempre funciona y, en ocasiones, genera un código lento. Sin embargo, Java es muy popular en algunas partes de la robótica, por lo que es posible que lo necesites.
2.? Python
Python ha experimentado un gran resurgimiento en los últimos años, especialmente en robótica. Una razón puede ser que Python (y C++) son los dos lenguajes de programación principales que se encuentran en ROS. Al igual que Java, es un lenguaje interpretado. A diferencia de Java, el objetivo principal del lenguaje es la facilidad de uso. Mucha gente piensa que esto es muy bueno.
Python guarda muchas cosas habituales que requieren tiempo en la programación, como definir y convertir tipos de variables. Además, existen toneladas de bibliotecas gratuitas, lo que significa que no es necesario "reinventar" cuando se necesita implementar alguna funcionalidad básica. Y dado que permite un enlace simple usando código C/C++, significa que partes del código de alto rendimiento se pueden implementar en estos lenguajes para evitar la degradación del rendimiento.
1.?C/C++
¡Por fin llegamos al lenguaje de programación número uno para robótica! Mucha gente está de acuerdo en que C y C++ son buenos puntos de partida para nuevos robots. ¿Por qué? Porque muchas bibliotecas de hardware utilizan estos lenguajes. Permiten la interacción con hardware de bajo nivel, permitiendo rendimiento en tiempo real y lenguajes de programación muy maduros. Hoy en día, probablemente usarás C++ más que C porque el lenguaje tiene más funciones. C++ es básicamente una extensión de C. Puede resultar útil aprender al menos un poco de C primero para poder reconocer una biblioteca de hardware escrita en C cuando la encuentre. C/C++ no es tan simple como solía ser, como Python o MATLAB. Implementar la misma funcionalidad usando C puede llevar bastante tiempo y requerir muchas más líneas de código. Sin embargo, dado que los robots dependen en gran medida del rendimiento en tiempo real,
Una de las principales características de los robots es su versatilidad, y la programabilidad de los robots es un medio importante para lograr esta característica. La programación de robots implica necesariamente un lenguaje de robot. El lenguaje robótico es un método de uso de símbolos para describir las acciones del robot. Describe el robot para que pueda realizar diversas operaciones de acuerdo con la intención del programador.
La aparición y el desarrollo del lenguaje robótico están estrechamente relacionados con el desarrollo de la tecnología robótica y el desarrollo de los lenguajes de programación informática. El problema central de los sistemas de programación es el problema del funcionamiento del control de movimiento.
Sistemas y métodos de programación de robots
La programación de robots es la combinación de cuestiones de control y movimiento del robot, y también es una de las cuestiones más críticas en el sistema robótico. En la actualidad, los robots industriales prácticos a menudo utilizan programación o enseñanza fuera de línea. Durante la etapa de depuración, el programa compilado se puede ejecutar paso a paso a través de la caja de control de enseñanza y luego se puede poner en operación formal.
El sistema operativo del lenguaje del robot incluye 3 estados operativos básicos:
Estado de monitoreo
Estado de programación
Estado de ejecución
Estado de monitoreo: se utiliza para supervisar y controlar todo el sistema.
Estado de edición: proporciona al operador programas de programación o edición
Estado de ejecución: se utiliza para ejecutar programas del robot
Convierte el programa fuente del robot en código de máquina para El gabinete de control del robot puede leer y ejecutar directamente, y la velocidad de ejecución del programa compilado se acelerará enormemente.
Según los diferentes requisitos de trabajo del robot, se requiere una programación diferente. La capacidad de programación tiene mucho que ver con los métodos de programación. Los métodos de programación determinan la adaptabilidad y las capacidades operativas del robot. Con la aplicación generalizada de las computadoras en la industria, la programación informática de robots industriales se ha vuelto cada vez más importante.
Los lenguajes de programación también son diversos. Actualmente, existen los siguientes métodos de programación para robots industriales:
Programación de control secuencial
En máquinas de control secuencial, todos. Los controles se realizan mediante control de secuencia mecánico o eléctrico y, en general, no hay requisitos de programación. El control secuencial tiene poca flexibilidad porque todos los procesos de trabajo han sido programados y controlados mediante paradas mecánicas u otros métodos determinados. Un gran número de máquinas automáticas se operan bajo control secuencial. Las principales ventajas de este método son el bajo costo y el fácil control y operación.
Programación del método de enseñanza
Actualmente, la mayoría de robots industriales tienen la función de utilizar el método de enseñanza para programar. La programación del método de enseñanza generalmente se puede dividir en dos métodos: programación de enseñanza mano a mano y programación de enseñanza con caja de enseñanza:
Programación de enseñanza mano a mano: se utiliza principalmente en industrias como la pintura en aerosol y la soldadura por arco. que requieren un control continuo de la trayectoria del robot. El método específico consiste en utilizar el mango de enseñanza para guiar el efector final a través de la posición requerida. Al mismo tiempo, el sensor detecta los valores de coordenadas de las articulaciones del robot industrial y el sistema de control registra y almacena esta información de datos. . En el trabajo real, el sistema de control de los robots industriales reproducirá repetidamente las trayectorias y habilidades operativas enseñadas.
La programación de enseñanza práctica también puede realizar el control de puntos. A diferencia del control CP, solo registra las dos posiciones finales de un movimiento del programa de trayectoria, y la velocidad de movimiento de la trayectoria se basa en los datos funcionales correspondientes. a cada segmento del programa de trayectoria.
El método de programación de enseñanza de la caja de enseñanza consiste en utilizar manualmente los botones con varias funciones en la caja de enseñanza para accionar los ejes de las articulaciones del robot industrial para mover articulaciones de un solo eje o múltiples en el orden requerido. por el puesto de trabajo. Coordinar movimientos para completar la programación didáctica del puesto y función. La enseñanza con caja de enseñanza se utiliza generalmente para enseñar a robots grandes o robots que operan en condiciones peligrosas.
Programación fuera de línea o preprogramación
La programación fuera de línea y la preprogramación tienen el mismo significado. Se refiere a la programación en lenguaje de programación de robots de antemano mediante métodos de enseñanza. >
La programación no requiere el uso de robots y los robots pueden liberarse para realizar otros trabajos
Los planes de operación y los ciclos de operación se pueden optimizar con anticipación
Completado previamente procesos o subprocesos El programa se puede integrar en el programa programado
Se pueden utilizar sensores para detectar información externa, permitiendo que el robot responda en consecuencia. Esta respuesta permite que el robot trabaje de manera adaptable
Las funciones de control pueden incorporar información existente de diseño asistido por computadora (CAD) y fabricación asistida por computadora (CAM)
Programas de ejecución previa se puede utilizar para simular movimientos reales sin peligro, para simular movimientos del robot en la pantalla para ayudar a la programación
Para diferentes propósitos de trabajo, solo es necesario reemplazar una parte del programa pendiente
En un sistema no adaptativo, no hay retroalimentación del entorno externo y la única entrada es el valor de medición del sensor de articulación, por lo que se pueden utilizar métodos de programación simples.
Requisitos de programación para robots
Ser capaz de construir un modelo mundial
Ser capaz de describir las operaciones del robot
Ser capaz de describir el movimiento del robot
Permitir a los usuarios especificar el proceso de ejecución
Tener un buen entorno de edición
Tipo de lenguaje de edición del robot
Nivel de acción
(sistema de lenguaje AL, lenguaje LUNA y sus características)
Nivel de objeto
(lenguaje AUTOASS y sus características, lenguaje RAPT y sus características)
Nivel de tarea
p>