Todo dispositivo electrónico o máquina requiere de un idioma tanto para moverse como para comunicarse con otros dispositivos, con humanos o con el entorno.
Este idioma es el lenguaje de programación que un robot necesita, es decir, el código o conjunto de instrucciones -algoritmos- que hará que el robot ejecute las tareas de forma eficiente.

De entre los más de 1.500 lenguajes de programación que existen, ¿Cuál es el mejor lenguaje de programación robótica? Pues sencillamente, depende. Depende de las aplicaciones que se pretendan desarrollar o del sistema que utilizado.

Algunos de los lenguajes de programación de robots disponibles son: C#, Python, Java, MATLAB o PHP, pero este artículo se centra en el lenguaje de programación robótica que Robotnik trabaja para el desarrollo de sus robots móviles autónomos.

RB-KAIROS

LENGUAJES DE PROGRAMACIÓN EN ROBÓTICA INDUSTRIAL

Actualmente el lenguaje de programación más usado en el sector de la robótica industrial es el C++.

Probablemente le siga de cerca Python. Este lenguaje es clave en las pruebas de un robot móvil autónomo y también muy extendido en el sector de la robótica debido a su relación con los desarrolladores de ROS.

Programación robótica con PYTHON

Conocido como el lenguaje de los datos, PYTHON es un lenguaje de programación de código abierto, probablemente de los más sencillos, populares y versátiles de todos los que hay.
Es un lenguaje de Programación Orientada a Objetos (POO) totalmente vinculado al desarrollo de inteligencia artificial y la realidad virtual.

Python es sobre todo un lenguaje muy flexible y rápido para prototipos en los que el usuario final simplemente tendrá que ejecutar el código, sin necesidad de compilar. El problema de

Python es que quizás, como no tiene en cuenta los errores hasta que se ejecuta, puede fallar en medio de un programa.

Programación robótica con C++

El C++ surgió como extensión del lenguaje de programación C, conocido como un lenguaje multiparadigma porque está orientado a objetos, igual que Python, pero también a paradigmas de programación estructurada y programación genérica.

Aunque el desarrollo de aplicaciones en C++ a veces precisa de más tiempo debido a que requiere la compilación del software, se trata de un lenguaje de programación robusto que permite crear programas complejos siguiendo una estructura sólida sin dar pie a equivocaciones o errores.

¿QUÉ LENGUAJE DE PROGRAMACIÓN SE UTILIZA EN ROBOTNIK?

En Robotnik se utilizan los lenguajes de programación robótica C++ y Python de cara a crear rutinas, algoritmos o a la comunicación con los sensores, motores, drivers, etc., pero para la interacción al más alto nivel con el robot, se huye de esta opción, creando un entorno que encapsula estos lenguajes de programación en un lenguaje más inteligible y comprensible para alguien que apuesta por la robótica móvil en su negocio, pero no tiene conocimientos de programación.

Robotnik apuesta por proporcionar gran parte del código fuente del robot, así como las simulaciones de los mismos, a través de nuestro GitHub oficial. Permitiendo que desarrolladores de todo el mundo puedan probar nuestros robots de forma virtual y aportar mejoras al código que ofrecemos

Pero para el usuario final o cliente, lo extrapola a un entorno de programación más intuitivo como una interfaz de programación por bloques. De hecho, ya se puede observar que el lenguaje de programación por bloques es el que se está enseñando en los colegios desde hace un tiempo, por su sencillez y funcionalidad.

Una experiencia intuitiva para el usuario

De este modo, ya no hace falta que el usuario se introduzca en una terminal en blanco y negro o transmitirle un comando excesivamente complejo, sino que, a través del HDMI se obtiene un bloque que encapsula acciones ya preprogramadas configurables como sucede en tareas de logística: que el robot móvil vaya de un punto X a un punto Y del mapa, que transporte una carga de un punto A a un punto B o sencillamente que se vaya al cargador cuando el nivel de batería sea bajo.

Después de más de 20 años de experiencia de Robotnik, es sabido que esta es la opción más cómoda para el usuario final. Puede que en una empresa que decide incorporar robótica móvil autónoma en su negocio, haya alguna persona con los suficientes conocimientos técnicos que sepa programar a bajo nivel el Core o las bases del robot como lo hacen los ingenieros en Robotnik, pero en caso de que no sea así, tampoco es un impedimento. La ventaja es que no es imprescindible tener a alguien en plantilla con conocimientos de lenguajes de programación de robots.

Otra de las ventajas de estos dos lenguajes de programación robótica es que son los principales que ROS ofrece y cuyas librerías están más desarrolladas.

En Robotnik se ha apostado por ROS desde su creación, pero ¿Qué es ROS?

ROS

ROS no es exactamente un lenguaje de programación robótica sino que es un sistema o framework en el que programar el software de los robots.

Es decir, un conjunto de marcos de software de código abierto que permite abstraer el hardware.
Imagina que ya tienes la herramienta para programar. Ahora necesitas también el entorno donde poder hacerlo, y ahí es donde aparece ROS.

Antes de la aparición de ROS, cuando el usuario cambiaba de robot o adquiría uno distinto, tenía que aprender a utilizar un nuevo software. En cambio, ahora es posible compartir programas, códigos y funciones de uso común entre distintos robots. También facilita la integración entre sistemas, cosa que es más costosa si cambias de paradigma.

Se trata de un conjunto de paquetes, recursos y herramientas que crea un punto en común para todos los desarrolladores de forma que, si alguien ha hecho un programa que se comunica con un driver o que hace determinado algoritmo, tienen una interfaz -ROS- que te permite que otros puedan usar lo que necesiten para programar su código. ROS es un lenguaje de lenguajes que te permite comunicarte entre distintos nodos escritos en cualquier idioma.

Este estándar es el más desarrollado entre los programadores de robótica móvil.

Si está interesado en leer más en detalle sobre ROS: ¿Aprender ROS online?

¿Sabías que todos los robots de Robotnik soportan software ROS?