↖️↖️↖️Escucha este episodio 🎧 Descarga 🎧 Suscripciones en iVoox / Apple Podcasts / Spotify / Google Podcasts 🎧
Ha venido en el momento justo para que coincida con el redondo episodio 50 del podcast sobre robótica educativa que ya sabes que ha tenido un cambio de formato, por lo que te invito a escuchar el episodio si quieres tener una versión diferente de este artículo.
¿Qué características tiene mBot 2?
Antes de entrar en la reseña propiamente dicha lo mejor es que puedas conocer técnicamente el kit mBot 2 que nos plantea Makeblock ya que es completamente diferente de la versión “clásica” de mBot.
El cambio de controladora ha condicionado todo el diseño del nuevo mBot 2 que pasa a contar con CyberPi como “cerebro” en vez la anterior placa mCore basada en Arduino que se utilizó en el modelo clásico de mBot.
Gracias a esa característica Makeblock consiguió que mBot fuera el primer kit de robótica educativa certificado por Arduino como “Arduino at heart“ que reconocía la reproducción fiel del diseño de la placa Arduino UNO dentro del propio robot. Tanto es así que gracias al diseño abierto de mBot han aparecido multitud de clones aprovechando ese diseño de hardware complementando la filosofía Arduino.
Pero que nadie se rasgue las vestiduras antes de tiempo porque CyberPi, basada en el SoC ESP32 es igualmente open source. A través de este enlace puedes consultar la documentación abierta de CyberPi, la placa que incorpora mBot 2, que incluye todo el esquemático, diseño de la PCB, modelo 3d, licencia de open hardware, APIs y demás contenido compartido.
Hay que entender que CyberPi es una placa independiente con su propio sistema operativo CyberOS y sistema de comunicación con sensores y actuadores (mBuild) que se puede obtener de manera independiente a mBot 2.
De hecho, mBot 2 se puede considerar un accesorio de CyberPi. Aunque de momento se presenta en un kit conjunto no podemos descartar que en un futuro se comercialice una versión de mBot 2 sin la placa CyberPi para aquellas personas que ya tengan la placa microcontroladora comprada anteriormente. Por eso vamos a diferenciar lo que aporta CyberPi y lo que aporta mBot2.
Makeblock CyberPi
Veamos las características de la placa CyberPi que conforma el “cerebro” de mBot 2:
- Chip: ESP32
- Procesador: Xtensa 32-bit LX6 dual core 240MHz
- Memoria (ROM/SRAM): 448KB/520KB
- Almacenamiento: 8MB de flash, 8MB PSRAM
- Sistema operativo: CyberOS
- Conectividad: WiFi, Bluetooth, USB
- Sensores: luminosidad, micrófono, acelerómetro de 3 ejes, giróscopo de 3 ejes
- Actuadores: pantalla color 1,44″ 128×128, tira de 5 LEDs RGB, altavoz
- Controles: joystick de 4 direcciones y pulsación, 2x botones servicio, botón reset
- Puertos expansión: sistema mBuild (hasta 10 elementos)
Como se puede ver Makeblock CyberPi ya proporciona varios sensores y actuadores destacando su pantalla a color y sus controles de entrada que podremos utilizar, en este caso, asociados a mBot 2.
Atención, porque a diferencia de la placa Microbit V2 en este caso el micrófono y el altavoz son “de verdad”. Podremos realizar grabaciones de audio con el micrófono con una calidad como para realizar reconocimiento de voz si fuera necesario, ya que no es únicamente un sensor de sonido. El altavoz permite reproducir grabaciones de sonido con claridad y por supuesto es muy superior a un buzzer piezoeléctrico que es a lo que nos acostumbran los fabricantes en este tipo de material educativo.
mBot 2
Pasemos a ver las características que aporta mBot2 como kit de robótica y que complementa a las que ya hemos visto de CyberPi:
- 2x motores 200rpm con encoder
- Sensor de ultrasonidos con iluminación decorativa programable
- Sensor RGB x4 con calibración de luz ambiente (sigue líneas, sensor luminosidad, sensor color)
- Batería 2500mAh
- Puertos de expansión: 2x servos, 2x motores con encoder, 2x motores DC, 2x genéricos (servos, tiras de LED, módulos tipo Arduino)
Aunque se escriba en cinco líneas la verdad es que cada una de esas características es reseñable y comparativamente con la versión anterior de mBot hay una enorme mejora.
Comparativa mBot con mBot 2
Está claro que Makeblock ha querido mantener el factor de forma del robot mBot original para aprovechar el “tirón” de su creación más popular, pero la verdad es que a parte de la forma las dos versiones de mBot no tienen nada que ver. Lo digo porque no los veo comparables y realmente se mueven en segmentos muy diferentes.
Independientemente de esta opinión puedo entender que se tenga curiosidad en comparar ambos modelos puesto que Makeblock los ofrece como versiones diferentes de un mismo modelo, pero repito que se mueven en niveles muy diferentes.
Placa base y microprocesador
Aquí tenemos que comparar CyberPi con mCore para poder comparar mBot original con mBot 2.
Lógicamente CyberPi es más potente en todo:
- Velocidad: CyberPi 200MHz – mCore 20MHz
- Memoria ROM: CyberPi 448KB – mCore 1KB
- Memoria SRAM: CyberPi 520KB – mCore 2KB
- Flash: CyberPi 8MB – mCore no tiene
- PSRAM: CyberPi 0MB – mCore no tiene
- Programas que puede almacenar: CyberPi 8 – mCore 1
- Conectividad: CyberPi BT, WiFi – mCore BT, IR
- Controles: CyberPi joystick con pulsador, 2 pulsadores – mCore pulsador
- Sensores: CyberPi micrófono, luminosidad, giróscopo, acelerómetro – mCore luminosidad
- Actuadores: Cyberpi pantalla color 1,44″ color, altavoz, 5 LEDs RGB – mCore buzzer piezoeléctrico, 2 LEDs RGB
Además, cabe destacar que CyberPi, por lo tanto mBot2, se puede programar en Python, algo que no se puede hacer en mCore del mBot original.
Puertos de expansión
De nuevo no hay punto de comparación en este punto pero allá vamos.
- Puertos para motores con encoder: mBot 2 (2) – mBot original (0)
- Puertos para motores de continua: mBot 2 (2) – mBot original (2)
- Puertos exclusivos para servos: mBot 2 (2) – mBot original (0)
- Puertos genéricos (servos, tiras de LED, módulos tipo Arduino): mBot 2 (2) – mBot original (0)
- Puertos para módulos adaptados: mBot 2 (10 mBuild) – mBot original (4 por RJ25)
Realmente se pueden poner más de 10 accesorios mBuild aunque Makeblock no lo aconseja. Sumando puertos se pueden conectar 4 servos a la vez utilizando los dos puertos específicos más los dos puertos genéricos.
Batería
Aquí resaltamos que el nuevo mBot 2 lleva batería incorporada de 2500mAh, mientras que para la versión anterior había que utilizar pilas AAA o adquirir una batería a parte.
Motores
De nuevo una enorme diferencia. La versión original de mBot incorporaba dos unidades del habitual motor de corriente continua con reducción de plástico que podemos encontrar en muchísimos kits económicos.
En el nuevo mBot 2 el fabricante Makeblock ha decidido utilizar los motores con encoder que ya utilizó en el potente mBot Ranger con carcasa metálica y un par de más del doble que en los motores del mBot original (1500g.cm contra 670g.com).
Estos motores no solo permiten un mayor número de revoluciones máximas (200rpm contra aprox. 118rpm) sino que además ofrecen un control total gracias a sus encoders incorporados que permiten tener una lectura instantánea de su posición para utilizarla en la programación. En este sentido Makeblock asegura una desviación de menos de 5º en giro de motor y menos de 2% en transformación a movimiento rectilíneo del robot, ambos con un error de parada máximo de 1º.
Sensor de ultrasonidos
Aunque internamente debe ser muy parecido Makeblock asegura que hay más diferencias que la carcasa de plástico que protege el sensor de ultrasonidos del nuevo mBot2. Al parecer cuenta con un chip interno que mejora la estabilidad de la lectura. Desde luego en las pruebas que hemos hecho no hemos tenido ningún problema de lectura.
Sin embargo lo más llamativo y que está causando un mayor interés es el hecho de que el nuevo sensor incorpora 8 LEDs azules de manera que permiten iluminar los anillos que envuelven tanto al emisor como al receptor consiguiendo un efecto de “ojos luminosos” muy vistoso. Se puede controlar la intensidad de cada unos de los 8 LEDs (4 por cada “ojo”) por lo que da mucho juego para dotar de “vida” al robot.
Sensor sigue líneas
De nuevo podemos decir que no hay ni punto de comparación. Son dos “ligas” diferentes.
El modelo original de mBot incluía un sensor sigue líneas que a pesar de ser doble utilizaba el típico emisor y receptor de infrarrojos. Esto quiere decir que básicamente permitía distinguir el blanco del negro. Evidentemente el hecho de ser doble ya le daba ventaja para la función sigue líneas con respecto a otros kits que solo disponían de un sensor sencillo.
En el nuevo mBot 2 se incluye el sensor múltiple RGB de la línea mBluid diseñado para ser utilizado enfocado al tapete (suelo). Cuenta con cuatro emisores y receptores lo cual aumenta las posibilidades para detección de cruces o marcas adicionales a parte de una línea sencilla.
Además, al utilizar un emisor RGB y un sensor de luz (en vez de infrarrojos) permite distinguir colores al ser capaz de tomar lectura de las componentes roja, verde y azul y lo hace de manera individual en cada uno de los cuatro sensores.
Tiene calibración hardware de contraste y luz ambiente que es especialmente práctica cuando hay que adaptarse a la iluminación concreta del lugar de una competición que puede ser muy diferente a la del lugar de “entrenamiento”.
Estructura
La estructura del chasis con la que tanto se identifica a mBot se conserva prácticamente idéntica con las lógicas adaptaciones para sujetar la nueva placa y los motores. Se añade una matriz de caladas de 12 agujeros en cada lateral que sustituye la calada en forma de M que a pesar de permitir sujetar algunas estructuras no resultaba muy cómoda.
La roldana que hace las veces de tercera rueda de apoyo delantero es exactamente igual, así como las llantas y cubiertas de las ruedas.
Programación
A diferencia del modelo anterior con mBot 2, al menos de momento, no tenemos más opción que utilizar el entorno de programación mBlock 5. En Juegos Robótica hemos recomendado hasta la saciedad este fork de Scratch y lo seguiremos haciendo ya que sigue siendo una fantástica alternativa en computación física.
Tal y como hemos visto hay que entender que en todo momento estaremos programando el dispositivo CyberPi, por lo que no encontraremos un dispositivo llamado mBot 2.
El entorno de programación mBlock permite diferentes modos de programación y recientemente ha puesto en marcha un atractivo editor en lenguaje Python que permite trabajar en Python nativo en modo “en vivo” o colaborativo, y con microPython si se tiene que cargar el programa en el microcontrolador de CyberPi y por lo tanto de mBot 2.
Se trata de un editor completo con resaltado de sintaxis, sugerencias para completar sentencias, consola, etc.
Pero si te estás planteando el nuevo mBot 2 para utilizar en educación seguramente quieras utilizar la programación por bloques idéntica a Scratch que ofrece mBlock 5 y que es realmente su punto fuerte.
Además de los bloques agrupados en categorías “clásicas” de eventos, control, operadores, variables y funciones, podremos encontrar aquellos específicos para aprovechar las posibilidades de CyberPi y que tienen que ver con sus sensores y actuadores. Aquí también entran las funciones de conexión a una red WiFi y bloques concretos asignados a conceptos como inteligencia artificial e Internet de las cosas.
Volviendo al concepto de tratar mBot 2 como un accesorio de CyberPi será necesario utilizar ciertas extensiones para poder programar aquellas funciones que tienen que ver con el robot físico como son las de movimiento de motores, accionamiento de servos y control de otros accesorios que podamos conectar a través de sus puertos de expansión.
Estrictamente el sensor de ultrasonidos y el sensor RGB no forman parte de la estructura base de mBot 2 sino que son elementos con conexión mBuild que podrían estar conectados a una placa CyberPi independientemente del robot, por lo que también es necesario instalar sus correspondientes extensiones.
Con estas tres extensiones ya podríamos programar a través de bloques todas las funciones que permite el conjunto mBot 2. Aunque con este kit ya hay mucho en lo que trabajar, si se amplía el conjunto con otros elementos del catálogo mBuild o con dispositivos compatibles Arduino será necesario instalar las extensiones correspondientes.
Primeras pruebas y opinión
Tal y como he comentado anteriormente nos encontramos ante un producto completamente diferente a la versión anterior de mBot a pesar de conservar una estética muy parecida y un chasis prácticamente idéntico.
Reconozco que cuando probé por primera vez la placa CyberPi fue un poco decepcionante ver lo que tenía entre manos después del hype al que nos tiene acostumbrados Makeblock. No me entraba en la cabeza que un sistema de conexión en anillo (mBuild) que podía manejar incluso motores no contase con una estructura para sostener esos dispositivos y hubiera que recurrir a estructuras tipo Lego o similar.
Sin embargo el nuevo mBot 2 da sentido otro sentido a CyberPi y su sistema mBuild integrando un kit funcional completo de gran calidad y con enormes posibilidades.
Ya lo he dicho. Este mBot juega en una liga diferente del original y realmente me ha sorprendido puesto que no tenía demasiadas expectativas. Creo que esta vez Makeblock ha vuelto a acertar y le espera un éxito similar al que ya tuvo con la primera versión de mBot y que no ha conseguido volver a encontrar del todo en otros productos.
El nuevo Makeblock mBot 2 es un kit de robótica de gran calidad, con unas posibilidades increíbles a un precio que en el momento de lanzamiento (Robotix 140,95€) me parece adecuado para lo que ofrece.
Nota actualizada: Actualmente este robot está en torno a los 165€ probablemente como resultado de la subida de precios generalizada de componentes electrónicos en Asia.
Puntos positivos
Las primeras pruebas no me dejan lugar a dudas para destacar sus numerosos puntos positivos.
La batería incorporada de 2500mAh no solo facilita la labor en el aula para no tener que depender de las pilas, sino que entrega la potencia que realmente se requiere para aprovechar los potentes motores que lleva mBot 2.
Uno de los principales problemas de la versión Ranger que utilizaba estos motores es que las pilas se agotaban en minutos y era necesaria una batería externa de gran capacidad. Makeblock ha sabido leer sus propios fallos y ese problema desaparece. Da gusto ver cómo mBot2 mantiene el “morro” levantado haciendo un “caballito” durante varios centímetros cuando le exigimos la máxima aceleración para alcanzar las 200rpm.
Pero tal y como decía Carl Lewis en el anuncio de Pirelli, la potencia sin control no sirve para nada… sobre todo cuando hablamos de robótica.
De nuevo Makeblock corrige sus errores en el cuestionable control que permitía hacer del encoder de estos motores en Ranger y nos deja manipular a placer el control instantáneo de motores en mBot 2 de manera que hacer controles PID para el seguimiento de línea o controles de velocidad es, nunca mejor dicho, un juego de niños.
Precisamente si vamos al apartado de sigue líneas, que es uno de los básicos que se suele plantear con este tipo de kits, nos encontramos con un sensor RGB cuádruple que ni siquiera el todopoderoso LEGO puede ofrecer en Mindstorms si no es uniendo cuatro sensores individuales con los problemas que eso tiene.
A nivel estético o de indicaciones luminosas los LEDs traseros dan mucho juego y poder iluminar los ojos, incluso mostrando emociones, es directamente “encantador”.
Si hablamos de CyberPi las posibilidades que nos ofrece la pantalla a color, el joystick y los pulsadores son prácticamente infinitas. Y a nivel de conectividad la propia CyberPi permite expandir con mBuild o podemos utilizar servos (¡hasta 4!) o cualquier dispositivo para Arduino desde los puertos del propio mBot 2.
Puntos negativos
Hace cinco años escribí sobre el modelo original de mBot que no tenía puntos negativos. Si alguien entendía el producto que estaba comprando al precio que lo estaba comprando era, y sigue siendo, así.
Pues bien, mBot 2 no tiene puntos negativos. Puede ser solo una opinión personal, por lo que invito a quien vea algún punto negativo a que lo señale en comentarios.
Podemos echar en falta el mando a distancia que teníamos con mBot original pero no lo pondría como un punto negativo.
Reconciliación
Quienes me conocen bien saben que en los últimos años he tenido algún desencuentro con Makeblock y mi confianza en la marca asiática había desaparecido por completo.
El nuevo mBot 2 supone, por fin, un soplo de aire fresco dentro de la marca que con su magnífico entorno de programación mBlock está más viva que nunca y parece que con este nuevo kit han dado en el clavo.
Después de una reseña tan entusiasta me veo en la obligación de recordar que todas las reseñas y artículos de opinión de Juegos Robótica son completamente independientes y los distribuidores que se “arriesgan” a enviar una unidad de muestra saben que les puede “salir el tiro por la culata”. Nada más lejos de lo que ha ocurrido con este mBot2 que nos ha hecho llegar Robotix. Aplaudo la confianza que han tenido en su producto.
Es muy probable que empecemos a ver contenido y cursos con mBot 2 si los alumnos de nuestra plataforma lo solicitan. La verdad es que tendría mucho sentido ya que las posibilidades de subir el nivel, en cuanto a la programación se refiere, con este kit son infinitas, pero son ellos los que eligen, así que esperaremos a ver.
Dani S.
Actualización
El kit mBot 2 finalmente fue el protagonista de uno de los cursos más extensos que están disponibles en la plataforma de Juegos Robótica con un total de 41 lecciones que incluyen proyectos de computación física de todo tipo, pero también de creación de videojuegos con CyberPi.
hola! me gustaría saber, si es posible que me ayuden ¿qué posibilidad tiene mbot2 de ser trabajado en tablets o móviles en lugar de laptops? y además ¿es posible trabajarlo sin necesidad de internet? Gracias de antemano desde México
Hola Eduardo,
El kit mBot 2 se puede programar a través de dispositivos móviles y no es necesario tener acceso a internet puesto que existe app y aplicación de escritorio. Sin embargo algunas funciones de inteligencia artificial o IOT lógicamente no pueden ser utilizadas sin conexión a internet.
Saludos
Hola Dani,
Recibe un cordial saludo.
Quisiera ver un ejemplo con acelerómetro del mbot2.
Muchas gracias.
Un buen ejemplo de uso del acelerómetro es el self balancer con mBot 2 que muestro en este vídeo.
Algo más básico sería el control para orientarse a la hora de atacar pendientes con mBot 2 que vemos en la resolución paso a paso del reto 103.
Como puedo programar en el control?
¿A qué te refieres Lizzandra? Si ya tienes una unidad de mBot 2 puedes seguir los tutoriales básicos para empezar a programar. Dime qué quieres decir y te intento ayudar.
Me interesaria participar