Cyberpi y mBot2
Cyberpi es una placa basada en ESP32 con sensores, salidas, conectividad wifi y Bluetooth. Con esta placa es ya un robot independiente.
mBot2 es un robot que necesita Cyberpi y amplia sus posibilidades a lo mecánico.
- Introducción
- Cyberpi
- INTELIGENCIA ARTIFICIAL
- Introducción: ¿Qué es?
- Introducción: Tipos
- Introducción: Y en plan que se entienda....
- Introducción: Video Sensing, esto no es IA
- Máquinas educadas Cognitive Services Servicios cognitivos
- Máquinas educadas: Traductor
- Máquinas educadas: Traductor con Cyberpi
- Máquinas educadas: Reconocimiento de voz- órdenes a mBot2
- Software educable Machine Learning for kids y Scratch
- Software educable: Máquina Educable Teachable Machine
- Software educable: CODE.ORG
- Software educable Playground, Teachable Machine Google y Microbit
- Maquinas educables: SmartCamera
- Créditos
Introducción
Objetivos y contenidos
CONTENIDOS
- INTRODUCCIÓN
- CYBERPI
- mBOT2
OBJETIVOS
- Conocer las posibilidades didácticas del robot Cyberpi y de mBot2
- Trabajar en diferentes entornos de los actuadores y sensores que tienen estos robots.
- Desarrollar prácticas de comunicaciones en robótica
- Internet de las cosas (IoT)
- Bluetooth
- Conocer y desarrollar posibilidades avanzadas, como el uso de la Inteligencia Artificial
Pensamiento computacional
¿Dónde se encaja este robot? ¿Se puede comparar este robot con otros robots de otros cursos que hacemos desde CATEDU?
Esta es la hoja de ruta que proponemos, no se tiene que tomar al pie de la letra, pero intenta ayudar al profesorado que tenga una visión global de tanta oferta robótica:
Como se puede ver CYBERPI + MBOT2 tiene la ventaja de ser un robot de suelo con muchas posibilidades y para muchas etapas.
Oferta de formación en Pensamiento computacional del Centro Aragonés de Tecnologías para la Educación.
Tenemos un grupo Telegram Robótica Educativa en Aragón, si estás interesado en unirte, envía un mensaje por Telegram (obligatorio) a CATEDU 623197587 https://t.me/catedu_es y te añadimos en el grupo
Muro
https://padlet.com/CATEDU/mbot2
mBlock5
Para entrar en este programa, tenemos dos opciones
OPCION TRABAJAR ONLINE
Entramos en https://www.mblock.cc/en/ y nos da dos opciones, trabajar con bloque, o con Python, elegimos bloques
Esto nos lleva a la página https://ide.mblock.cc/
El paso previo nos lo podemos saltar e ir directamente a la página https://ide.mblock.cc/
En este editor tenemos que loguearnos podemos crear un nuevo usuario, utilizando una cuenta de Google/Apple o registrarnos con un correo electrónico
Una vez logueado ya podemos trabajar, guardar nuestros proyectos en la nube en nuestra cuenta o localmente.
Esta opción es la más recomendada, pues nos permite acceder a nuestros programas independientemente del equipo. Poder embeber y publicar los proyectos, etc....
En este curso utilizaremos las capturas con la opción online
OPCION TRABAJAR OFFLINE
Entramos en https://www.mblock.cc/en/ y en la opción DOWLOAD nos da la opción de descargarnos el programa para no depender de Internet
Recomendamos esta opción en centros con problemas de Internet
Cyberpi
Conocer Cyberpi
HARDWARE
Cyberpi ya es un robot, tipo placa electrónica, basado en ESP32 por lo tanto con Wifi y Bluetooh integrado y se le incorporan los suiguientes SENSORES Y ACTUADORES
Fuente: Guia Cyberpi Robotix con permiso de la empresa.
HARDWARE - PUERTOS
Fuente: Guia Cyberpi Robotix con permiso de la empresa.
- Puerto para conexión de tarjetas de extensión : La tarjeta Cyberpi esta diseñada para conectarse al chasis del robot mBot2, así como otros shields comerciales para esta placa. por ejemplo el de la figura:
Fuente: Guia Cyberpi Robotix con permiso del autor - Puerto USB tipo C para conectarnos con el PC e instalar los programas que deseemos, Se pueden añadir varios y seleccionar con el Joystick cual ejecuta.
- Puerto para Conexión módulos electrónicos:, con protocolos serie I2C, permite conexión de diferentes módulos, sin necesidad de tener más puertos, simplemente conectando todos en serie.
Fuente: Guia Cyberpi Robotix con permiso de la empresa.
SOFTWARE
Permite una programación en bloques con mBlock5 y con código con Python que también se puede hacer desde el mismo mBlock.
Para actualizar el Firmware instalado en Cyberpi, se tiene que hacer desde el mismo mBlock, Aquí cómo se hace.
Para ejecutar los programas que se graban en Cyberpi, se entra en Cambiar programa y seleccionando los programas cargados.
Fuente: Guia Cyberpi Robotix con permiso de la empresa.
Si se quiere ejecutar los programas predefinidos mover el joystick en el menú anterior a la derecha, y encontramos los típicos: Nivel de voz, sigue líneas, ....
Mi primer programa "Hola mundo"
Conectamos Cyberpi con el PC utilizando un cable USB tipo c
Fuente: Guia Cyberpi Robotix con permiso de la empresa.
OJO, hay cables baratos que sólo sirven para "cargar", el cable que necesitamos tiene que permitir la comunicación bidireccional.
Entramos en mBlock5 https://ide.mblock.cc/ y añadimos el dispositivo CyberPi
Una vez cargado el dispositivo CyberPi recomendamos entrar en la conexión directa (3) y pulsamos Conectar (4)
Al dar a Conexión directa nos da dos opciones, Bluetooth y Serie, elegimos serie
Nota: La conexión Bluetooth sólo es si tenemos el pincho asociado (se vende aparte) y permite una conexión en vivo inalámbrica.
Se abren los puertos disponibles, elegimos el que esté conectado nuestro Cyberpi
Ojo: Tiene que estar encendido, si está con mClon, dar al interruptor on
Al dar a Conexión directa desaparece el texto y aparece Conexión con mLink ¿Qué es eso? Es otra opción, que antes se hacía obligatoriamente si usabas mBlock online: Instalar el programa mLink (que se puede descargar en https://www.mblock.cc/en/download/mlink/ ) y antes de entrar a mBlock online, tienes que ejecutar este programa y dejarlo minimizado. Aunque es una opción que puedes utilizar (y te evita la ventana anterior) la conexión directa es también cómoda.
Al conectar, nos aparecen instrucciones específicas de Cyberpi como instrucciones generales
Podemos empezar con nuestro primer programa
Le damos a Cargar , (luego aclaramos el modo En vivo qué es) y se ejecuta el programa
MODO VIVO ¿ESO QUÉ ES?
El modo vivo, permite interactuar con el PC, por ejemplo:
- PC → Cyberpi : Al pulsar la tecla espacio que diga Hola
- PC← Cyberpi El oso panda diga también Hola Mundo!
Si te fijas, Cyberpi está conectado con cable USB al PC pues estamos En vivo dependemos del ordenador. Si se quiere una conexión En vivo e Inalámbrica, es necesario comprar el pincho bluetooth
UN POCO MÁS COMPLICADO
Podemos complicarlo un poco más para darle más colorido y sonido
Sonidos
Grabadora sencilla
La librería de Audio tenemos opciones interesantes
Podemos poner un programa sencillo
Fuente: Guia Cyberpi Robotix con permiso de la empresa.
Este programa empieza con el evento tecla espacio. Por lo tanto necesita el Modo vivo
P: ¿Qué haríamos para no depender del ordenador, es decir, utilizar el modo cargar?
R: Podemos usar otro tipo de eventos que no dependa del PC
Grabadora más sofisticado
Si entramos en los programas de ejemplo, podemos elegir Magical Recorder
Y funciona como una grabadora de bolsillo:
- Apretamos el joystick en la posición central, empieza la grabación
- Botón A termina la grabación
- Botón B reproduce la grabación
Sirena
Si entramos en programas de ejemplo- Buzzer:
Toca una sirena:
Podemos jugar a reproducir notas
Teniendo en cuenta que sigue la notación inglesa. Equivalencia entre las notas anglosajonas, nota MIDI y frecuencias :
Fuente: Acústica musical. ETS Univ Vallalodid
Más sobre audio con Cyberpi en https://education.makeblock.com/help/mblock-block-based-device-cyberpi-audio/
INTELIGENCIA ARTIFICIAL
Introducción: ¿Qué es?
La inteligencia artificial se refiere al conjunto de algoritmos realizan tareas complejas, que son capaces de realizar procedimientos que imitan el funcionamiento de la mente, como son aprender y tomar decisiones.
De https://timoelliott.com/blog/cartoons/artificial-intelligence-cartoons en https://timoelliott.com/
Introducción: Tipos
ML : APRENDIZAJE AUTOMATICO O MACHINE LEARNING
Aquí los algoritmos aprenden a partir de datos, y ellos buscan patrones para identificar. Cuanto más datos, mejores resultados.
El principio es básico. Queremos diferenciar silla mesa: Analiza datos, localiza patrones (cuatro patas, algo común, el tamaño y forma, patrones que diferencian como el respaldo....) con esas características, puede realizar un entrenamiento, y por lo tanto esta preparado para realizar predicciones.
Hay varios tipos de ML:
- ML Aprendizaje automático supervisado Donde los datos se les da ya etiquetados
- ML Aprendizaje automático no supervisado: Aquí es el propio algoritmo que tiene que encontrar relaciones en el proceso de identificación de patrones y por lo tanto etiquetar categorías.
- ML Aprendizaje semisupervisado. El modelo se entrena con datos etiquetados y no etiquetados. Lo normal es primero los etiquetados (pues son los que implican mayor coste y dinero) y si el modelo ya empieza a funcionar bien, ya procesa no etiquetados para su optimización.
RL : APRENDIZAJE REFORZADO O REINFORCEMENT LEARNING
Es un modelo que busca la optimización. Utiliza resultados anteriores e intenta mejorarlos. Para buscar esto, se definen estados con unos parámetros que implican premio o penalización. La máquina busca soluciones y acciones para buscar los premios y huir de las penalizaciones.
DL : APRENDIZAJE PROFUNDO O DEEP LEARNING
Es un subconjunto del ML no supervisado, Se crea una red neuronal organizadas en capas, cada capa especializada, por ejemplo la primera de entrada recoge los datos, las intermedias, ya ocultas, identifican patrones y la última, la salida que recoge la información procesada anteriores, la que toma las decisiones.
PLN : PROCESAMIENTO DE LENGUAJE NATURAL
Utiliza conceptos de DL y ML para comprender el lenguaje humano. Una aplicación son los chatbots. Que pueden ser:
- dirigidos, es decir va tomando decisiones por etapas tipo árbol y da respuestas automáticas
- no dirigido: produce respuestas en función del contexto y las decisiones del usuario.
- hibridas que intenta producir una conversación fluida.
EJEMPLOS
LEARNING ML
https://web.learningml.org/en/home/
https://machinelearningforkids.co.uk/#!/welcome
Ver nuestro tutorial en https://libros.catedu.es/books/robotica-educativa-con-mbot/page/maquina-educable-con-machine-learning-for-kids-y-scratch
DL REDES NEURONALES : QUICKDRAW
https://quickdraw.withgoogle.com/ Es un videojuego donde se ve claramente como se va perfilando las decisiones en forma de árbol y como la etapa final va reconociendo tu dibujo. En esta red, la primera etapa de la red neuronal son trazos que dibujas, y las neuronas intermedias son fruto de una extensa base de datos de dibujos. La última etapa es la decisión basada en las anteriores neuronas.
PLN: CHATGPT COMO FUNCIONA
DL CREA TU PEQUEÑA RED NEURONAL CON PYTHON
DL: GOOGLE DEEPMIND
Google deepmind desarrolló una red neuronal para aprender a jugar videojuegos, y ganó a varios campeones humanos en videojuegos complejos (de los que inicialmente la máquina desconocía las reglas). Puedes ver en https://deepmind.google/ los diferentes proyectos actuales.
Introducción: Y en plan que se entienda....
-
MÁQUINAS “YA EDUCADAS” o "pre-trained ML/AI models"
-
Reconocimiento de imágenes con mBlock
-
Programa de reconocimiento imágenes
-
Programa reconocimiento edad
-
-
Reconocimiento de voz
-
Traductor Con mBlock y Cybperpi
-
Reconocimiento de órdenes Con mBot1 t mBot2
-
-
-
SOFTWARE EDUCABLES o "No pre-trained ML/AI models"
-
Máquina educable Teachable Learning y mBlock
-
Máquina educable con CODE.ORG
-
Máquina educable con Machine Learning for kids y Scratch
-
-
HARDWARE EDUCABLES o sea, que tienen "Smart gadgets"
-
SMARTCAM y mBot1
-
Seguir pelota color
-
Sigue líneas
-
-
Photo by Kenny Eliason on Unsplash
Introducción: Video Sensing, esto no es IA
El siguiente programa no interpreta las imágenes, simplemente estamos utilizando la webcam como sensor de vídeo
https://planet.mblock.cc/project/3730511
Extensión Video Sensing
+ info de esta extensión en https://barclayscodeplayground.co.uk/content/dam/barclayscodeplayground-co-uk/documents/scratch/SC_Using_Video_sensing_teachers_guide.pdf
Máquinas educadas Cognitive Services Servicios cognitivos
Esta extensión pertenece al conjunto de extensiones de inteligencia artificial de mBlock
Instala un montón de instrucciones como
- Reconocimiento de voz (en diferentes idiomas)
- Reconocimiento de texto impreso (en diferentes idiomas)
- Reconocimiento de imagen (marca, famoso, monumento...)
- Reconocimiento de emociones
- Reconoce rasgos como gafas, nivel de sonrisa, cabeceo de la cabeza, color del pelo ...
RECONOCIMIENTO DE EDAD
Para ver un vistazo rápido, vamos a utilizar un programa ya predeterminado, ir a Programas de ejemplo - AI - Age Analyzer (el del pulpo)
OJO, SI NO ESTAS LOGUEADO entonces NO FUNCIONA
La verdad es que acierta bastante bien
Otro ejemplo de uso, reconocimiento de edad y traducción :
Máquinas educadas: Traductor
En este programa, además de usar la extensión Servicios Cognitivos, instalaremos las extensiones :
- Text to Speech - Texto a voz
- Translate - Traductor
El programa es muy sencillo, lo tienes aquí : https://planet.mblock.cc/project/3733312
Máquinas educadas: Traductor con Cyberpi
Esta tarjeta controladora es un ESP32 por lo tanto permite conexión a Internet y lo podemos usar para realizar el mismo script de traducción
El programa lo tienes aquí https://planet.mblock.cc/project/3587357
Lo primero es conectarse a la Wifi :
Y para traducir
OJO: HASTA QUE NO ESTES
1.-LOGUEADO con tu usuario en mBlock
2.-CONECTADO CON CYBERPI
(las dos condiciones y en ese orden) NO SE VISUALIZAN LAS INSTRUCCIONES DE INTELIGENCIA ARTIFICIAL
Máquinas educadas: Reconocimiento de voz- órdenes a mBot2
Aquí no trabajaremos en vivo SINO EN CARGA pues CibyerPi tiene conexión a Internet
La primera parte es el script de conexión de Wifi La siguiente orden es reconocer la voz, y según el resultado, que ejecuta.
Como puedes observar, la orden de reconocimiento de voz, añade un . al final que hay que tener en cuenta
El programa lo tienes aquí https://planet.mblock.cc/project/3733278
Software educable Machine Learning for kids y Scratch
REGISTRO
Entramos en https://machinelearningforkids.co.uk/
Tenemos varias opciones:
- Registrarnos y tenemos dos opciones
- como Un profesor o responsable de un club de programación en este caso tenemos otras dos opcioens
- Clase No administrada tienes que rellenar un formulario típico y creas la clase
- Clase administrada donde tienes opciones de incorporar alumnos a tu clase, este registro es por correo electrónico y tienen que verificar que perteneces a un centro educativo.
- como Estudiante en ese caso es el profesor de una clase administrada el que te tiene que crear la cuenta
- como Un profesor o responsable de un club de programación en este caso tenemos otras dos opcioens
- Iniciar sesión pues nos hemos registrado con alguna de las opciones anteriores
- Probar sin registrarse
Vamos a probar "sin registrarnos" pues estamos aprendiendo. Si luego esta herramienta te convence, Te registras
CREAMOS UN PROYECTO
Empezamos un proyecto
Empezamos un proyecto, como puedes ver hay diferentes formas de reconocer, y permite hacer un almacenamiento local, o en la nube. Como es algo de pruebas puedes hacerlo local. Pero si luego estas registrado es interesante hacerlo en la nube para tener acceso en cualquier sitio.
Ya lo tenemos
ENTRENAR
Primero vamos a entrenar la máquina
Creamos dos etiquetas y vamos escribiendo situaciones (o añadir un fichero txt) donde nos apetece un refresco o no (pueden ser más de dos situaciones)
Volvemos al proyecto..
ENTRENAR
Si ves que has puesto suficientes ejemplos, pide a la máquina que entrene
Empieza el entrenamiento... y para que no te aburras, te pone unas preguntas !!!
Una vez acabado puedes probarlo
fíjate que bochorno no lo hemos puesto en el entrenamiento y ha acertado bastante bien
Volvemos al proyecto
CREAR
Y vamos a CREAR y nos ofrece varias herramientas de programación, elegimos SCRATCH
Le damos a Abrir en Scratch 3
Elegimos un nuevo objeto (quitamos el gato)
y elegimos glass water
Y ponemos el siguiente programa, no es perfecto... pero acierta bastante bien
¿Sabías que ....?
.. hay un curso en Aularagón de INTELIGENCIA ARTIFICIAL CON SCRATCH máquina educable con Maching Learning for KitsVes https://libros.catedu.es/books/inteligencia-artificial-con-scratch con diferentes vídeos del INTEF verás paso a paso esta herramienta desde 2019
Software educable: Máquina Educable Teachable Machine
Esta extensión sí que pertenece al conjunto de inteligencia artificial
En la extensión nos muestra la posibilidad de crear un nuevo modelo de entrenamiento
Al crear un nuevo modelo, Build a new model hay que definir las categorías mínimo son tres
2 - 3 - 4 .- Poner nombres a la categorías
5.- Poner la imagen (en mi caso pantallazos del móvil)
6.- Clicar a qué categoría pertenece, para que aprenda, darle click cuando la barra verde suba
Repetir pasos 5 y 6 tantas veces cuanto se desee, cuanto más, mejor
7.-Usar el modelo de aprendizaje
Una vez creado el modelo, nos pone unas instrucciones que podemos usar en nuestra programación
Otro ejemplo parecido usando playmovil
Software educable: CODE.ORG
Una manera muy didáctica de enseñar los conceptos de Inteligencia Artificial es con CODE.ORG tiene cursos y el funcionamiento es parecido a la Máquina Educable de mBlock
El resultado es
Software educable Playground, Teachable Machine Google y Microbit
Playground es como Scratch pero puedes utilizar las Teachable Machines de Google en tu programación
Entramos en https://playground.raise.mit.edu/httyr/
Y podemos usar una máquina educable de Google en (1) y luego utilizarlo en (2)
Podemos conectar nuestro robot MICROBIT CUTEBOT
Este vídeo por ejemplo nos enseña cómo utilizar una máquina que reconozca que tocamos la cara o no
O reconocer textos
Por ejemplo este programa muestra si tienes puesto un sombrero o no
Ulrich Pedersen Dah & Ture Reimer-Mattesen Center for Underisningsmidler CPU
Maquinas educables: SmartCamera
Estamos ensañando este accesorio, pero en mBot2 no va muy fino, no obstante aquí tienes el enlace a mbot1 perfectamente se puede aplicar a mbot2
https://libros.catedu.es/books/robotica-educativa-con-mbot/chapter/7-ia-hardware-educable
SmartCamera - Qué es
Esta cámara se vende como accesorio de los robots de Makeblock por unos 140€ , ATENCIÓN, ESTE ...
SmartCamera - conexión con mBot
Hardware Para conectarlo con mBot1 hace falta la batería que se suministra en el pack, con su ca...
Smart camera - seguimiento color - sencillo
Configuración reconocimiento de color Método por software (recomendado) Una forma de configurar...
Smart camera seguimiento color avanzado
Kp, velocidad diferencial del motor.... ¿Eso qué es? En la extensión CAMARA INTELIGENTE ESPECÍFI...
Smart camera Piximon
INSTALACIÓN DE PYXMON V2 No es un software obligatorio, pero viene muy bien qué está pasando y q...
Smart Camera Código de barras
En el modo de detección de código de barras, puede detectar 15 códigos de barras ya definidas. ...
SmartCamera - sigue líneas
mBot ya tiene un sigue-lineas https://libros.catedu.es/books/robotica-educativa-con-mbot/page/sig...
Créditos
- Robotix Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa. Autor José Manuel Ruiz Gutiérrez.
- Robotix Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa.