Lego Mindstorms es una estructura de hardware y software producida por Lego para el desarrollo de robots programables basados en bloques de construcción de Lego . Cada versión del sistema incluye un bloque Lego de computadora que controla el sistema, un conjunto de sensores y motores modulares, y piezas de Lego de la línea Technic para crear los sistemas mecánicos.
Sujeto | Robótica |
---|---|
Disponibilidad | 1998 - |
Página web oficial |
Desde su creación, ha habido cinco generaciones de la plataforma Mindstorms: el Robotics Invention System original, NXT, NXT 2.0, EV3 y el kit Robot Inventor. Con cada lanzamiento de la plataforma, las capacidades del motor y del sensor se expandieron. El anterior al último sistema, Lego Mindstorms EV3 , se lanzó el 1 de septiembre de 2013. Algunas competiciones de robots utilizan este conjunto, como la FIRST Lego League y la World Robot Olympiad .
Historia
El sistema de invención robótica Lego Mindstorms original nació de una colaboración entre el Instituto de Tecnología de Massachusetts (MIT) y el grupo Lego. En 1985, Kjeld Kirk Kristiansen , entonces director ejecutivo (CEO) de The Lego Group, se enteró del trabajo de Seymour Papert del MIT y se sorprendió por lo similares que eran sus objetivos de aprendizaje a través de la construcción con los de la recién formada división educativa de The Lego Group. . Lego Group inició una asociación con Papert's Media Lab, financiando su investigación y compartiendo ideas. [1] : 14 [2] [3] Nacida de esta colaboración (y el trabajo de Papert y el grupo de Epistemología y Aprendizaje del colaborador Mitchel Resnik ) nació la idea de que los niños usaran el lenguaje de programación LOGO para controlar sus propios robots de ladrillos Lego. diseño conectado a una computadora. [4] En 1988, el Media Lab creó una computadora compatible con Lego Brick que podría usarse para controlar un robot sin conexión a una computadora de escritorio. [5] Hubo interés dentro de The Lego Group por comercializar esta computadora compatible con Brick tan pronto como las computadoras personales se generalizaran, y en 1996 The Lego Group comenzó a desarrollar esta computadora en lo que eventualmente se conocería como el Sistema de Invención Robótica. [1] : 25
En 1996, la recién formada división Home Learning de Lego Education comenzó a desarrollar "Gray Brick" de Media Lab en un producto oficial. [6] Al mismo tiempo, Media Lab estaba trabajando con el grupo de aprendizaje y epistemología para desarrollar una versión del "Ladrillo gris" específicamente para las instrucciones en el aula y la colaboración entre estas tres organizaciones condujo a dos versiones separadas de la computadora de ladrillo: Robotics Command eXplorer (RCX) de Lego Group y "Red Brick" de Media Lab. La Pantalla de Cristal Líquido (LCD) que comparten los dos ladrillos fue solicitada específicamente por docentes entrevistados por el grupo de Epistemología e Investigación, con el fin de dar lecturas del estado de los motores o sensores en tiempo real. [1] : 18 [7] Ambos ladrillos también ejecutaron programas creados mediante el uso de programación visual, el RCX usando un software de codificación basado en los LOGO Blocks del MIT. El equipo de desarrollo del proyecto de Mindstorms tuvo que volver a desarrollar el lenguaje después de descubrir que era demasiado complicado para el público objetivo (niños de 10 a 14 años [1] : 26 ), lo que provocó que se perdieran la fecha de lanzamiento original de 1997. El sistema de invención robótica 1.0 de Lego Mindstorms fue lanzado en septiembre de 1998. [7] [8]
Pre-Mindstorm
Antes de Mindstorms, Lego había experimentado previamente con conjuntos robóticos. Una de las principales bases de estos conjuntos fue el sistema Lego Technic y su sistema de 4.5 V y más tarde de 9 V para periféricos eléctricos que había ido evolucionando a lo largo de la década de 1980.
Interfaces de computadora
Uno de los primeros ejemplos de Lego programable fue el adaptador LEGO Interface-A, utilizado para el sistema educativo Lego Dacta TC-Logo. Estos conjuntos de mediados de la década de 1980 proporcionaron una interfaz de hardware dedicada para controlar el sistema Lego Technic 4.5 V mediante una computadora, y por primera vez introdujeron sensores eléctricos Lego. Esta interfaz se controlaba desde un IBM-PC o Apple-IIe mediante el uso de una versión especial de Logo , un lenguaje de programación simple diseñado para su uso en la educación de los niños. A mediados de la década de 1990, Lego Dacta Control Lab se lanzó como un seguimiento del sistema Lego 9 V, utilizando un puerto serie estándar en lugar de una tarjeta de interfaz de hardware personalizada. Este movimiento también introdujo nuevos sensores de 9 V, que luego se convertirían en un componente clave para los sets Mindstorms de primera generación. Vale la pena señalar que Control Lab tenía puertos dedicados para sensores activos y pasivos, mientras que productos posteriores como Mindstorms de primera generación brindan soporte para ambos tipos en los mismos puertos.
Centro de control técnico
El centro de control (1990) fue el primer producto Lego autónomo programable, en el sentido de poder almacenar programas basados en secuencias y ejecutarlos. Presentaba tres puertos de salida y control manual, y solo era capaz de almacenar secuencias lineales de entrada manual más información de tiempo. Puede almacenar hasta dos programas a la vez.
Los controles manuales se pueden utilizar para controlar de forma independiente los tres motores. Para grabar un programa; el controlador tenía que ponerse en modo de programación, y luego cualquier control manual se registraría en el programa. Las pausas también se pueden incluir en un programa. Cuando se realizó la grabación, el controlador pudo recuperar y ejecutar con éxito cualquier acción manual realizada durante la grabación. El programa en ejecución podría configurarse para que se repita infinitamente.
Cybermaster
Cybermaster se vendió principalmente en Europa y Australia / Nueva Zelanda y estuvo disponible durante un corto tiempo en los Estados Unidos a través de las revistas Lego Club. Estaba dirigido a un público mayor como un primer intento de fusionarse con la robótica y Lego.
El ladrillo comparte muchas características, especialmente de software, con el RCX, pero difiere en apariencia y especificaciones técnicas: una salida (más dos integradas) y cuatro sensores.
- Utiliza RF (banda R / C de 27 MHz) en lugar de IR para la comunicación.
- Tiene dos motores incorporados con tacómetros y velocímetros integrados .
- Está limitado a sensores pasivos (un A / D simple con resistencias pull-up internas).
- Los sensores que se envían con él están codificados por colores y tienen resistencias internas en su estado abierto (lo que permite que el Pbrick detecte qué sensor está conectado a qué puerto).
- Tiene un firmware fijo (por lo que no se puede actualizar ni reemplazar).
- Tiene RAM limitada para programas (395 bytes) [ aclaración necesaria ] y sólo una ranura de programa.
A pesar de sus obvias limitaciones, tiene una serie de ventajas sobre su 'hermano mayor', el RCX.
- El enlace de RF tiene un mayor alcance y es omnidireccional.
- Los sensores de tacómetro y velocímetro incorporados en los motores internos proporcionan la misma función que el sensor de rotación externo del RCX, pero sin consumir los puertos del sensor.
Esto lo hace muy útil para varias plataformas móviles y para realizar tareas avanzadas de movimiento / posicionamiento.
Habla el mismo protocolo que el RCX pero no puede comunicarse directamente con él (debido a IR vs RF) pero con un repetidor (una computadora con 2 puertos seriales y un programa simple) pueden comunicarse indirectamente.
Codepilot
Se vende como parte del kit Barcode Truck. Esta unidad fue el primer ladrillo programable (o Pbrick). Cuenta con un solo motor, un solo sensor táctil y un sensor de luz. Se programa configurándolo para 'aprender' y usando el sensor de luz para alimentar comandos con códigos de barras. El conjunto de comandos es muy limitado. Dado que el código de barras es solo una serie de variaciones en la luz, esta forma de entrada de comando se denominó VLL (Visual Light Link) y se ha utilizado en varios modelos posteriores de Lego.
Robotics Discovery Set y Droid / Darkside Developer Kit
El Robotics Discovery Set era un paquete más asequible y sencillo que el Robotics Invention Set. En lugar de basarse en el RCX, tenía su propio bloque programable llamado Scout. Una versión aún más simple del Scout también se presentaría en dos conjuntos de Mindstorms temáticos de Star-Wars.
Explorar
Lego también lanzó una computadora azul llamada Scout , que tiene 2 puertos de sensor, 2 puertos de motor (más uno adicional si está vinculado con un Micro Scout usando un cable de fibra óptica ) y un sensor de luz incorporado, pero sin interfaz de PC. Viene con el Robotics Discovery Set. El Scout se puede programar a partir de una colección de combinaciones de programas incorporadas. Para programar el Scout, el usuario debe habilitar el "modo de energía" en él. El Scout puede almacenar un programa.
El Scout se basa en un microcontrolador Toshiba con 32 KB de ROM y 1 KB de RAM, donde hay unos 400 bytes disponibles para programas de usuario. Debido a la cantidad extremadamente limitada de RAM, se proporcionaron muchas subrutinas predefinidas en ROM. El Scout solo admite sensores externos pasivos, lo que significa que solo se pueden usar sensores táctiles, de temperatura y otros sensores sin alimentación. Los convertidores de analógico a digital utilizados en el Scout solo tienen una resolución de 8 bits en contraste con los convertidores de 10 bits del RCX. [9]
Lego tenía un plan para crear un conjunto de refuerzo que le permitiera programar el Scout desde una computadora con un software como el código RCX. Sin embargo, debido a la complejidad de este proyecto, fue abandonado.
El RCX puede controlar el bloque Scout usando el bloque de programa "Enviar mensaje IR". El RCX hace todo el control y, por lo tanto, se puede programar con la PC, mientras que el Scout acepta los comandos. El bloque Scout debe tener todas sus opciones configuradas como "desactivadas".
Micro explorador
El Micro Scout se agregó como un nivel de entrada a la robótica de Lego. Es un Pbrick muy limitado con un solo sensor de luz incorporado y un solo motor incorporado. Tiene siete programas integrados y puede ser controlado por una unidad Scout, Spybotics o RCX usando VLL. Al igual que el Scout, el Micro Scout también se basa en un microcontrolador de Toshiba .
La unidad se vendió como parte del Droid Developer Kit (con R2-D2 ) y más tarde como Darkside Developer Kit (con un AT-AT Imperial Walker ).
Sistema de invención robótica
El núcleo principal de la primera generación de conjuntos de Mindstorms fueron los conjuntos del Sistema de invención robótica. Estos se basaron en el bloque RCX (Robotic Command eXplorers) y los periféricos 9 V LEGO Technic disponibles en ese momento. También incluye tres sensores táctiles y un sensor óptico, utilizando la tecnología de los sensores de 9 V anteriores de los conjuntos anteriores a Mindstorms.
RCX
El RCX se basa en el microcontrolador Renesas H8 / 300 de 8 bits , que incluye 32 KB de ROM para funciones de E / S de bajo nivel, junto con 32 KB de RAM para almacenar firmware de alto nivel y programas de usuario. El RCX se programa cargando un programa utilizando una interfaz de infrarrojos dedicada . Después de que el usuario carga un programa, el RCX puede ejecutarlo por sí solo sin necesidad de acceder a una computadora. Los programas pueden utilizar tres puertos de entrada de sensor y tres puertos de salida de 9 V, además de la interfaz IR, lo que permite que se comuniquen varios ladrillos RCX. Una pantalla LCD incorporada puede mostrar el nivel de la batería, el estado de los puertos de entrada / salida, qué programa está seleccionado o en ejecución y otra información. [10]
Los ladrillos RCX de la versión 1.0 cuentan con un conector adaptador de corriente en lugar de solo baterías. En la versión 2.0 (así como en las 1.0 posteriores incluidas en el RIS 1.5), se quitó el conector del adaptador de corriente. Los ladrillos RCX equipados con adaptadores de corriente eran populares para proyectos de robótica estacionaria (como brazos de robot) o para controlar trenes en miniatura de Lego . En el último contexto, el RCX podría programarse con el software de control de comando digital (DCC) para operar varios trenes cableados.
La interfaz IR del RCX puede comunicarse con Spybots , Scout Bricks , Lego Trains y el NXT (utilizando un sensor de enlace de infrarrojos de terceros). La frecuencia portadora del receptor RCX 1.0 IR es de 38,5 kHz, mientras que la frecuencia portadora del RCX 2.0 IR es de 76 kHz. Ambas versiones pueden transmitir en cualquier frecuencia. El RCX se comunica con una computadora mediante una torre de infrarrojos en serie o USB . Como el RCX se descontinúa, el soporte para la interfaz es limitado en sistemas operativos más recientes que Windows XP.
Todas las versiones del RCX tienen un número único impreso, que podría registrarse en el ahora desaparecido sitio web Lego Mindstorms RCX. Esto fue necesario para obtener soporte técnico. El primer RCX producido está marcado como "000001" y se exhibió en el evento del 10º aniversario de Mindstorms. [11]
Paquetes de expansión
Se fabricaron seis paquetes de expansión para el Sistema de invención robótica. La mayoría de los conjuntos de expansión contienen más piezas e instrucciones, mientras que otros conjuntos de expansión eran más ambiciosos. Estos conjuntos incluyen:
- RoboSports
- Criaturas extremas
- Juego de accesorios definitivo
- Comando de visión
- Exploración de Marte
- Conjunto Ultimate Builders
Los conjuntos notables incluyen el último conjunto de accesorios, que contiene más sensores y un control remoto IR para enviar comandos al RCX. Otro conjunto notable, Vision Command, vino con una cámara Lego y un software dedicado. Este software fue capaz de detectar diferentes iluminaciones, movimientos y colores.
Lego Mindstorms NXT
Lego Mindstorms NXT fue un kit de robótica programable lanzado por Lego en julio de 2006, que reemplazó al kit LEGO Mindstorms de primera generación. [12] El kit consta de 577 piezas, que incluyen: 3 servomotores, 4 sensores ( ultrasónicos , de sonido, táctiles y de luz ), 7 cables de conexión, un cable de interfaz USB y el NXT Intelligent Brick. El ladrillo inteligente es el "cerebro" de una máquina Mindstorms. Permite que el robot realice de forma autónoma diferentes operaciones. El kit también incluye NXT-G, un entorno de programación gráfica que permite la creación y descarga de programas al NXT. El software también tiene instrucciones para 4 robots; Alpha-Rex (un humanoide), Tri-Bot (un automóvil), Robo-Arm T-56 (un brazo robótico) y Spike (un escorpión)
Versión educativa de Lego Mindstorms NXT
Esta es la versión educativa del set NXT de Lego Education, que está hecho para uso escolar. El software se vendió por separado (pero se puede descargar gratis ahora) y el conjunto de recursos educativos para el mejor uso. Incluye un sensor de luz, un sensor ultrasónico, un sensor de sonido, tres lámparas y un par de sensores táctiles. El primer juego consta de unas 400 piezas y el juego adicional consta de unas 600 piezas. La versión educativa es más adecuada para aquellos que tienen versiones anteriores de Mindstorms, principalmente gracias a sus tres cables convertidores.
Lego Mindstorms NXT 2.0
El Lego Mindstorms NXT 2.0 se lanzó el 5 de agosto de 2009. Contiene 619 piezas (incluye sensores y motores), dos sensores táctiles, un sensor ultrasónico y presenta un nuevo sensor de color. El NXT 2.0 usa operaciones de punto flotante, mientras que las versiones anteriores usan la operación Integer. [13] El kit cuesta alrededor de 280 dólares estadounidenses.
Lego Mindstorms EV3
El Lego Mindstorms EV3 es el producto Lego Mindstorms de tercera generación. EV3 es un desarrollo posterior del NXT. [14] [15] El sistema se lanzó el 1 de septiembre de 2013. El conjunto LEGO MINDSTORMS EV3 incluye motores (2 servomotores grandes y 1 servomotor mediano), sensores (2 sensores táctiles, sensor ultrasónico, sensor de color, sensor infrarrojo y el nuevo sensor giroscópico), el bloque programable EV3, más de 550 elementos LEGO Technic y un control remoto (la baliza infrarroja, que solo está en el modo Hogar / Venta al por menor). El EV3 se puede controlar mediante dispositivos inteligentes. Puede arrancar un sistema operativo alternativo desde una tarjeta microSD, lo que hace posible ejecutar ev3dev , un sistema operativo basado en Debian .
Lego Educación Spike Prime
Spike Prime se anunció en abril de 2019. [16] Si bien no forma parte de la línea de productos Mindstorms, el conjunto básico incluye tres motores (1 grande 2 mediano) y sensores de distancia, fuerza y color [17], un bloque controlador basado en un STM32F413 microcontrolador [18] y 520+ elementos LEGO Technic.
Inventor del robot Lego Mindstorms
Lego Mindstorms Robot Inventor se anunció en junio de 2020 [19] y se lanzó a finales de otoño. Tiene 4 motores medianos de Spike Prime, 2 sensores (sensor de distancia y sensor de color / luz) también de Spike Prime, un concentrador Spike Prime con un giroscopio de 6 ejes, un acelerómetro y soporte para controladores y control telefónico. También tiene más de 902 elementos LEGO Technic
Lenguajes de programación
Nombre | Dispositivo | Tipo de programa | Tipo (s) de idioma | Notas | Enlaces | |||
---|---|---|---|---|---|---|---|---|
RCX | NXT | EV3 | Corre sobre ladrillo | Control remoto | ||||
Actor-Laboratorio | Lenguaje similar a un diagrama de flujo personalizado | |||||||
Ada | sí | Ada | Requiere nxtOSEK | |||||
Interfaz Ada para MindStorms | Ada | |||||||
Inventor de la aplicación | sí | Inventor de la aplicación | Soporte específico para sensores y motores LEGO (tm) MINDSTORMS (tm) NXT | |||||
brickOS | sí | No | No | C / C ++ | sitio web | |||
Ch | Intérprete C / C ++ | Controle Lego Mindstorms en C / C ++ de forma interactiva sin compilación | ||||||
sonido metálico | C, C ++ | |||||||
CoderZ | sí | sí | No | Java | Funciona con Blockly o con Java (usando LejOS). También incluye un simulador 3D en línea [20] | sitio web | ||
Cpp4Robots | No | No | sí | sí | C / C ++ | Cpp4Robots es una extensión (complemento) para el entorno Microsoft Visual Studio. Esta extensión permite la programación de Lego EV3 en lenguaje nativo C / C ++ y en el entorno de desarrollo Microsoft Visual Studio. Esta extensión Cpp4Robots funciona con el firmware predeterminado en el Bloque EV3. | sitio web | |
DialogOS | Diagrama de flujo gráfico para robots controlados por voz | DialogOS combina el reconocimiento de voz y la síntesis de voz con la robótica, lo que le permite construir robots parlantes que reaccionan a sus comandos de voz. | ||||||
Encantador | Arrastrar y soltar, similar a NXT-G | Programe sus robots simplemente arrastrando la línea de funciones. | ||||||
EV3 Básico | No | No | sí | sí | sí | Microsoft Small Basic | sitio web | |
ev3_scratch | sí | No | sí | Scratch (lenguaje de programación) | El código Scratch se ejecuta en el navegador que transmite comandos al robot EV3 a través de Bluetooth . | |||
Navegación FLL NXT | sí | Utiliza archivos NXT-G y .txt | ||||||
GCC | C / C ++ , Objective-C , Fortran , Java, Ada, otros | |||||||
Gnikrap | No | No | sí | sí | sí | Programación similar a JavaScript / Scratch | sitio web | |
Cadena de herramientas GNU para h8300 | C / C ++, ASM | |||||||
HVM | sí | Entorno de desarrollo para el lenguaje de programación Java para Mindstorms EV3, basado en Eclipse | Funciona con Java 1.7. Funciona con el firmware estándar de Lego. No requiere tarjeta microSD. Requiere un dongle bluetooth inalámbrico para el EV3 | sitio web | ||||
C interactivo | Lenguaje de estilo C. | Lenguaje desarrollado para el concurso de diseño de robots Lego del MIT | ||||||
jaraco.nxt | sí | sí | Pitón | Módulos de Python que proporcionan interfaces de bajo nivel para controlar un bloque Lego NXT a través de Bluetooth. También incluye código para controlar motores con un controlador Xbox 360 usando pyglet. | ||||
LabVIEW | sí | sí | sí | sí | Lenguaje de programación visual LabVIEW de National Instruments (código G) | Lenguaje central utilizado para desarrollar el software Mindstorms NXT. Puede usar el kit adicional disponible para crear y descargar programas a NXT, crear bloques NXT originales o controlar el robot directamente a través de USB o Bluetooth usando NXT fantom.dll | ||
API LEGO MINDSTORMS EV3 para .NET | No | No | sí | No | sí | .NET, WinJS y C ++ | Una API .NET para el bloque LEGO MINDSTORMS EV3 que se puede utilizar desde el escritorio, Windows Phone y WinRT. Con esta API, puede conectar, controlar y leer los datos de los sensores de su bloque LEGO EV3 a través de Bluetooth, WiFi o USB. | sitio web |
Lego.NET | Todo lo que se pueda compilar en CIL funciona mejor con C # | No viene con un compilador, convierte CIL a código de máquina | ||||||
Lego :: NXT | sí | No | sí | Perl | Conjunto de módulos Perl que proporcionan control de bajo nivel en tiempo real de un ladrillo Lego NXT a través de Bluetooth. | |||
LegoLog | Prólogo | Utiliza un programa NQC para interpretar los comandos enviados desde la PC que ejecuta el código Prolog | ||||||
LegoNXTRemote | sí | No | sí | C objetivo | Programa de control remoto para operar y programar de forma remota un Lego NXT Brick. Admite NXT 2.0 y 1.0, sensores, los 3 motores, control automático de "dirección" y ejecución de programas precargados. | |||
leJOS | sí | sí | sí | sí | sí | Java | Un sistema basado en Java para programadores avanzados puede manejar la mayoría de los sensores y cosas como GPS, reconocimiento de voz y tecnología de mapeo. Puede interactuar con el IDE de Eclipse o ejecutarse desde la línea de comandos | |
Lestat | C ++ | Le permite controlar el NXT directamente desde cualquier programa C ++ en Linux. | ||||||
librcx | C / C ++ | Una biblioteca para GCC | ||||||
SDK de Logitech | Visual Basic , Visual C ++ | Se puede combinar con una biblioteca de control RCX como spirit.ocx del MindStorms SDK para hacer uso de la Lego Cam | ||||||
Lenguaje de programación visual de Microsoft (VPL) | sí | No | sí | Diagrama de flujo gráfico, basado en .NET | Con Microsoft Robotics Studio , utiliza un programa nativo de NXT msrs para enviar y recibir mensajes desde y hacia un programa de control en una computadora a través de Bluetooth. | |||
SDK de Mindstorms | Visual Basic, Visual C ++, MindScript, LASM | No necesita VB para usar las funciones de VB ya que MS Office viene con una versión reducida de VB para hacer macros | ||||||
Monoladrillo | sí | sí | sí | C# | .NET 4.5. Firmware que se ejecuta desde la tarjeta SD. | sitio web | ||
NQC | sí | sí | NQC , un lenguaje similar a C | |||||
NXT ++ | C ++ | Permite controlar el NXT directamente desde cualquier programa C ++, en Visual Studio, Windows. | ||||||
NXT_Python | sí | No | sí | Pitón | NXT_Python es un paquete para controlar un robot LEGO NXT usando el lenguaje Python. Puede comunicarse a través de USB o Bluetooth. | |||
NXT-Python | sí | No | sí | Pitón | Basado en NXT_Python, incluye funciones avanzadas adicionales, soporte para alrededor de 30 sensores y múltiples backends de conexión de ladrillos. Funciona en Windows, Linux, Mac. | |||
NXTGCC | Ensamblaje, C , archivos MAKE, Eclipse , etc. | La primera cadena de herramientas de GCC para programar el firmware Lego Mindstorms NXT. | ||||||
nxtOSEK | C / C ++ | |||||||
OCaml-tormenta mental | OCaml | Módulo para controlar robots LEGO NXT mediante OCaml a través de las interfaces Bluetooth y USB. | ||||||
En la pantalla | Un idioma personalizado que se puede programar directamente en el RCX | |||||||
pbForth | sí | Adelante | Ya no está desarrollado. | |||||
pbLua | sí | API para el lenguaje de programación Lua para Mindstorms NXT, basada en texto | pBLua: ... está escrito en C portátil, con requisitos mínimos de tiempo de ejecución; se puede compilar sobre la marcha en NXT; es un lenguaje pequeño, fácil de leer y fácil de escribir; tiene una amplia documentación disponible en línea y en formato de árbol muerto, y un grupo de noticias muy amigable | sitio web | ||||
PBrickDev | PBrickDev, un lenguaje basado en diagramas de flujo. | Tiene más funcionalidad que el lenguaje RIS, como registros de datos y subrutinas / subprocesos múltiples. | ||||||
PRO-BOT | Una especie de lenguaje basado en Visual Basic / spirit.ocx | Diseñado para robots que están en contacto con la estación de trabajo en todo momento. | ||||||
Procesando | sí | Java (estilo C simplificado / programado) | Processing (lenguaje de programación) es un lenguaje y entorno de programación de código abierto para personas que desean programar imágenes, animaciones e interacciones. Es utilizado por estudiantes, artistas, diseñadores, investigadores y aficionados para el aprendizaje, la creación de prototipos y la producción. Para controlar el NXT con Processing puedes usar la librería NXTComm Processing desarrollada por Jorge Cardoso. | |||||
QuiteC | C | Una biblioteca para usar con GCC y viene con GCC para Windows. | ||||||
Código RCX | sí | Código RCX, un lenguaje personalizado basado en diagramas de flujo | Incluido en la versión para el consumidor de Mindstorms vendida en la juguetería | |||||
ROBOLAB | sí | Un lenguaje de diagrama de flujo basado en LabVIEW | Este es el entorno de programación que se ofrece a las escuelas que utilizan MindStorms, compatible con Lego Cam. La estructura de programación simula una estructura de diseño de diagrama de flujo casi ícono por ícono. Por lo tanto, ayuda mucho a los usuarios en términos de traducir el diseño de un diagrama de flujo a los íconos de Robolab. | |||||
RoboMind | Lenguaje de programación educativo simple disponible del árabe al ucraniano. | El entorno de aprendizaje de RoboMind permite desarrollar y probar scripts rápidamente para un entorno de robot virtual. Los guiones se pueden transferir directamente a un robot Lego Mindstorms NXT. Funciona con el firmware estándar. | ||||||
RoboRealm | Un lenguaje multiplataforma que funciona con IRobot Roomba, NXT, RCX, VEX y muchos otros conjuntos robóticos populares. Este lenguaje también es capaz de procesar video usando una cámara web, esto le da a su robot una excelente visión, ya que puede filtrar ciertos colores, bloquear una determinada área de color, mostrar variables del robot o la computadora, y mucho más. El software funciona con teclado, joystick y mouse. | |||||||
Robot JavaScript | No | sí | sí | sí | JavaScript | Un compilador que compila código JavaScript para robots EV3. Incluye resaltado de sintaxis, uso compartido de código, más de 100 programas de ejemplo y mensajes detallados del compilador. Lenguaje orientado a objetos. Libre. | sitio web | |
ROBOTC | sí | sí | sí | sí | Un entorno de desarrollo integrado dirigido a los estudiantes que se utiliza para programar y controlar LEGO NXT , VEX , RCX y Arduino robots utilizando un lenguaje de programación basado en el lenguaje de programación C . | ROBOTC ofrece la posibilidad de utilizar un lenguaje basado en texto basado en el lenguaje C. Incluye herramientas de depuración integradas, así como (pero no limitado a) plantillas de código, operaciones Math / Trig (sin, cos, tan, asin, acos ... etc.), función de autocompletar fácil de usar integrada en la interfaz, programas de muestra integrados. Esto merece una nota especial por su herramienta de depuración. Para cualquier desarrollador, sabrá lo importante que es tener una buena herramienta de depuración. Entre todos los demás lenguajes de programación robótica que admiten la plataforma Mindstorms, el entorno de depuración de RobotC merece una nota especial; aunque no es gratis. | ||
Robótica.NXT | sí | sí | Haskell | Una interfaz Haskell a través de Bluetooth. Admite comandos directos, mensajes y muchos sensores (también no oficiales). También tiene soporte para un control simple basado en mensajes de un ladrillo NXT a través de un programa ejecutado de forma remota (código NXC básico incluido). | ||||
ROS | Una biblioteca basada en Linux para escribir robots. La pila "nxt" proporciona una interfaz con el NXT. | |||||||
ruby-nxt | sí | sí | Rubí | Proporciona acceso de bajo nivel al NXT a través de Bluetooth, así como algunas funciones preliminares de alto nivel. | ||||
RWTH - Caja de herramientas Mindstorms NXT | sí | sí | MATLAB | Interfaz para controlar el NXT desde MATLAB a través de Bluetooth o USB (open-source). | ||||
Simulink (soporte de LEGO MINDSTORMS NXT) | sí | Simulink | Proporciona una herramienta de programación rápida con un solo clic para el NXT. El código C se genera automáticamente a partir de un modelo gráfico de Simulink. Luego, el código se implementa y se descarga en el NXT, desde donde se puede ejecutar. Mathworks proporciona una serie de bloques gráficos que representan los diversos sensores y actuadores que utiliza el NXT. | |||||
SqLego | Chirrido | |||||||
Rápido / Robotario | sí | sí | Swift (lenguaje de programación) | Robotary es un estudio de robótica de Mac que utiliza el lenguaje de programación Swift. | sitio web | |||
TclRCX | sí | Tcl | ||||||
Logotipo de tortuga | LOGO | |||||||
TinySoar | Remontarse | Una implementación de la arquitectura de inteligencia artificial Soar que se ejecuta en el bloque RCX. Soar incorpora actuación, planificación y aprendizaje en un marco basado en reglas. | ||||||
TinyVM | sí | Java | Un antecesor del lenguaje lejano. Un firmware de reemplazo basado en Java de código abierto para el microcontrolador Lego Mindstorms RCX. | |||||
Transterpreter (El) | Occam | |||||||
TuxMinds | (Linux) GUI para varias distribuciones, un IDE de código abierto basado en Qt. Soporta muchos bots. RCX, NXT y Asuro están predefinidos. | Con el archivo de configuración basado en XML se puede agregar casi cualquier tipo de bot (o microcontrolador). De la misma forma se pueden añadir equipos propios. | ||||||
URBI de Gostai para Lego Mindstorms NXT | URBI , C ++, Java, Matlab | Lenguaje de secuencia de comandos paralelo y controlado por eventos fácil de usar con una arquitectura de componentes e interfaces de código abierto para muchos lenguajes de programación. También ofrece reconocimiento / síntesis de voz / voz, reconocimiento / detección de rostros, localización y mapeo simultáneos , etc. | ||||||
Comando de visión | sí | Código RCX | El lenguaje de programación oficial para usar con la Lego Cam, que le permite controlar su robot con color, movimiento y destellos de luz. | |||||
XS | Ceceo |
Uso en educación
Los kits de Mindstorms también se venden y utilizan como herramienta educativa, originalmente a través de una asociación entre Lego y el Laboratorio de Medios del MIT . [21] [22] La versión educativa de los productos se llama Mindstorms para escuelas o Mindstorms Education , y las versiones posteriores vienen con el software de programación ROBOLAB basado en GUI , desarrollado en Tufts University [23] usando National Instruments LabVIEW como motor. Además, el software incluido se puede sustituir por firmware de terceros y / o lenguajes de programación, incluyendo algunos de los más de los más populares utilizados por los profesionales en la industria de sistemas integrados, como Java y C . Una de las diferencias entre la serie educativa, conocida como "Challenge Set", y la serie para consumidores, conocida como "Inventor Set", es que incluye otro sensor táctil y varias opciones de engranajes más. Sin embargo, hay varios otros aspectos destacados entre las dos versiones que es posible que no se reconozcan a menos que se haga un análisis lado a lado de lo que ofrece cada uno. La versión vendida a través de LEGO Education está diseñada para un nivel más profundo de aprendizaje o enseñanza que a menudo ocurre en un salón de clases o en un entorno escolar. La versión de LEGO Education viene con un soporte llamado Robot Educator. Esto incluye 48 tutoriales para guiar al alumno a través de los conceptos básicos de la codificación hasta conceptos más sofisticados y complejos, como el registro de datos. Este recurso para ayudar al alumno y / o al educador no está incluido en la versión comercial de Mindstorms. Siempre es una buena idea ponerse en contacto con un consultor de LEGO Education para averiguar otras diferencias, ya que hay varias más. La versión comercial fue diseñada para un uso más doméstico / de juguetes en comparación con el modelo del educador que fue diseñado para apoyar un aprendizaje más profundo con recursos y piezas adicionales para hacerlo. Esta es la razón por la que LEGO Education Mindstorms contiene más sensores y piezas que la versión comercial.
Comunidad
Existe una sólida comunidad de profesionales y aficionados de todas las edades que participan en el intercambio de diseños, técnicas de programación, la creación de software y hardware de terceros y la contribución de otras ideas asociadas con Lego Mindstorms. El sistema / sitio web de Lego Mindstorms está organizado como una wiki , aprovechando el potencial creativo y los esfuerzos de colaboración de los participantes. Lego también fomenta el intercambio y el intercambio de tráfico al hacer que el código de software esté disponible para su descarga y al realizar varios concursos y eventos.
Ver también
- PRIMERA Liga de Lego
- WRO ( Olimpiada mundial de robots )
- Robofest
- PRIMER desafío tecnológico
- RoboCup Junior
- WeDo 2.0
- Big Trak
- iRobot Create
- Robotis bioloide
- El taller de robótica
- Suite de robótica
- Estudio C-STEM
- Botball
Referencias
- ↑ a b c d Beland, Cristopher (15 de diciembre de 2000). LEGO Mindstorms: The Structure of an Engineering (R) evolution (documento de conferencia). Expediente 6.399J Estructura de revoluciones de ingeniería. Archivado desde el original el 27 de enero de 2021 . Consultado el 25 de marzo de 2019 .
- ^ Robertson, David (2013). Ladrillo a ladrillo: cómo Lego reescribió las reglas de la innovación y conquistó la industria mundial del juguete . Estados Unidos: Crown Publishing. págs. 184-185. ISBN 9780307951618. Archivado desde el original el 29 de noviembre de 2020 . Consultado el 27 de enero de 2021 .
- ^ "Lego Mindstorms: una historia de robots educativos" . Hackear la educación . 10 de abril de 2015. Archivado desde el original el 16 de diciembre de 2017 . Consultado el 15 de diciembre de 2017 .
- ^ Resnick, Mitchel; Ocko, Stephen (sin fecha). LEGO / Logo: Learning Through and About Design (Documento de investigación). Instituto de Tecnología de Massachusetts. Archivado desde el original el 20 de octubre de 2016 . Consultado el 25 de marzo de 2019 .
- ^ "A Mindstorms y más allá: evolución de un kit de construcción para máquinas mágicas" (PDF) . Laboratorio de Medios del MIT. Archivado (PDF) desde el original el 22 de agosto de 2017 . Consultado el 15 de diciembre de 2017 .
- ^ Askildsen, Tormod (4 de diciembre de 2018). "Reflexiones de LEGO Mindstorms - Lo que sucedió antes del anuncio en enero de 1998" . lan.Lego.com . El Grupo LEGO. Archivado desde el original el 26 de marzo de 2019 . Consultado el 26 de marzo de 2019 .
En 1995, (...) obtuve permiso para configurar una nueva función que llamamos "Aprendizaje en casa" en LEGO Dacta. (...) Paralelamente, el MIT Media Lab, que había estado trabajando en estrecha colaboración con LEGO Dacta durante varios años, trabajó en un concepto que llamaron el "ladrillo LEGO inteligente". Estaban jugando con varios prototipos geniales. Para que yo pudiera comprender mucho más profundamente cómo los niños querían aprender cosas nuevas, organizamos numerosas discusiones de grupos focales en los EE. UU. Escuchando a los niños. Los hallazgos clave nos señalaron en la dirección de la diversión, incluso la "diversión dura", hacer cosas y "algo con tecnología". Estos hallazgos resonaron muy bien con nuestros amigos en el Media Lab y en algún momento durante 1996 se decidió poner el " ladrillo LEGO inteligente "en el centro del proyecto Home Learning.
- ^ a b Oliver, David; Roos, Johnathan (2003). "Hacer frente a lo inesperado: incidentes críticos en el equipo de LEGO Mindstorms" . Relaciones humanas . 56 (9): 1057–1082. doi : 10.1177 / 0018726703569002 . S2CID 145417935 . Archivado desde el original el 27 de enero de 2021 . Consultado el 26 de marzo de 2019 .
- ^ Askildsen, Tormod (4 de diciembre de 2018). "Reflexiones de LEGO Mindstorms - Lo que sucedió antes del anuncio en enero de 1998" . lan.Lego.com . El Grupo LEGO. Archivado desde el original el 26 de marzo de 2019 . Consultado el 26 de marzo de 2019 .
Nuestro plan inicial era lanzar el producto a finales de 1997 (...) Pero, algunos incidentes críticos nos retrasaron.
- ^ "SET DE DESCUBRIMIENTO DE ROBÓTICA - INFORMACIÓN PARA HACKERS" . 10 de febrero de 2001. Archivado desde el original el 10 de febrero de 2001.
- ^ Kekoa Proudfoot (1999). "Internos de RCX" . mralligator.com . Archivado desde el original el 11 de noviembre de 2018 . Consultado el 14 de diciembre de 2018 .
- ^ "DSC03489.jpg" . flickr.com . 20 de noviembre de 2008. Archivado desde el original el 17 de noviembre de 2016 . Consultado el 4 de abril de 2018 .
- ^ "¿Qué es NXT? LEGO Group presenta el conjunto de herramientas de robótica LEGO MINDSTORMS NXT en Consumer Electronics Show" . Comunicado de prensa . LAS VEGAS: Compañía LEGO. 4 de enero de 1986. Archivado desde el original el 8 de julio de 2009 . Consultado el 3 de diciembre de 2008 .
- ^ "Preguntas frecuentes sobre Lego Robotics" . 2009. Archivado desde el original el 8 de agosto de 2010 . Consultado el 2 de marzo de 2010 .
- ^ "Descripción general de EV3" . Archivado desde el original el 24 de junio de 2013.
- ^ Crook, Jordan. "LEGO Mindstorms EV3: la generación mejor, más rápida y más fuerte de programación robótica" . TechCrunch . Archivado desde el original el 23 de octubre de 2017 . Consultado el 22 de mayo de 2015 .
- ^ "Un nuevo enfoque de aprendizaje práctico para las aulas, anunciado hoy" . www.lego.com . Archivado desde el original el 10 de agosto de 2020 . Consultado el 8 de enero de 2021 .
- ^ "LEGO® Education SPIKE ™ Prime Set 45678 | LEGO® Education | Compra online en la Tienda Oficial LEGO® de EE . UU . " . www.lego.com . Archivado desde el original el 3 de diciembre de 2020 . Consultado el 8 de enero de 2021 .
- ^ "gpdaniels / spike-prime" . 25 de enero de 2021. Archivado desde el original el 25 de diciembre de 2020 . Consultado el 8 de enero de 2021 , a través de GitHub.
- ^ "El nuevo Robot Inventor LEGO® MINDSTORMS® permite a los creadores construir y dar vida a todo lo que puedan imaginar" . www.lego.com . Archivado desde el original el 15 de enero de 2021 . Consultado el 8 de enero de 2021 .
- ^ "CoderZ, un entorno de aprendizaje en línea para la robótica MINDSTORMS" . www.thenxtstep.com . Archivado desde el original el 14 de junio de 2017 . Consultado el 30 de mayo de 2017 .
- ^ "El ladrillo programable del MIT" . Grupo de Epistemología y Aprendizaje . Instituto de Tecnología de Massachusetts. 13 de febrero de 1998. Archivado desde el original el 25 de octubre de 2005 . Consultado el 1 de octubre de 2013 .
- ^ "Ladrillos programables" . Proyectos . Laboratorio de Medios del MIT. Archivado desde el original el 21 de octubre de 2013 . Consultado el 3 de diciembre de 2008 .
- ^ Erwin, Ben; Cyr, Martha; Rogers, Chris (2000). "LEGO Engineer y RoboLab: Enseñanza de Ingeniería con LabVIEW desde Kindergarten hasta Graduate School" (PDF) . Revista Internacional de Educación en Ingeniería . 16 (3): 181-192. Archivado (PDF) desde el original el 23 de septiembre de 2013 . Consultado el 1 de octubre de 2013 .
Durante los últimos 6 años, los miembros de la facultad de Tufts University han desarrollado dos paquetes de software diferentes entre los sistemas de adquisición de datos de LabVIEW y Lego. Estos paquetes nos permiten enseñar ingeniería tanto con ladrillos Lego como con LabVIEW a estudiantes de 5 a 50 años. La versatilidad del hardware y el software permite una amplia variedad de posibilidades en lo que los estudiantes pueden construir y programar. Desde robots y dispositivos de teledetección hasta esculturas cinéticas. A medida que los estudiantes diseñan y construyen sus proyectos, se sienten motivados para aprender las matemáticas y las ciencias que necesitan para optimizar su proyecto. Tanto los estudiantes universitarios como los de jardín de infantes responden a este motivador. En el artículo, explicamos cómo diseñamos software para complementar estos proyectos al permitir la automatización y la animación. El software usa LabVIEW, extendiendo sus capacidades a los niños de kindergarten y los ladrillos Lego. Finalmente, mostraremos cómo hemos usado la adquisición de datos de LabVIEW y Lego para enseñar ciencia en la escuela primaria, ingeniería de primer año, instrumentación y experimentación, y cómo los estudiantes de último año de la universidad y los estudiantes de posgrado han usado tanto el hardware como el software para resolver varios problemas de adquisición de datos
Referencias adicionales
- Bagnall, Brian. Maximum LEGO NXT: Construyendo robots con Java Brains . Prensa variante. 2007. ISBN 0-9738649-1-5 .
- Bagnall, Brian. Core LEGO Mindstorms . PTR de Prentice-Hall. 2002. ISBN 0-13-009364-5 .
- Baum, Dave. Guía definitiva de LEGO MINDSTORMS , 2ª ed. Presione. 2002. ISBN 1-59059-063-5 .
- Erwin, Benjamin. Proyectos creativos con LEGO Mindstorms (libro y CD-ROM). Addison-Wesley. 2001. ISBN 0-201-70895-7 .
- Ferrari y col. Construyendo robots con LEGO Mindstorms: la herramienta definitiva para los maníacos de Mindstorms . Syngress. 2001. ISBN 1-928994-67-9 .
- Gindling, J., A. Ioannidou, J. Loh, O. Lokkebo y A. Repenning., " LEGOsheets: A Rule-Based Programming, Simulation and Manipulation Environment for the LEGO Programmable Brick ", Proceeding of Visual Languages , Darmstadt, Alemania, IEEE Computer Society Press, 1995, págs. 172-179.
- Breña Moral, Juan Antonio. Desarrollar programas LeJOS paso a paso , " http://www.juanantonio.info/lejos-ebook/ ".
enlaces externos
- LEGO Mindstorms oficial
- Lego Mindstorms en Curlie