Sumobot
No description available
Install / Use
/learn @Universidad-Cenfotec/SumobotREADME

¿Que es el SumoBot de CENFOTEC? (o CenfoBot)
El Sumobot es un robot simple, 100% desarrollado en Costa Rica, para competencias colegiales de Sumobot. Fue diseñado por el profesor Tomás de Camino Beck para la Universidad Cenfotec como parte de un programa de transformación educativa, con el objetivo de ampliar las capacidades de pensamiento computacional tanto en estudiantes de colegio como en estudiantes universitarios.
En este enlace puede leer sobre la historia del Sumobot en sus 3 primeros años
Articulo técnico del Sumobot como platafomra de enseñanza
El Sumobot utiliza la placa IdeaBoard, desarrollada por CrCibernética. Esta placa de código abierto (Open Source) incorpora un microcontrolador ESP32 y permite la conexión sencilla de sensores y motores, así como su programación mediante USB o Wi‑Fi.
Para el montaje del robot, se emplea un shield de robótica especialmente diseñado por la Universidad CENFOTEC (por el profesor Tomás de Camino Beck) en colaboración con CrCibernética. Este componente puede adquirirse en este enlace.
Puede ver este video resumen de la primera competencia de Sumobot de Costa Rica, celebrada en el Maker Faire San José 2023. Y acá pueden ver un video resumen de la segunda edición en el 2024, y de la tercera edición 2025
Documento técnico explicando los elementos pedagógicos del Sumobot
Contenidos de este Repositorio
- Componentes del Sumobot
- Armado del Sumobot
- Conexiones del Sumobot
- Programación del Sumobot
- Un buen código de inicio con explicaciones
- Códigos de ejemplo y códigos IdeaBoard
- Sobre los 4 sensores infrarrojos
- Cómo calibrar los sensores infrerrojos, grabando los datos
- Especificaciones del Dojo
- Reglas del Torneo Sumobot
- Preguntas frecuentes
- Playlist de Videos de Sumobot
Contenidos Avanzados
- Programación en C/C++ (Avanzado)
- Control PDI de motores y navegación
- Almacenamiento de datos en el robot para análisis posterior
- Ejemplo de automatización de vehiculos asistidos
- Sumobot con planificación autónoma con Modelos de Lenguajes (Gemini)
- Programación del Sumobot con bloques a través de una aplicación web
Asistente IA para programar el Sumobot
Retos
- Hacer una estrategia de "scan" del contrincante más eficiente
- Hace movimientos oscilatorios para tratar de levantar al oponente
- Utilizar giroscopios para movimientos exactos (ver este código)
- Utilizar el "botón 0" para que arranque el robot apenas suelten el botón (ver este código)
- Entender que cada combate inicia diferente y aprovechar esas posiciones
- Estudiar comportameinto de sensores almacenando los datos (ver este código)
Algunos Saberes Escenciales de el Sumobot
| Área de Conocimiento | Saberes Esenciales | Ejemplos desde el Kit Sumobot |
| ---------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| 1. Pensamiento Computacional | - Estructuras de control<br>- Modularidad<br>- Algoritmos<br>- Programación de eventos | code.py, retroceso.py, code_boton0.py, code_set_pixel_to.py, uso de funciones en todos los scripts |
| 2. Robótica y Electrónica | - Lectura de sensores<br>- Control de motores<br>- Interacción hardware-software <br>- Precepción del entorno <br>- Calibración de sensores <br>- Interacción con otros agentes <br>- Menjo de incertidumbre | code_ultrasonic.py, code_acc_motor_move.py, Control_Movimientos.md, Pixel_colores.py |
| 3. Ciencia de Datos | - Registro de datos<br>- Análisis y visualización<br>- Experimentación <br>- Desiciones basadas en datos | code_storage.py, code_storage_IR.py, almacenando_datos.md, ejemplo de uso con Google Sheets |
| 4. Matemáticas Aplicadas | - Lógica binaria<br>- Cálculo de gradientes<br>- Estimación de distancia <br>- Sistemas de control <br>- Integral y derivada | code_lecturaIR_4Bit.py, code_gradiente.py, Calculo _Gradiente.md, code_ultrasonic.py |
| 5. Ingeniería de Sistemas | - Diseño e integración de componentes<br>- Diagnóstico y prueba de sistemas <br>- Verificación de errores <br>- Interacción humano máquina <br>- Sistemas complejos <br>- Programación Asistida IA <br>- Inteligencia Artificial | code_diagnostic.py, SumoBot_Device_Files.zip, movimiento_base.md, libreria IdeaBoard.md |
| 6. Habilidades Transversales (STEAM) | - Resolución de problemas<br>- Trabajo en equipo<br>- Comunicación técnica <br>- Autodeterminación | Uso de Markdown (*.md), documentación clara, posibilidad de trabajo colaborativo y creativo con el robot |
Una plataforma Open Source
¿Por qué un robot open source?
El Sumobot fue diseñado como una plataforma educativa abierta para el aprendizaje de robótica, programación y sistemas autónomos. Un robot open source permite que cualquier persona —estudiantes, docentes, clubes de robótica o investigadores— pueda construirlo, modificarlo y adaptarlo a sus propias necesidades.
En robótica educativa es fundamental que los estudiantes no solo usen la tecnología, sino que puedan comprender cómo funciona. Un robot abierto permite estudiar todos sus componentes: electrónica, sensores, control de motores, algoritmos de comportamiento y diseño mecánico. Esto convierte al robot en un laboratorio completo de aprendizaje.
Además, un diseño abierto reduce las barreras de acceso. Las instituciones educativas pueden reproducir el robot localmente utilizando componentes accesibles, lo que facilita su adopción en escuelas y colegios.
¿Por qué el diseño open source?
El diseño mecánico del robot también es abierto para que pueda ser reproducido mediante fabricación digital. Esto incluye archivos de diseño que permiten imprimir o fabricar las piezas del robot en impresoras 3D, cortadoras láser u otros métodos de fabricación.
Esto tiene varias ventajas educativas y técnicas:
- Permite que los estudiantes comprendan cómo el diseño físico afecta el comportamiento del robot.
- Facilita modificaciones y mejoras en la estructura del robot.
- Permite adaptar el robot a diferentes materiales o tecnologías de fabricación.
- Promueve la cultura maker y la experimentación.
Un robot de competencia no es solo software; el diseño físico influye directamente en su desempeño en el dojo. Tener el diseño abierto permite explorar estas decisiones de ingeniería.
¿Por qué el código open source?
El comportamiento del robot es controlado por software. Hacer el código open source permite que los estudiantes y participantes del torneo puedan estudiar cómo se toman las decisiones dentro del robot.
Esto permite:
- Aprender algoritmos de control para robots autónomos.
- Experimentar con diferentes estrategias de combate.
- Comprender cómo se integran sensores, actu
