PLATAFORMAS DE PROGRAMACIÓN DE ROBOT

06 febrero 2018 1

Autora: Mª Rocio Garcia de la Fuente.

Existen en el mercado, como se vio en el pasado artículo de robótica, diferentes kit para comenzar o avanzar dentro de este campo, algunos sólo permiten su montaje y ejecución, sin embargo otros, los más complejos y flexibles permiten ser programados en distintas plataformas, en este artículo se van a ver las más conocidas.

1.LEGO® MINDSTORMS® EV3 Programmer App

Ultima aplicación gratuita diseñada para el ladrillo EV3 de LEGO Minsdstorm, que permite crear programas para robots MINDSTORMS directamente desde dispositivos con iOS y Android Tablet o PC.

La aplicación para EV3 sustituye a las anteriores desarrolladas para NXT, pero mantiene el empleo de cajas, bloques y diagramas de flujo común a los modelos anteriores de LEGO MINDSTORMS de la marca y al sistema de programación LabView de National Instruments, del que hereda su filosofía de programación con un lenguaje visual gráfico. Recomendado para sistemas hardware y software de pruebas, control y diseño, simulado o real y embebido. 06 FEBRERO 2018 2

Su principal característica es la facilidad de uso, válido tanto para programadores profesionales como para personas con pocos conocimientos en programación que pueden hacer programas relativamente complejos, imposibles para ellos de hacer con lenguajes tradicionales. Con LabVIEW pueden crearse programas, equivalentes a millones de páginas de código texto, para aplicaciones complejas, programas de automatizaciones de decenas de miles de puntos de entradas/salidas. Todo esto es extrapolable a la plataforma EV3, para que sirva de ejemplo es posible controlar el ángulo de giro de un motor paso a paso, con arranque y parada empleando únicamente un bloque funcional, mientras que con un lenguaje escrito se hace necesario implementar varias líneas de código más complejas de entender.

Se trata de una plataforma por tanto muy sencilla e intuitiva de emplear, diseñada para un robot con todas las posibilidades que un juguete de construcción puede ofrecer, ideal para iniciarse.

2.FischerTechnik ROBO PRO

Se trata de otra plataforma sencilla para principiantes a través de la programación mediante diagramas de flujo, que continua con la filosofía del programa LLWin empleado con anterioridad por esta marca, y muy extendido en los centros de enseñanza secundaria. Está constituido por diferentes módulos de 06 FEBRERO 2018 6software que intercambian datos no sólo mediante variables sino también con conexiones gráficas, con lo que el programa es más fácil de entender incluso aunque se trate programas complejos.

ROBO PRO proporciona todos los elementos clave de un lenguaje de programación moderno, como por ejemplo: las matrices, las funciones, objetos, eventos asíncronos y procesamiento paralelo. Que lo convierten en una herramienta útil. Los programas se traducen directamente en lenguaje máquina para la ejecución de máxima eficacia.

La programación gráfica se realiza mediante diagramas de flujo y cajas donde se muestran las entradas y salidas que emplea el juguete físico, por lo que es fácil de entender lo que se está haciendo en cada momento de la ejecución.

Comparándolo con la plataforma anterior, basado como se ha dicho en LabView, se trata de una programación a más bajo nivel que la anterior, lo que significa que si bien en el anterior mod06 FEBRERO 2018 3elo para programar una acción compleja, marcha y parada de un motor, sólo es necesario emplear una caja, aquí es necesario crear una función más compleja que debe realizar todas las tareas correctamente, y que por tanto se acerca, salvando las diferencias, más a un lenguaje escrito con órdenes realizadas con líneas de texto.

3.S4A, Scratch for Arduino

S4A es un entorno desarrollado a partir del prestigioso y popular entorno Scratch desarrollado en el MIT Media Lab de muy amplia difusión en el mundo de la educación.

