¿Qué lenguaje de programación se usa para controlar robots industriales?

Depende. Los “robots industriales” se definen generalmente como brazos robóticos que se utilizan en aplicaciones de fabricación o biomédicas. Estos comprenden algo así como el 95% de todos los brazos robóticos en uso en el mundo. Y la vasta, gran mayoría de estos brazos nunca son realmente programados por sus usuarios finales en ningún idioma que un informático reconozca. Casi siempre se usan para operaciones de selección y colocación, y el usuario los “programa” generando trayectorias específicas para ellos, a menudo a través de un colgante de enseñanza o un lenguaje de script muy simple.

Del pequeño porcentaje restante de armas industriales que necesitan algo más complicado, la mayoría se programa utilizando un lenguaje de control de movimiento dedicado o una lógica de escalera. Algunos, pero no todos, los fabricantes de robótica industrial ofrecen una interfaz de red y una API C en sus brazos. En mi experiencia, el uso de estas herramientas en entornos industriales es bastante raro.

Por supuesto, los fabricantes de robots realizan una gran cantidad de programación “oculta” que el usuario final nunca ve. En general, esto se considera altamente propietario, y no conozco ningún dato de toda la industria, pero supongo que fue una combinación de C, VHDL y (supongo) cierta cantidad de código generado automáticamente a partir de un herramienta de diseño de controles y procesamiento de señales como MATLAB / Simulink o LabView.

Tenga en cuenta que iRobot generalmente no se considera un jugador importante en el campo de la robótica industrial: esos son KUKA, Fanuc, Motoman y Mitsubishi Electric. Así que estoy un poco confundido por tu pregunta.

Si lo que realmente quiere decir es qué robots * disponibles comercialmente * se usan en la configuración de investigación o afición programada, entonces la respuesta es casi siempre C en un nivel bajo, posiblemente con enlaces de lenguaje de nivel superior disponibles. Los sistemas operativos están en todos los ámbitos. Windows sigue siendo una opción popular; varios sabores de Linux son probablemente los segundos, y los RTOS como vxWorks a veces también aparecen, dependiendo de la aplicación.

GCode, también conocido como RS-274, controla muchos robots cartesianos (molinos cnc, impresoras 3d, tornos). Este no es un lenguaje de programación de propósito general, sino una forma de codificar instrucciones para realizar movimientos en varios ejes lineales y rotativos. Puedes leer todo sobre esto aquí: código G.

Existen diferentes tipos de robots que se pueden programar. Algunos de ellos son robots industriales (máquinas grandes y enormes), algunos están diseñados para trabajar con humanos como el KUKA LBR Iiwa (colaboración de robots humanos) y luego están los robots móviles.

Desde mi experiencia con LBR Iiwa, trabajan con JAVA y C ++. Con JAVA, uno puede implementar directamente algoritmos en el controlador. También hay un contenedor desarrollado para implementar programas en C ++ que utiliza la Biblioteca FRI (Fast Research Interface Library: Página de inicio).

Y luego, para los robots industriales, cada fabricante tiene su propio lenguaje de programación. Los robots industriales KUKA se pueden programar con Kuka Robot Language (KRL), los robots Yaskawa con el lenguaje INFORM, los robots FANUC con el lenguaje KAREL y los ABB con el lenguaje RAPID. Estos lenguajes son similares a cualquier lenguaje de procedimiento de alto nivel como C. Por supuesto, las sintaxis difieren en cada caso.

Si desea tener una idea de los idiomas de los robots industriales, puede descargar la versión gratuita de ABB RobotStudio y jugar.