Se trata de una modificación de Scratch que permite programar la plataforma de hardware libre Arduino de una forma sencilla. Proporciona bloques nuevos para tratar con sensores y actuadores conectados a una placa.

4.Arduino IDE06 FEBRERO 2018 4

El entorno de desarrollo integrado también llamado IDE (sigla en inglés de Integrated Development Environment), es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien puede utilizarse para varios lenguajes.

El lenguaje de programación de Arduino es C++. Aunque se hable de que hay un lenguaje propio de programación de Arduino, no es cierto, la programación se hace en C++, no es un C++ puro sino que es una adaptación que proveniente de avr-libc que provee de una librería de C de alta calidad para usar con GCC (compilador de C y C++) en los microcontroladores AVR de Atmel, pero Arduino ofrece unas librerías que facilitan la programación de los pines de entrada y salida y de los puertos de comunicación, así como otras librerías para operaciones específicas. El propio IDE ya incluye estas librerías de forma automática, y no es necesario declararlas expresamente. Otra diferencia frente a C++ standard es la estructura del programa divido en dos secciones.

El entorno Arduino IDE exige del programador un conocimiento previo avanzado para poder obtener resultados satisfactorios, C++ es un lenguaje de programación de propósito general asociado al sistema operativo UNIX, se trata de lenguaje de medio nivel que trata con objetos básicos como caracteres, números, etc… también con bits y direcciones de memoria, posee una gran portabilidad y se utiliza para la programación de sistemas: construcción de intérpretes, compiladores, editores de texto, etc. Se abre así un inmenso abanico de posibilidades con resultados que pueden alcanzar niveles profesionales.

5.ArduBlock o BitBloq06 FEBRERO 2018 5

ArduBlock, herramienta dentro de Arduino IDE, o Bitbloq, plataforma Web, son entornos diseñados para hacer programación gráfica en lugar de escrita. Se trata por tanto de herramientas complementarias, que simplifican el trabajo convirtiendo un diagrama de flujo totalmente gráfico, en un programa de C++ listo para compilar con Arduino, son en definitiva una puerta de entrada perfecta para los más jóvenes programadores en el mundo de la programación de robots.

Por tanto las plataformas para Arduino serán objeto de estudio en futuros artículos al dar cabida en ellas los distintos niveles de conocimiento, desde el más básico, realizado con bloques funcionales y diagramas de flujo, hasta otro mucho más complejo donde será necesario contar con conocimientos previos para realizar programas escritos en C++.

Rocío García de la Fuente.

Robótica-Programación

Introducción a la física de partículas y observación (Muon detector)

AUTORES: M. ROCÍO GARCÍA DE LA FUENTE Y AGUSTÍN GONZÁLEZ REDONDO. Para comenzar este artículo es preciso realizar una breve introducción al modelo estándar de partículas, para intentar comprender el conocimiento científico que yace detrás del proyecto que trataremos de explicar. El modelo standard (fuente CERN) figura 1. Desde la década de 1930 los descubrimientos […]

Leer más
Robótica-Programación

Control de motores Arduino (IV). Motores Paso a Paso

AUTORES: M. ROCÍO GARCÍA DE LA FUENTE Y AGUSTÍN GONZÁLEZ REDONDO El segundo tipo de motores capaces de controlar su posición de forma interna, los servomotores fueron los primeros que hemos tratado en anteriores artículos, son los motores paso a paso (figura 4. Varios modelos de motores paso a paso), dispositivos ampliamente empleados en impresoras […]

Leer más
Robótica-Programación

Python ·3D con Processing

AUTORES: M. ROCÍO GARCÍA DE LA FUENTE Y AGUSTÍN GONZÁLEZ REDONDO. Hoy volvemos de nuevo a trabajar con Python, en este caso, añadimos nuevas posibilidades a una IDE que ya conocemos, Processing, además de trabajar con este lenguaje de programación realizaremos una primera animación en 3D. Para comenzar debemos añadir un nuevo modo de trabajo […]

Leer más
MENÚ
Revista